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

[Polkadot]: Refactor Polkadot to support any Substrate chain #3261

Merged
merged 8 commits into from
Jun 28, 2023

Conversation

satoshiotomakan
Copy link
Collaborator

@satoshiotomakan satoshiotomakan commented Jun 23, 2023

Description

This PR refactors Polkadot to support working with any Substrate chain using TWCoinTypePolkadot without adding them into registry.json.
In other words, this PR merges src/Substrate and src/Polkadot implementations.

How to test

Run C++, Kotlin, Swift tests

Types of changes

Merge Substrate and Polkadot implementations.

Checklist

  • Create pull request as draft initially, unless its complete.
  • Add tests to cover changes as needed.
  • Update documentation as needed.
  • If there is a related Issue, mention it in the description.

If you're adding a new blockchain

  • I have read the guidelines for adding a new blockchain.

CHANGELOG (for Wallet Core, Wallet Kit)

  • Add CallIndices to every transaction message (such as Balances.transfer, Staking.Bond etc). Must be set if the target network is different from Polkadot and Kusama.
  • Add Balances.asset_transfer, Balances.batch_asset_transfer and Polymesh specific Identity.join_identity_as_key, Identity.add_authorization
  • Add SigningInput::multi_address: bool that should be set manually if the target network is different from Polkadot and Kusama

CHANGELOG (for DeFi)

BREAKING

  • Replace src/Substrate with src/Polkadot completely. See examples of using Polymesh signing, Acala TWAnySigner, Acala TWAnyAddress
  • module_index and method_index properties were moved to CallIndices message
  • Polymesh specific calls were refactored according to their module and method names:
    Authorization::join_identity refactored to Identity.add_authorization

@satoshiotomakan satoshiotomakan marked this pull request as ready for review June 28, 2023 10:42
@Milerius Milerius merged commit 09bedd1 into master Jun 28, 2023
@Milerius Milerius deleted the s/polkadot-substrate branch June 28, 2023 14:30
Milerius added a commit that referenced this pull request Jul 17, 2023
* [r2r]: Add ThetaFuel EVM compatible chain

