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

Export Signer to WASM #78

Closed
wants to merge 56 commits into from
Closed

Export Signer to WASM #78

wants to merge 56 commits into from

Conversation

SupremoUGH
Copy link
Contributor

@SupremoUGH SupremoUGH commented Feb 2, 2023

Goes together with Manta-Network/manta-rs#314.

Changes:

  • Added support for AssetMetadata from asset metadata change #62.
  • Import Signer from manta-pay::signer instead of manta-pay::signer::client::http::Client.
  • Added all signer methods, including sign_with_transaction_data.
  • Wallet from manta-accounting::wallet instead of manta-pay::signer::client::http::Wallet.
  • Multi-network support.

Before we can merge this PR, please make sure that all the following items have been checked off:

  • Linked to an issue with discussion and accepted design OR have an explanation in the PR that describes this work.
  • Added one line describing your change in CHANGELOG.md and added the appropriate L- label to the PR.
  • Re-reviewed Files changed in the GitHub PR explorer.

@SupremoUGH SupremoUGH changed the title Signer extension Export Signer to WASM Feb 7, 2023
@SupremoUGH SupremoUGH marked this pull request as ready for review February 7, 2023 18:56
@SupremoUGH SupremoUGH self-assigned this Feb 7, 2023
SupremoUGH and others added 10 commits February 9, 2023 14:26
Signed-off-by: Daniel <110973578+DanielZhangReal@users.noreply.github.com>
Signed-off-by: Daniel <110973578+DanielZhangReal@users.noreply.github.com>
Signed-off-by: Daniel <110973578+DanielZhangReal@users.noreply.github.com>
Signed-off-by: Daniel <110973578+DanielZhangReal@users.noreply.github.com>
SupremoUGH and others added 27 commits February 21, 2023 10:48
* changed branch

* new signer + load/drop accounts

* new methods

* changelog

* mnemonic from phrase

* fix: update signer initial

* fix: update signer initial

* changed from parameters to full parameters

* new storage methods

* get and set storage methods for wallet + docs

* fix: init signer

* fix: init signer bugs

* fix: init Parameters & ProvingContext

---------

Co-authored-by: Daniel <danielnickreal@gmail.com>
* fix: update test demo

* fix: save utxos to local

* fix: change account

* storage state changes

* fix: storage data

* fix: save data when data is available

* async methods

* fix: update demo

* undo async

* fix: update save utxos

* storage state is JsValue now

* fix: change storage data to JsValue

* test fixed

* fix: add initial seed phrase

* fix: rm unsafe-eval lib scale-codec, temporarily use the old version pull_ledger_diff interface to sync data

* fix: rm polkadotSigner in build transaction

* fix: replace private with zk

* fix: api changed

* fix: replace scale-codec with manta-scale-codec, fix CSP issues

* updated manta-rs dependencies

* changelog

* changelog

* fix: add publicAddress in toPublic, refer:  #102

* fix: update package name

* fix: update name

* fix: move storage logic to external

* fix: upgrade sdk version

* new method

* feat: Save storage state while syncing

* fix: move reset_state to initialWalletSync

* fix: revert max pull size

* swapped get and set storage names

* changelog

---------

Co-authored-by: Daniel <danielnickreal@gmail.com>
* initial sync

* feat: optimization initial sync

* it works

* fix: add multi balance api

* chore: add initial_pull

* fix: initial new account optimize

* fix: utxos decode

* chore: add debugger for test

* names changed

* fix: replace initial_pull to dense_initial_pull

* fix: add isInitialed logic

* fix: add resetState

* chore: upgrade version

* fix: update resetState

* remove reset state for initial sync

* mut to immut

* docs

* changelog

* fix: upgrade @PolkaDot package version && remove useless package

---------

Co-authored-by: Daniel <danielnickreal@gmail.com>
* wip

* add SBTWallet interface

Signed-off-by: Charles Ferrell <charlie@manta.network>

* remove duplicate code

Signed-off-by: Charles Ferrell <charlie@manta.network>

* add reserveSbt call

Signed-off-by: Charles Ferrell <charlie@manta.network>

* single TransferPost and fix compile

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* fix metadata function

