Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Chore] Merge develop into sep-6 #1157

Merged
merged 331 commits into from
Oct 11, 2023
Merged

Conversation

philipliu
Copy link
Contributor

Description

This merges develop into sep-6. The RPC API and Custody service changes make up the bulk of the commits.

Context

Catch up sep-6 branch to develop

Testing

  • ./gradlew test

Known limitations

N/A

rkharevych and others added 30 commits June 30, 2023 13:49
…ith corresponding request validation and basic error handling (stellar#968)

SDFSOF-63 - Added implementation of endpoint for handling RPC calls with corresponding request validation and basic error handling

What
Implementation of endpoint for handling RPC calls with request validation and error handling

Why
This endpoint will handle RPC calls that should replace PATCH /transactions REST endpoint
…refund_initiated and notify_refund_sent. (stellar#972)

SDFSOF-64 - Added handlers for notify_onchain_funds_received, notify_refund_initiated and notify_refund_sent.

What
Added handlers for notify_onchain_funds_received, notify_refund_initiated and notify_refund_sent

Why
Those handlers handle status transfer and update corresponding data in the database
Ifropc and others added 26 commits September 13, 2023 09:10
### What
- Custody Server:
  - new service;
  - ServiceRunner updates;
  - `Fireblocks` integration;
  - `Fireblocks` transactions reconciliation job;
  - run configuration for IntelliJ IDEA.
- Anchor Config:
  - custody and `Fireblocks` configuration;
  - RPC configuration.
- Kotlin Reference Server:
- feature toggle to switch between RPC API and `PATCH /transactions`
endpoint;
  - feature toggle to enable/disable custody mode.
- RPC API:
  - RPC endpoint;
  - method handlers;
  - trustline check job;
  - RPC API support for Observer.
- End2End tests:
  - `AnchorPlatformApiRpcEnd2EndTest`;
  - `AnchorPlatformCustodyApiRpcEnd2EndTest`;
  - `AnchorPlatformCustodyEnd2EndTest`;
  -  run configurations for IntelliJ IDEA.
- Integration tests:
   - `AnchorPlatformCustodyIntegrationTest`;
   - `AnchorPlatformIntegrationTest`.
- DB migration scripts:
  - `custody_transaction` table;
  - `transaction_pending_trust` table.
- Unit tests.
…1068)

<!-- If you're making a doc PR or something tiny where the below is
irrelevant, delete this
template and use a short description, but in your description aim to
include both what the
change is, and why it is being made, with enough context for anyone to
understand. -->

### Description

Fix the bug where `client_id` was not passed to `getRate()` when the
customer of the wallet exists.

### Context
Bug fix

### Testing

./gradlew test

---------

Co-authored-by: Jiahui Hu <[email protected]>
<!-- If you're making a doc PR or something tiny where the below is
irrelevant, delete this
template and use a short description, but in your description aim to
include both what the
change is, and why it is being made, with enough context for anyone to
understand. -->

### Description

This change adds list of `destination_accounts` into the clients
configuration (only for type `custodial`)

On SEP-24 deposit, we validate that account either matches SEP-10
(previous impl), or is in `destination_accounts` list for this client
(wallet)

### Context

Currently, if wallet wants to use a different destination account for
deposits (different from SEP-10 authenticated account), it will raise an
error.

While it makes sense for non-custodial case (otherwise, we allow to
transfer money to non-KYCd accounts), it’s a blocker for custodial case.

Custodial wallets may have 1 or more hot wallets, separated from their
authentication account.

### Testing
<!-- How was this change tested? -->
<!-- Default to `./gradlew test` but if there are other steps required
to test, include them here. -->
`./gradlew test`

### Known limitations

N/A
### Description

This updates the PR template so it removes all Markdown comments and
replaces them with explicit TODOs.

### Context

This prevents developers from forgetting to delete the Markdown comments
when merging their PR.

### Testing

N/A

### Known limitations

N/A
)

### Description
1. Turn on Gradle concurrency for `core` and `api-schema`
2. Remove `clearAllMocks` and `unmockAll` calls in `@AfterEach`
functions to avoid side-effects on concurrent tests.
3. Carefully handle `mockkStatic` objects.
4. `Sep10Challenge` is suspected to be thread-unsafe. Turn on
`synchronized` to avoid race condition.

### Context
Test acceleration.
<!-- If you're making a doc PR or something tiny where the below is
irrelevant, delete this
template and use a short description, but in your description aim to
include both what the
change is, and why it is being made, with enough context for anyone to
understand. -->

### Description

Add sep38.requires_sep10 configuration with default value to FALSE

### Context

Currently, according to the SEP-38 spec, some of the SEP38 endpoints
have SEP-10 as optional. This task seeks ensure we support this
optionality by add configurability to these endpoints' SEP-10
requirements.

### Testing
Tests were added to verify endpoints url pattern was added to filter if auth is
required
… customizability (stellar#1142)

### Description
- Restructure Sep1 service functions for extensibility and
customizability.
- Replaced the static mocks with member functions of `Sep1Service`.
@philipliu philipliu marked this pull request as ready for review October 11, 2023 21:23
@philipliu philipliu merged commit 8d5c17a into stellar:sep-6 Oct 11, 2023
5 checks passed
@philipliu philipliu deleted the sep-6-10-11-copy branch November 3, 2023 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants