Commit 77a0c2a
* feat: created the backbone for the card service (#3508)
* Created the backbone for the card service
* Format fix
* feat: add card service to docker compose
---------
Co-authored-by: Nathan Lie <[email protected]>
* feat: initialize POS service (#3509)
* feat(wip): pos service
* Completed POS service init
* Added docker files and missing scripts
* Removed editor code after handling conflicts
* Updated docker-compose for cloud 9 localenv and removed unnecessary telemetry command from dockerfile
* Updated docker compose files for c9 and hlb
* Updated ports and env var names from config
* fix: install ts-node-dev, add main script to index.ts
---------
Co-authored-by: Nathan Lie <[email protected]>
* feat(card-service): card payments table (#3514)
* migration & model for card payments
* feat(pos): create merchants table (#3519)
* merchants table migrations and model
* typo
* Docker compose fix (for slower PCs) on localenv (#3522)
* fix(cards-service): add dependencies to package.json (#3530)
* fix(cards-service): add dependencies to package.json
* chore(cards-service): lockfile
* feat: Added CardService client in rafiki backend (#3510)
* feat(pos): pos card services table (#3526)
* merchants table migrations and model
* feat(card-service): introduce testcontainers for database and redis (#3533)
* feat(card-service): add testcontainers setup
* chore(cards-service): lockfile
* feat(cards-service): fix test containers setup
* fix(cards-service): fix type issue
* feat(pos): merchants services (#3528)
* merchant service
* jest setup
* tests
* feat: Integrate Redis client in Card Service for (requestId, posServiceHost) mapping (#3524)
* Integrate Redis client in Card Service for (requestId, posServiceHost) mapping
* remove unused dep
* prettier fix
* Separate logging params from the message itself
* ttl
* prettier fix
* Rewrite redis service tests to use testcontainers instead of mocks
---------
Co-authored-by: Antoniu Neacsu <[email protected]>
* feat(pos): create merchant route (#3538)
* post merchants route
---------
Co-authored-by: Nathan Lie <[email protected]>
* feat(card-service): introduce AuditLogService (#3525)
* feat(card-service): introduce AuditLogService
* feat(card-service): add testcontainers setup
* chore(cards-service): lockfile
* fix service update method and add tests.
card_payemnts migration index added
* chore(cards-service): remove unnecessary app container start in tests
* chore(cards-service): add uuid as a placeholder for open payments tennantId for clarity
* chore(cards-service): format imports
* fix(localenv): add required env vars to docker-compose (#3550)
* feat(point-of-sale): POS Device service (#3548)
* pos device service
* Added algorithm as param on registering device, updated tests so that we check the device obj
* feat(pos): RAF-1121-revoke merchant route (#3553)
* feat(ci/cd): add ci jobs for testing point of sale and card-service (#3554)
[CLOSES RAF-1109](https://linear.app/interledger/issue/RAF-1109/devops-cicd-github-actions-to-test-card-and-pos-service)
* fix: (rafiki backend) Augment Wallet Address response with cardService field (#3552)
* feat: add cardServiceUrl configuration and update related routes
* feat: rename CARD_SERVICE_HOST to CARD_SERVICE_URL for consistency
* fix format
---------
Co-authored-by: HRadry <[email protected]>
* fix(localenv): rename CARD_SERVICE_HOST to CARD_SERVICE_URL
* feat(point-of-sale): added route for registering a POS device (#3555)
* Route for registering a POS device
* Fixed issue addressed in comments, tried to fix the port issue of jest
* Changed test container port to 0, format fix
* fix: typo in route
* feat: bruno calls for creating merchant and registering POS device (#3558)
* feat: [RAF-1083][POS Service]: Add GQL Client for Rafiki BE calls for incoming payment operations (#3546)
* feat(pos): device revoke (#3560)
* feat(pos): nested routing for devices, device revoke route & error handling
* feat(pos-service): pos devices router and service specific error handling
* feat(pos): test app now uses dynamic ports to avoid jest worker conflicts
* fix(pos): fix tests
* chore(pos-service): PR suggestions
* fix(pos): extend error handling approach to register route in pos devices
* chore(pos): remove unused knex in routes
* chore(pos): rename DeviceRoutes
* chore(pos): pnpm-lock
* chore(pos): format
* feat: added card service client to initiate a payment from pos service (#3535)
* Added card service client to initiate a payment
* feat(backend): Raul/raf 1095 augment outgoing payments for card (#3539)
* feat(backend): add card information to outgoing payment graph ql
* fix(backend): save expiry as string MM/YY
* feature(backend): add mm/yy validation
* fix(backend): run prittier
* fix(backend): comments and set type to table name and relation
* fix(backend): remove unused deps
* feat(backend): add tests for outgoing payments with card details
* fix(backend): fix pr comments
---------
Co-authored-by: Raul Ranete <[email protected]>
* feat(point-of-sale): service for obtaining walletAddress by its url from Rafiki Backend (#3578)
* Added axios call to rafiki backend for getting wallet address by its url
* Handled the case when cardServiceUrl may not be set on wallet address
* feat(card-service): add endpoints to initiate payment and receive payment result (#3547)
* feat(card-service): add endpoints to initiate payment and recieve payment result
* fix: improve open api spec validation
* fix: rename paymetn timeout var and comment terminal cert prop
* fix: add PaymentRouteError
* fix: rename env var and remove deleted prop
* fix(backend): made CARD_SERVICE_URL optional (#3600)
* Made CARD_SERVICE_URL optional
* Created cardService container only if cardServiceUrl is set in config
* Added noop card service when cardServiceUrl is not provided
* Regenerated graphql
* Added warning when CARD_SERVICE_URL is not set
* feat(point-of-sale): POST payment route (#3597)
* Payment route structure
* Added routes test file
* Removed some comments
* Added test for unknown error
* Updated graphql generated files
* feat(backend): publish webhooks to POS service if applicable (#3596)
* feat: created the backbone for the card service (#3508)
* Created the backbone for the card service
* Format fix
* feat: add card service to docker compose
---------
Co-authored-by: Nathan Lie <[email protected]>
* feat: Integrate Redis client in Card Service for (requestId, posServiceHost) mapping (#3524)
* Integrate Redis client in Card Service for (requestId, posServiceHost) mapping
* remove unused dep
* prettier fix
* Separate logging params from the message itself
* ttl
* prettier fix
* Rewrite redis service tests to use testcontainers instead of mocks
---------
Co-authored-by: Antoniu Neacsu <[email protected]>
* feat(point-of-sale): added route for registering a POS device (#3555)
* Route for registering a POS device
* Fixed issue addressed in comments, tried to fix the port issue of jest
* Changed test container port to 0, format fix
* feat(backend): publish webhooks to POS service if applicable
* feat: add column to incoming payment
* fix: tests
* feat: add warn log
* fix: better logger requirements for finalizing webhook recipients
* fix: make open payments default reason for incoming payment initialization
* fix: improve optional env var function
* fix: warn log, better optional env, backfill migration, tests
* fix: rebase bugs
* chore: regenerate lockfile
* chore: regenerate gql
* fix: tests
* fix: remove metadata; better tests
* fix: build errors
* fix: tests, add type file
---------
Co-authored-by: oana-lolea <[email protected]>
Co-authored-by: zeppelin44 <[email protected]>
Co-authored-by: Antoniu Neacsu <[email protected]>
* feat(point-of-sale): handle incoming payment completed webhooks from backend (#3613)
* feat: created the backbone for the card service (#3508)
* Created the backbone for the card service
* Format fix
* feat: add card service to docker compose
---------
Co-authored-by: Nathan Lie <[email protected]>
* feat: initialize POS service (#3509)
* feat(wip): pos service
* Completed POS service init
* Added docker files and missing scripts
* Removed editor code after handling conflicts
* Updated docker-compose for cloud 9 localenv and removed unnecessary telemetry command from dockerfile
* Updated docker compose files for c9 and hlb
* Updated ports and env var names from config
* fix: install ts-node-dev, add main script to index.ts
---------
Co-authored-by: Nathan Lie <[email protected]>
* feat: Integrate Redis client in Card Service for (requestId, posServiceHost) mapping (#3524)
* Integrate Redis client in Card Service for (requestId, posServiceHost) mapping
* remove unused dep
* prettier fix
* Separate logging params from the message itself
* ttl
* prettier fix
* Rewrite redis service tests to use testcontainers instead of mocks
---------
Co-authored-by: Antoniu Neacsu <[email protected]>
* feat(point-of-sale): added route for registering a POS device (#3555)
* Route for registering a POS device
* Fixed issue addressed in comments, tried to fix the port issue of jest
* Changed test container port to 0, format fix
* feat(wip): merge pos-card-services
* feat(point-of-sale): handle incoming payment completed webhooks from backend
* fix: typo, expose incoming payment url in gql
* fix: typo & unintended changes
* chore: regenerate gql
* feat: clean up request map if wehbook times out
---------
Co-authored-by: oana-lolea <[email protected]>
Co-authored-by: zeppelin44 <[email protected]>
Co-authored-by: Antoniu Neacsu <[email protected]>
* fix: test
* feat(card-service): call outgoing payment creation during payment route (#3614)
* feat(card-service): call outgoing payment creation during payment route
* chore: regenerate graphql
* chore: regenerate gql
* chore(backend): remove tenant id from card service path in WA response (#3627)
* chore(point-of-sale): add expiry for incoming payments created by pos service (#3623)
* chore(point-of-sale): add expiry for incoming payments created by pos service
* chore(point-of-sale): use jest timers for incoming payment expiry in tests
* feat(card-service): remove `debitAmount` from outgoing payment creation admin API request (#3632)
* chore(pos, card-service): update generated graphql types
* feat(card-service): remove debitAmount from outgoing payment creation mutation
* feat(backend): add custom webhook URL for POS (#3628)
* feat(backend): add custom webhook URL for POS
* fix(backend): remove fallback webhook URL for POS
* fix(point-of-sale): added bruno script + added missing env variables to local docker compose file (#3629)
* Added bruno script + added missing env variables to local docker containers
* Added missing env variables for card-service
* Sent tenant id to backend for now, updated bruno req, fixed createIncPayment mutation
* Removed unnecessary header
* Fixed a test after mutation update
* Updated generated graphql files
* Fixed connection between payment service calls
* Fixed env variables and mutation type for creating inc payment
* fix: match payment bodies for pos and card service (#3653)
* Matched bodies between pos and card services /payment
* Forgot to stage this
* Fixed test
* Updated graphql types
* feat(card-service, pos-service): updating payment routes with new payload (#3655)
* chore: update docker compose file to make webhook signatures work
* feat(pos): update /payment request payload
* feat(card-service): updating payment handler with new payload
* chore(bruno): update initiate Payment request
* chore: lint OpenAPI
* feat(backend): additional webhook events for outgoing payments (#3651)
* feat(backend): add additional webhook events for outgoing payments
* feat(backend): update webhook recipients logic
* chore(backend): extract funded and cancelled events into a new type
* chore(backend): move IncomingPaymentInitiationReason to separate file
* chore(backend): simplify webhook recipients logic
* feat(backend): Update handling of `OutgoingPaymentCardDetails` (#3658)
* feat(backend): update CardDetailsInput GraphQL type
* feat(backend): update OutgoingPaymentCardDetails model
* feat(backend): start publishing cardDetails in outgoing_payment.created webhook
* chore(backend): remove old expiry check
* test(backend): update outgoing payment resolver test
* chore(backend): remove unused cardDetails from GraphQL API
* test(backend): update outgoing payment resolver test
* chore(backend): update migration to not add already included requestId
* chore(backend): update outgoing payment test
* feat(card-service): update outgoing payment creation with new payload
* test(backend): update outgoing payment test
* fix(backend): fix webhook resolver filter for OP funded and cancelled events (#3662)
* chore: add sha.js override to fix security vulnerability
* feat(card-service): handle payment cancelled & funded events (#3667)
* feat(card-service): handle payment cancelled & funded events
* feat(card-service): fix tests
* fix: updates to make e2e payment flow work (#3668)
* chore(localenv): add CARD_WEBHOOK_SERVICE_URL to cloud nine wallet backend
* feat(backend): fetch cardDetails during outgoing payment funded and cancelled
* chore(pos): correctly handle response from card service
* test(pos): update card service client test
* chore(card-service): add paymentRoutes to AppServices
* chore(backend): fix withGraphFetched query
* test(pos): remove unused test
* fix(card-service): update payment result type
* chore(card-service): format
---------
Co-authored-by: Max Kurapov <[email protected]>
* chore: add card-service and pos-service image build steps in CI (#3657)
* Added card-service and point-of-sale images when pushing to registry
* Added dockerfile.prod for card-service
* Added spectral to validate card-service open api specs
* Fix on building the packages
* Fixed dockerfile
* Added token-introspection
* trying to fix crypto issue
* Another try to fix card-service pipeline
* Still trying
* Testing if crypto is actually the issue here
* Trying to debug
* Added @types/node so it can see the crypto package
* Updated yaml for card-service, removed unnecessary changes
* Fix format
* Updated axios version of pos
* Added tags to card-service.yaml
* Removed token-introspection from pos and card services
* Added command to run pos and card services in docker file
* chore(point-of-sale): update pos service response structure (#3675)
* chore(point-of-sale): update pos service response structure
* fix: map cleanup in finally block
* feat: add integration test for pos-card flow (#3678)
* added integration test for pos flow
* updated pnpm lock
* Added webhook urls and signature secrets to c9 and hlf env
* Set up hosts for card service and pos for IT
* Added test env to performance test job
* Updated IT structure and test name, removed unnecessary formatting
* Forgot to remove 'card_expired' from result
* Updated result model after merging pos-cards branch
* Used prod docker files for pos and card services, added open api files to card-service build, fixed axios dependency issue
* feat: added sender wallet address to incoming payment (#3705)
* Added sender wallet address to incoming payment
* chore(card,pos-service): update alpine image
* chore(card-service, pos-service): cleanup unused code (#3718)
* chore(point-of-sale): remove merchant service, knex, db connections
* chore(card-service): remove knex, objection, db connection
* chore(localenv): remove db connections for pos and card service
* chore(pos): remove migration folder from dockerfile
* chore(bruno): remove unused POS service APIs
* chore(testenv): remove db connection for card and pos services
* chore(pos, card-service): use core imports from apollo client
* chore(point-of-sale, card-service): update webhook handling (#3725)
* chore(card-service): rename `/payment-event` route to `/webhook`
* chore(point-of-sale): make webhook signature signing optional
* chore(testenv): update CARD_WEBHOOK_SERVICE_URL
* test(point-of-sale): allow optional webhook signature
* feat(point-of-sale): pos service API for getting incoming payments (#3708)
* feat(point-of-sale): API for getting pos service's incoming payments
* fix: tests
* feat: filter out unnecessary fields in response
* chore: bruno collection urls
* feat: include senderWalletAddress in query
* fix: bruno urls
* fix: serialize query params properly for gql requests
* fix: expose tenant id in payment gql requests
* feat: use open payments-esque response format
* feat: include metadata
* feat: remove unnecessary fields
* fix: regenerate gql
* fix: imports
* fix: proper object assign use and pr comments
* feat(backend): add filtering incoming payments by initiatedBy (#3714)
* add filtering incoming payments by initiatedBy
* Added filter to walletAddress.incomingPayments resolver
* added filtering by initiatedBy to also work with notIn
* Added filter to getPage functions
* feat(point-of-sale): filter incoming payments by those initiated by card payemnt (#3734)
* chore(card-service): remove unused components (#3736)
* chore(card-service): remove pos-store
* chore(backend): remove redis from instantiation
* chore: remove unused pos & card service components (#3737)
* chore(testenv): remove port
* chore(localenv): removed card & pos volumes, ports, seed
* chore(card-service): remove init script
* chore(backend): remove unused card service
* chore(backend): remove card expiry from outgoing payment errors
* feat(point-of-sale): add `senderWalletAddress` to incoming payment creation (#3738)
* feat(point-of-sale): add USE_HTTP flag
* feat(point-of-sale): pass in senderWalletAddress into incoming payment creation
* chore(testenv): add USE_HTTP to point-of-sale service
* chore(point-of-sale): update card service client log service name
* test(point-of-sale): update payment route & service tests
---------
Co-authored-by: oana-lolea <[email protected]>
Co-authored-by: Nathan Lie <[email protected]>
Co-authored-by: Arpi Lengyel <[email protected]>
Co-authored-by: Arpi Lengyel <[email protected]>
Co-authored-by: xplicit <[email protected]>
Co-authored-by: zeppelin44 <[email protected]>
Co-authored-by: Antoniu Neacsu <[email protected]>
Co-authored-by: MiguelLescasJorgeSebastian <[email protected]>
Co-authored-by: HRadry <[email protected]>
Co-authored-by: Raul <[email protected]>
Co-authored-by: Raul Ranete <[email protected]>
Co-authored-by: dragosp1011 <[email protected]>
Co-authored-by: Bogdan S <[email protected]>
1 parent 8b1ec9c commit 77a0c2a
File tree
146 files changed
+14791
-682
lines changed- .github/workflows
- bruno/collections/Rafiki
- POS Service APIs
- Rafiki Admin APIs
- localenv
- cloud-nine-wallet
- happy-life-bank
- mock-account-servicing-entity/generated
- packages
- backend
- migrations
- src
- asset
- config
- graphql
- generated
- resolvers
- open_payments
- payment
- combined
- incoming
- outgoing
- card
- quote
- receiver
- wallet_address
- openapi/specs
- payment-method
- ilp
- peer
- local
- provider
- tests
- webhook
- card-service
- src
- config
- graphql
- generated
- mutations
- openapi/specs
- payment
- tests
- utils
- frontend/app/generated
- mock-account-service-lib/src/generated
- point-of-sale
- src
- card-service-client
- config
- graphql
- generated
- mutations
- queries
- payments
- tests
- utils
- webhook-handlers
- test
- integration
- lib/test-actions
- scripts
- test-lib
- src
- generated
- testenv
- cloud-nine-wallet
- happy-life-bank
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
146 files changed
+14791
-682
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | | - | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
21 | | - | |
22 | | - | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| |||
84 | 84 | | |
85 | 85 | | |
86 | 86 | | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
87 | 113 | | |
88 | 114 | | |
89 | 115 | | |
| |||
127 | 153 | | |
128 | 154 | | |
129 | 155 | | |
130 | | - | |
| 156 | + | |
131 | 157 | | |
132 | | - | |
133 | | - | |
| 158 | + | |
| 159 | + | |
134 | 160 | | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
144 | 170 | | |
145 | 171 | | |
146 | 172 | | |
| |||
160 | 186 | | |
161 | 187 | | |
162 | 188 | | |
| 189 | + | |
163 | 190 | | |
164 | 191 | | |
| 192 | + | |
165 | 193 | | |
166 | 194 | | |
167 | 195 | | |
| |||
188 | 216 | | |
189 | 217 | | |
190 | 218 | | |
| 219 | + | |
191 | 220 | | |
192 | 221 | | |
193 | 222 | | |
| 223 | + | |
194 | 224 | | |
195 | 225 | | |
196 | 226 | | |
| |||
312 | 342 | | |
313 | 343 | | |
314 | 344 | | |
315 | | - | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
316 | 358 | | |
317 | 359 | | |
318 | 360 | | |
| |||
410 | 452 | | |
411 | 453 | | |
412 | 454 | | |
| 455 | + | |
| 456 | + | |
413 | 457 | | |
414 | 458 | | |
415 | 459 | | |
| |||
447 | 491 | | |
448 | 492 | | |
449 | 493 | | |
| 494 | + | |
| 495 | + | |
450 | 496 | | |
451 | 497 | | |
452 | 498 | | |
| |||
483 | 529 | | |
484 | 530 | | |
485 | 531 | | |
| 532 | + | |
| 533 | + | |
486 | 534 | | |
487 | 535 | | |
488 | 536 | | |
| |||
515 | 563 | | |
516 | 564 | | |
517 | 565 | | |
| 566 | + | |
| 567 | + | |
518 | 568 | | |
519 | 569 | | |
520 | 570 | | |
| |||
527 | 577 | | |
528 | 578 | | |
529 | 579 | | |
530 | | - | |
| 580 | + | |
531 | 581 | | |
532 | 582 | | |
533 | 583 | | |
| |||
536 | 586 | | |
537 | 587 | | |
538 | 588 | | |
| 589 | + | |
| 590 | + | |
539 | 591 | | |
540 | 592 | | |
541 | 593 | | |
| |||
Lines changed: 15 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
Lines changed: 26 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
Lines changed: 46 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
3 | 33 | | |
4 | 34 | | |
5 | 35 | | |
| |||
80 | 110 | | |
81 | 111 | | |
82 | 112 | | |
| 113 | + | |
| 114 | + | |
83 | 115 | | |
84 | 116 | | |
85 | 117 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
3 | 36 | | |
4 | 37 | | |
5 | 38 | | |
| |||
67 | 100 | | |
68 | 101 | | |
69 | 102 | | |
| 103 | + | |
| 104 | + | |
70 | 105 | | |
71 | 106 | | |
72 | 107 | | |
| |||
76 | 111 | | |
77 | 112 | | |
78 | 113 | | |
| 114 | + | |
| 115 | + | |
79 | 116 | | |
80 | 117 | | |
81 | 118 | | |
| |||
0 commit comments