@aeternity/aepp-sdk 11.0.1 → 12.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -22
- package/dist/aepp-sdk.browser-script.js.map +1 -1
- package/dist/aepp-sdk.browser.js +2 -1
- package/dist/aepp-sdk.browser.js.LICENSE.txt +1 -0
- package/dist/aepp-sdk.browser.js.map +1 -1
- package/dist/aepp-sdk.js +20765 -1
- package/dist/aepp-sdk.js.map +1 -1
- package/es/AeSdk.d.ts +37 -0
- package/es/AeSdk.mjs +81 -0
- package/es/AeSdk.mjs.map +1 -0
- package/es/AeSdkAepp.d.ts +70 -0
- package/es/AeSdkAepp.mjs +176 -0
- package/es/AeSdkAepp.mjs.map +1 -0
- package/es/AeSdkBase.d.ts +213 -0
- package/es/AeSdkBase.mjs +314 -0
- package/es/AeSdkBase.mjs.map +1 -0
- package/es/AeSdkWallet.d.ts +104 -0
- package/es/AeSdkWallet.mjs +326 -0
- package/es/AeSdkWallet.mjs.map +1 -0
- package/es/Node.d.ts +41 -0
- package/es/Node.mjs +147 -0
- package/es/Node.mjs.map +1 -0
- package/es/account/Base.d.ts +68 -0
- package/es/account/Base.mjs +123 -0
- package/es/account/Base.mjs.map +1 -0
- package/es/account/Memory.d.ts +26 -0
- package/es/account/Memory.mjs +103 -0
- package/es/account/Memory.mjs.map +1 -0
- package/es/account/Rpc.d.ts +27 -0
- package/es/account/Rpc.mjs +80 -0
- package/es/account/Rpc.mjs.map +1 -0
- package/es/aens.d.ts +222 -0
- package/es/aens.mjs +338 -0
- package/es/aens.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/Browser.d.ts +33 -0
- package/es/aepp-wallet-communication/connection/Browser.mjs +73 -0
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +58 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +146 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection-proxy.d.ts +11 -0
- package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +16 -11
- package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
- package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
- package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
- package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
- package/es/aepp-wallet-communication/schema.d.ts +105 -46
- package/es/aepp-wallet-communication/schema.mjs +251 -0
- package/es/aepp-wallet-communication/schema.mjs.map +1 -0
- package/es/aepp-wallet-communication/wallet-detector.d.ts +25 -0
- package/es/aepp-wallet-communication/wallet-detector.mjs +62 -0
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
- package/es/apis/compiler/compiler.d.ts +92 -0
- package/es/apis/compiler/compiler.mjs +576 -0
- package/es/apis/compiler/compiler.mjs.map +1 -0
- package/es/apis/compiler/index.d.ts +2 -0
- package/es/apis/compiler/index.mjs +3 -0
- package/es/apis/compiler/index.mjs.map +1 -0
- package/es/apis/compiler/models/index.d.ts +248 -0
- package/es/apis/compiler/models/index.mjs +48 -0
- package/es/apis/compiler/models/index.mjs.map +1 -0
- package/es/apis/compiler/models/mappers.d.ts +23 -0
- package/es/apis/compiler/models/mappers.mjs +585 -0
- package/es/apis/compiler/models/mappers.mjs.map +1 -0
- package/es/apis/compiler/models/parameters.d.ts +13 -0
- package/es/apis/compiler/models/parameters.mjs +71 -0
- package/es/apis/compiler/models/parameters.mjs.map +1 -0
- package/es/apis/node/index.d.ts +2 -0
- package/es/apis/node/index.mjs +3 -0
- package/es/apis/node/index.mjs.map +1 -0
- package/es/apis/node/models/index.d.ts +1065 -0
- package/es/apis/node/models/index.mjs +2 -0
- package/es/apis/node/models/index.mjs.map +1 -0
- package/es/apis/node/models/mappers.d.ts +95 -0
- package/es/apis/node/models/mappers.mjs +4166 -0
- package/es/apis/node/models/mappers.mjs.map +1 -0
- package/es/apis/node/models/parameters.d.ts +17 -0
- package/es/apis/node/models/parameters.mjs +165 -0
- package/es/apis/node/models/parameters.mjs.map +1 -0
- package/es/apis/node/node.d.ts +215 -0
- package/es/apis/node/node.mjs +1165 -0
- package/es/apis/node/node.mjs.map +1 -0
- package/es/chain.d.ts +248 -0
- package/es/chain.mjs +560 -0
- package/es/chain.mjs.map +1 -0
- package/es/channel/handlers.d.ts +34 -0
- package/es/channel/handlers.mjs +164 -131
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/index.d.ts +625 -0
- package/es/channel/index.mjs +897 -902
- package/es/channel/index.mjs.map +1 -1
- package/es/channel/internal.d.ts +101 -0
- package/es/channel/internal.mjs +136 -85
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/Compiler.d.ts +18 -0
- package/es/contract/Compiler.mjs +68 -0
- package/es/contract/Compiler.mjs.map +1 -0
- package/es/contract/aci.d.ts +127 -0
- package/es/contract/aci.mjs +225 -193
- package/es/contract/aci.mjs.map +1 -1
- package/es/contract/ga.d.ts +69 -0
- package/es/contract/ga.mjs +195 -0
- package/es/contract/ga.mjs.map +1 -0
- package/es/contract/methods.d.ts +71 -0
- package/es/contract/methods.mjs +104 -0
- package/es/contract/methods.mjs.map +1 -0
- package/es/deprecated/index.d.ts +143 -0
- package/es/deprecated/index.mjs +162 -0
- package/es/deprecated/index.mjs.map +1 -0
- package/es/deprecated/methods.d.ts +18 -0
- package/es/deprecated/methods.mjs +26 -0
- package/es/deprecated/methods.mjs.map +1 -0
- package/es/index.d.ts +35 -0
- package/es/index.mjs +35 -40
- package/es/index.mjs.map +1 -1
- package/es/oracle.d.ts +161 -0
- package/es/oracle.mjs +306 -0
- package/es/oracle.mjs.map +1 -0
- package/es/spend.d.ts +62 -0
- package/es/spend.mjs +111 -0
- package/es/spend.mjs.map +1 -0
- package/es/tx/builder/address.d.ts +25 -0
- package/es/tx/builder/address.mjs +45 -0
- package/es/tx/builder/address.mjs.map +1 -0
- package/es/tx/builder/constants.d.ts +70 -0
- package/es/tx/builder/constants.mjs +61 -47
- package/es/tx/builder/constants.mjs.map +1 -1
- package/es/tx/builder/field-types/coin-amount.d.ts +13 -0
- package/es/tx/builder/field-types/coin-amount.mjs +26 -0
- package/es/tx/builder/field-types/coin-amount.mjs.map +1 -0
- package/es/tx/builder/field-types/deposit.d.ts +15 -0
- package/es/tx/builder/field-types/deposit.mjs +19 -0
- package/es/tx/builder/field-types/deposit.mjs.map +1 -0
- package/es/tx/builder/field-types/fee.d.ts +25 -0
- package/es/tx/builder/field-types/fee.mjs +150 -0
- package/es/tx/builder/field-types/fee.mjs.map +1 -0
- package/es/tx/builder/field-types/field.d.ts +6 -0
- package/es/tx/builder/field-types/field.mjs +15 -0
- package/es/tx/builder/field-types/field.mjs.map +1 -0
- package/es/tx/builder/field-types/gas-limit.d.ts +12 -0
- package/es/tx/builder/field-types/gas-limit.mjs +33 -0
- package/es/tx/builder/field-types/gas-limit.mjs.map +1 -0
- package/es/tx/builder/field-types/gas-price.d.ts +8 -0
- package/es/tx/builder/field-types/gas-price.mjs +18 -0
- package/es/tx/builder/field-types/gas-price.mjs.map +1 -0
- package/es/tx/builder/field-types/index.d.ts +70 -0
- package/es/tx/builder/field-types/index.mjs +25 -0
- package/es/tx/builder/field-types/index.mjs.map +1 -0
- package/es/tx/builder/field-types/name-fee.d.ts +20 -0
- package/es/tx/builder/field-types/name-fee.mjs +24 -0
- package/es/tx/builder/field-types/name-fee.mjs.map +1 -0
- package/es/tx/builder/field-types/name-id.d.ts +14 -0
- package/es/tx/builder/field-types/name-id.mjs +19 -0
- package/es/tx/builder/field-types/name-id.mjs.map +1 -0
- package/es/tx/builder/field-types/name.d.ts +13 -0
- package/es/tx/builder/field-types/name.mjs +18 -0
- package/es/tx/builder/field-types/name.mjs.map +1 -0
- package/es/tx/builder/field-types/short-u-int.d.ts +6 -0
- package/es/tx/builder/field-types/short-u-int.mjs +12 -0
- package/es/tx/builder/field-types/short-u-int.mjs.map +1 -0
- package/es/tx/builder/field-types/u-int.d.ts +8 -0
- package/es/tx/builder/field-types/u-int.mjs +14 -0
- package/es/tx/builder/field-types/u-int.mjs.map +1 -0
- package/es/tx/builder/helpers.d.ts +125 -0
- package/es/tx/builder/helpers.mjs +94 -198
- package/es/tx/builder/helpers.mjs.map +1 -1
- package/es/tx/builder/index.d.ts +88 -0
- package/es/tx/builder/index.mjs +167 -358
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +1201 -0
- package/es/tx/builder/schema.mjs +175 -561
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/tx/index.d.ts +64 -0
- package/es/tx/index.mjs +151 -265
- package/es/tx/index.mjs.map +1 -1
- package/es/tx/validator.d.ts +20 -0
- package/es/tx/validator.mjs +104 -124
- package/es/tx/validator.mjs.map +1 -1
- package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
- package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
- package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
- package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
- package/es/typings/bip32-path/index.d.mjs +2 -0
- package/es/typings/bip32-path/index.d.mjs.map +1 -0
- package/es/typings/blakejs/index.d.mjs.map +1 -1
- package/es/typings/sha-js/index.d.mjs +2 -0
- package/es/typings/sha-js/index.d.mjs.map +1 -0
- package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
- package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
- package/es/utils/amount-formatter.d.ts +42 -0
- package/es/utils/amount-formatter.mjs +36 -49
- package/es/utils/amount-formatter.mjs.map +1 -1
- package/es/utils/autorest.d.ts +6 -0
- package/es/utils/autorest.mjs +97 -0
- package/es/utils/autorest.mjs.map +1 -0
- package/es/utils/bignumber.d.ts +13 -0
- package/es/utils/bignumber.mjs +11 -8
- package/es/utils/bignumber.mjs.map +1 -1
- package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
- package/es/utils/bytes.mjs +11 -15
- package/es/utils/bytes.mjs.map +1 -1
- package/es/utils/crypto.d.ts +88 -0
- package/es/utils/crypto.mjs +64 -98
- package/es/utils/crypto.mjs.map +1 -1
- package/es/utils/encoder-types.d.ts +61 -0
- package/es/utils/encoder-types.mjs +36 -0
- package/es/utils/encoder-types.mjs.map +1 -0
- package/es/utils/encoder.d.ts +25 -0
- package/es/utils/encoder.mjs +71 -59
- package/es/utils/encoder.mjs.map +1 -1
- package/es/{errors.d.ts → utils/errors.d.ts} +246 -59
- package/es/utils/errors.mjs +313 -136
- package/es/utils/errors.mjs.map +1 -1
- package/es/utils/hd-wallet.d.ts +50 -0
- package/es/utils/hd-wallet.mjs +86 -45
- package/es/utils/hd-wallet.mjs.map +1 -1
- package/es/utils/json-big.d.ts +5 -0
- package/es/utils/json-big.mjs +12 -16
- package/es/utils/json-big.mjs.map +1 -1
- package/es/utils/keystore.d.ts +51 -0
- package/es/utils/keystore.mjs +101 -194
- package/es/utils/keystore.mjs.map +1 -1
- package/es/{mptree.d.ts → utils/mptree.d.ts} +6 -9
- package/es/utils/mptree.mjs +22 -18
- package/es/utils/mptree.mjs.map +1 -1
- package/es/utils/other.d.ts +20 -0
- package/es/utils/other.mjs +32 -35
- package/es/utils/other.mjs.map +1 -1
- package/es/utils/semver-satisfies.d.ts +1 -0
- package/es/utils/semver-satisfies.mjs +2 -2
- package/es/utils/semver-satisfies.mjs.map +1 -1
- package/es/utils/string.d.ts +24 -0
- package/es/utils/string.mjs +8 -10
- package/es/utils/string.mjs.map +1 -1
- package/package.json +55 -43
- package/src/AeSdk.ts +68 -0
- package/src/AeSdkAepp.ts +176 -0
- package/src/AeSdkBase.ts +338 -0
- package/src/AeSdkWallet.ts +348 -0
- package/src/Node.ts +173 -0
- package/src/account/Base.ts +124 -0
- package/src/account/Memory.ts +98 -0
- package/src/account/Rpc.ts +69 -0
- package/src/aens.ts +407 -0
- package/src/aepp-wallet-communication/connection/Browser.ts +71 -0
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +59 -0
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +122 -0
- package/{es/utils/crypto-ts.mjs → src/aepp-wallet-communication/connection-proxy.ts} +18 -18
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +143 -0
- package/src/aepp-wallet-communication/rpc/types.ts +66 -0
- package/src/aepp-wallet-communication/schema.ts +224 -0
- package/src/aepp-wallet-communication/wallet-detector.ts +72 -0
- package/src/apis/compiler/code-model-v4.yaml +2649 -0
- package/src/apis/compiler/compiler.ts +585 -0
- package/src/apis/compiler/index.ts +2 -0
- package/src/apis/compiler/models/index.ts +301 -0
- package/src/apis/compiler/models/mappers.ts +583 -0
- package/src/apis/compiler/models/parameters.ts +93 -0
- package/src/apis/node/code-model-v4.yaml +10080 -0
- package/src/apis/node/index.ts +2 -0
- package/src/apis/node/models/index.ts +1257 -0
- package/src/apis/node/models/mappers.ts +4280 -0
- package/src/apis/node/models/parameters.ts +188 -0
- package/src/apis/node/node.ts +1299 -0
- package/src/chain.ts +502 -0
- package/src/channel/handlers.ts +817 -0
- package/src/channel/index.ts +1025 -0
- package/src/channel/internal.ts +361 -0
- package/src/contract/Compiler.ts +67 -0
- package/src/contract/aci.ts +538 -0
- package/src/contract/ga.ts +199 -0
- package/src/contract/methods.ts +123 -0
- package/src/deprecated/index.ts +172 -0
- package/src/deprecated/methods.ts +25 -0
- package/src/index.ts +56 -0
- package/src/oracle.ts +364 -0
- package/src/spend.ts +164 -0
- package/src/tx/builder/address.ts +50 -0
- package/src/tx/builder/constants.ts +126 -0
- package/src/tx/builder/field-types/coin-amount.ts +27 -0
- package/src/tx/builder/field-types/deposit.ts +21 -0
- package/src/tx/builder/field-types/fee.ts +143 -0
- package/src/tx/builder/field-types/field.ts +9 -0
- package/src/tx/builder/field-types/gas-limit.ts +41 -0
- package/src/tx/builder/field-types/gas-price.ts +16 -0
- package/src/tx/builder/field-types/index.ts +45 -0
- package/src/tx/builder/field-types/name-fee.ts +32 -0
- package/src/tx/builder/field-types/name-id.ts +20 -0
- package/src/tx/builder/field-types/name.ts +18 -0
- package/src/tx/builder/field-types/short-u-int.ts +11 -0
- package/src/tx/builder/field-types/u-int.ts +16 -0
- package/src/tx/builder/helpers.ts +248 -0
- package/src/tx/builder/index.ts +400 -0
- package/src/tx/builder/schema.ts +727 -0
- package/src/tx/index.ts +192 -0
- package/src/tx/validator.ts +230 -0
- package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
- package/src/typings/@aeternity__uuid/index.d.ts +5 -0
- package/src/typings/bip32-path/index.d.ts +33 -0
- package/src/typings/blakejs/index.d.ts +4 -32
- package/src/typings/sha-js/index.d.ts +5 -0
- package/src/typings/tweetnacl-auth/index.d.ts +14 -0
- package/src/utils/amount-formatter.ts +56 -69
- package/src/utils/autorest.ts +93 -0
- package/src/utils/bignumber.ts +11 -12
- package/src/utils/bytes.ts +29 -31
- package/src/utils/crypto.ts +205 -0
- package/src/utils/encoder-types.ts +63 -0
- package/src/utils/encoder.ts +116 -71
- package/src/utils/errors.ts +482 -366
- package/src/utils/hd-wallet.ts +166 -0
- package/src/utils/json-big.ts +27 -0
- package/src/utils/keystore.ts +182 -0
- package/src/utils/mptree.ts +64 -61
- package/src/utils/other.ts +34 -41
- package/src/utils/semver-satisfies.ts +15 -11
- package/src/utils/string.ts +18 -20
- package/es/account/base.mjs +0 -179
- package/es/account/base.mjs.map +0 -1
- package/es/account/memory.mjs +0 -99
- package/es/account/memory.mjs.map +0 -1
- package/es/account/multiple.mjs +0 -179
- package/es/account/multiple.mjs.map +0 -1
- package/es/ae/aens.mjs +0 -404
- package/es/ae/aens.mjs.map +0 -1
- package/es/ae/aepp.mjs +0 -45
- package/es/ae/aepp.mjs.map +0 -1
- package/es/ae/contract.mjs +0 -159
- package/es/ae/contract.mjs.map +0 -1
- package/es/ae/index.mjs +0 -207
- package/es/ae/index.mjs.map +0 -1
- package/es/ae/oracle.mjs +0 -339
- package/es/ae/oracle.mjs.map +0 -1
- package/es/ae/universal.mjs +0 -45
- package/es/ae/universal.mjs.map +0 -1
- package/es/ae/wallet.mjs +0 -50
- package/es/ae/wallet.mjs.map +0 -1
- package/es/amount-formatter.d.ts +0 -58
- package/es/bignumber.d.ts +0 -18
- package/es/chain/index.mjs +0 -272
- package/es/chain/index.mjs.map +0 -1
- package/es/chain/node.mjs +0 -442
- package/es/chain/node.mjs.map +0 -1
- package/es/contract/compiler.mjs +0 -115
- package/es/contract/compiler.mjs.map +0 -1
- package/es/contract/ga/helpers.mjs +0 -30
- package/es/contract/ga/helpers.mjs.map +0 -1
- package/es/contract/ga/index.mjs +0 -178
- package/es/contract/ga/index.mjs.map +0 -1
- package/es/crypto-ts.d.ts +0 -9
- package/es/encoder.d.ts +0 -26
- package/es/node-pool/index.mjs +0 -188
- package/es/node-pool/index.mjs.map +0 -1
- package/es/node.mjs +0 -133
- package/es/node.mjs.map +0 -1
- package/es/other.d.ts +0 -31
- package/es/semver-satisfies.d.ts +0 -1
- package/es/string.d.ts +0 -26
- package/es/tx/builder/field-types.mjs +0 -74
- package/es/tx/builder/field-types.mjs.map +0 -1
- package/es/tx/tx-object.mjs +0 -283
- package/es/tx/tx-object.mjs.map +0 -1
- package/es/tx/tx.mjs +0 -938
- package/es/tx/tx.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
- package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
- package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
- package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
- package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
- package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
- package/es/utils/async-init.mjs +0 -64
- package/es/utils/async-init.mjs.map +0 -1
- package/es/utils/crypto-ts.mjs.map +0 -1
- package/es/utils/swagger.mjs +0 -164
- package/es/utils/swagger.mjs.map +0 -1
- package/src/account/base.js +0 -153
- package/src/account/memory.js +0 -83
- package/src/account/multiple.js +0 -162
- package/src/ae/aens.js +0 -361
- package/src/ae/aepp.js +0 -45
- package/src/ae/contract.js +0 -148
- package/src/ae/index.js +0 -168
- package/src/ae/oracle.js +0 -311
- package/src/ae/universal.js +0 -47
- package/src/ae/wallet.js +0 -50
- package/src/chain/index.js +0 -269
- package/src/chain/node.js +0 -320
- package/src/channel/handlers.js +0 -673
- package/src/channel/index.js +0 -903
- package/src/channel/internal.js +0 -236
- package/src/contract/aci.js +0 -376
- package/src/contract/compiler.js +0 -100
- package/src/contract/ga/helpers.js +0 -19
- package/src/contract/ga/index.js +0 -150
- package/src/index.js +0 -89
- package/src/node-pool/index.js +0 -172
- package/src/node.js +0 -116
- package/src/tx/builder/constants.js +0 -100
- package/src/tx/builder/field-types.js +0 -61
- package/src/tx/builder/helpers.js +0 -334
- package/src/tx/builder/index.js +0 -465
- package/src/tx/builder/schema.js +0 -1100
- package/src/tx/index.js +0 -301
- package/src/tx/tx-object.js +0 -187
- package/src/tx/tx.js +0 -631
- package/src/tx/validator.js +0 -181
- package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
- package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
- package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
- package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
- package/src/utils/aepp-wallet-communication/helpers.js +0 -60
- package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
- package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
- package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
- package/src/utils/aepp-wallet-communication/schema.ts +0 -80
- package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
- package/src/utils/async-init.js +0 -45
- package/src/utils/crypto.js +0 -219
- package/src/utils/hd-wallet.js +0 -100
- package/src/utils/json-big.js +0 -26
- package/src/utils/keystore.js +0 -219
- package/src/utils/swagger.js +0 -156
package/src/Node.ts
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
// eslint-disable-next-line max-classes-per-file
|
|
2
|
+
import BigNumber from 'bignumber.js';
|
|
3
|
+
import { OperationArguments, OperationSpec } from '@azure/core-client';
|
|
4
|
+
import {
|
|
5
|
+
genRequestQueuesPolicy, genCombineGetRequestsPolicy, genErrorFormatterPolicy,
|
|
6
|
+
genVersionCheckPolicy,
|
|
7
|
+
} from './utils/autorest';
|
|
8
|
+
import { Node as NodeApi, NodeOptionalParams, ErrorModel } from './apis/node';
|
|
9
|
+
import { mapObject } from './utils/other';
|
|
10
|
+
import { Encoded } from './utils/encoder';
|
|
11
|
+
import { MissingParamError } from './utils/errors';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Obtain networkId from account or node
|
|
15
|
+
*/
|
|
16
|
+
export async function getNetworkId({ networkId }: { networkId?: string } = {}): Promise<string> {
|
|
17
|
+
const res = networkId ?? this.networkId ?? (await this.api?.getStatus())?.networkId;
|
|
18
|
+
if (res != null) return res;
|
|
19
|
+
throw new MissingParamError('networkId is not provided');
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const bigIntPropertyNames = [
|
|
23
|
+
'balance', 'queryFee', 'fee', 'amount', 'nameFee', 'channelAmount',
|
|
24
|
+
'initiatorAmount', 'responderAmount', 'channelReserve', 'initiatorAmountFinal',
|
|
25
|
+
'responderAmountFinal', 'gasPrice', 'deposit',
|
|
26
|
+
] as const;
|
|
27
|
+
|
|
28
|
+
const numberPropertyNames = [
|
|
29
|
+
'time', 'gas', 'gasUsed', 'nameSalt',
|
|
30
|
+
'nonce', 'nextNonce', 'height', 'blockHeight', 'top', 'topBlockHeight',
|
|
31
|
+
'ttl', 'nameTtl', 'clientTtl',
|
|
32
|
+
'inbound', 'outbound', 'peerCount', 'pendingTransactionsCount', 'effectiveAtHeight',
|
|
33
|
+
'version', 'solutions', 'round',
|
|
34
|
+
] as const;
|
|
35
|
+
|
|
36
|
+
class NodeTransformed extends NodeApi {
|
|
37
|
+
async sendOperationRequest(
|
|
38
|
+
operationArguments: OperationArguments,
|
|
39
|
+
operationSpec: OperationSpec,
|
|
40
|
+
): Promise<any> {
|
|
41
|
+
const args = mapObject(
|
|
42
|
+
operationArguments,
|
|
43
|
+
([key, value]) => [key, this.#encodeArg(value)],
|
|
44
|
+
) as OperationArguments;
|
|
45
|
+
return this.#decodeRes(await super.sendOperationRequest(args, operationSpec));
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
#mapData(data: any, transform: {
|
|
49
|
+
bigInt: (v: any) => any;
|
|
50
|
+
number: (v: any) => any;
|
|
51
|
+
}): unknown {
|
|
52
|
+
if (Array.isArray(data)) return data.map((d) => this.#mapData(d, transform));
|
|
53
|
+
if (data != null && typeof data === 'object') {
|
|
54
|
+
return mapObject(data, ([key, value]) => {
|
|
55
|
+
if (value == null) return [key, value];
|
|
56
|
+
if (bigIntPropertyNames.some((k) => k === key)) return [key, transform.bigInt(value)];
|
|
57
|
+
if (numberPropertyNames.some((k) => k === key)) return [key, transform.number(value)];
|
|
58
|
+
return [key, this.#mapData(value, transform)];
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return data;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
#encodeArg(data: any): any {
|
|
65
|
+
return this.#mapData(data, {
|
|
66
|
+
bigInt: (value) => {
|
|
67
|
+
if (value instanceof BigNumber) return value.toFixed();
|
|
68
|
+
return value.toString();
|
|
69
|
+
},
|
|
70
|
+
number: (value) => value.toString(),
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
#decodeRes(data: any): any {
|
|
75
|
+
return this.#mapData(data, {
|
|
76
|
+
bigInt: (value) => BigInt(value),
|
|
77
|
+
number: (value) => +value,
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
type BigIntPropertyNames = typeof bigIntPropertyNames[number];
|
|
83
|
+
type NumberPropertyNames = typeof numberPropertyNames[number];
|
|
84
|
+
type PreserveOptional<NewType, OrigType> =
|
|
85
|
+
OrigType extends undefined ? NewType | undefined : NewType;
|
|
86
|
+
export type TransformNodeType<Type> =
|
|
87
|
+
Type extends (...args: infer Args) => infer Ret
|
|
88
|
+
? (...args: TransformNodeType<Args>) => TransformNodeType<Ret>
|
|
89
|
+
: Type extends [infer Item, ...infer Rest]
|
|
90
|
+
? [TransformNodeType<Item>, ...TransformNodeType<Rest>]
|
|
91
|
+
: Type extends Array<infer Item>
|
|
92
|
+
? Array<TransformNodeType<Item>>
|
|
93
|
+
: Type extends Promise<infer T>
|
|
94
|
+
? Promise<TransformNodeType<T>>
|
|
95
|
+
: Type extends { [P in any]: any }
|
|
96
|
+
? {
|
|
97
|
+
[Property in keyof Type]:
|
|
98
|
+
Property extends BigIntPropertyNames
|
|
99
|
+
? PreserveOptional<bigint, Type[Property]>
|
|
100
|
+
: Property extends NumberPropertyNames
|
|
101
|
+
? PreserveOptional<number, Type[Property]>
|
|
102
|
+
: Property extends 'txHash'
|
|
103
|
+
? PreserveOptional<Encoded.TxHash, Type[Property]>
|
|
104
|
+
: TransformNodeType<Type[Property]>
|
|
105
|
+
}
|
|
106
|
+
: Type;
|
|
107
|
+
type NodeTransformedApi = new (...args: ConstructorParameters<typeof NodeApi>) => {
|
|
108
|
+
[Name in keyof InstanceType<typeof NodeApi>]:
|
|
109
|
+
Name extends 'pipeline' | 'sendRequest' | 'sendOperationRequest'
|
|
110
|
+
? NodeApi[Name] : TransformNodeType<NodeApi[Name]>
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
export interface NodeInfo {
|
|
114
|
+
url: string;
|
|
115
|
+
nodeNetworkId: string;
|
|
116
|
+
version: string;
|
|
117
|
+
consensusProtocolVersion: number;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export default class Node extends (NodeTransformed as unknown as NodeTransformedApi) {
|
|
121
|
+
url: string;
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* @param url - Url for node API
|
|
125
|
+
* @param options - Options
|
|
126
|
+
* @param options.ignoreVersion - Don't check node version
|
|
127
|
+
*/
|
|
128
|
+
constructor(
|
|
129
|
+
url: string,
|
|
130
|
+
{ ignoreVersion = false, ...options }: NodeOptionalParams & { ignoreVersion?: boolean } = {},
|
|
131
|
+
) {
|
|
132
|
+
// eslint-disable-next-line constructor-super
|
|
133
|
+
super(url, {
|
|
134
|
+
allowInsecureConnection: true,
|
|
135
|
+
additionalPolicies: [
|
|
136
|
+
genRequestQueuesPolicy(),
|
|
137
|
+
genCombineGetRequestsPolicy(),
|
|
138
|
+
genErrorFormatterPolicy((body: ErrorModel) => ` ${body.reason}`),
|
|
139
|
+
],
|
|
140
|
+
...options,
|
|
141
|
+
});
|
|
142
|
+
this.url = url;
|
|
143
|
+
if (!ignoreVersion) {
|
|
144
|
+
const versionPromise = this.getStatus().then(({ nodeVersion }) => nodeVersion);
|
|
145
|
+
this.pipeline.addPolicy(
|
|
146
|
+
genVersionCheckPolicy('node', '/v3/status', versionPromise, '6.2.0', '7.0.0'),
|
|
147
|
+
);
|
|
148
|
+
}
|
|
149
|
+
this.intAsString = true;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
async getNodeInfo(): Promise<NodeInfo> {
|
|
153
|
+
const {
|
|
154
|
+
nodeVersion: version,
|
|
155
|
+
networkId: nodeNetworkId,
|
|
156
|
+
protocols,
|
|
157
|
+
topBlockHeight,
|
|
158
|
+
} = await this.getStatus();
|
|
159
|
+
const consensusProtocolVersion = protocols
|
|
160
|
+
.filter(({ effectiveAtHeight }) => topBlockHeight >= effectiveAtHeight)
|
|
161
|
+
.reduce(
|
|
162
|
+
(acc, p) => (p.effectiveAtHeight > acc.effectiveAtHeight ? p : acc),
|
|
163
|
+
{ effectiveAtHeight: -1, version: 0 },
|
|
164
|
+
)
|
|
165
|
+
.version;
|
|
166
|
+
return {
|
|
167
|
+
url: this.url,
|
|
168
|
+
nodeNetworkId,
|
|
169
|
+
version,
|
|
170
|
+
consensusProtocolVersion,
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ISC License (ISC)
|
|
3
|
+
* Copyright (c) 2022 aeternity developers
|
|
4
|
+
*
|
|
5
|
+
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
* purpose with or without fee is hereby granted, provided that the above
|
|
7
|
+
* copyright notice and this permission notice appear in all copies.
|
|
8
|
+
*
|
|
9
|
+
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
+
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
+
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
+
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
+
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
+
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
+
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
+
*/
|
|
17
|
+
import { messageToHash, verifyMessage as verifyMessageCrypto, hash } from '../utils/crypto';
|
|
18
|
+
import { buildTx } from '../tx/builder';
|
|
19
|
+
import { decode, Encoded } from '../utils/encoder';
|
|
20
|
+
import { Tag } from '../tx/builder/constants';
|
|
21
|
+
import { getNetworkId } from '../Node';
|
|
22
|
+
import { concatBuffers } from '../utils/other';
|
|
23
|
+
import type { createMetaTx } from '../contract/ga';
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Check is provided object looks like an instance of AccountBase
|
|
27
|
+
* @param acc - Object to check
|
|
28
|
+
*/
|
|
29
|
+
export const isAccountBase = (acc: AccountBase | any): boolean => (
|
|
30
|
+
!['sign', 'address', 'signTransaction', 'signMessage'].some((f) => typeof acc[f] !== 'function')
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Account is one of the three basic building blocks of an
|
|
35
|
+
* {@link AeSdk} and provides access to a signing key pair.
|
|
36
|
+
*/
|
|
37
|
+
export default abstract class AccountBase {
|
|
38
|
+
networkId?: string;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* @param options - Options
|
|
42
|
+
* @param options.networkId - Using for signing transactions
|
|
43
|
+
*/
|
|
44
|
+
constructor({ networkId }: { networkId?: string } = {}) {
|
|
45
|
+
this.networkId ??= networkId;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Sign encoded transaction
|
|
50
|
+
* @param tx - Transaction to sign
|
|
51
|
+
* @param opt - Options
|
|
52
|
+
* @param opt.innerTx - Sign as inner transaction for PayingFor
|
|
53
|
+
* @returns Signed transaction
|
|
54
|
+
*/
|
|
55
|
+
async signTransaction(
|
|
56
|
+
tx: Encoded.Transaction,
|
|
57
|
+
{ innerTx, networkId, ...options }: {
|
|
58
|
+
innerTx?: boolean;
|
|
59
|
+
networkId?: string;
|
|
60
|
+
authData?: Parameters<typeof createMetaTx>[1];
|
|
61
|
+
authFun?: Parameters<typeof createMetaTx>[2];
|
|
62
|
+
} & Omit<Partial<Parameters<typeof createMetaTx>[3]>, 'onAccount'> = {},
|
|
63
|
+
): Promise<Encoded.Transaction> {
|
|
64
|
+
const prefixes = [await this.getNetworkId({ networkId })];
|
|
65
|
+
if (innerTx === true) prefixes.push('inner_tx');
|
|
66
|
+
const rlpBinaryTx = decode(tx);
|
|
67
|
+
const txWithNetworkId = concatBuffers([Buffer.from(prefixes.join('-')), hash(rlpBinaryTx)]);
|
|
68
|
+
|
|
69
|
+
const signatures = [await this.sign(txWithNetworkId, options)];
|
|
70
|
+
return buildTx({ encodedTx: rlpBinaryTx, signatures }, Tag.SignedTx).tx;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Get network Id
|
|
75
|
+
* @returns Network Id
|
|
76
|
+
*/
|
|
77
|
+
readonly getNetworkId = getNetworkId;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Sign message
|
|
81
|
+
* @param message - Message to sign
|
|
82
|
+
* @param opt - Options
|
|
83
|
+
* @returns Signature as hex string of Uint8Array
|
|
84
|
+
*/
|
|
85
|
+
async signMessage(
|
|
86
|
+
message: string,
|
|
87
|
+
{ returnHex = false, ...options }: { returnHex?: boolean } = {},
|
|
88
|
+
): Promise<string | Uint8Array> {
|
|
89
|
+
const sig = await this.sign(messageToHash(message), options);
|
|
90
|
+
return returnHex ? Buffer.from(sig).toString('hex') : sig;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Verify message
|
|
95
|
+
* @param message - Message to verify
|
|
96
|
+
* @param signature - Signature
|
|
97
|
+
* @param options - Options
|
|
98
|
+
*/
|
|
99
|
+
async verifyMessage(
|
|
100
|
+
message: string,
|
|
101
|
+
signature: string | Uint8Array,
|
|
102
|
+
options?: object,
|
|
103
|
+
): Promise<boolean> {
|
|
104
|
+
return verifyMessageCrypto(
|
|
105
|
+
message,
|
|
106
|
+
typeof signature === 'string' ? Buffer.from(signature, 'hex') : signature,
|
|
107
|
+
decode(await this.address(options)),
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Sign data blob
|
|
113
|
+
* @param data - Data blob to sign
|
|
114
|
+
* @param options - Options
|
|
115
|
+
* @returns Signed data blob
|
|
116
|
+
*/
|
|
117
|
+
abstract sign(data: string | Uint8Array, options?: any): Promise<Uint8Array>;
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Obtain account address
|
|
121
|
+
* @returns Public account address
|
|
122
|
+
*/
|
|
123
|
+
abstract address(opt?: object): Promise<Encoded.AccountAddress>;
|
|
124
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ISC License (ISC)
|
|
3
|
+
* Copyright (c) 2018 aeternity developers
|
|
4
|
+
*
|
|
5
|
+
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
+
* purpose with or without fee is hereby granted, provided that the above
|
|
7
|
+
* copyright notice and this permission notice appear in all copies.
|
|
8
|
+
*
|
|
9
|
+
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
+
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
+
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
+
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
+
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
+
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
+
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
+
*/
|
|
17
|
+
import AccountBase from './Base';
|
|
18
|
+
import { sign, isValidKeypair } from '../utils/crypto';
|
|
19
|
+
import { isHex } from '../utils/string';
|
|
20
|
+
import { ArgumentError, InvalidKeypairError, MissingParamError } from '../utils/errors';
|
|
21
|
+
import { decode, Encoded } from '../utils/encoder';
|
|
22
|
+
import { createMetaTx } from '../contract/ga';
|
|
23
|
+
|
|
24
|
+
const secrets = new WeakMap();
|
|
25
|
+
|
|
26
|
+
export interface Keypair {
|
|
27
|
+
publicKey: Encoded.AccountAddress;
|
|
28
|
+
secretKey: string | Uint8Array;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* In-memory account class
|
|
33
|
+
*/
|
|
34
|
+
export default class AccountMemory extends AccountBase {
|
|
35
|
+
isGa: boolean;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* @param options - Options
|
|
39
|
+
* @param options.keypair - Key pair to use
|
|
40
|
+
* @param options.keypair.publicKey - Public key
|
|
41
|
+
* @param options.keypair.secretKey - Private key
|
|
42
|
+
* @param options.gaId - Address of generalized account
|
|
43
|
+
*/
|
|
44
|
+
constructor(
|
|
45
|
+
{ keypair, gaId, ...options }: { keypair?: Keypair; gaId?: Encoded.AccountAddress }
|
|
46
|
+
& ConstructorParameters<typeof AccountBase>[0],
|
|
47
|
+
) {
|
|
48
|
+
super(options);
|
|
49
|
+
|
|
50
|
+
this.isGa = gaId != null;
|
|
51
|
+
if (this.isGa && gaId != null) {
|
|
52
|
+
decode(gaId);
|
|
53
|
+
secrets.set(this, { publicKey: gaId });
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
if (keypair == null) throw new MissingParamError('Either gaId or keypair is required');
|
|
58
|
+
|
|
59
|
+
if (
|
|
60
|
+
!Buffer.isBuffer(keypair.secretKey)
|
|
61
|
+
&& typeof keypair.secretKey === 'string' && !isHex(keypair.secretKey)
|
|
62
|
+
) throw new InvalidKeypairError('Secret key must be hex string or Buffer');
|
|
63
|
+
const secretKey = typeof keypair.secretKey === 'string'
|
|
64
|
+
? Buffer.from(keypair.secretKey, 'hex')
|
|
65
|
+
: keypair.secretKey;
|
|
66
|
+
if (!isValidKeypair(secretKey, decode(keypair.publicKey))) {
|
|
67
|
+
throw new InvalidKeypairError('Invalid Key Pair');
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
secrets.set(this, {
|
|
71
|
+
secretKey,
|
|
72
|
+
publicKey: keypair.publicKey,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
async sign(data: string | Uint8Array): Promise<Uint8Array> {
|
|
77
|
+
if (this.isGa) throw new InvalidKeypairError('You are trying to sign data using generalized account without keypair');
|
|
78
|
+
return sign(data, secrets.get(this).secretKey);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
async signTransaction(
|
|
82
|
+
tx: Encoded.Transaction,
|
|
83
|
+
options: Parameters<AccountBase['signTransaction']>[1] = {},
|
|
84
|
+
): Promise<Encoded.Transaction> {
|
|
85
|
+
if (!this.isGa || options.innerTx === true) return super.signTransaction(tx, options);
|
|
86
|
+
const {
|
|
87
|
+
authData, authFun, onCompiler, onNode,
|
|
88
|
+
} = options;
|
|
89
|
+
if (authFun == null || authData == null || onCompiler == null || onNode == null) {
|
|
90
|
+
throw new ArgumentError('authData, authFun, onCompiler, onNode', 'provided', null);
|
|
91
|
+
}
|
|
92
|
+
return createMetaTx(tx, authData, authFun, { onCompiler, onNode, onAccount: this });
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
async address(): Promise<Encoded.AccountAddress> {
|
|
96
|
+
return secrets.get(this).publicKey;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import AccountBase from './Base';
|
|
2
|
+
import { METHODS } from '../aepp-wallet-communication/schema';
|
|
3
|
+
import { NotImplementedError } from '../utils/errors';
|
|
4
|
+
import { Encoded } from '../utils/encoder';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Account provided by wallet
|
|
8
|
+
* @param params - Params
|
|
9
|
+
* @param params.rpcClient - RpcClient instance
|
|
10
|
+
* @param params.address - RPC account address
|
|
11
|
+
* @returns AccountRpc instance
|
|
12
|
+
*/
|
|
13
|
+
export default class AccountRpc extends AccountBase {
|
|
14
|
+
_rpcClient: any;
|
|
15
|
+
|
|
16
|
+
_address: Encoded.AccountAddress;
|
|
17
|
+
|
|
18
|
+
constructor(
|
|
19
|
+
{ rpcClient, address, ...options }: { rpcClient: any; address: Encoded.AccountAddress }
|
|
20
|
+
& ConstructorParameters<typeof AccountBase>[0],
|
|
21
|
+
) {
|
|
22
|
+
super(options);
|
|
23
|
+
this._rpcClient = rpcClient;
|
|
24
|
+
this._address = address;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// eslint-disable-next-line class-methods-use-this
|
|
28
|
+
async sign(): Promise<Uint8Array> {
|
|
29
|
+
throw new NotImplementedError('RAW signing using wallet');
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
async address(): Promise<Encoded.AccountAddress> {
|
|
33
|
+
return this._address;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* @returns Signed transaction
|
|
38
|
+
*/
|
|
39
|
+
async signTransaction(
|
|
40
|
+
tx: Encoded.Transaction,
|
|
41
|
+
{ innerTx, networkId }: Parameters<AccountBase['signTransaction']>[1] = {},
|
|
42
|
+
): Promise<Encoded.Transaction> {
|
|
43
|
+
if (innerTx != null) throw new NotImplementedError('innerTx option in AccountRpc');
|
|
44
|
+
const res = await this._rpcClient.request(METHODS.sign, {
|
|
45
|
+
onAccount: this._address,
|
|
46
|
+
tx,
|
|
47
|
+
returnSigned: true,
|
|
48
|
+
/**
|
|
49
|
+
* @deprecated Wallet provided networkId will be used (current network)
|
|
50
|
+
* required to maintain backward compatibility with wallets using SDK v11.0.1 and below
|
|
51
|
+
* @see {@link https://github.com/aeternity/aepp-sdk-js/commit/153fd89a52c4eab39fcd659b356b36d32129c1ba}
|
|
52
|
+
*/
|
|
53
|
+
networkId,
|
|
54
|
+
});
|
|
55
|
+
return res.signedTransaction;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* @returns Signed message
|
|
60
|
+
*/
|
|
61
|
+
async signMessage(
|
|
62
|
+
message: string,
|
|
63
|
+
{ returnHex = false }: Parameters<AccountBase['signMessage']>[1] = {},
|
|
64
|
+
): Promise<string | Uint8Array> {
|
|
65
|
+
const { signature } = await this._rpcClient
|
|
66
|
+
.request(METHODS.signMessage, { onAccount: this._address, message });
|
|
67
|
+
return returnHex ? signature : Buffer.from(signature, 'hex');
|
|
68
|
+
}
|
|
69
|
+
}
|