Signed-off-by: Charles Ferrell <charlie@manta.network>

* add get metadata helper function

Signed-off-by: Charles Ferrell <charlie@manta.network>

* add sign_with_transaction_data

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* return transaction data when mintSBT

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* fix metadata bug in mintSbt

Signed-off-by: Charles Ferrell <charlie@manta.network>

* fix example

Signed-off-by: Charles Ferrell <charlie@manta.network>

* Add identity proof to sdk

Signed-off-by: Charles Ferrell <charlie@manta.network>

* fix identity and do clippy lints

Signed-off-by: Charles Ferrell <charlie@manta.network>

* add callback methods

Signed-off-by: Charles Ferrell <charlie@manta.network>

* make only build tx and change example

Signed-off-by: Charles Ferrell <charlie@manta.network>

* remove duplicate ledger

Signed-off-by: Charles Ferrell <charlie@manta.network>

* change storage for sbt metadata

Signed-off-by: Charles Ferrell <charlie@manta.network>

* feat: add changelog and release system (#84)

Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>

* add asset info of mint sbt result and verifiy feature

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* back to using separate rpc

Signed-off-by: Charles Ferrell <charlie@manta.network>

* fix rpc used

Signed-off-by: Charles Ferrell <charlie@manta.network>

* fix asset id

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* fix get metadata

Signed-off-by: Charles Ferrell <charlie@manta.network>

* init private wallet without connected api (#86)

* init private wallet without connected api

* update readme / examples

* bump version

* update changelog

* refactor check api is ready

* fix broken merge

Signed-off-by: Charles Ferrell <charlie@manta.network>

* add sbt sdk readme

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* Include Sinks in ToPublic Transaction (#102)

* update to new manta-rs version

Signed-off-by: Charles Ferrell <charlie@manta.network>

* correct encoding of account

Signed-off-by: Charles Ferrell <charlie@manta.network>

* fix wasm module Post definition

Signed-off-by: Charles Ferrell <charlie@manta.network>

* Changelog and add to manta-config

Signed-off-by: Charles Ferrell <charlie@manta.network>

* update to main

Signed-off-by: Charles Ferrell <charlie@manta.network>

* fix typo

Signed-off-by: Charles Ferrell <charlie@manta.network>

* bump to v0.5.12

Signed-off-by: Charles Ferrell <charlie@manta.network>

* use 0.10.2 scale-codec

Signed-off-by: Charles Ferrell <charlie@manta.network>

* fix assetId encoding

Signed-off-by: Charles Ferrell <charlie@manta.network>

* update changelog

Signed-off-by: Charles Ferrell <charlie@manta.network>

* bump package version

Signed-off-by: Charles Ferrell <charlie@manta.network>

---------

Signed-off-by: Charles Ferrell <charlie@manta.network>

* update doc

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* rename

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* Change all occurrences of private address to zkAddress (#88)

* Change all occurences of private address to zk address, and fix spelling mistake in initalWlaletSync

Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>

* Update changelog

Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>

* Remove redundant comment

Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>

---------

Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <45011053+ghzlatarev@users.noreply.github.com>

* initial sync

* feat: optimization initial sync

* it works

* fix: add multi balance api

* chore: add initial_pull

* fix: initial new account optimize

* fix: utxos decode

* chore: add debugger for test

* names changed

* fix: replace initial_pull to dense_initial_pull

* fix: add isInitialed logic

* fix: add resetState

* chore: upgrade version

* fix: update resetState

* remove reset state for initial sync

* mut to immut

* docs

* changelog

* fix: upgrade @PolkaDot package version && remove useless package

* fix: upgrade version && update resetState logic

* feat: refactor sdk logic

* feat: refactor sdk logic

* Delete baseWallet.ts

Signed-off-by: Daniel <110973578+DanielZhangReal@users.noreply.github.com>

* Delete privateWallet.ts

Signed-off-by: Daniel <110973578+DanielZhangReal@users.noreply.github.com>

* fix: rpc config bugs

* fix: sign_with_sbt_transaction_data

* fix: export wallet

* chore: update sdk types

* fix: update sbt

* fix: rm useless auth_context code

* feat: add extension example

* chore: update name

* fix: sbt toPrivate bugs

* fix: ui bugs

* chore: update log

* feat: update api logic

* fix: wasm error type

* fix: wasm error type

* fix: wasm error type

* feat: add identityProof

* fix: update extension example

* fix: example

* fix: update example

* chore: update style

* feat: add doc

* feat: update sdk-example doc

* chore: doc update

* get auth

* fix: update sbt logic

* fix bugs

* feat: add sdk docs

* fix: docs

* fix: private wallet

* fix: update docs

* fix: add changelog & fix bugs

* chore: update docs

* fix: update docs

* chore: rm useless file

* fix: update sdk example

* fix: update sdk example

* fix: build sbt posts docs

* update: sbt docs

* update: sdk docs

* sbt sync

* downgrade to 0.5.13

* chore: update sdk example

* chore: remove sign_with_transaction_data method

* update sign_with_transaction_data to convert TransferPost in wasm-wallet

Signed-off-by: Charles Ferrell <charlie@manta.network>

* use old format

Signed-off-by: Charles Ferrell <charlie@manta.network>

* chore: upgrade sdk version

* chore: optimize balance

* impl suggestion

* fix: format multiSbtPostBuild response

* chore: upgrade version

* chore: update config.json

* update: update changelog doc

---------

Signed-off-by: Charles Ferrell <charlie@manta.network>
Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <45011053+ghzlatarev@users.noreply.github.com>
Signed-off-by: Daniel <110973578+DanielZhangReal@users.noreply.github.com>
Co-authored-by: alexparshh <alexparshh@gmail.com>
Co-authored-by: Charles Ferrell <charlie@manta.network>
Co-authored-by: zqhxuyuan <zqhxuyuan@gmail.com>
Co-authored-by: Brandon H. Gomes <bhgomes@pm.me>
Co-authored-by: Kevin Gislason <33131270+Kevingislason@users.noreply.github.com>
Co-authored-by: Georgi Zlatarev <45011053+ghzlatarev@users.noreply.github.com>
Co-authored-by: SupremoUGH <francisco@manta.network>
* wip

* add SBTWallet interface

Signed-off-by: Charles Ferrell <charlie@manta.network>

* remove duplicate code

Signed-off-by: Charles Ferrell <charlie@manta.network>

* add reserveSbt call

Signed-off-by: Charles Ferrell <charlie@manta.network>

* single TransferPost and fix compile

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* fix metadata function

Signed-off-by: Charles Ferrell <charlie@manta.network>

* add get metadata helper function

Signed-off-by: Charles Ferrell <charlie@manta.network>

* add sign_with_transaction_data

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* return transaction data when mintSBT

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* fix metadata bug in mintSbt

Signed-off-by: Charles Ferrell <charlie@manta.network>

* fix example

Signed-off-by: Charles Ferrell <charlie@manta.network>

* Add identity proof to sdk

Signed-off-by: Charles Ferrell <charlie@manta.network>

* fix identity and do clippy lints

Signed-off-by: Charles Ferrell <charlie@manta.network>

* add callback methods

Signed-off-by: Charles Ferrell <charlie@manta.network>

* make only build tx and change example

Signed-off-by: Charles Ferrell <charlie@manta.network>

* remove duplicate ledger

Signed-off-by: Charles Ferrell <charlie@manta.network>

* change storage for sbt metadata

Signed-off-by: Charles Ferrell <charlie@manta.network>

* feat: add changelog and release system (#84)

Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>

* add asset info of mint sbt result and verifiy feature

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* back to using separate rpc

Signed-off-by: Charles Ferrell <charlie@manta.network>

* fix rpc used

Signed-off-by: Charles Ferrell <charlie@manta.network>

* fix asset id

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* fix get metadata

Signed-off-by: Charles Ferrell <charlie@manta.network>

* init private wallet without connected api (#86)

* init private wallet without connected api

* update readme / examples

* bump version

* update changelog

* refactor check api is ready

* fix broken merge

Signed-off-by: Charles Ferrell <charlie@manta.network>

* add sbt sdk readme

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* Include Sinks in ToPublic Transaction (#102)

* update to new manta-rs version

Signed-off-by: Charles Ferrell <charlie@manta.network>

* correct encoding of account

Signed-off-by: Charles Ferrell <charlie@manta.network>

* fix wasm module Post definition

Signed-off-by: Charles Ferrell <charlie@manta.network>

* Changelog and add to manta-config

Signed-off-by: Charles Ferrell <charlie@manta.network>

* update to main

Signed-off-by: Charles Ferrell <charlie@manta.network>

* fix typo

Signed-off-by: Charles Ferrell <charlie@manta.network>

* bump to v0.5.12

Signed-off-by: Charles Ferrell <charlie@manta.network>

* use 0.10.2 scale-codec

Signed-off-by: Charles Ferrell <charlie@manta.network>

* fix assetId encoding

Signed-off-by: Charles Ferrell <charlie@manta.network>

* update changelog

Signed-off-by: Charles Ferrell <charlie@manta.network>

* bump package version

Signed-off-by: Charles Ferrell <charlie@manta.network>

---------

Signed-off-by: Charles Ferrell <charlie@manta.network>

* update doc

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* rename

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* Change all occurrences of private address to zkAddress (#88)

* Change all occurences of private address to zk address, and fix spelling mistake in initalWlaletSync

Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>

* Update changelog

Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>

* Remove redundant comment

Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>

---------

Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <45011053+ghzlatarev@users.noreply.github.com>

* initial sync

* feat: optimization initial sync

* it works

* fix: add multi balance api

* chore: add initial_pull

* fix: initial new account optimize

* fix: utxos decode

* chore: add debugger for test

* names changed

* fix: replace initial_pull to dense_initial_pull

* fix: add isInitialed logic

* fix: add resetState

* chore: upgrade version

* fix: update resetState

* remove reset state for initial sync

* mut to immut

* docs

* changelog

* fix: upgrade @PolkaDot package version && remove useless package

* fix: upgrade version && update resetState logic

* feat: refactor sdk logic

* feat: refactor sdk logic

* Delete baseWallet.ts

Signed-off-by: Daniel <110973578+DanielZhangReal@users.noreply.github.com>

* Delete privateWallet.ts

Signed-off-by: Daniel <110973578+DanielZhangReal@users.noreply.github.com>

* fix: rpc config bugs

* fix: sign_with_sbt_transaction_data

* fix: export wallet

* chore: update sdk types

* fix: update sbt

* fix: rm useless auth_context code

* feat: add extension example

* chore: update name

* fix: sbt toPrivate bugs

* fix: ui bugs

* chore: update log

* feat: update api logic

* fix: wasm error type

* fix: wasm error type

* fix: wasm error type

* feat: add identityProof

* fix: update extension example

* fix: example

* fix: update example

* chore: update style

* feat: add doc

* feat: update sdk-example doc

* chore: doc update

* get auth

* fix: update sbt logic

* fix bugs

* feat: add sdk docs

* fix: docs

* fix: private wallet

* fix: update docs

* fix: add changelog & fix bugs

* chore: update docs

* fix: update docs

* chore: rm useless file

* fix: update sdk example

* fix: update sdk example

* fix: build sbt posts docs

* update: sbt docs

* update: sdk docs

* sbt sync

* downgrade to 0.5.13

* upgrade

* chore: update sdk example

* chore: remove sign_with_transaction_data method

* update sign_with_transaction_data to convert TransferPost in wasm-wallet

Signed-off-by: Charles Ferrell <charlie@manta.network>

* use old format

Signed-off-by: Charles Ferrell <charlie@manta.network>

* chore: upgrade sdk version

* chore: optimize balance

* impl suggestion

* feat: update authorization_context logics

* chore: upgrade version

* update: update manta-rs version

* chore: add authContext Type

* fix: authContext type

* chore: update extension demo

* update: extension example

* chore: update sdk example endpoint

* fix: upgrade manta-rs version

* fix: upgrade version

* fix: wrap wallet is busy

---------

Signed-off-by: Charles Ferrell <charlie@manta.network>
Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>
Signed-off-by: Brandon H. Gomes <bhgomes@pm.me>
Signed-off-by: Georgi Zlatarev <georgi.zlatarev@manta.network>
Signed-off-by: Georgi Zlatarev <45011053+ghzlatarev@users.noreply.github.com>
Signed-off-by: Daniel <110973578+DanielZhangReal@users.noreply.github.com>
Co-authored-by: alexparshh <alexparshh@gmail.com>
Co-authored-by: Charles Ferrell <charlie@manta.network>
Co-authored-by: zqhxuyuan <zqhxuyuan@gmail.com>
Co-authored-by: Brandon H. Gomes <bhgomes@pm.me>
Co-authored-by: Kevin Gislason <33131270+Kevingislason@users.noreply.github.com>
Co-authored-by: Georgi Zlatarev <45011053+ghzlatarev@users.noreply.github.com>
Co-authored-by: Daniel <danielnickreal@gmail.com>
Co-authored-by: Daniel <110973578+DanielZhangReal@users.noreply.github.com>
* fix: file download failed

* feat: support http provider

* fix: update endpoint

* chore: add build script

* fix: provider logs

* chore: upgrade version

* from_js result without panic

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>

* fix: pull ledger error

* chore: upgrade version

* chore: update changelog

* chore: rm useless file

* fix: httpProvider isReady bugs

---------

Signed-off-by: zqhxuyuan <zqhxuyuan@gmail.com>
Co-authored-by: zqhxuyuan <zqhxuyuan@gmail.com>
* pruning

* removed update functions

* changelog

* fix: update auth_context

* fix: add prune before we store the storageData

* feat: add transaction_data

* feat: add transaction_data

* change branch

* everything works

* chore: rm useless code

* chore: upgrade version

* chore: type support

* fix: new account sync issues

* error in initial sync + removed unnecessary code

* fix: rm ledger error callback

* feat: optimize isWalletBusy logic

* fix: task schedule bugs

* chore: upgrade version

* chore: update docs

* chore: add tips

* update: add sub accounts

* fix: rm useless code

---------

Co-authored-by: Daniel <danielnickreal@gmail.com>
* upgrade to 0.5.15

* changelog

* chore: upgrade version

---------

Co-authored-by: Daniel <danielnickreal@gmail.com>
* remove pruning feature

* fix: remove pruning

* chore: upgrade version

* fix: update prune

* update: changelog

* from branch to tag

---------

Co-authored-by: Daniel <danielnickreal@gmail.com>
* upgrade to 0.5.15

* changelog

* chore: upgrade version

* feat: add balance-issue example

* fix: update balance issue

* fix: build bug

* add: match transaction result

* chore: optimize code

* chore: update sdk demo

* chore: update changelog

---------

Co-authored-by: SupremoUGH <francisco@manta.network>
* feat: add syncProgress

* chore: update changelog

* chore: rename

* fix: synced total

* chore: upgrade version

* chore: update types
* feat: add total ledger count

* chore: update changelog

* fix: the initial mode needs to add 256, because the number is calculated in the sdk
* bugfix

* changelog

* chore: upgrade version

* fix: update max batch transaction limit

* optimization

* fix: upgrade version

* chore: rever max batch limit

* chore: upgrade version

* update manta-rs dep

---------

Co-authored-by: Daniel <danielnickreal@gmail.com>
* feat: add ledger api

* chore: update docs
* changed branch

* fix: update sdk example

* chore: update sdk example

* asset list method

* asset list returns JsValue

* feat: add total utxo list api

* chore: upgrade sdk version

* fix: update getAllUtxoList

* consolidate

* feat: add consolidate logic

* estimate transferposts

* docs and changelog

* feat: add estimate transfer posts count

* feat: add estimateTransferPostsCount api

* changed branch

* chore: upgrade sdk version

* chore: update privateWallet state

* chore: upgrade version

* chore: rm logs

* chore: upgrade version && upgrade manta-rs version

* chore: update config

* chore: update changelog

---------

Co-authored-by: Daniel <danielnickreal@gmail.com>
@bhgomes bhgomes removed their request for review June 24, 2023 00:32
* fix: select utxo bug

* chore: upgrade manta-rs version

* chore: update changelog
@SupremoUGH SupremoUGH closed this Jun 27, 2023
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