* [r2r]: Bump wc-kotlin version to 3.1.38 (#3218)

* [ERC-4337] Fix user operation hash mistake (#3228)

* [ERC-4337] Fix user operation hash mistake

* Update TestBarz.kt

---------

Co-authored-by: hewigovens <[email protected]>

* [r2r] Update starknet-ff crate (#3230)

* [Sync]: Apply changes from DeFi wallet-core (#3225)

* [Barz] Format signature API changes (#3241)

* [Barz] Public API refactoring (#3212)

* Getting rid of attestationObject in Barz public API

* remove duplicates

* Update Barz.cpp

* Update Barz.cpp

* Update BarzTests.swift

* update tests

* Update WebAuthnTests.cpp

* Update TestBarz.kt

* Update TestWebAuthn.kt

* update android tests

* Update TestBarz.kt

* Update TestBarz.kt

* Update TestBarz.kt

* fix nullability

* tests update

* Add support for Taproot and BRC20 (#3233)

* [Barz] Add TokenReceiverFacet support (#3240)

* [CFX]: Add support for Conflux eSpace (#3259)

* [License]: update to apache 2.0 (#3256)

* [Barz] Execute batch (#3257)

* [Kotlin] Fixed GH Action (#3263)

* feat(evm/thorchain): use depositWithExpiry for regular transfer (#3266)

* feat(swift): update to 3.2.1 (#3269)

* Add iOS and android tests to check if new methods available (#3267)

* [WASM] Fixed CoinType.deriveAddressFromPublicKeyAndDerivation (#3271)

* [Polkadot]: Refactor Polkadot to support any Substrate chain (#3261)

* [Acala]: Add Acala and AcalaEVM chains (#3274)

* [Kotlin] Added UInt value to enums (#3276)

Co-authored-by: Sztergbaum Roman <[email protected]>

* fix(bitcoin): Fix `TWAnySignerPlan` (#3278)

* [README]: Update README.md (#3280)

Removed broken IFWallet link
Updated supported blockchain count according to registry.md
Corrected some typos and grammatical mistakes

* [Chain/EVM]: add opbnb testnet (#3291)

* [Barz] Upgrade to the new Barz contract constructor (#3288)

* [Polkadot]: Fix `Staking::Bond` and `Staking::BondAndNominate` (#3293)

* [Webauthn] Add some helpers to extract P256 values (#3292)

* [Cardano] Support utxo with legacy(byron) address (#3284)

* [Cardano]: Fix signing in JS (#3299)

---------

Co-authored-by: Ruslan Serebriakov <[email protected]>
Co-authored-by: hewigovens <[email protected]>
Co-authored-by: Fabio Lama <[email protected]>
Co-authored-by: Sztergbaum Roman <[email protected]>
Co-authored-by: Maxim Pestryakov <[email protected]>
Co-authored-by: Sabuhi Fatalizada <[email protected]>
Co-authored-by: Sergey Balashov <[email protected]>
satoshiotomakan added a commit that referenced this pull request Jul 17, 2023
* [r2r]: Add ThetaFuel EVM compatible chain

* [r2r]: Bump wc-kotlin version to 3.1.38 (#3218)

* [ERC-4337] Fix user operation hash mistake (#3228)

* [ERC-4337] Fix user operation hash mistake

* Update TestBarz.kt

---------

Co-authored-by: hewigovens <[email protected]>

* [r2r] Update starknet-ff crate (#3230)

* [Sync]: Apply changes from DeFi wallet-core (#3225)

* [Barz] Format signature API changes (#3241)

* [Barz] Public API refactoring (#3212)

* Getting rid of attestationObject in Barz public API

* remove duplicates

* Update Barz.cpp

* Update Barz.cpp

* Update BarzTests.swift

* update tests

* Update WebAuthnTests.cpp

* Update TestBarz.kt

* Update TestWebAuthn.kt

* update android tests

* Update TestBarz.kt

* Update TestBarz.kt

* Update TestBarz.kt

* fix nullability

* tests update

* Add support for Taproot and BRC20 (#3233)

* [Barz] Add TokenReceiverFacet support (#3240)

* [CFX]: Add support for Conflux eSpace (#3259)

* [License]: update to apache 2.0 (#3256)

* [Barz] Execute batch (#3257)

* [Kotlin] Fixed GH Action (#3263)

* feat(evm/thorchain): use depositWithExpiry for regular transfer (#3266)

* feat(swift): update to 3.2.1 (#3269)

* Add iOS and android tests to check if new methods available (#3267)

* [WASM] Fixed CoinType.deriveAddressFromPublicKeyAndDerivation (#3271)

* [Polkadot]: Refactor Polkadot to support any Substrate chain (#3261)

* [Acala]: Add Acala and AcalaEVM chains (#3274)

* [Kotlin] Added UInt value to enums (#3276)

Co-authored-by: Sztergbaum Roman <[email protected]>

* fix(bitcoin): Fix `TWAnySignerPlan` (#3278)

* [README]: Update README.md (#3280)

Removed broken IFWallet link
Updated supported blockchain count according to registry.md
Corrected some typos and grammatical mistakes

* [Chain/EVM]: add opbnb testnet (#3291)

* [Barz] Upgrade to the new Barz contract constructor (#3288)

* [Polkadot]: Fix `Staking::Bond` and `Staking::BondAndNominate` (#3293)

* [Webauthn] Add some helpers to extract P256 values (#3292)

* [Cardano] Support utxo with legacy(byron) address (#3284)

* [Cardano]: Fix signing in JS (#3299)

---------

Co-authored-by: Ruslan Serebriakov <[email protected]>
Co-authored-by: hewigovens <[email protected]>
Co-authored-by: Fabio Lama <[email protected]>
Co-authored-by: Sztergbaum Roman <[email protected]>
Co-authored-by: Maxim Pestryakov <[email protected]>
Co-authored-by: Sabuhi Fatalizada <[email protected]>
Co-authored-by: Sergey Balashov <[email protected]>
satoshiotomakan added a commit that referenced this pull request Oct 6, 2023
* [r2r]: Add ThetaFuel EVM compatible chain

* [r2r]: Bump wc-kotlin version to 3.1.38 (#3218)

* [ERC-4337] Fix user operation hash mistake (#3228)

* [ERC-4337] Fix user operation hash mistake

* Update TestBarz.kt

---------

Co-authored-by: hewigovens <[email protected]>

* [r2r] Update starknet-ff crate (#3230)

* [Sync]: Apply changes from DeFi wallet-core (#3225)

* [Barz] Format signature API changes (#3241)

* [Barz] Public API refactoring (#3212)

* Getting rid of attestationObject in Barz public API

* remove duplicates

* Update Barz.cpp

* Update Barz.cpp

* Update BarzTests.swift

* update tests

* Update WebAuthnTests.cpp

* Update TestBarz.kt

* Update TestWebAuthn.kt

* update android tests

* Update TestBarz.kt

* Update TestBarz.kt

* Update TestBarz.kt

* fix nullability

* tests update

* Add support for Taproot and BRC20 (#3233)

* [Barz] Add TokenReceiverFacet support (#3240)

* [CFX]: Add support for Conflux eSpace (#3259)

* [License]: update to apache 2.0 (#3256)

* [Barz] Execute batch (#3257)

* [Kotlin] Fixed GH Action (#3263)

* feat(evm/thorchain): use depositWithExpiry for regular transfer (#3266)

* feat(swift): update to 3.2.1 (#3269)

* Add iOS and android tests to check if new methods available (#3267)

* [WASM] Fixed CoinType.deriveAddressFromPublicKeyAndDerivation (#3271)

* [Polkadot]: Refactor Polkadot to support any Substrate chain (#3261)

* [Acala]: Add Acala and AcalaEVM chains (#3274)

* [Kotlin] Added UInt value to enums (#3276)

Co-authored-by: Sztergbaum Roman <[email protected]>

* fix(bitcoin): Fix `TWAnySignerPlan` (#3278)

* [README]: Update README.md (#3280)

Removed broken IFWallet link
Updated supported blockchain count according to registry.md
Corrected some typos and grammatical mistakes

* [Chain/EVM]: add opbnb testnet (#3291)

* [Barz] Upgrade to the new Barz contract constructor (#3288)

* [Polkadot]: Fix `Staking::Bond` and `Staking::BondAndNominate` (#3293)

* [Webauthn] Add some helpers to extract P256 values (#3292)

* [Cardano] Support utxo with legacy(byron) address (#3284)

* [Cardano]: Fix signing in JS (#3299)

---------

Co-authored-by: Ruslan Serebriakov <[email protected]>
Co-authored-by: hewigovens <[email protected]>
Co-authored-by: Fabio Lama <[email protected]>
Co-authored-by: Sztergbaum Roman <[email protected]>
Co-authored-by: Maxim Pestryakov <[email protected]>
Co-authored-by: Sabuhi Fatalizada <[email protected]>
Co-authored-by: Sergey Balashov <[email protected]>
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.

3 participants