@aeternity/aepp-sdk 13.3.3 → 14.0.0
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/README.md +4 -2
- package/bin/aesophia_cli +0 -0
- package/dist/aepp-sdk.browser-script.cjs +3 -0
- package/dist/aepp-sdk.browser-script.cjs.LICENSE.txt +10 -0
- package/dist/aepp-sdk.browser-script.cjs.map +1 -0
- package/dist/aepp-sdk.browser.cjs +3 -0
- package/dist/aepp-sdk.browser.cjs.map +1 -0
- package/dist/aepp-sdk.cjs +33535 -0
- package/dist/aepp-sdk.cjs.map +1 -0
- package/es/AeSdk.d.ts +4 -4
- package/es/AeSdk.js +76 -0
- package/es/AeSdk.js.map +1 -0
- package/es/AeSdkAepp.d.ts +13 -8
- package/es/AeSdkAepp.js +153 -0
- package/es/AeSdkAepp.js.map +1 -0
- package/es/AeSdkBase.d.ts +5 -40
- package/es/AeSdkBase.js +225 -0
- package/es/AeSdkBase.js.map +1 -0
- package/es/AeSdkMethods.d.ts +10 -33
- package/es/AeSdkMethods.js +81 -0
- package/es/AeSdkMethods.js.map +1 -0
- package/es/AeSdkWallet.d.ts +13 -8
- package/es/AeSdkWallet.js +347 -0
- package/es/AeSdkWallet.js.map +1 -0
- package/es/Middleware.d.ts +9 -25
- package/es/Middleware.js +97 -0
- package/es/Middleware.js.map +1 -0
- package/es/MiddlewareSubscriber.d.ts +2 -3
- package/es/MiddlewareSubscriber.js +165 -0
- package/es/MiddlewareSubscriber.js.map +1 -0
- package/es/Node.d.ts +5 -21
- package/es/Node.js +97 -0
- package/es/Node.js.map +1 -0
- package/es/account/Base.d.ts +7 -71
- package/es/account/Base.js +6 -0
- package/es/account/Base.js.map +1 -0
- package/es/account/BaseFactory.d.ts +19 -0
- package/es/account/BaseFactory.js +28 -0
- package/es/account/BaseFactory.js.map +1 -0
- package/es/account/Generalized.d.ts +2 -6
- package/es/account/Generalized.js +108 -0
- package/es/account/Generalized.js.map +1 -0
- package/es/account/Ledger.d.ts +3 -7
- package/es/account/Ledger.js +107 -0
- package/es/account/Ledger.js.map +1 -0
- package/es/account/LedgerFactory.d.ts +16 -16
- package/es/account/LedgerFactory.js +80 -0
- package/es/account/LedgerFactory.js.map +1 -0
- package/es/account/Memory.d.ts +6 -22
- package/es/account/Memory.js +97 -0
- package/es/account/Memory.js.map +1 -0
- package/es/account/Metamask.d.ts +26 -0
- package/es/account/Metamask.js +76 -0
- package/es/account/Metamask.js.map +1 -0
- package/es/account/MetamaskFactory.d.ts +40 -0
- package/es/account/MetamaskFactory.js +110 -0
- package/es/account/MetamaskFactory.js.map +1 -0
- package/es/account/MnemonicFactory.d.ts +35 -0
- package/es/account/MnemonicFactory.js +88 -0
- package/es/account/MnemonicFactory.js.map +1 -0
- package/es/account/Rpc.d.ts +5 -19
- package/es/account/Rpc.js +86 -0
- package/es/account/Rpc.js.map +1 -0
- package/es/aens.d.ts +125 -166
- package/es/aens.js +258 -0
- package/es/aens.js.map +1 -0
- package/es/aepp-wallet-communication/WalletConnectorFrame.d.ts +25 -0
- package/es/aepp-wallet-communication/WalletConnectorFrame.js +39 -0
- package/es/aepp-wallet-communication/WalletConnectorFrame.js.map +1 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameBase.d.ts +43 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameBase.js +110 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameBase.js.map +1 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameWithNode.d.ts +27 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameWithNode.js +43 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameWithNode.js.map +1 -0
- package/es/aepp-wallet-communication/connection/Browser.js +53 -0
- package/es/aepp-wallet-communication/connection/Browser.js.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.js +54 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.js.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +2 -2
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.js +90 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.js.map +1 -0
- package/es/aepp-wallet-communication/connection-proxy.d.ts +2 -2
- package/es/aepp-wallet-communication/connection-proxy.js +17 -0
- package/es/aepp-wallet-communication/connection-proxy.js.map +1 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +1 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.js +119 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.js.map +1 -0
- package/es/aepp-wallet-communication/rpc/types.d.ts +13 -19
- package/es/aepp-wallet-communication/rpc/types.js +3 -0
- package/es/aepp-wallet-communication/rpc/types.js.map +1 -0
- package/es/aepp-wallet-communication/schema.d.ts +10 -3
- package/es/aepp-wallet-communication/schema.js +202 -0
- package/es/aepp-wallet-communication/schema.js.map +1 -0
- package/es/aepp-wallet-communication/wallet-detector.d.ts +4 -4
- package/es/aepp-wallet-communication/wallet-detector.js +44 -0
- package/es/aepp-wallet-communication/wallet-detector.js.map +1 -0
- package/es/apis/compiler/compiler.d.ts +2 -2
- package/es/apis/compiler/compiler.js +513 -0
- package/es/apis/compiler/compiler.js.map +1 -0
- package/es/apis/compiler/index.d.ts +2 -2
- package/es/apis/compiler/index.js +3 -0
- package/es/apis/compiler/index.js.map +1 -0
- package/es/apis/compiler/models/index.js +2 -0
- package/es/apis/compiler/models/index.js.map +1 -0
- package/es/apis/compiler/models/mappers.js +554 -0
- package/es/apis/compiler/models/mappers.js.map +1 -0
- package/es/apis/compiler/models/parameters.js +67 -0
- package/es/apis/compiler/models/parameters.js.map +1 -0
- package/es/apis/middleware/index.d.ts +2 -2
- package/es/apis/middleware/index.js +3 -0
- package/es/apis/middleware/index.js.map +1 -0
- package/es/apis/middleware/middleware.d.ts +142 -134
- package/es/apis/middleware/middleware.js +1677 -0
- package/es/apis/middleware/middleware.js.map +1 -0
- package/es/apis/middleware/models/index.d.ts +1998 -819
- package/es/apis/middleware/models/index.js +1364 -0
- package/es/apis/middleware/models/index.js.map +1 -0
- package/es/apis/middleware/models/mappers.d.ts +135 -80
- package/es/apis/middleware/models/mappers.js +6054 -0
- package/es/apis/middleware/models/mappers.js.map +1 -0
- package/es/apis/middleware/models/parameters.d.ts +58 -14
- package/es/apis/middleware/models/parameters.js +909 -0
- package/es/apis/middleware/models/parameters.js.map +1 -0
- package/es/apis/node/index.d.ts +2 -2
- package/es/apis/node/index.js +3 -0
- package/es/apis/node/index.js.map +1 -0
- package/es/apis/node/models/index.d.ts +643 -636
- package/es/apis/node/models/index.js +2 -0
- package/es/apis/node/models/index.js.map +1 -0
- package/es/apis/node/models/mappers.d.ts +55 -55
- package/es/apis/node/models/mappers.js +5322 -0
- package/es/apis/node/models/mappers.js.map +1 -0
- package/es/apis/node/models/parameters.d.ts +5 -5
- package/es/apis/node/models/parameters.js +165 -0
- package/es/apis/node/models/parameters.js.map +1 -0
- package/es/apis/node/node.d.ts +101 -96
- package/es/apis/node/node.js +1238 -0
- package/es/apis/node/node.js.map +1 -0
- package/es/chain.d.ts +21 -21
- package/es/chain.js +442 -0
- package/es/chain.js.map +1 -0
- package/es/channel/Base.d.ts +12 -14
- package/es/channel/Base.js +246 -0
- package/es/channel/Base.js.map +1 -0
- package/es/channel/Contract.d.ts +9 -9
- package/es/channel/Contract.js +382 -0
- package/es/channel/Contract.js.map +1 -0
- package/es/channel/Spend.d.ts +11 -11
- package/es/channel/Spend.js +357 -0
- package/es/channel/Spend.js.map +1 -0
- package/es/channel/handlers.d.ts +4 -3
- package/es/channel/handlers.js +395 -0
- package/es/channel/handlers.js.map +1 -0
- package/es/channel/internal.d.ts +12 -11
- package/es/channel/internal.js +224 -0
- package/es/channel/internal.js.map +1 -0
- package/es/contract/Contract.d.ts +17 -19
- package/es/contract/Contract.js +525 -0
- package/es/contract/Contract.js.map +1 -0
- package/es/contract/compiler/Base.d.ts +1 -1
- package/es/contract/compiler/Base.js +5 -0
- package/es/contract/compiler/Base.js.map +1 -0
- package/es/contract/compiler/Cli.d.ts +2 -2
- package/es/contract/compiler/Cli.js +167 -0
- package/es/contract/compiler/Cli.js.map +1 -0
- package/es/contract/compiler/Http.d.ts +3 -3
- package/es/contract/compiler/Http.js +124 -0
- package/es/contract/compiler/Http.js.map +1 -0
- package/es/contract/compiler/HttpNode.d.ts +3 -3
- package/es/contract/compiler/HttpNode.js +29 -0
- package/es/contract/compiler/HttpNode.js.map +1 -0
- package/es/contract/compiler/getFileSystem.js +32 -0
- package/es/contract/compiler/getFileSystem.js.map +1 -0
- package/es/contract/ga.d.ts +8 -12
- package/es/contract/ga.js +136 -0
- package/es/contract/ga.js.map +1 -0
- package/es/index-browser.d.ts +56 -51
- package/es/index-browser.js +55 -0
- package/es/index-browser.js.map +1 -0
- package/es/index.d.ts +4 -5
- package/es/index.js +5 -0
- package/es/index.js.map +1 -0
- package/es/oracle/Oracle.d.ts +70 -0
- package/es/oracle/Oracle.js +173 -0
- package/es/oracle/Oracle.js.map +1 -0
- package/es/oracle/OracleBase.d.ts +41 -0
- package/es/oracle/OracleBase.js +52 -0
- package/es/oracle/OracleBase.js.map +1 -0
- package/es/oracle/OracleClient.d.ts +57 -0
- package/es/oracle/OracleClient.js +100 -0
- package/es/oracle/OracleClient.js.map +1 -0
- package/es/send-transaction.d.ts +8 -8
- package/es/send-transaction.js +110 -0
- package/es/send-transaction.js.map +1 -0
- package/es/spend.d.ts +8 -13
- package/es/spend.js +93 -0
- package/es/spend.js.map +1 -0
- package/es/tx/builder/SchemaTypes.d.ts +3 -3
- package/es/tx/builder/SchemaTypes.js +2 -0
- package/es/tx/builder/SchemaTypes.js.map +1 -0
- package/es/tx/builder/common.d.ts +2 -2
- package/es/tx/builder/common.js +38 -0
- package/es/tx/builder/common.js.map +1 -0
- package/es/tx/builder/constants.d.ts +2 -26
- package/es/tx/builder/constants.js +120 -0
- package/es/tx/builder/constants.js.map +1 -0
- package/es/tx/builder/delegation/index.d.ts +3 -3
- package/es/tx/builder/delegation/index.js +24 -0
- package/es/tx/builder/delegation/index.js.map +1 -0
- package/es/tx/builder/delegation/schema.d.ts +21 -4
- package/es/tx/builder/delegation/schema.generated.d.ts +2 -2
- package/es/tx/builder/delegation/schema.generated.js +2 -0
- package/es/tx/builder/delegation/schema.generated.js.map +1 -0
- package/es/tx/builder/delegation/schema.js +68 -0
- package/es/tx/builder/delegation/schema.js.map +1 -0
- package/es/tx/builder/entry/constants.d.ts +32 -0
- package/es/tx/builder/entry/constants.js +36 -0
- package/es/tx/builder/entry/constants.js.map +1 -0
- package/es/tx/builder/entry/index.d.ts +38 -0
- package/es/tx/builder/entry/index.js +37 -0
- package/es/tx/builder/entry/index.js.map +1 -0
- package/es/tx/builder/entry/schema.d.ts +1030 -0
- package/es/tx/builder/entry/schema.generated.d.ts +607 -0
- package/es/tx/builder/entry/schema.generated.js +2 -0
- package/es/tx/builder/entry/schema.generated.js.map +1 -0
- package/es/tx/builder/entry/schema.js +204 -0
- package/es/tx/builder/entry/schema.js.map +1 -0
- package/es/tx/builder/field-types/abi-version.d.ts +4 -5
- package/es/tx/builder/field-types/abi-version.js +34 -0
- package/es/tx/builder/field-types/abi-version.js.map +1 -0
- package/es/tx/builder/field-types/address.d.ts +2 -3
- package/es/tx/builder/field-types/address.js +46 -0
- package/es/tx/builder/field-types/address.js.map +1 -0
- package/es/tx/builder/field-types/array.js +11 -0
- package/es/tx/builder/field-types/array.js.map +1 -0
- package/es/tx/builder/field-types/boolean.d.ts +0 -1
- package/es/tx/builder/field-types/boolean.js +10 -0
- package/es/tx/builder/field-types/boolean.js.map +1 -0
- package/es/tx/builder/field-types/coin-amount.d.ts +3 -4
- package/es/tx/builder/field-types/coin-amount.js +18 -0
- package/es/tx/builder/field-types/coin-amount.js.map +1 -0
- package/es/tx/builder/field-types/ct-version.d.ts +4 -19
- package/es/tx/builder/field-types/ct-version.js +58 -0
- package/es/tx/builder/field-types/ct-version.js.map +1 -0
- package/es/tx/builder/field-types/encoded.d.ts +1 -2
- package/es/tx/builder/field-types/encoded.js +18 -0
- package/es/tx/builder/field-types/encoded.js.map +1 -0
- package/es/tx/builder/field-types/entry.d.ts +5 -6
- package/es/tx/builder/field-types/entry.js +26 -0
- package/es/tx/builder/field-types/entry.js.map +1 -0
- package/es/tx/builder/field-types/enumeration.d.ts +0 -1
- package/es/tx/builder/field-types/enumeration.js +27 -0
- package/es/tx/builder/field-types/enumeration.js.map +1 -0
- package/es/tx/builder/field-types/fee.d.ts +9 -10
- package/es/tx/builder/field-types/fee.js +160 -0
- package/es/tx/builder/field-types/fee.js.map +1 -0
- package/es/tx/builder/field-types/field.d.ts +0 -1
- package/es/tx/builder/field-types/field.js +10 -0
- package/es/tx/builder/field-types/field.js.map +1 -0
- package/es/tx/builder/field-types/gas-limit.d.ts +4 -5
- package/es/tx/builder/field-types/gas-limit.js +31 -0
- package/es/tx/builder/field-types/gas-limit.js.map +1 -0
- package/es/tx/builder/field-types/gas-price.d.ts +7 -8
- package/es/tx/builder/field-types/gas-price.js +53 -0
- package/es/tx/builder/field-types/gas-price.js.map +1 -0
- package/es/tx/builder/field-types/interface.d.ts +7 -0
- package/es/tx/builder/field-types/interface.js +2 -0
- package/es/tx/builder/field-types/interface.js.map +1 -0
- package/es/tx/builder/field-types/map.d.ts +6 -7
- package/es/tx/builder/field-types/map.js +38 -0
- package/es/tx/builder/field-types/map.js.map +1 -0
- package/es/tx/builder/field-types/mptree.d.ts +12 -13
- package/es/tx/builder/field-types/mptree.js +223 -0
- package/es/tx/builder/field-types/mptree.js.map +1 -0
- package/es/tx/builder/field-types/name-fee.d.ts +3 -4
- package/es/tx/builder/field-types/name-fee.js +22 -0
- package/es/tx/builder/field-types/name-fee.js.map +1 -0
- package/es/tx/builder/field-types/name-id.d.ts +2 -3
- package/es/tx/builder/field-types/name-id.js +14 -0
- package/es/tx/builder/field-types/name-id.js.map +1 -0
- package/es/tx/builder/field-types/name.d.ts +1 -2
- package/es/tx/builder/field-types/name.js +16 -0
- package/es/tx/builder/field-types/name.js.map +1 -0
- package/es/tx/builder/field-types/nonce.d.ts +6 -4
- package/es/tx/builder/field-types/nonce.js +40 -0
- package/es/tx/builder/field-types/nonce.js.map +1 -0
- package/es/tx/builder/field-types/pointers.d.ts +9 -18
- package/es/tx/builder/field-types/pointers.js +69 -0
- package/es/tx/builder/field-types/pointers.js.map +1 -0
- package/es/tx/builder/field-types/query-fee.d.ts +4 -5
- package/es/tx/builder/field-types/query-fee.js +21 -0
- package/es/tx/builder/field-types/query-fee.js.map +1 -0
- package/es/tx/builder/field-types/raw.d.ts +0 -1
- package/es/tx/builder/field-types/raw.js +10 -0
- package/es/tx/builder/field-types/raw.js.map +1 -0
- package/es/tx/builder/field-types/short-u-int-const.d.ts +0 -1
- package/es/tx/builder/field-types/short-u-int-const.js +20 -0
- package/es/tx/builder/field-types/short-u-int-const.js.map +1 -0
- package/es/tx/builder/field-types/short-u-int.d.ts +0 -1
- package/es/tx/builder/field-types/short-u-int.js +10 -0
- package/es/tx/builder/field-types/short-u-int.js.map +1 -0
- package/es/tx/builder/field-types/string.d.ts +0 -1
- package/es/tx/builder/field-types/string.js +10 -0
- package/es/tx/builder/field-types/string.js.map +1 -0
- package/es/tx/builder/field-types/transaction.d.ts +10 -0
- package/es/tx/builder/field-types/transaction.js +26 -0
- package/es/tx/builder/field-types/transaction.js.map +1 -0
- package/es/tx/builder/field-types/ttl.d.ts +6 -11
- package/es/tx/builder/field-types/ttl.js +33 -0
- package/es/tx/builder/field-types/ttl.js.map +1 -0
- package/es/tx/builder/field-types/u-int.d.ts +1 -2
- package/es/tx/builder/field-types/u-int.js +13 -0
- package/es/tx/builder/field-types/u-int.js.map +1 -0
- package/es/tx/builder/field-types/with-default.js +9 -0
- package/es/tx/builder/field-types/with-default.js.map +1 -0
- package/es/tx/builder/field-types/with-formatting.js +9 -0
- package/es/tx/builder/field-types/with-formatting.js.map +1 -0
- package/es/tx/builder/field-types/wrapped.d.ts +5 -6
- package/es/tx/builder/field-types/wrapped.js +20 -0
- package/es/tx/builder/field-types/wrapped.js.map +1 -0
- package/es/tx/builder/helpers.d.ts +5 -6
- package/es/tx/builder/helpers.js +207 -0
- package/es/tx/builder/helpers.js.map +1 -0
- package/es/tx/builder/index.d.ts +4 -13
- package/es/tx/builder/index.js +91 -0
- package/es/tx/builder/index.js.map +1 -0
- package/es/tx/builder/schema.d.ts +583 -1723
- package/es/tx/builder/schema.generated.d.ts +36 -992
- package/es/tx/builder/schema.generated.js +2 -0
- package/es/tx/builder/schema.generated.js.map +1 -0
- package/es/tx/builder/schema.js +355 -0
- package/es/tx/builder/schema.js.map +1 -0
- package/es/tx/execution-cost.d.ts +2 -2
- package/es/tx/execution-cost.js +140 -0
- package/es/tx/execution-cost.js.map +1 -0
- package/es/tx/transaction-signer.d.ts +1 -1
- package/es/tx/transaction-signer.js +24 -0
- package/es/tx/transaction-signer.js.map +1 -0
- package/es/tx/validator.d.ts +2 -2
- package/es/tx/validator.js +206 -0
- package/es/tx/validator.js.map +1 -0
- package/es/typings/blakejs/index.d.js +2 -0
- package/es/typings/blakejs/index.d.js.map +1 -0
- package/es/typings/sha-js/index.d.js +2 -0
- package/es/typings/sha-js/index.d.js.map +1 -0
- package/es/typings/tweetnacl-auth/index.d.js +2 -0
- package/es/typings/tweetnacl-auth/index.d.js.map +1 -0
- package/es/utils/MiddlewarePage.d.ts +36 -0
- package/es/utils/MiddlewarePage.js +57 -0
- package/es/utils/MiddlewarePage.js.map +1 -0
- package/es/utils/amount-formatter.d.ts +6 -6
- package/es/utils/amount-formatter.js +97 -0
- package/es/utils/amount-formatter.js.map +1 -0
- package/es/utils/autorest.d.ts +6 -1
- package/es/utils/autorest.js +206 -0
- package/es/utils/autorest.js.map +1 -0
- package/es/utils/bignumber.d.ts +1 -1
- package/es/utils/bignumber.js +21 -0
- package/es/utils/bignumber.js.map +1 -0
- package/es/utils/bytes.d.ts +1 -2
- package/es/utils/bytes.js +30 -0
- package/es/utils/bytes.js.map +1 -0
- package/es/utils/crypto.d.ts +2 -46
- package/es/utils/crypto.js +111 -0
- package/es/utils/crypto.js.map +1 -0
- package/es/utils/encoder-types.d.ts +2 -0
- package/es/utils/encoder-types.js +36 -0
- package/es/utils/encoder-types.js.map +1 -0
- package/es/utils/encoder.d.ts +2 -3
- package/es/utils/encoder.js +104 -0
- package/es/utils/encoder.js.map +1 -0
- package/es/utils/errors.d.ts +4 -10
- package/es/utils/errors.js +746 -0
- package/es/utils/errors.js.map +1 -0
- package/es/utils/json-big.d.ts +1 -1
- package/es/utils/json-big.js +25 -0
- package/es/utils/json-big.js.map +1 -0
- package/es/utils/jwt.d.ts +2 -2
- package/es/utils/jwt.js +112 -0
- package/es/utils/jwt.js.map +1 -0
- package/es/utils/other.d.ts +4 -4
- package/es/utils/other.js +48 -0
- package/es/utils/other.js.map +1 -0
- package/es/utils/semver-satisfies.js +12 -0
- package/es/utils/semver-satisfies.js.map +1 -0
- package/es/utils/string.js +18 -0
- package/es/utils/string.js.map +1 -0
- package/es/utils/typed-data.d.ts +1 -2
- package/es/utils/typed-data.js +52 -0
- package/es/utils/typed-data.js.map +1 -0
- package/es/utils/wrap-proxy.js +15 -0
- package/es/utils/wrap-proxy.js.map +1 -0
- package/package.json +85 -106
- package/bin/aesophia_cli_8 +0 -0
- package/dist/aepp-sdk.browser-script.js +0 -3
- package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -12
- package/dist/aepp-sdk.browser-script.js.map +0 -1
- package/dist/aepp-sdk.browser.js +0 -3
- package/dist/aepp-sdk.browser.js.map +0 -1
- package/dist/aepp-sdk.js +0 -30486
- package/dist/aepp-sdk.js.map +0 -1
- package/es/AeSdk.mjs +0 -76
- package/es/AeSdk.mjs.map +0 -1
- package/es/AeSdkAepp.mjs +0 -145
- package/es/AeSdkAepp.mjs.map +0 -1
- package/es/AeSdkBase.mjs +0 -289
- package/es/AeSdkBase.mjs.map +0 -1
- package/es/AeSdkMethods.mjs +0 -92
- package/es/AeSdkMethods.mjs.map +0 -1
- package/es/AeSdkWallet.mjs +0 -368
- package/es/AeSdkWallet.mjs.map +0 -1
- package/es/Middleware.mjs +0 -94
- package/es/Middleware.mjs.map +0 -1
- package/es/MiddlewareSubscriber.mjs +0 -189
- package/es/MiddlewareSubscriber.mjs.map +0 -1
- package/es/Node.mjs +0 -148
- package/es/Node.mjs.map +0 -1
- package/es/account/Base.mjs +0 -134
- package/es/account/Base.mjs.map +0 -1
- package/es/account/Generalized.mjs +0 -129
- package/es/account/Generalized.mjs.map +0 -1
- package/es/account/Ledger.mjs +0 -131
- package/es/account/Ledger.mjs.map +0 -1
- package/es/account/LedgerFactory.mjs +0 -79
- package/es/account/LedgerFactory.mjs.map +0 -1
- package/es/account/Memory.mjs +0 -187
- package/es/account/Memory.mjs.map +0 -1
- package/es/account/Rpc.mjs +0 -178
- package/es/account/Rpc.mjs.map +0 -1
- package/es/aens.mjs +0 -290
- package/es/aens.mjs.map +0 -1
- package/es/aepp-wallet-communication/connection/Browser.mjs +0 -52
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +0 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +0 -55
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +0 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -98
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +0 -1
- package/es/aepp-wallet-communication/connection-proxy.mjs +0 -17
- package/es/aepp-wallet-communication/connection-proxy.mjs.map +0 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +0 -134
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +0 -1
- package/es/aepp-wallet-communication/rpc/types.mjs +0 -3
- package/es/aepp-wallet-communication/rpc/types.mjs.map +0 -1
- package/es/aepp-wallet-communication/schema.mjs +0 -187
- package/es/aepp-wallet-communication/schema.mjs.map +0 -1
- package/es/aepp-wallet-communication/wallet-detector.mjs +0 -44
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
- package/es/apis/compiler/compiler.mjs +0 -513
- package/es/apis/compiler/compiler.mjs.map +0 -1
- package/es/apis/compiler/index.mjs +0 -3
- package/es/apis/compiler/index.mjs.map +0 -1
- package/es/apis/compiler/models/index.mjs +0 -2
- package/es/apis/compiler/models/index.mjs.map +0 -1
- package/es/apis/compiler/models/mappers.mjs +0 -554
- package/es/apis/compiler/models/mappers.mjs.map +0 -1
- package/es/apis/compiler/models/parameters.mjs +0 -67
- package/es/apis/compiler/models/parameters.mjs.map +0 -1
- package/es/apis/middleware/index.mjs +0 -3
- package/es/apis/middleware/index.mjs.map +0 -1
- package/es/apis/middleware/middleware.mjs +0 -1623
- package/es/apis/middleware/middleware.mjs.map +0 -1
- package/es/apis/middleware/models/index.mjs +0 -630
- package/es/apis/middleware/models/index.mjs.map +0 -1
- package/es/apis/middleware/models/mappers.mjs +0 -3707
- package/es/apis/middleware/models/mappers.mjs.map +0 -1
- package/es/apis/middleware/models/parameters.mjs +0 -444
- package/es/apis/middleware/models/parameters.mjs.map +0 -1
- package/es/apis/node/index.mjs +0 -3
- package/es/apis/node/index.mjs.map +0 -1
- package/es/apis/node/models/index.mjs +0 -2
- package/es/apis/node/models/index.mjs.map +0 -1
- package/es/apis/node/models/mappers.mjs +0 -4395
- package/es/apis/node/models/mappers.mjs.map +0 -1
- package/es/apis/node/models/parameters.mjs +0 -165
- package/es/apis/node/models/parameters.mjs.map +0 -1
- package/es/apis/node/node.mjs +0 -1240
- package/es/apis/node/node.mjs.map +0 -1
- package/es/chain.mjs +0 -441
- package/es/chain.mjs.map +0 -1
- package/es/channel/Base.mjs +0 -254
- package/es/channel/Base.mjs.map +0 -1
- package/es/channel/Contract.mjs +0 -383
- package/es/channel/Contract.mjs.map +0 -1
- package/es/channel/Spend.mjs +0 -357
- package/es/channel/Spend.mjs.map +0 -1
- package/es/channel/handlers.mjs +0 -383
- package/es/channel/handlers.mjs.map +0 -1
- package/es/channel/internal.mjs +0 -237
- package/es/channel/internal.mjs.map +0 -1
- package/es/contract/Contract.mjs +0 -540
- package/es/contract/Contract.mjs.map +0 -1
- package/es/contract/compiler/Base.mjs +0 -5
- package/es/contract/compiler/Base.mjs.map +0 -1
- package/es/contract/compiler/Cli.mjs +0 -197
- package/es/contract/compiler/Cli.mjs.map +0 -1
- package/es/contract/compiler/Cli8.d.ts +0 -13
- package/es/contract/compiler/Cli8.mjs +0 -22
- package/es/contract/compiler/Cli8.mjs.map +0 -1
- package/es/contract/compiler/Http.mjs +0 -126
- package/es/contract/compiler/Http.mjs.map +0 -1
- package/es/contract/compiler/HttpNode.mjs +0 -31
- package/es/contract/compiler/HttpNode.mjs.map +0 -1
- package/es/contract/compiler/getFileSystem.mjs +0 -40
- package/es/contract/compiler/getFileSystem.mjs.map +0 -1
- package/es/contract/delegation-signature.d.ts +0 -45
- package/es/contract/delegation-signature.mjs +0 -80
- package/es/contract/delegation-signature.mjs.map +0 -1
- package/es/contract/ga.mjs +0 -135
- package/es/contract/ga.mjs.map +0 -1
- package/es/deprecated.d.ts +0 -62
- package/es/deprecated.mjs +0 -87
- package/es/deprecated.mjs.map +0 -1
- package/es/index-browser.mjs +0 -49
- package/es/index-browser.mjs.map +0 -1
- package/es/index.mjs +0 -6
- package/es/index.mjs.map +0 -1
- package/es/oracle.d.ts +0 -125
- package/es/oracle.mjs +0 -242
- package/es/oracle.mjs.map +0 -1
- package/es/send-transaction.mjs +0 -109
- package/es/send-transaction.mjs.map +0 -1
- package/es/spend.mjs +0 -90
- package/es/spend.mjs.map +0 -1
- package/es/tx/builder/SchemaTypes.mjs +0 -2
- package/es/tx/builder/SchemaTypes.mjs.map +0 -1
- package/es/tx/builder/common.mjs +0 -42
- package/es/tx/builder/common.mjs.map +0 -1
- package/es/tx/builder/constants.mjs +0 -147
- package/es/tx/builder/constants.mjs.map +0 -1
- package/es/tx/builder/delegation/index.mjs +0 -24
- package/es/tx/builder/delegation/index.mjs.map +0 -1
- package/es/tx/builder/delegation/schema.generated.mjs +0 -2
- package/es/tx/builder/delegation/schema.generated.mjs.map +0 -1
- package/es/tx/builder/delegation/schema.mjs +0 -54
- package/es/tx/builder/delegation/schema.mjs.map +0 -1
- package/es/tx/builder/field-types/abi-version.mjs +0 -37
- package/es/tx/builder/field-types/abi-version.mjs.map +0 -1
- package/es/tx/builder/field-types/address.mjs +0 -48
- package/es/tx/builder/field-types/address.mjs.map +0 -1
- package/es/tx/builder/field-types/array.mjs +0 -11
- package/es/tx/builder/field-types/array.mjs.map +0 -1
- package/es/tx/builder/field-types/boolean.mjs +0 -13
- package/es/tx/builder/field-types/boolean.mjs.map +0 -1
- package/es/tx/builder/field-types/coin-amount.mjs +0 -18
- package/es/tx/builder/field-types/coin-amount.mjs.map +0 -1
- package/es/tx/builder/field-types/ct-version.mjs +0 -75
- package/es/tx/builder/field-types/ct-version.mjs.map +0 -1
- package/es/tx/builder/field-types/encoded.mjs +0 -21
- package/es/tx/builder/field-types/encoded.mjs.map +0 -1
- package/es/tx/builder/field-types/entry.mjs +0 -29
- package/es/tx/builder/field-types/entry.mjs.map +0 -1
- package/es/tx/builder/field-types/enumeration.mjs +0 -30
- package/es/tx/builder/field-types/enumeration.mjs.map +0 -1
- package/es/tx/builder/field-types/fee.mjs +0 -160
- package/es/tx/builder/field-types/fee.mjs.map +0 -1
- package/es/tx/builder/field-types/field.mjs +0 -13
- package/es/tx/builder/field-types/field.mjs.map +0 -1
- package/es/tx/builder/field-types/gas-limit.mjs +0 -31
- package/es/tx/builder/field-types/gas-limit.mjs.map +0 -1
- package/es/tx/builder/field-types/gas-price.mjs +0 -60
- package/es/tx/builder/field-types/gas-price.mjs.map +0 -1
- package/es/tx/builder/field-types/index.d.ts +0 -39
- package/es/tx/builder/field-types/index.mjs +0 -32
- package/es/tx/builder/field-types/index.mjs.map +0 -1
- package/es/tx/builder/field-types/map.mjs +0 -38
- package/es/tx/builder/field-types/map.mjs.map +0 -1
- package/es/tx/builder/field-types/mptree.mjs +0 -251
- package/es/tx/builder/field-types/mptree.mjs.map +0 -1
- package/es/tx/builder/field-types/name-fee.mjs +0 -22
- package/es/tx/builder/field-types/name-fee.mjs.map +0 -1
- package/es/tx/builder/field-types/name-id.mjs +0 -14
- package/es/tx/builder/field-types/name-id.mjs.map +0 -1
- package/es/tx/builder/field-types/name.mjs +0 -16
- package/es/tx/builder/field-types/name.mjs.map +0 -1
- package/es/tx/builder/field-types/nonce.mjs +0 -31
- package/es/tx/builder/field-types/nonce.mjs.map +0 -1
- package/es/tx/builder/field-types/pointers.mjs +0 -33
- package/es/tx/builder/field-types/pointers.mjs.map +0 -1
- package/es/tx/builder/field-types/pointers2.d.ts +0 -23
- package/es/tx/builder/field-types/pointers2.mjs +0 -65
- package/es/tx/builder/field-types/pointers2.mjs.map +0 -1
- package/es/tx/builder/field-types/query-fee.mjs +0 -20
- package/es/tx/builder/field-types/query-fee.mjs.map +0 -1
- package/es/tx/builder/field-types/raw.mjs +0 -13
- package/es/tx/builder/field-types/raw.mjs.map +0 -1
- package/es/tx/builder/field-types/short-u-int-const.mjs +0 -20
- package/es/tx/builder/field-types/short-u-int-const.mjs.map +0 -1
- package/es/tx/builder/field-types/short-u-int.mjs +0 -10
- package/es/tx/builder/field-types/short-u-int.mjs.map +0 -1
- package/es/tx/builder/field-types/string.mjs +0 -10
- package/es/tx/builder/field-types/string.mjs.map +0 -1
- package/es/tx/builder/field-types/ttl.mjs +0 -32
- package/es/tx/builder/field-types/ttl.mjs.map +0 -1
- package/es/tx/builder/field-types/u-int.mjs +0 -13
- package/es/tx/builder/field-types/u-int.mjs.map +0 -1
- package/es/tx/builder/field-types/with-default.mjs +0 -9
- package/es/tx/builder/field-types/with-default.mjs.map +0 -1
- package/es/tx/builder/field-types/with-formatting.mjs +0 -9
- package/es/tx/builder/field-types/with-formatting.mjs.map +0 -1
- package/es/tx/builder/field-types/wrapped.mjs +0 -20
- package/es/tx/builder/field-types/wrapped.mjs.map +0 -1
- package/es/tx/builder/helpers.mjs +0 -209
- package/es/tx/builder/helpers.mjs.map +0 -1
- package/es/tx/builder/index.mjs +0 -98
- package/es/tx/builder/index.mjs.map +0 -1
- package/es/tx/builder/schema.generated.mjs +0 -2
- package/es/tx/builder/schema.generated.mjs.map +0 -1
- package/es/tx/builder/schema.mjs +0 -513
- package/es/tx/builder/schema.mjs.map +0 -1
- package/es/tx/execution-cost.mjs +0 -139
- package/es/tx/execution-cost.mjs.map +0 -1
- package/es/tx/transaction-signer.mjs +0 -24
- package/es/tx/transaction-signer.mjs.map +0 -1
- package/es/tx/validator.mjs +0 -214
- package/es/tx/validator.mjs.map +0 -1
- package/es/typings/@aeternity__uuid/index.d.mjs +0 -2
- package/es/typings/@aeternity__uuid/index.d.mjs.map +0 -1
- package/es/typings/bip32-path/index.d.mjs +0 -2
- package/es/typings/bip32-path/index.d.mjs.map +0 -1
- package/es/typings/blakejs/index.d.mjs +0 -2
- package/es/typings/blakejs/index.d.mjs.map +0 -1
- package/es/typings/sha-js/index.d.mjs +0 -2
- package/es/typings/sha-js/index.d.mjs.map +0 -1
- package/es/typings/tweetnacl-auth/index.d.mjs +0 -2
- package/es/typings/tweetnacl-auth/index.d.mjs.map +0 -1
- package/es/utils/amount-formatter.mjs +0 -97
- package/es/utils/amount-formatter.mjs.map +0 -1
- package/es/utils/autorest.mjs +0 -141
- package/es/utils/autorest.mjs.map +0 -1
- package/es/utils/bignumber.mjs +0 -21
- package/es/utils/bignumber.mjs.map +0 -1
- package/es/utils/bytes.mjs +0 -32
- package/es/utils/bytes.mjs.map +0 -1
- package/es/utils/crypto.mjs +0 -193
- package/es/utils/crypto.mjs.map +0 -1
- package/es/utils/encoder-types.mjs +0 -35
- package/es/utils/encoder-types.mjs.map +0 -1
- package/es/utils/encoder.mjs +0 -110
- package/es/utils/encoder.mjs.map +0 -1
- package/es/utils/errors.mjs +0 -756
- package/es/utils/errors.mjs.map +0 -1
- package/es/utils/hd-wallet.d.ts +0 -61
- package/es/utils/hd-wallet.mjs +0 -169
- package/es/utils/hd-wallet.mjs.map +0 -1
- package/es/utils/json-big.mjs +0 -25
- package/es/utils/json-big.mjs.map +0 -1
- package/es/utils/jwt.mjs +0 -120
- package/es/utils/jwt.mjs.map +0 -1
- package/es/utils/keystore.d.ts +0 -57
- package/es/utils/keystore.mjs +0 -140
- package/es/utils/keystore.mjs.map +0 -1
- package/es/utils/other.mjs +0 -49
- package/es/utils/other.mjs.map +0 -1
- package/es/utils/semver-satisfies.mjs +0 -12
- package/es/utils/semver-satisfies.mjs.map +0 -1
- package/es/utils/string.mjs +0 -18
- package/es/utils/string.mjs.map +0 -1
- package/es/utils/typed-data.mjs +0 -55
- package/es/utils/typed-data.mjs.map +0 -1
- package/es/utils/wrap-proxy.mjs +0 -15
- package/es/utils/wrap-proxy.mjs.map +0 -1
- package/src/AeSdk.ts +0 -75
- package/src/AeSdkAepp.ts +0 -179
- package/src/AeSdkBase.ts +0 -315
- package/src/AeSdkMethods.ts +0 -149
- package/src/AeSdkWallet.ts +0 -383
- package/src/Middleware.ts +0 -149
- package/src/MiddlewareSubscriber.ts +0 -207
- package/src/Node.ts +0 -213
- package/src/account/Base.ts +0 -224
- package/src/account/Generalized.ts +0 -113
- package/src/account/Ledger.ts +0 -161
- package/src/account/LedgerFactory.ts +0 -86
- package/src/account/Memory.ts +0 -218
- package/src/account/Rpc.ts +0 -170
- package/src/aens.ts +0 -372
- package/src/aepp-wallet-communication/connection/Browser.ts +0 -54
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +0 -57
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +0 -105
- package/src/aepp-wallet-communication/connection-proxy.ts +0 -19
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +0 -153
- package/src/aepp-wallet-communication/rpc/types.ts +0 -115
- package/src/aepp-wallet-communication/schema.ts +0 -212
- package/src/aepp-wallet-communication/wallet-detector.ts +0 -54
- package/src/apis/compiler/compiler.ts +0 -527
- package/src/apis/compiler/index.ts +0 -2
- package/src/apis/compiler/models/index.ts +0 -236
- package/src/apis/compiler/models/mappers.ts +0 -555
- package/src/apis/compiler/models/parameters.ts +0 -87
- package/src/apis/middleware/index.ts +0 -2
- package/src/apis/middleware/middleware.ts +0 -1928
- package/src/apis/middleware/models/index.ts +0 -1949
- package/src/apis/middleware/models/mappers.ts +0 -3808
- package/src/apis/middleware/models/parameters.ts +0 -493
- package/src/apis/node/index.ts +0 -2
- package/src/apis/node/models/index.ts +0 -1335
- package/src/apis/node/models/mappers.ts +0 -4508
- package/src/apis/node/models/parameters.ts +0 -188
- package/src/apis/node/node.ts +0 -1420
- package/src/chain.ts +0 -433
- package/src/channel/Base.ts +0 -302
- package/src/channel/Contract.ts +0 -465
- package/src/channel/Spend.ts +0 -385
- package/src/channel/handlers.ts +0 -386
- package/src/channel/internal.ts +0 -461
- package/src/contract/Contract.ts +0 -629
- package/src/contract/compiler/Base.ts +0 -123
- package/src/contract/compiler/Cli.ts +0 -173
- package/src/contract/compiler/Cli8.ts +0 -17
- package/src/contract/compiler/Http.ts +0 -134
- package/src/contract/compiler/HttpNode.ts +0 -32
- package/src/contract/compiler/getFileSystem.ts +0 -42
- package/src/contract/delegation-signature.ts +0 -88
- package/src/contract/ga.ts +0 -138
- package/src/deprecated.ts +0 -77
- package/src/index-browser.ts +0 -121
- package/src/index.ts +0 -6
- package/src/oracle.ts +0 -311
- package/src/send-transaction.ts +0 -136
- package/src/spend.ts +0 -136
- package/src/tx/builder/SchemaTypes.ts +0 -79
- package/src/tx/builder/common.ts +0 -74
- package/src/tx/builder/constants.ts +0 -155
- package/src/tx/builder/delegation/index.ts +0 -28
- package/src/tx/builder/delegation/schema.generated.ts +0 -143
- package/src/tx/builder/delegation/schema.ts +0 -61
- package/src/tx/builder/field-types/abi-version.ts +0 -44
- package/src/tx/builder/field-types/address.ts +0 -62
- package/src/tx/builder/field-types/array.ts +0 -19
- package/src/tx/builder/field-types/boolean.ts +0 -9
- package/src/tx/builder/field-types/coin-amount.ts +0 -26
- package/src/tx/builder/field-types/ct-version.ts +0 -83
- package/src/tx/builder/field-types/encoded.ts +0 -27
- package/src/tx/builder/field-types/entry.ts +0 -33
- package/src/tx/builder/field-types/enumeration.ts +0 -32
- package/src/tx/builder/field-types/fee.ts +0 -191
- package/src/tx/builder/field-types/field.ts +0 -9
- package/src/tx/builder/field-types/gas-limit.ts +0 -46
- package/src/tx/builder/field-types/gas-price.ts +0 -67
- package/src/tx/builder/field-types/index.ts +0 -40
- package/src/tx/builder/field-types/map.ts +0 -45
- package/src/tx/builder/field-types/mptree.ts +0 -243
- package/src/tx/builder/field-types/name-fee.ts +0 -32
- package/src/tx/builder/field-types/name-id.ts +0 -17
- package/src/tx/builder/field-types/name.ts +0 -18
- package/src/tx/builder/field-types/nonce.ts +0 -46
- package/src/tx/builder/field-types/pointers.ts +0 -41
- package/src/tx/builder/field-types/pointers2.ts +0 -62
- package/src/tx/builder/field-types/query-fee.ts +0 -25
- package/src/tx/builder/field-types/raw.ts +0 -9
- package/src/tx/builder/field-types/short-u-int-const.ts +0 -30
- package/src/tx/builder/field-types/short-u-int.ts +0 -11
- package/src/tx/builder/field-types/string.ts +0 -11
- package/src/tx/builder/field-types/ttl.ts +0 -34
- package/src/tx/builder/field-types/u-int.ts +0 -15
- package/src/tx/builder/field-types/with-default.ts +0 -18
- package/src/tx/builder/field-types/with-formatting.ts +0 -18
- package/src/tx/builder/field-types/wrapped.ts +0 -32
- package/src/tx/builder/helpers.ts +0 -252
- package/src/tx/builder/index.ts +0 -123
- package/src/tx/builder/schema.generated.ts +0 -2049
- package/src/tx/builder/schema.ts +0 -612
- package/src/tx/execution-cost.ts +0 -164
- package/src/tx/transaction-signer.ts +0 -27
- package/src/tx/validator.ts +0 -222
- package/src/typings/@aeternity__uuid/index.d.ts +0 -5
- package/src/typings/bip32-path/index.d.ts +0 -33
- package/src/typings/blakejs/index.d.ts +0 -5
- package/src/typings/sha-js/index.d.ts +0 -5
- package/src/typings/tweetnacl-auth/index.d.ts +0 -14
- package/src/utils/amount-formatter.ts +0 -98
- package/src/utils/autorest.ts +0 -153
- package/src/utils/bignumber.ts +0 -21
- package/src/utils/bytes.ts +0 -28
- package/src/utils/crypto.ts +0 -216
- package/src/utils/encoder-types.ts +0 -63
- package/src/utils/encoder.ts +0 -145
- package/src/utils/errors.ts +0 -777
- package/src/utils/hd-wallet.ts +0 -191
- package/src/utils/json-big.ts +0 -27
- package/src/utils/jwt.ts +0 -126
- package/src/utils/keystore.ts +0 -189
- package/src/utils/other.ts +0 -64
- package/src/utils/semver-satisfies.ts +0 -22
- package/src/utils/string.ts +0 -17
- package/src/utils/typed-data.ts +0 -69
- package/src/utils/wrap-proxy.ts +0 -24
- package/types-legacy/ts4.2/AeSdk.d.ts +0 -44
- package/types-legacy/ts4.2/AeSdkAepp.d.ts +0 -71
- package/types-legacy/ts4.2/AeSdkBase.d.ts +0 -164
- package/types-legacy/ts4.2/AeSdkMethods.d.ts +0 -146
- package/types-legacy/ts4.2/AeSdkWallet.d.ts +0 -90
- package/types-legacy/ts4.2/Middleware.d.ts +0 -46
- package/types-legacy/ts4.2/MiddlewareSubscriber.d.ts +0 -30
- package/types-legacy/ts4.2/Node.d.ts +0 -95
- package/types-legacy/ts4.2/account/Base.d.ts +0 -147
- package/types-legacy/ts4.2/account/Generalized.d.ts +0 -22
- package/types-legacy/ts4.2/account/Ledger.d.ts +0 -34
- package/types-legacy/ts4.2/account/LedgerFactory.d.ts +0 -39
- package/types-legacy/ts4.2/account/Memory.d.ts +0 -46
- package/types-legacy/ts4.2/account/Rpc.d.ts +0 -35
- package/types-legacy/ts4.2/aens.d.ts +0 -193
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/Browser.d.ts +0 -33
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +0 -22
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +0 -36
- package/types-legacy/ts4.2/aepp-wallet-communication/connection-proxy.d.ts +0 -11
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/RpcClient.d.ts +0 -34
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +0 -120
- package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +0 -129
- package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +0 -22
- package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +0 -86
- package/types-legacy/ts4.2/apis/compiler/index.d.ts +0 -2
- package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +0 -191
- package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +0 -22
- package/types-legacy/ts4.2/apis/compiler/models/parameters.d.ts +0 -12
- package/types-legacy/ts4.2/apis/middleware/index.d.ts +0 -2
- package/types-legacy/ts4.2/apis/middleware/middleware.d.ts +0 -327
- package/types-legacy/ts4.2/apis/middleware/models/index.d.ts +0 -1645
- package/types-legacy/ts4.2/apis/middleware/models/mappers.d.ts +0 -109
- package/types-legacy/ts4.2/apis/middleware/models/parameters.d.ts +0 -46
- package/types-legacy/ts4.2/apis/node/index.d.ts +0 -2
- package/types-legacy/ts4.2/apis/node/models/index.d.ts +0 -1129
- package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +0 -99
- package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +0 -17
- package/types-legacy/ts4.2/apis/node/node.d.ts +0 -236
- package/types-legacy/ts4.2/chain.d.ts +0 -227
- package/types-legacy/ts4.2/channel/Base.d.ts +0 -168
- package/types-legacy/ts4.2/channel/Contract.d.ts +0 -239
- package/types-legacy/ts4.2/channel/Spend.d.ts +0 -213
- package/types-legacy/ts4.2/channel/handlers.d.ts +0 -21
- package/types-legacy/ts4.2/channel/internal.d.ts +0 -232
- package/types-legacy/ts4.2/contract/Contract.d.ts +0 -164
- package/types-legacy/ts4.2/contract/compiler/Base.d.ts +0 -104
- package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +0 -26
- package/types-legacy/ts4.2/contract/compiler/Cli8.d.ts +0 -13
- package/types-legacy/ts4.2/contract/compiler/Http.d.ts +0 -28
- package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +0 -15
- package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +0 -6
- package/types-legacy/ts4.2/contract/delegation-signature.d.ts +0 -45
- package/types-legacy/ts4.2/contract/ga.d.ts +0 -59
- package/types-legacy/ts4.2/deprecated.d.ts +0 -62
- package/types-legacy/ts4.2/globals.d.ts +0 -16
- package/types-legacy/ts4.2/index-browser.d.ts +0 -51
- package/types-legacy/ts4.2/index.d.ts +0 -6
- package/types-legacy/ts4.2/oracle.d.ts +0 -125
- package/types-legacy/ts4.2/send-transaction.d.ts +0 -53
- package/types-legacy/ts4.2/spend.d.ts +0 -56
- package/types-legacy/ts4.2/tx/builder/SchemaTypes.d.ts +0 -37
- package/types-legacy/ts4.2/tx/builder/common.d.ts +0 -32
- package/types-legacy/ts4.2/tx/builder/constants.d.ts +0 -100
- package/types-legacy/ts4.2/tx/builder/delegation/index.d.ts +0 -20
- package/types-legacy/ts4.2/tx/builder/delegation/schema.d.ts +0 -136
- package/types-legacy/ts4.2/tx/builder/delegation/schema.generated.d.ts +0 -141
- package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +0 -19
- package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +0 -21
- package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +0 -11
- package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +0 -72
- package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +0 -11
- package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +0 -30
- package/types-legacy/ts4.2/tx/builder/field-types/field.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +0 -16
- package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +0 -17
- package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +0 -45
- package/types-legacy/ts4.2/tx/builder/field-types/map.d.ts +0 -13
- package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +0 -48
- package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +0 -18
- package/types-legacy/ts4.2/tx/builder/field-types/name-id.d.ts +0 -11
- package/types-legacy/ts4.2/tx/builder/field-types/name.d.ts +0 -13
- package/types-legacy/ts4.2/tx/builder/field-types/nonce.d.ts +0 -15
- package/types-legacy/ts4.2/tx/builder/field-types/pointers.d.ts +0 -26
- package/types-legacy/ts4.2/tx/builder/field-types/pointers2.d.ts +0 -26
- package/types-legacy/ts4.2/tx/builder/field-types/query-fee.d.ts +0 -19
- package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/ttl.d.ts +0 -20
- package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/with-default.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/with-formatting.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/wrapped.d.ts +0 -14
- package/types-legacy/ts4.2/tx/builder/helpers.d.ts +0 -119
- package/types-legacy/ts4.2/tx/builder/index.d.ts +0 -62
- package/types-legacy/ts4.2/tx/builder/schema.d.ts +0 -3256
- package/types-legacy/ts4.2/tx/builder/schema.generated.d.ts +0 -2047
- package/types-legacy/ts4.2/tx/execution-cost.d.ts +0 -53
- package/types-legacy/ts4.2/tx/transaction-signer.d.ts +0 -6
- package/types-legacy/ts4.2/tx/validator.d.ts +0 -18
- package/types-legacy/ts4.2/utils/amount-formatter.d.ts +0 -41
- package/types-legacy/ts4.2/utils/autorest.d.ts +0 -7
- package/types-legacy/ts4.2/utils/bignumber.d.ts +0 -13
- package/types-legacy/ts4.2/utils/bytes.d.ts +0 -9
- package/types-legacy/ts4.2/utils/crypto.d.ts +0 -100
- package/types-legacy/ts4.2/utils/encoder-types.d.ts +0 -61
- package/types-legacy/ts4.2/utils/encoder.d.ts +0 -24
- package/types-legacy/ts4.2/utils/errors.d.ts +0 -464
- package/types-legacy/ts4.2/utils/hd-wallet.d.ts +0 -68
- package/types-legacy/ts4.2/utils/json-big.d.ts +0 -5
- package/types-legacy/ts4.2/utils/jwt.d.ts +0 -53
- package/types-legacy/ts4.2/utils/keystore.d.ts +0 -57
- package/types-legacy/ts4.2/utils/other.d.ts +0 -32
- package/types-legacy/ts4.2/utils/semver-satisfies.d.ts +0 -1
- package/types-legacy/ts4.2/utils/string.d.ts +0 -12
- package/types-legacy/ts4.2/utils/typed-data.d.ts +0 -58
- package/types-legacy/ts4.2/utils/wrap-proxy.d.ts +0 -2
- package/types-legacy/ts4.5/AeSdk.d.ts +0 -44
- package/types-legacy/ts4.5/AeSdkAepp.d.ts +0 -71
- package/types-legacy/ts4.5/AeSdkBase.d.ts +0 -164
- package/types-legacy/ts4.5/AeSdkMethods.d.ts +0 -146
- package/types-legacy/ts4.5/AeSdkWallet.d.ts +0 -90
- package/types-legacy/ts4.5/Middleware.d.ts +0 -46
- package/types-legacy/ts4.5/MiddlewareSubscriber.d.ts +0 -30
- package/types-legacy/ts4.5/Node.d.ts +0 -95
- package/types-legacy/ts4.5/account/Base.d.ts +0 -147
- package/types-legacy/ts4.5/account/Generalized.d.ts +0 -22
- package/types-legacy/ts4.5/account/Ledger.d.ts +0 -34
- package/types-legacy/ts4.5/account/LedgerFactory.d.ts +0 -39
- package/types-legacy/ts4.5/account/Memory.d.ts +0 -46
- package/types-legacy/ts4.5/account/Rpc.d.ts +0 -35
- package/types-legacy/ts4.5/aens.d.ts +0 -193
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/Browser.d.ts +0 -33
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +0 -22
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +0 -36
- package/types-legacy/ts4.5/aepp-wallet-communication/connection-proxy.d.ts +0 -11
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/RpcClient.d.ts +0 -34
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +0 -120
- package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +0 -129
- package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +0 -22
- package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +0 -86
- package/types-legacy/ts4.5/apis/compiler/index.d.ts +0 -2
- package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +0 -191
- package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +0 -22
- package/types-legacy/ts4.5/apis/compiler/models/parameters.d.ts +0 -12
- package/types-legacy/ts4.5/apis/middleware/index.d.ts +0 -2
- package/types-legacy/ts4.5/apis/middleware/middleware.d.ts +0 -327
- package/types-legacy/ts4.5/apis/middleware/models/index.d.ts +0 -1645
- package/types-legacy/ts4.5/apis/middleware/models/mappers.d.ts +0 -109
- package/types-legacy/ts4.5/apis/middleware/models/parameters.d.ts +0 -46
- package/types-legacy/ts4.5/apis/node/index.d.ts +0 -2
- package/types-legacy/ts4.5/apis/node/models/index.d.ts +0 -1129
- package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +0 -99
- package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +0 -17
- package/types-legacy/ts4.5/apis/node/node.d.ts +0 -236
- package/types-legacy/ts4.5/chain.d.ts +0 -227
- package/types-legacy/ts4.5/channel/Base.d.ts +0 -168
- package/types-legacy/ts4.5/channel/Contract.d.ts +0 -239
- package/types-legacy/ts4.5/channel/Spend.d.ts +0 -213
- package/types-legacy/ts4.5/channel/handlers.d.ts +0 -21
- package/types-legacy/ts4.5/channel/internal.d.ts +0 -232
- package/types-legacy/ts4.5/contract/Contract.d.ts +0 -164
- package/types-legacy/ts4.5/contract/compiler/Base.d.ts +0 -104
- package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +0 -26
- package/types-legacy/ts4.5/contract/compiler/Cli8.d.ts +0 -13
- package/types-legacy/ts4.5/contract/compiler/Http.d.ts +0 -28
- package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +0 -15
- package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +0 -6
- package/types-legacy/ts4.5/contract/delegation-signature.d.ts +0 -45
- package/types-legacy/ts4.5/contract/ga.d.ts +0 -59
- package/types-legacy/ts4.5/deprecated.d.ts +0 -62
- package/types-legacy/ts4.5/index-browser.d.ts +0 -51
- package/types-legacy/ts4.5/index.d.ts +0 -5
- package/types-legacy/ts4.5/oracle.d.ts +0 -125
- package/types-legacy/ts4.5/send-transaction.d.ts +0 -53
- package/types-legacy/ts4.5/spend.d.ts +0 -56
- package/types-legacy/ts4.5/tx/builder/SchemaTypes.d.ts +0 -37
- package/types-legacy/ts4.5/tx/builder/common.d.ts +0 -32
- package/types-legacy/ts4.5/tx/builder/constants.d.ts +0 -100
- package/types-legacy/ts4.5/tx/builder/delegation/index.d.ts +0 -20
- package/types-legacy/ts4.5/tx/builder/delegation/schema.d.ts +0 -136
- package/types-legacy/ts4.5/tx/builder/delegation/schema.generated.d.ts +0 -141
- package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +0 -19
- package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +0 -21
- package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +0 -11
- package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +0 -72
- package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +0 -11
- package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +0 -30
- package/types-legacy/ts4.5/tx/builder/field-types/field.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +0 -16
- package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +0 -17
- package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +0 -45
- package/types-legacy/ts4.5/tx/builder/field-types/map.d.ts +0 -13
- package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +0 -48
- package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +0 -18
- package/types-legacy/ts4.5/tx/builder/field-types/name-id.d.ts +0 -11
- package/types-legacy/ts4.5/tx/builder/field-types/name.d.ts +0 -13
- package/types-legacy/ts4.5/tx/builder/field-types/nonce.d.ts +0 -15
- package/types-legacy/ts4.5/tx/builder/field-types/pointers.d.ts +0 -26
- package/types-legacy/ts4.5/tx/builder/field-types/pointers2.d.ts +0 -26
- package/types-legacy/ts4.5/tx/builder/field-types/query-fee.d.ts +0 -19
- package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/ttl.d.ts +0 -20
- package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/with-default.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/with-formatting.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/wrapped.d.ts +0 -14
- package/types-legacy/ts4.5/tx/builder/helpers.d.ts +0 -119
- package/types-legacy/ts4.5/tx/builder/index.d.ts +0 -62
- package/types-legacy/ts4.5/tx/builder/schema.d.ts +0 -3256
- package/types-legacy/ts4.5/tx/builder/schema.generated.d.ts +0 -2047
- package/types-legacy/ts4.5/tx/execution-cost.d.ts +0 -53
- package/types-legacy/ts4.5/tx/transaction-signer.d.ts +0 -6
- package/types-legacy/ts4.5/tx/validator.d.ts +0 -18
- package/types-legacy/ts4.5/utils/amount-formatter.d.ts +0 -41
- package/types-legacy/ts4.5/utils/autorest.d.ts +0 -7
- package/types-legacy/ts4.5/utils/bignumber.d.ts +0 -13
- package/types-legacy/ts4.5/utils/bytes.d.ts +0 -9
- package/types-legacy/ts4.5/utils/crypto.d.ts +0 -100
- package/types-legacy/ts4.5/utils/encoder-types.d.ts +0 -61
- package/types-legacy/ts4.5/utils/encoder.d.ts +0 -24
- package/types-legacy/ts4.5/utils/errors.d.ts +0 -464
- package/types-legacy/ts4.5/utils/hd-wallet.d.ts +0 -68
- package/types-legacy/ts4.5/utils/json-big.d.ts +0 -5
- package/types-legacy/ts4.5/utils/jwt.d.ts +0 -53
- package/types-legacy/ts4.5/utils/keystore.d.ts +0 -57
- package/types-legacy/ts4.5/utils/other.d.ts +0 -32
- package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +0 -1
- package/types-legacy/ts4.5/utils/string.d.ts +0 -12
- package/types-legacy/ts4.5/utils/typed-data.d.ts +0 -58
- package/types-legacy/ts4.5/utils/wrap-proxy.d.ts +0 -2
- /package/dist/{aepp-sdk.browser.js.LICENSE.txt → aepp-sdk.browser.cjs.LICENSE.txt} +0 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Buffer as _Buffer } from "buffer";
|
|
2
|
+
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
3
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
4
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
5
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
6
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
7
|
+
import nacl from 'tweetnacl';
|
|
8
|
+
import AccountBase from './Base.js';
|
|
9
|
+
import { hash, messageToHash, messagePrefixLength } from '../utils/crypto.js';
|
|
10
|
+
import { ArgumentError } from '../utils/errors.js';
|
|
11
|
+
import { decode, encode, Encoding } from '../utils/encoder.js';
|
|
12
|
+
import { concatBuffers } from '../utils/other.js';
|
|
13
|
+
import { hashTypedData } from '../utils/typed-data.js';
|
|
14
|
+
import { buildTx } from '../tx/builder/index.js';
|
|
15
|
+
import { Tag } from '../tx/builder/constants.js';
|
|
16
|
+
export function getBufferToSign(transaction, networkId, innerTx) {
|
|
17
|
+
const prefixes = [networkId];
|
|
18
|
+
if (innerTx) prefixes.push('inner_tx');
|
|
19
|
+
const rlpBinaryTx = decode(transaction);
|
|
20
|
+
return concatBuffers([_Buffer.from(prefixes.join('-')), hash(rlpBinaryTx)]);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* In-memory account class
|
|
25
|
+
*/
|
|
26
|
+
var _secretKeyDecoded = /*#__PURE__*/new WeakMap();
|
|
27
|
+
export default class AccountMemory extends AccountBase {
|
|
28
|
+
/**
|
|
29
|
+
* @param secretKey - Secret key
|
|
30
|
+
*/
|
|
31
|
+
constructor(secretKey) {
|
|
32
|
+
super();
|
|
33
|
+
_classPrivateFieldInitSpec(this, _secretKeyDecoded, void 0);
|
|
34
|
+
this.secretKey = secretKey;
|
|
35
|
+
const keyPair = nacl.sign.keyPair.fromSeed(decode(secretKey));
|
|
36
|
+
_classPrivateFieldSet(_secretKeyDecoded, this, keyPair.secretKey);
|
|
37
|
+
this.address = encode(keyPair.publicKey, Encoding.AccountAddress);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Generates a new AccountMemory using a random secret key
|
|
42
|
+
*/
|
|
43
|
+
static generate() {
|
|
44
|
+
const secretKey = encode(nacl.randomBytes(32), Encoding.AccountSecretKey);
|
|
45
|
+
return new AccountMemory(secretKey);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
49
|
+
async sign(data, options) {
|
|
50
|
+
return nacl.sign.detached(_Buffer.from(data), _classPrivateFieldGet(_secretKeyDecoded, this));
|
|
51
|
+
}
|
|
52
|
+
async signTransaction(transaction, {
|
|
53
|
+
innerTx,
|
|
54
|
+
networkId,
|
|
55
|
+
...options
|
|
56
|
+
} = {}) {
|
|
57
|
+
if (networkId == null) {
|
|
58
|
+
throw new ArgumentError('networkId', 'provided', networkId);
|
|
59
|
+
}
|
|
60
|
+
const rlpBinaryTx = decode(transaction);
|
|
61
|
+
const txWithNetworkId = getBufferToSign(transaction, networkId, innerTx === true);
|
|
62
|
+
const signatures = [await this.sign(txWithNetworkId, options)];
|
|
63
|
+
return buildTx({
|
|
64
|
+
tag: Tag.SignedTx,
|
|
65
|
+
encodedTx: rlpBinaryTx,
|
|
66
|
+
signatures
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
async signMessage(message, options) {
|
|
70
|
+
return this.sign(messageToHash(message), options);
|
|
71
|
+
}
|
|
72
|
+
async signTypedData(data, aci, {
|
|
73
|
+
name,
|
|
74
|
+
version,
|
|
75
|
+
networkId,
|
|
76
|
+
contractAddress,
|
|
77
|
+
...options
|
|
78
|
+
} = {}) {
|
|
79
|
+
const dHash = hashTypedData(data, aci, {
|
|
80
|
+
name,
|
|
81
|
+
version,
|
|
82
|
+
networkId,
|
|
83
|
+
contractAddress
|
|
84
|
+
});
|
|
85
|
+
const signature = await this.sign(dHash, options);
|
|
86
|
+
return encode(signature, Encoding.Signature);
|
|
87
|
+
}
|
|
88
|
+
async signDelegation(delegation, {
|
|
89
|
+
networkId
|
|
90
|
+
} = {}) {
|
|
91
|
+
if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);
|
|
92
|
+
const payload = concatBuffers([messagePrefixLength, new Uint8Array([1]), _Buffer.from(networkId), decode(delegation)]);
|
|
93
|
+
const signature = await this.sign(payload);
|
|
94
|
+
return encode(signature, Encoding.Signature);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=Memory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Memory.js","names":["nacl","AccountBase","hash","messageToHash","messagePrefixLength","ArgumentError","decode","encode","Encoding","concatBuffers","hashTypedData","buildTx","Tag","getBufferToSign","transaction","networkId","innerTx","prefixes","push","rlpBinaryTx","_Buffer","from","join","_secretKeyDecoded","WeakMap","AccountMemory","constructor","secretKey","_classPrivateFieldInitSpec","keyPair","sign","fromSeed","_classPrivateFieldSet","address","publicKey","AccountAddress","generate","randomBytes","AccountSecretKey","data","options","detached","_classPrivateFieldGet","signTransaction","txWithNetworkId","signatures","tag","SignedTx","encodedTx","signMessage","message","signTypedData","aci","name","version","contractAddress","dHash","signature","Signature","signDelegation","delegation","payload","Uint8Array"],"sources":["../../src/account/Memory.ts"],"sourcesContent":["import nacl from 'tweetnacl';\nimport AccountBase from './Base.js';\nimport { hash, messageToHash, messagePrefixLength } from '../utils/crypto.js';\nimport { ArgumentError } from '../utils/errors.js';\nimport { decode, encode, Encoded, Encoding } from '../utils/encoder.js';\nimport { concatBuffers } from '../utils/other.js';\nimport { hashTypedData, AciValue } from '../utils/typed-data.js';\nimport { buildTx } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\n\nexport function getBufferToSign(\n transaction: Encoded.Transaction,\n networkId: string,\n innerTx: boolean,\n): Uint8Array {\n const prefixes = [networkId];\n if (innerTx) prefixes.push('inner_tx');\n const rlpBinaryTx = decode(transaction);\n return concatBuffers([Buffer.from(prefixes.join('-')), hash(rlpBinaryTx)]);\n}\n\n/**\n * In-memory account class\n */\nexport default class AccountMemory extends AccountBase {\n override readonly address: Encoded.AccountAddress;\n\n readonly #secretKeyDecoded: Uint8Array;\n\n /**\n * @param secretKey - Secret key\n */\n constructor(public readonly secretKey: Encoded.AccountSecretKey) {\n super();\n const keyPair = nacl.sign.keyPair.fromSeed(decode(secretKey));\n this.#secretKeyDecoded = keyPair.secretKey;\n this.address = encode(keyPair.publicKey, Encoding.AccountAddress);\n }\n\n /**\n * Generates a new AccountMemory using a random secret key\n */\n static generate(): AccountMemory {\n const secretKey = encode(nacl.randomBytes(32), Encoding.AccountSecretKey);\n return new AccountMemory(secretKey);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n override async sign(data: string | Uint8Array, options?: any): Promise<Uint8Array> {\n return nacl.sign.detached(Buffer.from(data), this.#secretKeyDecoded);\n }\n\n override async signTransaction(\n transaction: Encoded.Transaction,\n { innerTx, networkId, ...options }: { innerTx?: boolean; networkId?: string } = {},\n ): Promise<Encoded.Transaction> {\n if (networkId == null) {\n throw new ArgumentError('networkId', 'provided', networkId);\n }\n const rlpBinaryTx = decode(transaction);\n const txWithNetworkId = getBufferToSign(transaction, networkId, innerTx === true);\n\n const signatures = [await this.sign(txWithNetworkId, options)];\n return buildTx({ tag: Tag.SignedTx, encodedTx: rlpBinaryTx, signatures });\n }\n\n override async signMessage(message: string, options?: any): Promise<Uint8Array> {\n return this.sign(messageToHash(message), options);\n }\n\n override async signTypedData(\n data: Encoded.ContractBytearray,\n aci: AciValue,\n {\n name,\n version,\n networkId,\n contractAddress,\n ...options\n }: Parameters<AccountBase['signTypedData']>[2] = {},\n ): Promise<Encoded.Signature> {\n const dHash = hashTypedData(data, aci, {\n name,\n version,\n networkId,\n contractAddress,\n });\n const signature = await this.sign(dHash, options);\n return encode(signature, Encoding.Signature);\n }\n\n override async signDelegation(\n delegation: Encoded.Bytearray,\n { networkId }: { networkId?: string } = {},\n ): Promise<Encoded.Signature> {\n if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);\n const payload = concatBuffers([\n messagePrefixLength,\n new Uint8Array([1]),\n Buffer.from(networkId),\n decode(delegation),\n ]);\n const signature = await this.sign(payload);\n return encode(signature, Encoding.Signature);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { BaseProvider } from '@metamask/providers';
|
|
2
|
+
import AccountBase from './Base.js';
|
|
3
|
+
import { Encoded } from '../utils/encoder.js';
|
|
4
|
+
export declare const snapId = "npm:@aeternity-snap/plugin";
|
|
5
|
+
export declare function invokeSnap<R>(provider: BaseProvider, method: string, params: unknown, key: string): Promise<R>;
|
|
6
|
+
/**
|
|
7
|
+
* Account connected to Aeternity Snap for MetaMask
|
|
8
|
+
* https://www.npmjs.com/package/\@aeternity-snap/plugin
|
|
9
|
+
*/
|
|
10
|
+
export default class AccountMetamask extends AccountBase {
|
|
11
|
+
readonly provider: BaseProvider;
|
|
12
|
+
readonly index: number;
|
|
13
|
+
readonly address: Encoded.AccountAddress;
|
|
14
|
+
/**
|
|
15
|
+
* @param address - Address of account
|
|
16
|
+
*/
|
|
17
|
+
constructor(provider: BaseProvider, index: number, address: Encoded.AccountAddress);
|
|
18
|
+
sign(): Promise<Uint8Array>;
|
|
19
|
+
signTypedData(): Promise<Encoded.Signature>;
|
|
20
|
+
signDelegation(): Promise<Encoded.Signature>;
|
|
21
|
+
signTransaction(tx: Encoded.Transaction, { innerTx, networkId }?: {
|
|
22
|
+
innerTx?: boolean;
|
|
23
|
+
networkId?: string;
|
|
24
|
+
}): Promise<Encoded.Transaction>;
|
|
25
|
+
signMessage(message: string): Promise<Uint8Array>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { Buffer as _Buffer } from "buffer";
|
|
2
|
+
import AccountBase from './Base.js';
|
|
3
|
+
import { ArgumentError, InternalError, NotImplementedError } from '../utils/errors.js';
|
|
4
|
+
export const snapId = 'npm:@aeternity-snap/plugin';
|
|
5
|
+
export async function invokeSnap(provider, method, params, key) {
|
|
6
|
+
const response = await provider.request({
|
|
7
|
+
method: 'wallet_invokeSnap',
|
|
8
|
+
params: {
|
|
9
|
+
snapId,
|
|
10
|
+
request: {
|
|
11
|
+
method,
|
|
12
|
+
params
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
if (response == null) throw new InternalError('Empty MetaMask response');
|
|
17
|
+
if (!(key in response)) {
|
|
18
|
+
throw new InternalError(`Key ${key} missed in response ${JSON.stringify(response)}`);
|
|
19
|
+
}
|
|
20
|
+
return response[key];
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Account connected to Aeternity Snap for MetaMask
|
|
25
|
+
* https://www.npmjs.com/package/\@aeternity-snap/plugin
|
|
26
|
+
*/
|
|
27
|
+
export default class AccountMetamask extends AccountBase {
|
|
28
|
+
/**
|
|
29
|
+
* @param address - Address of account
|
|
30
|
+
*/
|
|
31
|
+
constructor(provider, index, address) {
|
|
32
|
+
super();
|
|
33
|
+
this.provider = provider;
|
|
34
|
+
this.index = index;
|
|
35
|
+
this.address = address;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// eslint-disable-next-line class-methods-use-this
|
|
39
|
+
async sign() {
|
|
40
|
+
throw new NotImplementedError('RAW signing using MetaMask');
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// eslint-disable-next-line class-methods-use-this
|
|
44
|
+
async signTypedData() {
|
|
45
|
+
throw new NotImplementedError('Typed data signing using MetaMask');
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// eslint-disable-next-line class-methods-use-this
|
|
49
|
+
async signDelegation() {
|
|
50
|
+
throw new NotImplementedError('signing delegation using MetaMask');
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// eslint-disable-next-line class-methods-use-this
|
|
54
|
+
async signTransaction(tx, {
|
|
55
|
+
innerTx,
|
|
56
|
+
networkId
|
|
57
|
+
} = {}) {
|
|
58
|
+
if (innerTx != null) throw new NotImplementedError('innerTx option in AccountMetamask');
|
|
59
|
+
if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);
|
|
60
|
+
return invokeSnap(this.provider, 'signTransaction', {
|
|
61
|
+
derivationPath: [`${this.index}'`, "0'", "0'"],
|
|
62
|
+
tx,
|
|
63
|
+
networkId
|
|
64
|
+
}, 'signedTx');
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// eslint-disable-next-line class-methods-use-this
|
|
68
|
+
async signMessage(message) {
|
|
69
|
+
const signature = await invokeSnap(this.provider, 'signMessage', {
|
|
70
|
+
derivationPath: [`${this.index}'`, "0'", "0'"],
|
|
71
|
+
message: _Buffer.from(message).toString('base64')
|
|
72
|
+
}, 'signature');
|
|
73
|
+
return _Buffer.from(signature, 'base64');
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=Metamask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Metamask.js","names":["AccountBase","ArgumentError","InternalError","NotImplementedError","snapId","invokeSnap","provider","method","params","key","response","request","JSON","stringify","AccountMetamask","constructor","index","address","sign","signTypedData","signDelegation","signTransaction","tx","innerTx","networkId","derivationPath","signMessage","message","signature","_Buffer","from","toString"],"sources":["../../src/account/Metamask.ts"],"sourcesContent":["import type { BaseProvider } from '@metamask/providers';\nimport AccountBase from './Base.js';\nimport { Encoded } from '../utils/encoder.js';\nimport { ArgumentError, InternalError, NotImplementedError } from '../utils/errors.js';\n\nexport const snapId = 'npm:@aeternity-snap/plugin';\n\nexport async function invokeSnap<R>(\n provider: BaseProvider,\n method: string,\n params: unknown,\n key: string,\n): Promise<R> {\n const response = await provider.request<{ [k in string]: unknown }>({\n method: 'wallet_invokeSnap',\n params: { snapId, request: { method, params } },\n });\n if (response == null) throw new InternalError('Empty MetaMask response');\n if (!(key in response)) {\n throw new InternalError(`Key ${key} missed in response ${JSON.stringify(response)}`);\n }\n return response[key] as R;\n}\n\n/**\n * Account connected to Aeternity Snap for MetaMask\n * https://www.npmjs.com/package/\\@aeternity-snap/plugin\n */\nexport default class AccountMetamask extends AccountBase {\n readonly provider: BaseProvider;\n\n readonly index: number;\n\n override readonly address: Encoded.AccountAddress;\n\n /**\n * @param address - Address of account\n */\n constructor(provider: BaseProvider, index: number, address: Encoded.AccountAddress) {\n super();\n this.provider = provider;\n this.index = index;\n this.address = address;\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async sign(): Promise<Uint8Array> {\n throw new NotImplementedError('RAW signing using MetaMask');\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async signTypedData(): Promise<Encoded.Signature> {\n throw new NotImplementedError('Typed data signing using MetaMask');\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async signDelegation(): Promise<Encoded.Signature> {\n throw new NotImplementedError('signing delegation using MetaMask');\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async signTransaction(\n tx: Encoded.Transaction,\n { innerTx, networkId }: { innerTx?: boolean; networkId?: string } = {},\n ): Promise<Encoded.Transaction> {\n if (innerTx != null) throw new NotImplementedError('innerTx option in AccountMetamask');\n if (networkId == null) throw new ArgumentError('networkId', 'provided', networkId);\n\n return invokeSnap<Encoded.Transaction>(\n this.provider,\n 'signTransaction',\n { derivationPath: [`${this.index}'`, \"0'\", \"0'\"], tx, networkId },\n 'signedTx',\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n override async signMessage(message: string): Promise<Uint8Array> {\n const signature = await invokeSnap<string>(\n this.provider,\n 'signMessage',\n {\n derivationPath: [`${this.index}'`, \"0'\", \"0'\"],\n message: Buffer.from(message).toString('base64'),\n },\n 'signature',\n );\n return Buffer.from(signature, 'base64');\n }\n}\n"],"mappings":";AACA,OAAOA,WAAW,MAAM,WAAW;AAEnC,SAASC,aAAa,EAAEC,aAAa,EAAEC,mBAAmB,QAAQ,oBAAoB;AAEtF,OAAO,MAAMC,MAAM,GAAG,4BAA4B;AAElD,OAAO,eAAeC,UAAUA,CAC9BC,QAAsB,EACtBC,MAAc,EACdC,MAAe,EACfC,GAAW,EACC;EACZ,MAAMC,QAAQ,GAAG,MAAMJ,QAAQ,CAACK,OAAO,CAA6B;IAClEJ,MAAM,EAAE,mBAAmB;IAC3BC,MAAM,EAAE;MAAEJ,MAAM;MAAEO,OAAO,EAAE;QAAEJ,MAAM;QAAEC;MAAO;IAAE;EAChD,CAAC,CAAC;EACF,IAAIE,QAAQ,IAAI,IAAI,EAAE,MAAM,IAAIR,aAAa,CAAC,yBAAyB,CAAC;EACxE,IAAI,EAAEO,GAAG,IAAIC,QAAQ,CAAC,EAAE;IACtB,MAAM,IAAIR,aAAa,CAAC,OAAOO,GAAG,uBAAuBG,IAAI,CAACC,SAAS,CAACH,QAAQ,CAAC,EAAE,CAAC;EACtF;EACA,OAAOA,QAAQ,CAACD,GAAG,CAAC;AACtB;;AAEA;AACA;AACA;AACA;AACA,eAAe,MAAMK,eAAe,SAASd,WAAW,CAAC;EAOvD;AACF;AACA;EACEe,WAAWA,CAACT,QAAsB,EAAEU,KAAa,EAAEC,OAA+B,EAAE;IAClF,KAAK,CAAC,CAAC;IACP,IAAI,CAACX,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACU,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,OAAO,GAAGA,OAAO;EACxB;;EAEA;EACA,MAAeC,IAAIA,CAAA,EAAwB;IACzC,MAAM,IAAIf,mBAAmB,CAAC,4BAA4B,CAAC;EAC7D;;EAEA;EACA,MAAegB,aAAaA,CAAA,EAA+B;IACzD,MAAM,IAAIhB,mBAAmB,CAAC,mCAAmC,CAAC;EACpE;;EAEA;EACA,MAAeiB,cAAcA,CAAA,EAA+B;IAC1D,MAAM,IAAIjB,mBAAmB,CAAC,mCAAmC,CAAC;EACpE;;EAEA;EACA,MAAekB,eAAeA,CAC5BC,EAAuB,EACvB;IAAEC,OAAO;IAAEC;EAAqD,CAAC,GAAG,CAAC,CAAC,EACxC;IAC9B,IAAID,OAAO,IAAI,IAAI,EAAE,MAAM,IAAIpB,mBAAmB,CAAC,mCAAmC,CAAC;IACvF,IAAIqB,SAAS,IAAI,IAAI,EAAE,MAAM,IAAIvB,aAAa,CAAC,WAAW,EAAE,UAAU,EAAEuB,SAAS,CAAC;IAElF,OAAOnB,UAAU,CACf,IAAI,CAACC,QAAQ,EACb,iBAAiB,EACjB;MAAEmB,cAAc,EAAE,CAAC,GAAG,IAAI,CAACT,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;MAAEM,EAAE;MAAEE;IAAU,CAAC,EACjE,UACF,CAAC;EACH;;EAEA;EACA,MAAeE,WAAWA,CAACC,OAAe,EAAuB;IAC/D,MAAMC,SAAS,GAAG,MAAMvB,UAAU,CAChC,IAAI,CAACC,QAAQ,EACb,aAAa,EACb;MACEmB,cAAc,EAAE,CAAC,GAAG,IAAI,CAACT,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC;MAC9CW,OAAO,EAAEE,OAAA,CAAOC,IAAI,CAACH,OAAO,CAAC,CAACI,QAAQ,CAAC,QAAQ;IACjD,CAAC,EACD,WACF,CAAC;IACD,OAAOF,OAAA,CAAOC,IAAI,CAACF,SAAS,EAAE,QAAQ,CAAC;EACzC;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { BaseProvider } from '@metamask/providers';
|
|
2
|
+
import AccountBaseFactory from './BaseFactory.js';
|
|
3
|
+
import AccountMetamask, { snapId } from './Metamask.js';
|
|
4
|
+
interface SnapDetails {
|
|
5
|
+
blocked: boolean;
|
|
6
|
+
enabled: boolean;
|
|
7
|
+
id: typeof snapId;
|
|
8
|
+
version: string;
|
|
9
|
+
initialPermissions: Record<string, unknown>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* A factory class that generates instances of AccountMetamask.
|
|
13
|
+
*/
|
|
14
|
+
export default class AccountMetamaskFactory extends AccountBaseFactory {
|
|
15
|
+
#private;
|
|
16
|
+
readonly provider: BaseProvider;
|
|
17
|
+
/**
|
|
18
|
+
* @param provider - Connection to MetaMask to use
|
|
19
|
+
*/
|
|
20
|
+
constructor(provider?: BaseProvider);
|
|
21
|
+
/**
|
|
22
|
+
* Request MetaMask to install Aeternity snap.
|
|
23
|
+
*/
|
|
24
|
+
installSnap(): Promise<SnapDetails>;
|
|
25
|
+
/**
|
|
26
|
+
* It throws an exception if MetaMask or Aeternity snap has an incompatible version or is not
|
|
27
|
+
* installed.
|
|
28
|
+
*/
|
|
29
|
+
ensureReady(): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* @returns the version of snap installed in MetaMask
|
|
32
|
+
*/
|
|
33
|
+
getSnapVersion(): Promise<string>;
|
|
34
|
+
/**
|
|
35
|
+
* Get an instance of AccountMetaMask for a given account index.
|
|
36
|
+
* @param accountIndex - Index of account
|
|
37
|
+
*/
|
|
38
|
+
initialize(accountIndex: number): Promise<AccountMetamask>;
|
|
39
|
+
}
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
2
|
+
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
|
3
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
4
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
5
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
6
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
7
|
+
import { InternalError, UnsupportedPlatformError, UnsupportedVersionError } from '../utils/errors.js';
|
|
8
|
+
import semverSatisfies from '../utils/semver-satisfies.js';
|
|
9
|
+
import AccountBaseFactory from './BaseFactory.js';
|
|
10
|
+
import AccountMetamask, { invokeSnap, snapId } from './Metamask.js';
|
|
11
|
+
const snapMinVersion = '0.0.9';
|
|
12
|
+
const snapMaxVersion = '0.1.0';
|
|
13
|
+
var _AccountMetamaskFactory_brand = /*#__PURE__*/new WeakSet();
|
|
14
|
+
var _ensureReadyPromise = /*#__PURE__*/new WeakMap();
|
|
15
|
+
/**
|
|
16
|
+
* A factory class that generates instances of AccountMetamask.
|
|
17
|
+
*/
|
|
18
|
+
export default class AccountMetamaskFactory extends AccountBaseFactory {
|
|
19
|
+
/**
|
|
20
|
+
* @param provider - Connection to MetaMask to use
|
|
21
|
+
*/
|
|
22
|
+
constructor(provider) {
|
|
23
|
+
super();
|
|
24
|
+
/**
|
|
25
|
+
* It throws an exception if MetaMask has an incompatible version.
|
|
26
|
+
*/
|
|
27
|
+
_classPrivateMethodInitSpec(this, _AccountMetamaskFactory_brand);
|
|
28
|
+
_classPrivateFieldInitSpec(this, _ensureReadyPromise, void 0);
|
|
29
|
+
if (provider != null) {
|
|
30
|
+
this.provider = provider;
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
if (window == null) {
|
|
34
|
+
throw new UnsupportedPlatformError('Window object not found, you can run AccountMetamaskFactory only in browser or setup a provider');
|
|
35
|
+
}
|
|
36
|
+
if (!('ethereum' in window) || window.ethereum == null) {
|
|
37
|
+
throw new UnsupportedPlatformError('`ethereum` object not found, you can run AccountMetamaskFactory only with Metamask enabled or setup a provider');
|
|
38
|
+
}
|
|
39
|
+
this.provider = window.ethereum;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Request MetaMask to install Aeternity snap.
|
|
43
|
+
*/
|
|
44
|
+
async installSnap() {
|
|
45
|
+
await _assertClassBrand(_AccountMetamaskFactory_brand, this, _ensureMetamaskSupported).call(this);
|
|
46
|
+
const details = await this.provider.request({
|
|
47
|
+
method: 'wallet_requestSnaps',
|
|
48
|
+
params: {
|
|
49
|
+
[snapId]: {
|
|
50
|
+
version: snapMinVersion
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
_classPrivateFieldSet(_ensureReadyPromise, this, Promise.resolve());
|
|
55
|
+
return details[snapId];
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* It throws an exception if MetaMask or Aeternity snap has an incompatible version or is not
|
|
60
|
+
* installed.
|
|
61
|
+
*/
|
|
62
|
+
async ensureReady() {
|
|
63
|
+
const snapVersion = await this.getSnapVersion();
|
|
64
|
+
const args = [snapVersion, snapMinVersion, snapMaxVersion];
|
|
65
|
+
if (!semverSatisfies(...args)) throw new UnsupportedVersionError('Aeternity snap in MetaMask', ...args);
|
|
66
|
+
_classPrivateFieldSet(_ensureReadyPromise, this, Promise.resolve());
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* @returns the version of snap installed in MetaMask
|
|
70
|
+
*/
|
|
71
|
+
async getSnapVersion() {
|
|
72
|
+
await _assertClassBrand(_AccountMetamaskFactory_brand, this, _ensureMetamaskSupported).call(this);
|
|
73
|
+
const snaps = await this.provider.request({
|
|
74
|
+
method: 'wallet_getSnaps'
|
|
75
|
+
});
|
|
76
|
+
const version = snaps[snapId]?.version;
|
|
77
|
+
if (version == null) throw new UnsupportedPlatformError('Aeternity snap is not installed to MetaMask');
|
|
78
|
+
return version;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Get an instance of AccountMetaMask for a given account index.
|
|
83
|
+
* @param accountIndex - Index of account
|
|
84
|
+
*/
|
|
85
|
+
async initialize(accountIndex) {
|
|
86
|
+
await _assertClassBrand(_AccountMetamaskFactory_brand, this, _ensureReady).call(this);
|
|
87
|
+
const address = await invokeSnap(this.provider, 'getPublicKey', {
|
|
88
|
+
derivationPath: [`${accountIndex}'`, "0'", "0'"]
|
|
89
|
+
}, 'publicKey');
|
|
90
|
+
return new AccountMetamask(this.provider, accountIndex, address);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
async function _ensureMetamaskSupported() {
|
|
94
|
+
const version = await this.provider.request({
|
|
95
|
+
method: 'web3_clientVersion'
|
|
96
|
+
});
|
|
97
|
+
if (version == null) throw new InternalError("Can't get Ethereum Provider version");
|
|
98
|
+
const metamaskPrefix = 'MetaMask/v';
|
|
99
|
+
if (!version.startsWith(metamaskPrefix)) {
|
|
100
|
+
throw new UnsupportedPlatformError(`Expected Metamask, got ${version} instead`);
|
|
101
|
+
}
|
|
102
|
+
const args = [version.slice(metamaskPrefix.length), '12.2.4'];
|
|
103
|
+
if (!semverSatisfies(...args)) throw new UnsupportedVersionError('Metamask', ...args);
|
|
104
|
+
}
|
|
105
|
+
async function _ensureReady() {
|
|
106
|
+
var _classPrivateFieldGet2;
|
|
107
|
+
(_classPrivateFieldGet2 = _classPrivateFieldGet(_ensureReadyPromise, this)) !== null && _classPrivateFieldGet2 !== void 0 ? _classPrivateFieldGet2 : _classPrivateFieldSet(_ensureReadyPromise, this, this.ensureReady());
|
|
108
|
+
return _classPrivateFieldGet(_ensureReadyPromise, this);
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=MetamaskFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetamaskFactory.js","names":["InternalError","UnsupportedPlatformError","UnsupportedVersionError","semverSatisfies","AccountBaseFactory","AccountMetamask","invokeSnap","snapId","snapMinVersion","snapMaxVersion","_AccountMetamaskFactory_brand","WeakSet","_ensureReadyPromise","WeakMap","AccountMetamaskFactory","constructor","provider","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","window","ethereum","installSnap","_assertClassBrand","_ensureMetamaskSupported","call","details","request","method","params","version","_classPrivateFieldSet","Promise","resolve","ensureReady","snapVersion","getSnapVersion","args","snaps","initialize","accountIndex","_ensureReady","address","derivationPath","metamaskPrefix","startsWith","slice","length","_classPrivateFieldGet2","_classPrivateFieldGet"],"sources":["../../src/account/MetamaskFactory.ts"],"sourcesContent":["import type { BaseProvider } from '@metamask/providers';\nimport {\n InternalError,\n UnsupportedPlatformError,\n UnsupportedVersionError,\n} from '../utils/errors.js';\nimport { Encoded } from '../utils/encoder.js';\nimport semverSatisfies from '../utils/semver-satisfies.js';\nimport AccountBaseFactory from './BaseFactory.js';\nimport AccountMetamask, { invokeSnap, snapId } from './Metamask.js';\n\nconst snapMinVersion = '0.0.9';\nconst snapMaxVersion = '0.1.0';\n\ninterface SnapDetails {\n blocked: boolean;\n enabled: boolean;\n id: typeof snapId;\n version: string;\n initialPermissions: Record<string, unknown>;\n}\n\n/**\n * A factory class that generates instances of AccountMetamask.\n */\nexport default class AccountMetamaskFactory extends AccountBaseFactory {\n readonly provider: BaseProvider;\n\n /**\n * @param provider - Connection to MetaMask to use\n */\n constructor(provider?: BaseProvider) {\n super();\n if (provider != null) {\n this.provider = provider;\n return;\n }\n if (window == null) {\n throw new UnsupportedPlatformError(\n 'Window object not found, you can run AccountMetamaskFactory only in browser or setup a provider',\n );\n }\n if (!('ethereum' in window) || window.ethereum == null) {\n throw new UnsupportedPlatformError(\n '`ethereum` object not found, you can run AccountMetamaskFactory only with Metamask enabled or setup a provider',\n );\n }\n this.provider = window.ethereum as BaseProvider;\n }\n\n /**\n * It throws an exception if MetaMask has an incompatible version.\n */\n async #ensureMetamaskSupported(): Promise<void> {\n const version = await this.provider.request<string>({ method: 'web3_clientVersion' });\n if (version == null) throw new InternalError(\"Can't get Ethereum Provider version\");\n const metamaskPrefix = 'MetaMask/v';\n if (!version.startsWith(metamaskPrefix)) {\n throw new UnsupportedPlatformError(`Expected Metamask, got ${version} instead`);\n }\n const args = [version.slice(metamaskPrefix.length), '12.2.4'] as const;\n if (!semverSatisfies(...args)) throw new UnsupportedVersionError('Metamask', ...args);\n }\n\n #ensureReadyPromise?: Promise<void>;\n\n /**\n * Request MetaMask to install Aeternity snap.\n */\n async installSnap(): Promise<SnapDetails> {\n await this.#ensureMetamaskSupported();\n const details = (await this.provider.request({\n method: 'wallet_requestSnaps',\n params: { [snapId]: { version: snapMinVersion } },\n })) as { [key in typeof snapId]: SnapDetails };\n this.#ensureReadyPromise = Promise.resolve();\n return details[snapId];\n }\n\n /**\n * It throws an exception if MetaMask or Aeternity snap has an incompatible version or is not\n * installed.\n */\n async ensureReady(): Promise<void> {\n const snapVersion = await this.getSnapVersion();\n const args = [snapVersion, snapMinVersion, snapMaxVersion] as const;\n if (!semverSatisfies(...args))\n throw new UnsupportedVersionError('Aeternity snap in MetaMask', ...args);\n this.#ensureReadyPromise = Promise.resolve();\n }\n\n async #ensureReady(): Promise<void> {\n this.#ensureReadyPromise ??= this.ensureReady();\n return this.#ensureReadyPromise;\n }\n\n /**\n * @returns the version of snap installed in MetaMask\n */\n async getSnapVersion(): Promise<string> {\n await this.#ensureMetamaskSupported();\n const snaps = (await this.provider.request({ method: 'wallet_getSnaps' })) as Record<\n string,\n { version: string }\n >;\n const version = snaps[snapId]?.version;\n if (version == null)\n throw new UnsupportedPlatformError('Aeternity snap is not installed to MetaMask');\n return version;\n }\n\n /**\n * Get an instance of AccountMetaMask for a given account index.\n * @param accountIndex - Index of account\n */\n async initialize(accountIndex: number): Promise<AccountMetamask> {\n await this.#ensureReady();\n const address = await invokeSnap<Encoded.AccountAddress>(\n this.provider,\n 'getPublicKey',\n { derivationPath: [`${accountIndex}'`, \"0'\", \"0'\"] },\n 'publicKey',\n );\n return new AccountMetamask(this.provider, accountIndex, address);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import AccountBaseFactory from './BaseFactory.js';
|
|
2
|
+
import AccountMemory from './Memory.js';
|
|
3
|
+
import { Encoded } from '../utils/encoder.js';
|
|
4
|
+
export declare const ED25519_CURVE: Buffer;
|
|
5
|
+
interface KeyTreeNode {
|
|
6
|
+
secretKey: Uint8Array;
|
|
7
|
+
chainCode: Uint8Array;
|
|
8
|
+
}
|
|
9
|
+
export declare function deriveKey(message: Uint8Array, key: Uint8Array): KeyTreeNode;
|
|
10
|
+
export declare function derivePathFromKey(key: KeyTreeNode, segments: readonly number[]): KeyTreeNode;
|
|
11
|
+
interface Wallet {
|
|
12
|
+
secretKey: Encoded.Bytearray;
|
|
13
|
+
chainCode: Encoded.Bytearray;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A factory class that generates instances of AccountMemory based on provided mnemonic phrase.
|
|
17
|
+
*/
|
|
18
|
+
export default class AccountMnemonicFactory extends AccountBaseFactory {
|
|
19
|
+
#private;
|
|
20
|
+
/**
|
|
21
|
+
* @param mnemonicOrWallet - BIP39-compatible mnemonic phrase or a wallet derived from mnemonic
|
|
22
|
+
*/
|
|
23
|
+
constructor(mnemonicOrWallet: string | Wallet);
|
|
24
|
+
/**
|
|
25
|
+
* Get a wallet to initialize AccountMnemonicFactory instead mnemonic phrase.
|
|
26
|
+
* In comparison with mnemonic, the wallet can be used to derive aeternity accounts only.
|
|
27
|
+
*/
|
|
28
|
+
getWallet(): Promise<Wallet>;
|
|
29
|
+
/**
|
|
30
|
+
* Get an instance of AccountMemory for a given account index.
|
|
31
|
+
* @param accountIndex - Index of account
|
|
32
|
+
*/
|
|
33
|
+
initialize(accountIndex: number): Promise<AccountMemory>;
|
|
34
|
+
}
|
|
35
|
+
export {};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { Buffer as _Buffer } from "buffer";
|
|
2
|
+
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
|
3
|
+
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
4
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
5
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
6
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
7
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
8
|
+
import { mnemonicToSeed } from '@scure/bip39';
|
|
9
|
+
import tweetnaclAuth from 'tweetnacl-auth';
|
|
10
|
+
import AccountBaseFactory from './BaseFactory.js';
|
|
11
|
+
import AccountMemory from './Memory.js';
|
|
12
|
+
import { encode, Encoding, decode } from '../utils/encoder.js';
|
|
13
|
+
import { concatBuffers } from '../utils/other.js';
|
|
14
|
+
import { InternalError } from '../utils/errors.js';
|
|
15
|
+
export const ED25519_CURVE = _Buffer.from('ed25519 seed');
|
|
16
|
+
const HARDENED_OFFSET = 0x80000000;
|
|
17
|
+
export function deriveKey(message, key) {
|
|
18
|
+
const I = tweetnaclAuth.full(message, key);
|
|
19
|
+
const IL = I.slice(0, 32);
|
|
20
|
+
const IR = I.slice(32);
|
|
21
|
+
return {
|
|
22
|
+
secretKey: IL,
|
|
23
|
+
chainCode: IR
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function derivePathFromKey(key, segments) {
|
|
27
|
+
return segments.reduce(({
|
|
28
|
+
secretKey,
|
|
29
|
+
chainCode
|
|
30
|
+
}, segment) => {
|
|
31
|
+
const indexBuffer = _Buffer.allocUnsafe(4);
|
|
32
|
+
indexBuffer.writeUInt32BE(segment + HARDENED_OFFSET, 0);
|
|
33
|
+
const data = concatBuffers([_Buffer.alloc(1, 0), secretKey, indexBuffer]);
|
|
34
|
+
return deriveKey(data, chainCode);
|
|
35
|
+
}, key);
|
|
36
|
+
}
|
|
37
|
+
var _mnemonic = /*#__PURE__*/new WeakMap();
|
|
38
|
+
var _wallet = /*#__PURE__*/new WeakMap();
|
|
39
|
+
var _AccountMnemonicFactory_brand = /*#__PURE__*/new WeakSet();
|
|
40
|
+
/**
|
|
41
|
+
* A factory class that generates instances of AccountMemory based on provided mnemonic phrase.
|
|
42
|
+
*/
|
|
43
|
+
export default class AccountMnemonicFactory extends AccountBaseFactory {
|
|
44
|
+
/**
|
|
45
|
+
* @param mnemonicOrWallet - BIP39-compatible mnemonic phrase or a wallet derived from mnemonic
|
|
46
|
+
*/
|
|
47
|
+
constructor(mnemonicOrWallet) {
|
|
48
|
+
super();
|
|
49
|
+
_classPrivateMethodInitSpec(this, _AccountMnemonicFactory_brand);
|
|
50
|
+
_classPrivateFieldInitSpec(this, _mnemonic, void 0);
|
|
51
|
+
_classPrivateFieldInitSpec(this, _wallet, void 0);
|
|
52
|
+
if (typeof mnemonicOrWallet === 'string') _classPrivateFieldSet(_mnemonic, this, mnemonicOrWallet);else _classPrivateFieldSet(_wallet, this, mnemonicOrWallet);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Get a wallet to initialize AccountMnemonicFactory instead mnemonic phrase.
|
|
57
|
+
* In comparison with mnemonic, the wallet can be used to derive aeternity accounts only.
|
|
58
|
+
*/
|
|
59
|
+
async getWallet() {
|
|
60
|
+
if (_classPrivateFieldGet(_wallet, this) != null) return _classPrivateFieldGet(_wallet, this);
|
|
61
|
+
if (_classPrivateFieldGet(_mnemonic, this) == null) throw new InternalError('AccountMnemonicFactory should be initialized with mnemonic or wallet');
|
|
62
|
+
const seed = await mnemonicToSeed(_classPrivateFieldGet(_mnemonic, this));
|
|
63
|
+
const masterKey = deriveKey(seed, ED25519_CURVE);
|
|
64
|
+
const walletKey = derivePathFromKey(masterKey, [44, 457]);
|
|
65
|
+
_classPrivateFieldSet(_wallet, this, {
|
|
66
|
+
secretKey: encode(walletKey.secretKey, Encoding.Bytearray),
|
|
67
|
+
chainCode: encode(walletKey.chainCode, Encoding.Bytearray)
|
|
68
|
+
});
|
|
69
|
+
return _classPrivateFieldGet(_wallet, this);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Get an instance of AccountMemory for a given account index.
|
|
73
|
+
* @param accountIndex - Index of account
|
|
74
|
+
*/
|
|
75
|
+
async initialize(accountIndex) {
|
|
76
|
+
return new AccountMemory(await _assertClassBrand(_AccountMnemonicFactory_brand, this, _getAccountSecretKey).call(this, accountIndex));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
async function _getAccountSecretKey(accountIndex) {
|
|
80
|
+
const wallet = await this.getWallet();
|
|
81
|
+
const walletKey = {
|
|
82
|
+
secretKey: decode(wallet.secretKey),
|
|
83
|
+
chainCode: decode(wallet.chainCode)
|
|
84
|
+
};
|
|
85
|
+
const raw = derivePathFromKey(walletKey, [accountIndex, 0, 0]).secretKey;
|
|
86
|
+
return encode(raw, Encoding.AccountSecretKey);
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=MnemonicFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MnemonicFactory.js","names":["mnemonicToSeed","tweetnaclAuth","AccountBaseFactory","AccountMemory","encode","Encoding","decode","concatBuffers","InternalError","ED25519_CURVE","_Buffer","from","HARDENED_OFFSET","deriveKey","message","key","I","full","IL","slice","IR","secretKey","chainCode","derivePathFromKey","segments","reduce","segment","indexBuffer","allocUnsafe","writeUInt32BE","data","alloc","_mnemonic","WeakMap","_wallet","_AccountMnemonicFactory_brand","WeakSet","AccountMnemonicFactory","constructor","mnemonicOrWallet","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_classPrivateFieldSet","getWallet","_classPrivateFieldGet","seed","masterKey","walletKey","Bytearray","initialize","accountIndex","_assertClassBrand","_getAccountSecretKey","call","wallet","raw","AccountSecretKey"],"sources":["../../src/account/MnemonicFactory.ts"],"sourcesContent":["import { mnemonicToSeed } from '@scure/bip39';\nimport tweetnaclAuth from 'tweetnacl-auth';\nimport AccountBaseFactory from './BaseFactory.js';\nimport AccountMemory from './Memory.js';\nimport { encode, Encoding, Encoded, decode } from '../utils/encoder.js';\nimport { concatBuffers } from '../utils/other.js';\nimport { InternalError } from '../utils/errors.js';\n\nexport const ED25519_CURVE = Buffer.from('ed25519 seed');\nconst HARDENED_OFFSET = 0x80000000;\n\ninterface KeyTreeNode {\n secretKey: Uint8Array;\n chainCode: Uint8Array;\n}\n\nexport function deriveKey(message: Uint8Array, key: Uint8Array): KeyTreeNode {\n const I = tweetnaclAuth.full(message, key);\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n return {\n secretKey: IL,\n chainCode: IR,\n };\n}\n\nexport function derivePathFromKey(key: KeyTreeNode, segments: readonly number[]): KeyTreeNode {\n return segments.reduce(({ secretKey, chainCode }, segment) => {\n const indexBuffer = Buffer.allocUnsafe(4);\n indexBuffer.writeUInt32BE(segment + HARDENED_OFFSET, 0);\n const data = concatBuffers([Buffer.alloc(1, 0), secretKey, indexBuffer]);\n return deriveKey(data, chainCode);\n }, key);\n}\n\ninterface Wallet {\n secretKey: Encoded.Bytearray;\n chainCode: Encoded.Bytearray;\n}\n\n/**\n * A factory class that generates instances of AccountMemory based on provided mnemonic phrase.\n */\nexport default class AccountMnemonicFactory extends AccountBaseFactory {\n readonly #mnemonic: string | undefined;\n\n #wallet: Wallet | undefined;\n\n /**\n * @param mnemonicOrWallet - BIP39-compatible mnemonic phrase or a wallet derived from mnemonic\n */\n constructor(mnemonicOrWallet: string | Wallet) {\n super();\n if (typeof mnemonicOrWallet === 'string') this.#mnemonic = mnemonicOrWallet;\n else this.#wallet = mnemonicOrWallet;\n }\n\n /**\n * Get a wallet to initialize AccountMnemonicFactory instead mnemonic phrase.\n * In comparison with mnemonic, the wallet can be used to derive aeternity accounts only.\n */\n async getWallet(): Promise<Wallet> {\n if (this.#wallet != null) return this.#wallet;\n if (this.#mnemonic == null)\n throw new InternalError(\n 'AccountMnemonicFactory should be initialized with mnemonic or wallet',\n );\n const seed = await mnemonicToSeed(this.#mnemonic);\n const masterKey = deriveKey(seed, ED25519_CURVE);\n const walletKey = derivePathFromKey(masterKey, [44, 457]);\n this.#wallet = {\n secretKey: encode(walletKey.secretKey, Encoding.Bytearray),\n chainCode: encode(walletKey.chainCode, Encoding.Bytearray),\n };\n return this.#wallet;\n }\n\n async #getAccountSecretKey(accountIndex: number): Promise<Encoded.AccountSecretKey> {\n const wallet = await this.getWallet();\n const walletKey = {\n secretKey: decode(wallet.secretKey),\n chainCode: decode(wallet.chainCode),\n };\n const raw = derivePathFromKey(walletKey, [accountIndex, 0, 0]).secretKey;\n return encode(raw, Encoding.AccountSecretKey);\n }\n\n /**\n * Get an instance of AccountMemory for a given account index.\n * @param accountIndex - Index of account\n */\n async initialize(accountIndex: number): Promise<AccountMemory> {\n return new AccountMemory(await this.#getAccountSecretKey(accountIndex));\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/es/account/Rpc.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import AccountBase from './Base';
|
|
2
|
-
import { Encoded } from '../utils/encoder';
|
|
3
|
-
import RpcClient from '../aepp-wallet-communication/rpc/RpcClient';
|
|
4
|
-
import { AeppApi, WalletApi } from '../aepp-wallet-communication/rpc/types';
|
|
5
|
-
import { AensName, ConsensusProtocolVersion } from '../tx/builder/constants';
|
|
1
|
+
import AccountBase from './Base.js';
|
|
2
|
+
import { Encoded } from '../utils/encoder.js';
|
|
3
|
+
import RpcClient from '../aepp-wallet-communication/rpc/RpcClient.js';
|
|
4
|
+
import { AeppApi, WalletApi } from '../aepp-wallet-communication/rpc/types.js';
|
|
6
5
|
/**
|
|
7
6
|
* Account provided by wallet
|
|
8
7
|
* @param params - Params
|
|
@@ -17,19 +16,6 @@ export default class AccountRpc extends AccountBase {
|
|
|
17
16
|
sign(dataRaw: string | Uint8Array): Promise<Uint8Array>;
|
|
18
17
|
signTransaction(tx: Encoded.Transaction, { innerTx, networkId }?: Parameters<AccountBase['signTransaction']>[1]): Promise<Encoded.Transaction>;
|
|
19
18
|
signMessage(message: string): Promise<Uint8Array>;
|
|
20
|
-
signTypedData(data: Encoded.ContractBytearray, aci: Parameters<AccountBase['signTypedData']>[1], { name, version, contractAddress, networkId
|
|
21
|
-
signDelegationToContract(contractAddress: Encoded.ContractAddress, { consensusProtocolVersion, isOracle }?: {
|
|
22
|
-
consensusProtocolVersion?: ConsensusProtocolVersion;
|
|
23
|
-
isOracle?: boolean;
|
|
24
|
-
}): Promise<Encoded.Signature>;
|
|
25
|
-
signNameDelegationToContract(contractAddress: Encoded.ContractAddress, name: AensName, { consensusProtocolVersion }?: {
|
|
26
|
-
consensusProtocolVersion?: ConsensusProtocolVersion;
|
|
27
|
-
}): Promise<Encoded.Signature>;
|
|
28
|
-
signAllNamesDelegationToContract(contractAddress: Encoded.ContractAddress, { consensusProtocolVersion }?: {
|
|
29
|
-
consensusProtocolVersion?: ConsensusProtocolVersion;
|
|
30
|
-
}): Promise<Encoded.Signature>;
|
|
31
|
-
signOracleQueryDelegationToContract(contractAddress: Encoded.ContractAddress, oracleQueryId: Encoded.OracleQueryId, { consensusProtocolVersion }?: {
|
|
32
|
-
consensusProtocolVersion?: ConsensusProtocolVersion;
|
|
33
|
-
}): Promise<Encoded.Signature>;
|
|
19
|
+
signTypedData(data: Encoded.ContractBytearray, aci: Parameters<AccountBase['signTypedData']>[1], { name, version, contractAddress, networkId }?: Parameters<AccountBase['signTypedData']>[2]): Promise<Encoded.Signature>;
|
|
34
20
|
signDelegation(delegation: Encoded.Bytearray): Promise<Encoded.Signature>;
|
|
35
21
|
}
|