@aeternity/aepp-sdk 12.1.3 → 13.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/aesophia_cli +0 -0
- package/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.map +1 -1
- package/dist/aepp-sdk.browser.js +1 -1
- package/dist/aepp-sdk.browser.js.map +1 -1
- package/dist/aepp-sdk.js +12031 -11231
- package/dist/aepp-sdk.js.map +1 -1
- package/es/AeSdk.d.ts +7 -3
- package/es/AeSdk.mjs +17 -22
- package/es/AeSdk.mjs.map +1 -1
- package/es/AeSdkAepp.d.ts +6 -5
- package/es/AeSdkAepp.mjs +7 -30
- package/es/AeSdkAepp.mjs.map +1 -1
- package/es/AeSdkBase.d.ts +18 -140
- package/es/AeSdkBase.mjs +30 -184
- package/es/AeSdkBase.mjs.map +1 -1
- package/es/AeSdkMethods.d.ts +123 -0
- package/es/AeSdkMethods.mjs +122 -0
- package/es/AeSdkMethods.mjs.map +1 -0
- package/es/AeSdkWallet.d.ts +7 -21
- package/es/AeSdkWallet.mjs +38 -86
- package/es/AeSdkWallet.mjs.map +1 -1
- package/es/Node.d.ts +11 -15
- package/es/Node.mjs +35 -48
- package/es/Node.mjs.map +1 -1
- package/es/account/Base.d.ts +24 -40
- package/es/account/Base.mjs +1 -101
- package/es/account/Base.mjs.map +1 -1
- package/es/account/Generalized.d.ts +16 -0
- package/es/account/Generalized.mjs +113 -0
- package/es/account/Generalized.mjs.map +1 -0
- package/es/account/Ledger.d.ts +28 -0
- package/es/account/Ledger.mjs +102 -0
- package/es/account/Ledger.mjs.map +1 -0
- package/es/account/LedgerFactory.d.ts +39 -0
- package/es/account/LedgerFactory.mjs +81 -0
- package/es/account/LedgerFactory.mjs.map +1 -0
- package/es/account/Memory.d.ts +13 -17
- package/es/account/Memory.mjs +43 -64
- package/es/account/Memory.mjs.map +1 -1
- package/es/account/Rpc.d.ts +6 -8
- package/es/account/Rpc.mjs +14 -32
- package/es/account/Rpc.mjs.map +1 -1
- package/es/aens.d.ts +4 -4
- package/es/aens.mjs +46 -41
- package/es/aens.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/Browser.mjs +9 -13
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +22 -11
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +1 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -31
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +3 -3
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +5 -42
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/types.d.ts +7 -1
- package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
- package/es/aepp-wallet-communication/schema.mjs +14 -68
- package/es/aepp-wallet-communication/schema.mjs.map +1 -1
- package/es/aepp-wallet-communication/wallet-detector.mjs +0 -3
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
- package/es/apis/compiler/compiler.d.ts +23 -29
- package/es/apis/compiler/compiler.mjs +128 -189
- package/es/apis/compiler/compiler.mjs.map +1 -1
- package/es/apis/compiler/index.mjs.map +1 -1
- package/es/apis/compiler/models/index.d.ts +82 -135
- package/es/apis/compiler/models/index.mjs +1 -47
- package/es/apis/compiler/models/index.mjs.map +1 -1
- package/es/apis/compiler/models/mappers.d.ts +8 -8
- package/es/apis/compiler/models/mappers.mjs +165 -183
- package/es/apis/compiler/models/mappers.mjs.map +1 -1
- package/es/apis/compiler/models/parameters.d.ts +0 -1
- package/es/apis/compiler/models/parameters.mjs +5 -9
- package/es/apis/compiler/models/parameters.mjs.map +1 -1
- package/es/apis/node/index.mjs.map +1 -1
- package/es/apis/node/models/index.d.ts +48 -48
- package/es/apis/node/models/mappers.mjs +12 -6
- package/es/apis/node/models/mappers.mjs.map +1 -1
- package/es/apis/node/models/parameters.mjs.map +1 -1
- package/es/apis/node/node.mjs +43 -84
- package/es/apis/node/node.mjs.map +1 -1
- package/es/chain.d.ts +10 -2
- package/es/chain.mjs +37 -59
- package/es/chain.mjs.map +1 -1
- package/es/channel/Base.d.ts +200 -0
- package/es/channel/Base.mjs +293 -0
- package/es/channel/Base.mjs.map +1 -0
- package/es/channel/Contract.d.ts +248 -0
- package/es/channel/Contract.mjs +420 -0
- package/es/channel/Contract.mjs.map +1 -0
- package/es/channel/Spend.d.ts +219 -0
- package/es/channel/Spend.mjs +385 -0
- package/es/channel/Spend.mjs.map +1 -0
- package/es/channel/handlers.d.ts +8 -21
- package/es/channel/handlers.mjs +151 -899
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/internal.d.ts +27 -21
- package/es/channel/internal.mjs +101 -191
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/Contract.d.ts +210 -0
- package/es/contract/Contract.mjs +551 -0
- package/es/contract/Contract.mjs.map +1 -0
- package/es/contract/compiler/Base.d.ts +81 -0
- package/es/contract/compiler/Base.mjs +5 -0
- package/es/contract/compiler/Base.mjs.map +1 -0
- package/es/contract/compiler/Cli.d.ts +23 -0
- package/es/contract/compiler/Cli.mjs +155 -0
- package/es/contract/compiler/Cli.mjs.map +1 -0
- package/es/contract/compiler/Http.d.ts +32 -0
- package/es/contract/compiler/Http.mjs +118 -0
- package/es/contract/compiler/Http.mjs.map +1 -0
- package/es/contract/compiler/HttpNode.d.ts +17 -0
- package/es/contract/compiler/HttpNode.mjs +26 -0
- package/es/contract/compiler/HttpNode.mjs.map +1 -0
- package/es/contract/compiler/getFileSystem.d.ts +6 -0
- package/es/contract/compiler/getFileSystem.mjs +40 -0
- package/es/contract/compiler/getFileSystem.mjs.map +1 -0
- package/es/contract/ga.d.ts +9 -34
- package/es/contract/ga.mjs +29 -112
- package/es/contract/ga.mjs.map +1 -1
- package/es/index-browser.d.ts +39 -0
- package/es/index-browser.mjs +55 -0
- package/es/index-browser.mjs.map +1 -0
- package/es/index.d.ts +4 -35
- package/es/index.mjs +4 -51
- package/es/index.mjs.map +1 -1
- package/es/oracle.d.ts +5 -5
- package/es/oracle.mjs +34 -40
- package/es/oracle.mjs.map +1 -1
- package/es/spend.d.ts +3 -3
- package/es/spend.mjs +18 -23
- package/es/spend.mjs.map +1 -1
- package/es/tx/builder/constants.d.ts +30 -2
- package/es/tx/builder/constants.mjs +43 -14
- package/es/tx/builder/constants.mjs.map +1 -1
- package/es/tx/builder/field-types/abi-version.d.ts +10 -0
- package/es/tx/builder/field-types/abi-version.mjs +20 -0
- package/es/tx/builder/field-types/abi-version.mjs.map +1 -0
- package/es/tx/builder/field-types/address.d.ts +14 -0
- package/es/tx/builder/field-types/address.mjs +51 -0
- package/es/tx/builder/field-types/address.mjs.map +1 -0
- package/es/tx/builder/field-types/array.d.ts +7 -0
- package/es/tx/builder/field-types/array.mjs +11 -0
- package/es/tx/builder/field-types/array.mjs.map +1 -0
- package/es/tx/builder/field-types/boolean.d.ts +6 -0
- package/es/tx/builder/field-types/boolean.mjs +13 -0
- package/es/tx/builder/field-types/boolean.mjs.map +1 -0
- package/es/tx/builder/field-types/coin-amount.d.ts +2 -3
- package/es/tx/builder/field-types/coin-amount.mjs +4 -12
- package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
- package/es/tx/builder/field-types/ct-version.d.ts +30 -0
- package/es/tx/builder/field-types/ct-version.mjs +48 -0
- package/es/tx/builder/field-types/ct-version.mjs.map +1 -0
- package/es/tx/builder/field-types/deposit.d.ts +1 -2
- package/es/tx/builder/field-types/deposit.mjs +2 -4
- package/es/tx/builder/field-types/deposit.mjs.map +1 -1
- package/es/tx/builder/field-types/encoded.d.ts +6 -0
- package/es/tx/builder/field-types/encoded.mjs +21 -0
- package/es/tx/builder/field-types/encoded.mjs.map +1 -0
- package/es/tx/builder/field-types/entry.d.ts +11 -0
- package/es/tx/builder/field-types/entry.mjs +31 -0
- package/es/tx/builder/field-types/entry.mjs.map +1 -0
- package/es/tx/builder/field-types/enumeration.d.ts +7 -0
- package/es/tx/builder/field-types/enumeration.mjs +30 -0
- package/es/tx/builder/field-types/enumeration.mjs.map +1 -0
- package/es/tx/builder/field-types/fee.d.ts +10 -15
- package/es/tx/builder/field-types/fee.mjs +31 -43
- package/es/tx/builder/field-types/fee.mjs.map +1 -1
- package/es/tx/builder/field-types/field.mjs +0 -2
- package/es/tx/builder/field-types/field.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-limit.d.ts +5 -2
- package/es/tx/builder/field-types/gas-limit.mjs +12 -14
- package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-price.d.ts +1 -2
- package/es/tx/builder/field-types/gas-price.mjs +3 -7
- package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
- package/es/tx/builder/field-types/index.d.ts +80 -30
- package/es/tx/builder/field-types/index.mjs +34 -9
- package/es/tx/builder/field-types/index.mjs.map +1 -1
- package/es/tx/builder/field-types/mptree.d.ts +37 -0
- package/es/tx/builder/field-types/mptree.mjs +268 -0
- package/es/tx/builder/field-types/mptree.mjs.map +1 -0
- package/es/tx/builder/field-types/name-fee.d.ts +1 -3
- package/es/tx/builder/field-types/name-fee.mjs +3 -5
- package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
- package/es/tx/builder/field-types/name-id.d.ts +1 -4
- package/es/tx/builder/field-types/name-id.mjs +5 -10
- package/es/tx/builder/field-types/name-id.mjs.map +1 -1
- package/es/tx/builder/field-types/name.mjs +0 -2
- package/es/tx/builder/field-types/name.mjs.map +1 -1
- package/es/tx/builder/field-types/pointers.d.ts +23 -0
- package/es/tx/builder/field-types/pointers.mjs +36 -0
- package/es/tx/builder/field-types/pointers.mjs.map +1 -0
- package/es/tx/builder/field-types/raw.d.ts +6 -0
- package/es/tx/builder/field-types/raw.mjs +13 -0
- package/es/tx/builder/field-types/raw.mjs.map +1 -0
- package/es/tx/builder/field-types/short-u-int-const.d.ts +5 -0
- package/es/tx/builder/field-types/short-u-int-const.mjs +16 -0
- package/es/tx/builder/field-types/short-u-int-const.mjs.map +1 -0
- package/es/tx/builder/field-types/short-u-int.mjs +0 -2
- package/es/tx/builder/field-types/short-u-int.mjs.map +1 -1
- package/es/tx/builder/field-types/string.d.ts +6 -0
- package/es/tx/builder/field-types/string.mjs +10 -0
- package/es/tx/builder/field-types/string.mjs.map +1 -0
- package/es/tx/builder/field-types/u-int.d.ts +1 -2
- package/es/tx/builder/field-types/u-int.mjs +3 -4
- package/es/tx/builder/field-types/u-int.mjs.map +1 -1
- package/es/tx/builder/helpers.d.ts +2 -32
- package/es/tx/builder/helpers.mjs +19 -71
- package/es/tx/builder/helpers.mjs.map +1 -1
- package/es/tx/builder/index.d.ts +11 -49
- package/es/tx/builder/index.mjs +57 -337
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +2367 -667
- package/es/tx/builder/schema.mjs +70 -145
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/tx/index.d.ts +4 -49
- package/es/tx/index.mjs +38 -112
- package/es/tx/index.mjs.map +1 -1
- package/es/tx/validator.d.ts +4 -6
- package/es/tx/validator.mjs +104 -90
- package/es/tx/validator.mjs.map +1 -1
- package/es/typings/{@aeternity__argon2-browser → @aeternity__aepp-calldata}/index.d.mjs +0 -0
- package/es/typings/@aeternity__aepp-calldata/index.d.mjs.map +1 -0
- package/es/utils/amount-formatter.mjs +4 -10
- package/es/utils/amount-formatter.mjs.map +1 -1
- package/es/utils/autorest.d.ts +1 -0
- package/es/utils/autorest.mjs +17 -19
- package/es/utils/autorest.mjs.map +1 -1
- package/es/utils/bignumber.mjs +4 -7
- package/es/utils/bignumber.mjs.map +1 -1
- package/es/utils/bytes.d.ts +0 -17
- package/es/utils/bytes.mjs +6 -35
- package/es/utils/bytes.mjs.map +1 -1
- package/es/utils/crypto.d.ts +15 -8
- package/es/utils/crypto.mjs +40 -40
- package/es/utils/crypto.mjs.map +1 -1
- package/es/utils/encoder-types.d.ts +28 -28
- package/es/utils/encoder-types.mjs +0 -1
- package/es/utils/encoder-types.mjs.map +1 -1
- package/es/utils/encoder.d.ts +0 -1
- package/es/utils/encoder.mjs +7 -15
- package/es/utils/encoder.mjs.map +1 -1
- package/es/utils/errors.d.ts +15 -14
- package/es/utils/errors.mjs +86 -172
- package/es/utils/errors.mjs.map +1 -1
- package/es/utils/hd-wallet.d.ts +27 -19
- package/es/utils/hd-wallet.mjs +42 -26
- package/es/utils/hd-wallet.mjs.map +1 -1
- package/es/utils/json-big.mjs +0 -8
- package/es/utils/json-big.mjs.map +1 -1
- package/es/utils/keystore.d.ts +2 -0
- package/es/utils/keystore.mjs +37 -36
- package/es/utils/keystore.mjs.map +1 -1
- package/es/utils/other.d.ts +4 -2
- package/es/utils/other.mjs +11 -7
- package/es/utils/other.mjs.map +1 -1
- package/es/utils/semver-satisfies.mjs +0 -3
- package/es/utils/semver-satisfies.mjs.map +1 -1
- package/es/utils/string.d.ts +0 -12
- package/es/utils/string.mjs +1 -21
- package/es/utils/string.mjs.map +1 -1
- package/package.json +98 -51
- package/src/AeSdk.ts +15 -11
- package/src/AeSdkAepp.ts +9 -7
- package/src/AeSdkBase.ts +31 -202
- package/src/AeSdkMethods.ts +169 -0
- package/src/AeSdkWallet.ts +16 -47
- package/src/Node.ts +17 -18
- package/src/account/Base.ts +29 -75
- package/src/account/Generalized.ts +98 -0
- package/src/account/Ledger.ts +131 -0
- package/src/account/LedgerFactory.ts +86 -0
- package/src/account/Memory.ts +46 -60
- package/src/account/Rpc.ts +17 -26
- package/src/aens.ts +13 -11
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +21 -9
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +3 -3
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +4 -4
- package/src/aepp-wallet-communication/rpc/types.ts +11 -1
- package/src/aepp-wallet-communication/schema.ts +18 -18
- package/src/apis/compiler/code-model-v4.yaml +681 -888
- package/src/apis/compiler/compiler.ts +113 -154
- package/src/apis/compiler/models/index.ts +80 -140
- package/src/apis/compiler/models/mappers.ts +165 -183
- package/src/apis/compiler/models/parameters.ts +6 -12
- package/src/chain.ts +11 -6
- package/src/channel/Base.ts +335 -0
- package/src/channel/Contract.ts +488 -0
- package/src/channel/Spend.ts +408 -0
- package/src/channel/handlers.ts +164 -582
- package/src/channel/internal.ts +114 -143
- package/src/contract/Contract.ts +610 -0
- package/src/contract/compiler/Base.ts +94 -0
- package/src/contract/compiler/Cli.ts +134 -0
- package/src/contract/compiler/Http.ts +124 -0
- package/src/contract/compiler/HttpNode.ts +26 -0
- package/src/contract/compiler/getFileSystem.ts +42 -0
- package/src/contract/ga.ts +23 -106
- package/src/index-browser.ts +58 -0
- package/src/index.ts +4 -55
- package/src/oracle.ts +8 -8
- package/src/spend.ts +6 -14
- package/src/tx/builder/constants.ts +33 -3
- package/src/tx/builder/field-types/abi-version.ts +21 -0
- package/src/tx/builder/field-types/address.ts +62 -0
- package/src/tx/builder/field-types/array.ts +19 -0
- package/src/tx/builder/field-types/boolean.ts +9 -0
- package/src/tx/builder/field-types/coin-amount.ts +4 -9
- package/src/tx/builder/field-types/ct-version.ts +50 -0
- package/src/tx/builder/field-types/deposit.ts +1 -1
- package/src/tx/builder/field-types/encoded.ts +27 -0
- package/src/tx/builder/field-types/entry.ts +31 -0
- package/src/tx/builder/field-types/enumeration.ts +32 -0
- package/src/tx/builder/field-types/fee.ts +39 -21
- package/src/tx/builder/field-types/gas-limit.ts +13 -8
- package/src/tx/builder/field-types/gas-price.ts +0 -2
- package/src/tx/builder/field-types/index.ts +54 -15
- package/src/tx/builder/field-types/mptree.ts +242 -0
- package/src/tx/builder/field-types/name-fee.ts +2 -3
- package/src/tx/builder/field-types/name-id.ts +7 -10
- package/src/tx/builder/field-types/pointers.ts +41 -0
- package/src/tx/builder/field-types/raw.ts +9 -0
- package/src/tx/builder/field-types/short-u-int-const.ts +20 -0
- package/src/tx/builder/field-types/string.ts +11 -0
- package/src/tx/builder/field-types/u-int.ts +4 -5
- package/src/tx/builder/helpers.ts +10 -60
- package/src/tx/builder/index.ts +65 -308
- package/src/tx/builder/schema.ts +280 -341
- package/src/tx/index.ts +40 -103
- package/src/tx/validator.ts +91 -96
- package/src/typings/@aeternity__aepp-calldata/index.d.ts +20 -0
- package/src/utils/autorest.ts +16 -1
- package/src/utils/bytes.ts +6 -34
- package/src/utils/crypto.ts +23 -16
- package/src/utils/encoder.ts +0 -1
- package/src/utils/errors.ts +22 -25
- package/src/utils/hd-wallet.ts +30 -9
- package/src/utils/keystore.ts +24 -21
- package/src/utils/other.ts +16 -1
- package/src/utils/string.ts +0 -20
- package/types-legacy/ts4.2/AeSdk.d.ts +41 -0
- package/types-legacy/ts4.2/AeSdkAepp.d.ts +71 -0
- package/types-legacy/ts4.2/AeSdkBase.d.ts +91 -0
- package/types-legacy/ts4.2/AeSdkMethods.d.ts +140 -0
- package/types-legacy/ts4.2/AeSdkWallet.d.ts +90 -0
- package/types-legacy/ts4.2/Node.d.ts +78 -0
- package/types-legacy/ts4.2/account/Base.d.ts +52 -0
- package/types-legacy/ts4.2/account/Generalized.d.ts +16 -0
- package/types-legacy/ts4.2/account/Ledger.d.ts +28 -0
- package/types-legacy/ts4.2/account/LedgerFactory.d.ts +39 -0
- package/types-legacy/ts4.2/account/Memory.d.ts +22 -0
- package/types-legacy/ts4.2/account/Rpc.d.ts +25 -0
- package/types-legacy/ts4.2/aens.d.ts +222 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/Browser.d.ts +33 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +19 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/connection-proxy.d.ts +11 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +83 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +133 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +25 -0
- package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +86 -0
- package/types-legacy/ts4.2/apis/compiler/index.d.ts +2 -0
- package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +195 -0
- package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +23 -0
- package/types-legacy/ts4.2/apis/compiler/models/parameters.d.ts +12 -0
- package/types-legacy/ts4.2/apis/node/index.d.ts +2 -0
- package/types-legacy/ts4.2/apis/node/models/index.d.ts +1065 -0
- package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +95 -0
- package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +17 -0
- package/types-legacy/ts4.2/apis/node/node.d.ts +215 -0
- package/types-legacy/ts4.2/chain.d.ts +256 -0
- package/types-legacy/ts4.2/channel/Base.d.ts +199 -0
- package/types-legacy/ts4.2/channel/Contract.d.ts +248 -0
- package/types-legacy/ts4.2/channel/Spend.d.ts +219 -0
- package/types-legacy/ts4.2/channel/handlers.d.ts +21 -0
- package/types-legacy/ts4.2/channel/internal.d.ts +107 -0
- package/types-legacy/ts4.2/contract/Contract.d.ts +212 -0
- package/types-legacy/ts4.2/contract/compiler/Base.d.ts +81 -0
- package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +23 -0
- package/types-legacy/ts4.2/contract/compiler/Http.d.ts +32 -0
- package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +17 -0
- package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +6 -0
- package/types-legacy/ts4.2/contract/ga.d.ts +44 -0
- package/types-legacy/ts4.2/globals.d.ts +16 -0
- package/types-legacy/ts4.2/index-browser.d.ts +39 -0
- package/types-legacy/ts4.2/index.d.ts +5 -0
- package/types-legacy/ts4.2/oracle.d.ts +161 -0
- package/types-legacy/ts4.2/spend.d.ts +62 -0
- package/types-legacy/ts4.2/tx/builder/constants.d.ts +98 -0
- package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +10 -0
- package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +21 -0
- package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +12 -0
- package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +42 -0
- package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +14 -0
- package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +11 -0
- package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +20 -0
- package/types-legacy/ts4.2/tx/builder/field-types/field.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +15 -0
- package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +129 -0
- package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +43 -0
- package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +18 -0
- package/types-legacy/ts4.2/tx/builder/field-types/name-id.d.ts +11 -0
- package/types-legacy/ts4.2/tx/builder/field-types/name.d.ts +13 -0
- package/types-legacy/ts4.2/tx/builder/field-types/pointers.d.ts +26 -0
- package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +5 -0
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/helpers.d.ts +112 -0
- package/types-legacy/ts4.2/tx/builder/index.d.ts +50 -0
- package/types-legacy/ts4.2/tx/builder/schema.d.ts +4675 -0
- package/types-legacy/ts4.2/tx/index.d.ts +19 -0
- package/types-legacy/ts4.2/tx/validator.d.ts +18 -0
- package/types-legacy/ts4.2/utils/amount-formatter.d.ts +42 -0
- package/types-legacy/ts4.2/utils/autorest.d.ts +7 -0
- package/types-legacy/ts4.2/utils/bignumber.d.ts +13 -0
- package/types-legacy/ts4.2/utils/bytes.d.ts +9 -0
- package/types-legacy/ts4.2/utils/crypto.d.ts +95 -0
- package/types-legacy/ts4.2/utils/encoder-types.d.ts +61 -0
- package/types-legacy/ts4.2/utils/encoder.d.ts +24 -0
- package/types-legacy/ts4.2/utils/errors.d.ts +475 -0
- package/types-legacy/ts4.2/utils/hd-wallet.d.ts +65 -0
- package/types-legacy/ts4.2/utils/json-big.d.ts +5 -0
- package/types-legacy/ts4.2/utils/keystore.d.ts +53 -0
- package/types-legacy/ts4.2/utils/other.d.ts +31 -0
- package/types-legacy/ts4.2/utils/semver-satisfies.d.ts +1 -0
- package/types-legacy/ts4.2/utils/string.d.ts +12 -0
- package/types-legacy/ts4.5/AeSdk.d.ts +41 -0
- package/types-legacy/ts4.5/AeSdkAepp.d.ts +71 -0
- package/types-legacy/ts4.5/AeSdkBase.d.ts +91 -0
- package/types-legacy/ts4.5/AeSdkMethods.d.ts +140 -0
- package/types-legacy/ts4.5/AeSdkWallet.d.ts +90 -0
- package/types-legacy/ts4.5/Node.d.ts +78 -0
- package/types-legacy/ts4.5/account/Base.d.ts +52 -0
- package/types-legacy/ts4.5/account/Generalized.d.ts +16 -0
- package/types-legacy/ts4.5/account/Ledger.d.ts +28 -0
- package/types-legacy/ts4.5/account/LedgerFactory.d.ts +39 -0
- package/types-legacy/ts4.5/account/Memory.d.ts +22 -0
- package/types-legacy/ts4.5/account/Rpc.d.ts +25 -0
- package/types-legacy/ts4.5/aens.d.ts +222 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/Browser.d.ts +33 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +19 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/connection-proxy.d.ts +11 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +83 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +133 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +25 -0
- package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +86 -0
- package/types-legacy/ts4.5/apis/compiler/index.d.ts +2 -0
- package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +195 -0
- package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +23 -0
- package/types-legacy/ts4.5/apis/compiler/models/parameters.d.ts +12 -0
- package/types-legacy/ts4.5/apis/node/index.d.ts +2 -0
- package/types-legacy/ts4.5/apis/node/models/index.d.ts +1065 -0
- package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +95 -0
- package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +17 -0
- package/types-legacy/ts4.5/apis/node/node.d.ts +215 -0
- package/types-legacy/ts4.5/chain.d.ts +256 -0
- package/types-legacy/ts4.5/channel/Base.d.ts +199 -0
- package/types-legacy/ts4.5/channel/Contract.d.ts +248 -0
- package/types-legacy/ts4.5/channel/Spend.d.ts +219 -0
- package/types-legacy/ts4.5/channel/handlers.d.ts +21 -0
- package/types-legacy/ts4.5/channel/internal.d.ts +107 -0
- package/types-legacy/ts4.5/contract/Contract.d.ts +212 -0
- package/types-legacy/ts4.5/contract/compiler/Base.d.ts +81 -0
- package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +23 -0
- package/types-legacy/ts4.5/contract/compiler/Http.d.ts +32 -0
- package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +17 -0
- package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +6 -0
- package/types-legacy/ts4.5/contract/ga.d.ts +44 -0
- package/types-legacy/ts4.5/index-browser.d.ts +39 -0
- package/types-legacy/ts4.5/index.d.ts +4 -0
- package/types-legacy/ts4.5/oracle.d.ts +161 -0
- package/types-legacy/ts4.5/spend.d.ts +62 -0
- package/types-legacy/ts4.5/tx/builder/constants.d.ts +98 -0
- package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +10 -0
- package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +21 -0
- package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +12 -0
- package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +42 -0
- package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +14 -0
- package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +11 -0
- package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +20 -0
- package/types-legacy/ts4.5/tx/builder/field-types/field.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +15 -0
- package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +129 -0
- package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +43 -0
- package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +18 -0
- package/types-legacy/ts4.5/tx/builder/field-types/name-id.d.ts +11 -0
- package/types-legacy/ts4.5/tx/builder/field-types/name.d.ts +13 -0
- package/types-legacy/ts4.5/tx/builder/field-types/pointers.d.ts +26 -0
- package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +5 -0
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/helpers.d.ts +112 -0
- package/types-legacy/ts4.5/tx/builder/index.d.ts +50 -0
- package/types-legacy/ts4.5/tx/builder/schema.d.ts +4675 -0
- package/types-legacy/ts4.5/tx/index.d.ts +19 -0
- package/types-legacy/ts4.5/tx/validator.d.ts +18 -0
- package/types-legacy/ts4.5/utils/amount-formatter.d.ts +42 -0
- package/types-legacy/ts4.5/utils/autorest.d.ts +7 -0
- package/types-legacy/ts4.5/utils/bignumber.d.ts +13 -0
- package/types-legacy/ts4.5/utils/bytes.d.ts +9 -0
- package/types-legacy/ts4.5/utils/crypto.d.ts +95 -0
- package/types-legacy/ts4.5/utils/encoder-types.d.ts +61 -0
- package/types-legacy/ts4.5/utils/encoder.d.ts +24 -0
- package/types-legacy/ts4.5/utils/errors.d.ts +475 -0
- package/types-legacy/ts4.5/utils/hd-wallet.d.ts +65 -0
- package/types-legacy/ts4.5/utils/json-big.d.ts +5 -0
- package/types-legacy/ts4.5/utils/keystore.d.ts +53 -0
- package/types-legacy/ts4.5/utils/other.d.ts +31 -0
- package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +1 -0
- package/types-legacy/ts4.5/utils/string.d.ts +12 -0
- package/es/channel/index.d.ts +0 -625
- package/es/channel/index.mjs +0 -975
- package/es/channel/index.mjs.map +0 -1
- package/es/contract/Compiler.d.ts +0 -18
- package/es/contract/Compiler.mjs +0 -68
- package/es/contract/Compiler.mjs.map +0 -1
- package/es/contract/aci.d.ts +0 -127
- package/es/contract/aci.mjs +0 -508
- package/es/contract/aci.mjs.map +0 -1
- package/es/contract/methods.d.ts +0 -71
- package/es/contract/methods.mjs +0 -104
- package/es/contract/methods.mjs.map +0 -1
- package/es/deprecated/index.d.ts +0 -143
- package/es/deprecated/index.mjs +0 -162
- package/es/deprecated/index.mjs.map +0 -1
- package/es/deprecated/methods.d.ts +0 -18
- package/es/deprecated/methods.mjs +0 -26
- package/es/deprecated/methods.mjs.map +0 -1
- package/es/tx/builder/address.d.ts +0 -25
- package/es/tx/builder/address.mjs +0 -45
- package/es/tx/builder/address.mjs.map +0 -1
- package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +0 -1
- package/es/utils/mptree.d.ts +0 -26
- package/es/utils/mptree.mjs +0 -165
- package/es/utils/mptree.mjs.map +0 -1
- package/src/channel/index.ts +0 -1025
- package/src/contract/Compiler.ts +0 -67
- package/src/contract/aci.ts +0 -537
- package/src/contract/methods.ts +0 -123
- package/src/deprecated/index.ts +0 -172
- package/src/deprecated/methods.ts +0 -25
- package/src/tx/builder/address.ts +0 -50
- package/src/typings/@aeternity__argon2-browser/index.d.ts +0 -3
- package/src/utils/mptree.ts +0 -145
package/es/AeSdkBase.mjs
CHANGED
|
@@ -1,73 +1,24 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import * as aensMethods from "./aens.mjs";
|
|
5
|
-
import * as spendMethods from "./spend.mjs";
|
|
6
|
-
import * as oracleMethods from "./oracle.mjs";
|
|
7
|
-
import * as contractMethods from "./contract/methods.mjs";
|
|
8
|
-
import * as contractGaMethods from "./contract/ga.mjs";
|
|
9
|
-
import * as deprecatedMethods from "./deprecated/methods.mjs";
|
|
10
|
-
import { _buildTx } from "./tx/index.mjs";
|
|
11
|
-
import { mapObject } from "./utils/other.mjs";
|
|
12
|
-
import { getNetworkId } from "./Node.mjs";
|
|
13
|
-
import { AE_AMOUNT_FORMATS } from "./utils/amount-formatter.mjs";
|
|
14
|
-
import { AMOUNT } from "./tx/builder/schema.mjs";
|
|
15
|
-
import MemoryAccount from "./account/Memory.mjs";
|
|
16
|
-
import { isAccountBase } from "./account/Base.mjs";
|
|
17
|
-
import { CompilerError, DuplicateNodeError, NodeNotFoundError, NotImplementedError, TypeError } from "./utils/errors.mjs";
|
|
18
|
-
import Compiler from "./contract/Compiler.mjs";
|
|
19
|
-
|
|
20
|
-
function getValueOrErrorProxy(valueCb) {
|
|
21
|
-
try {
|
|
22
|
-
return valueCb();
|
|
23
|
-
} catch (error) {
|
|
24
|
-
return new Proxy({}, Object.fromEntries(['get', 'set', 'has'].map(name => [name, () => {
|
|
25
|
-
throw error;
|
|
26
|
-
}])));
|
|
27
|
-
}
|
|
28
|
-
}
|
|
2
|
+
import { CompilerError, DuplicateNodeError, NodeNotFoundError } from "./utils/errors.mjs";
|
|
3
|
+
import AeSdkMethods, { getValueOrErrorProxy } from "./AeSdkMethods.mjs";
|
|
29
4
|
/**
|
|
30
|
-
* Basic AeSdk class
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* -
|
|
34
|
-
* - tx methods
|
|
35
|
-
* - aens methods
|
|
36
|
-
* - spend methods
|
|
37
|
-
* - oracle methods
|
|
38
|
-
* - contract methods
|
|
39
|
-
* - contract ga methods
|
|
40
|
-
* Only by providing the joint functionality of them, most more advanced
|
|
41
|
-
* operations, i.e. the ones with actual use value on the chain, become
|
|
42
|
-
* available.
|
|
5
|
+
* Basic AeSdk class implements:
|
|
6
|
+
* - node selector,
|
|
7
|
+
* - integrated compiler support,
|
|
8
|
+
* - wrappers of account methods mapped to the current account.
|
|
43
9
|
*/
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
class AeSdkBase {
|
|
10
|
+
export default class AeSdkBase extends AeSdkMethods {
|
|
47
11
|
/**
|
|
48
12
|
* @param options - Options
|
|
49
13
|
* @param options.nodes - Array of nodes
|
|
50
|
-
* @param options.compilerUrl - Url for compiler API
|
|
51
|
-
* @param options.ignoreVersion - Don't check node or compiler version
|
|
52
14
|
*/
|
|
53
15
|
constructor() {
|
|
54
16
|
let {
|
|
55
17
|
nodes = [],
|
|
56
|
-
compilerUrl,
|
|
57
|
-
ignoreVersion = false,
|
|
58
18
|
...options
|
|
59
19
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
60
|
-
|
|
61
|
-
_defineProperty(this, "_options", {
|
|
62
|
-
denomination: AE_AMOUNT_FORMATS.AETTOS,
|
|
63
|
-
amount: AMOUNT
|
|
64
|
-
});
|
|
65
|
-
|
|
20
|
+
super(options);
|
|
66
21
|
_defineProperty(this, "pool", new Map());
|
|
67
|
-
|
|
68
|
-
_defineProperty(this, "getNetworkId", getNetworkId);
|
|
69
|
-
|
|
70
|
-
Object.assign(this._options, options);
|
|
71
22
|
nodes.forEach((_ref, i) => {
|
|
72
23
|
let {
|
|
73
24
|
name,
|
|
@@ -75,29 +26,22 @@ class AeSdkBase {
|
|
|
75
26
|
} = _ref;
|
|
76
27
|
return this.addNode(name, instance, i === 0);
|
|
77
28
|
});
|
|
78
|
-
|
|
79
|
-
if (compilerUrl == null) {
|
|
80
|
-
this.compilerApi = getValueOrErrorProxy(() => {
|
|
81
|
-
throw new CompilerError('You can\'t use Compiler API. Compiler is not ready!');
|
|
82
|
-
});
|
|
83
|
-
} else this.setCompilerUrl(compilerUrl, {
|
|
84
|
-
ignoreVersion
|
|
85
|
-
});
|
|
86
29
|
}
|
|
87
30
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
this.
|
|
93
|
-
|
|
94
|
-
}
|
|
31
|
+
// TODO: consider dropping this getter, because:
|
|
32
|
+
// compiler is not intended to be used separately any more (functionality limited to sdk needs)
|
|
33
|
+
// and user creates its instance by himself
|
|
34
|
+
get compilerApi() {
|
|
35
|
+
if (this._options.onCompiler == null) {
|
|
36
|
+
throw new CompilerError('You can\'t use Compiler API. Compiler is not ready!');
|
|
37
|
+
}
|
|
38
|
+
return this._options.onCompiler;
|
|
95
39
|
}
|
|
96
|
-
|
|
97
40
|
get api() {
|
|
98
41
|
this.ensureNodeConnected();
|
|
99
42
|
return this.pool.get(this.selectedNodeName);
|
|
100
43
|
}
|
|
44
|
+
|
|
101
45
|
/**
|
|
102
46
|
* Add Node
|
|
103
47
|
* @param name - Node name
|
|
@@ -109,35 +53,25 @@ class AeSdkBase {
|
|
|
109
53
|
* aeSdkBase.addNode('testNode', new Node({ url }), true)
|
|
110
54
|
* ```
|
|
111
55
|
*/
|
|
112
|
-
|
|
113
|
-
|
|
114
56
|
addNode(name, node) {
|
|
115
57
|
let select = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
116
58
|
if (this.pool.has(name)) throw new DuplicateNodeError(name);
|
|
117
59
|
this.pool.set(name, node);
|
|
118
|
-
|
|
119
60
|
if (select || this.selectedNodeName == null) {
|
|
120
61
|
this.selectNode(name);
|
|
121
62
|
}
|
|
122
63
|
}
|
|
64
|
+
|
|
123
65
|
/**
|
|
124
66
|
* Select Node
|
|
125
67
|
* @param name - Node name
|
|
126
68
|
* @example
|
|
127
69
|
* nodePool.selectNode('testNode')
|
|
128
70
|
*/
|
|
129
|
-
|
|
130
|
-
|
|
131
71
|
selectNode(name) {
|
|
132
72
|
if (!this.pool.has(name)) throw new NodeNotFoundError(`Node with name ${name} not in pool`);
|
|
133
73
|
this.selectedNodeName = name;
|
|
134
74
|
}
|
|
135
|
-
/**
|
|
136
|
-
* Get NetworkId of current Node
|
|
137
|
-
* @example
|
|
138
|
-
* nodePool.getNetworkId()
|
|
139
|
-
*/
|
|
140
|
-
|
|
141
75
|
|
|
142
76
|
/**
|
|
143
77
|
* Check if you have selected node
|
|
@@ -147,12 +81,12 @@ class AeSdkBase {
|
|
|
147
81
|
isNodeConnected() {
|
|
148
82
|
return this.selectedNodeName != null;
|
|
149
83
|
}
|
|
150
|
-
|
|
151
84
|
ensureNodeConnected() {
|
|
152
85
|
if (!this.isNodeConnected()) {
|
|
153
86
|
throw new NodeNotFoundError('You can\'t use Node API. Node is not connected or not defined!');
|
|
154
87
|
}
|
|
155
88
|
}
|
|
89
|
+
|
|
156
90
|
/**
|
|
157
91
|
* Get information about node
|
|
158
92
|
* @example
|
|
@@ -160,8 +94,6 @@ class AeSdkBase {
|
|
|
160
94
|
* nodePool.getNodeInfo() // { name, version, networkId, protocol, ... }
|
|
161
95
|
* ```
|
|
162
96
|
*/
|
|
163
|
-
|
|
164
|
-
|
|
165
97
|
async getNodeInfo() {
|
|
166
98
|
this.ensureNodeConnected();
|
|
167
99
|
return {
|
|
@@ -169,13 +101,12 @@ class AeSdkBase {
|
|
|
169
101
|
...(await this.api.getNodeInfo())
|
|
170
102
|
};
|
|
171
103
|
}
|
|
104
|
+
|
|
172
105
|
/**
|
|
173
106
|
* Get array of available nodes
|
|
174
107
|
* @example
|
|
175
108
|
* nodePool.getNodesInPool()
|
|
176
109
|
*/
|
|
177
|
-
|
|
178
|
-
|
|
179
110
|
async getNodesInPool() {
|
|
180
111
|
return Promise.all(Array.from(this.pool.entries()).map(async _ref2 => {
|
|
181
112
|
let [name, node] = _ref2;
|
|
@@ -184,20 +115,15 @@ class AeSdkBase {
|
|
|
184
115
|
...(await node.getNodeInfo())
|
|
185
116
|
};
|
|
186
117
|
}));
|
|
187
|
-
}
|
|
188
|
-
|
|
118
|
+
}
|
|
189
119
|
|
|
120
|
+
// eslint-disable-next-line class-methods-use-this
|
|
190
121
|
addresses() {
|
|
191
122
|
return [];
|
|
192
123
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
let {
|
|
196
|
-
onAccount
|
|
197
|
-
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
198
|
-
return this._resolveAccount(onAccount).address();
|
|
124
|
+
get address() {
|
|
125
|
+
return this._resolveAccount().address;
|
|
199
126
|
}
|
|
200
|
-
|
|
201
127
|
async sign(data) {
|
|
202
128
|
let {
|
|
203
129
|
onAccount,
|
|
@@ -205,17 +131,17 @@ class AeSdkBase {
|
|
|
205
131
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
206
132
|
return this._resolveAccount(onAccount).sign(data, options);
|
|
207
133
|
}
|
|
208
|
-
|
|
209
134
|
async signTransaction(tx) {
|
|
210
135
|
let {
|
|
211
136
|
onAccount,
|
|
212
137
|
...options
|
|
213
138
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
214
|
-
|
|
215
|
-
|
|
139
|
+
const networkId = this.selectedNodeName !== null ? await this.api.getNetworkId() : undefined;
|
|
140
|
+
return this._resolveAccount(onAccount).signTransaction(tx, {
|
|
141
|
+
networkId,
|
|
142
|
+
...options
|
|
216
143
|
});
|
|
217
144
|
}
|
|
218
|
-
|
|
219
145
|
async signMessage(message) {
|
|
220
146
|
let {
|
|
221
147
|
onAccount,
|
|
@@ -223,92 +149,12 @@ class AeSdkBase {
|
|
|
223
149
|
} = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
224
150
|
return this._resolveAccount(onAccount).signMessage(message, options);
|
|
225
151
|
}
|
|
226
|
-
|
|
227
|
-
async verifyMessage(message, signature) {
|
|
228
|
-
let {
|
|
229
|
-
onAccount,
|
|
230
|
-
...options
|
|
231
|
-
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
232
|
-
return this._resolveAccount(onAccount).verifyMessage(message, signature, options);
|
|
233
|
-
}
|
|
234
|
-
/**
|
|
235
|
-
* Resolves an account
|
|
236
|
-
* @param account - ak-address, instance of AccountBase, or keypair
|
|
237
|
-
*/
|
|
238
|
-
// eslint-disable-next-line class-methods-use-this
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
_resolveAccount(account) {
|
|
242
|
-
switch (account !== null && typeof account) {
|
|
243
|
-
case 'string':
|
|
244
|
-
throw new NotImplementedError('Address in AccountResolver');
|
|
245
|
-
|
|
246
|
-
case 'object':
|
|
247
|
-
return isAccountBase(account) ? account : new MemoryAccount({
|
|
248
|
-
keypair: account
|
|
249
|
-
});
|
|
250
|
-
|
|
251
|
-
default:
|
|
252
|
-
throw new TypeError('Account should be an address (ak-prefixed string), ' + `keypair, or instance of AccountBase, got ${String(account)} instead`);
|
|
253
|
-
}
|
|
254
|
-
}
|
|
255
|
-
|
|
256
152
|
_getOptions() {
|
|
257
|
-
return {
|
|
153
|
+
return {
|
|
154
|
+
...super._getOptions(),
|
|
258
155
|
onNode: getValueOrErrorProxy(() => this.api),
|
|
259
|
-
onAccount: getValueOrErrorProxy(() => this._resolveAccount()),
|
|
260
156
|
onCompiler: getValueOrErrorProxy(() => this.compilerApi)
|
|
261
157
|
};
|
|
262
158
|
}
|
|
263
|
-
|
|
264
|
-
async buildTx(txType, options) {
|
|
265
|
-
// @ts-expect-error TODO: need to figure out what's wrong here
|
|
266
|
-
return _buildTx(txType, { ...this._getOptions(),
|
|
267
|
-
...options
|
|
268
|
-
});
|
|
269
|
-
}
|
|
270
|
-
|
|
271
159
|
}
|
|
272
|
-
|
|
273
|
-
const {
|
|
274
|
-
_buildTx: _,
|
|
275
|
-
...txMethodsOther
|
|
276
|
-
} = txMethods;
|
|
277
|
-
const {
|
|
278
|
-
InvalidTxError: _2,
|
|
279
|
-
...chainMethodsOther
|
|
280
|
-
} = chainMethods;
|
|
281
|
-
const methods = { ...chainMethodsOther,
|
|
282
|
-
...txMethodsOther,
|
|
283
|
-
...aensMethods,
|
|
284
|
-
...spendMethods,
|
|
285
|
-
...oracleMethods,
|
|
286
|
-
...contractMethods,
|
|
287
|
-
...contractGaMethods,
|
|
288
|
-
...deprecatedMethods
|
|
289
|
-
};
|
|
290
|
-
Object.assign(AeSdkBase.prototype, mapObject(methods, _ref3 => {
|
|
291
|
-
let [name, handler] = _ref3;
|
|
292
|
-
return [name, function methodWrapper() {
|
|
293
|
-
const instanceOptions = this._getOptions();
|
|
294
|
-
|
|
295
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
296
|
-
args[_key] = arguments[_key];
|
|
297
|
-
}
|
|
298
|
-
|
|
299
|
-
const lastArg = args[args.length - 1];
|
|
300
|
-
|
|
301
|
-
if (lastArg != null && typeof lastArg === 'object' && lastArg.constructor === Object) {
|
|
302
|
-
args[args.length - 1] = { ...instanceOptions,
|
|
303
|
-
...lastArg,
|
|
304
|
-
...(lastArg.onAccount != null && {
|
|
305
|
-
onAccount: this._resolveAccount(lastArg.onAccount)
|
|
306
|
-
})
|
|
307
|
-
};
|
|
308
|
-
} else args.push(instanceOptions);
|
|
309
|
-
|
|
310
|
-
return handler(...args);
|
|
311
|
-
}];
|
|
312
|
-
}));
|
|
313
|
-
export default AeSdkBase;
|
|
314
160
|
//# sourceMappingURL=AeSdkBase.mjs.map
|
package/es/AeSdkBase.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AeSdkBase.mjs","names":["chainMethods","txMethods","aensMethods","spendMethods","oracleMethods","contractMethods","contractGaMethods","deprecatedMethods","_buildTx","mapObject","getNetworkId","AE_AMOUNT_FORMATS","AMOUNT","MemoryAccount","isAccountBase","CompilerError","DuplicateNodeError","NodeNotFoundError","NotImplementedError","TypeError","Compiler","getValueOrErrorProxy","valueCb","error","Proxy","Object","fromEntries","map","name","AeSdkBase","constructor","nodes","compilerUrl","ignoreVersion","options","denomination","AETTOS","amount","Map","assign","_options","forEach","i","instance","addNode","compilerApi","setCompilerUrl","api","ensureNodeConnected","pool","get","selectedNodeName","node","select","has","set","selectNode","isNodeConnected","getNodeInfo","getNodesInPool","Promise","all","Array","from","entries","addresses","address","onAccount","_resolveAccount","sign","data","signTransaction","tx","networkId","signMessage","message","verifyMessage","signature","account","keypair","String","_getOptions","onNode","onCompiler","buildTx","txType","_","txMethodsOther","InvalidTxError","_2","chainMethodsOther","methods","prototype","handler","methodWrapper","instanceOptions","args","lastArg","length","push"],"sources":["../src/AeSdkBase.ts"],"sourcesContent":["import * as chainMethods from './chain';\nimport * as txMethods from './tx';\nimport * as aensMethods from './aens';\nimport * as spendMethods from './spend';\nimport * as oracleMethods from './oracle';\nimport * as contractMethods from './contract/methods';\nimport * as contractGaMethods from './contract/ga';\nimport * as deprecatedMethods from './deprecated/methods';\nimport { _buildTx } from './tx';\nimport { mapObject } from './utils/other';\nimport Node, { getNetworkId } from './Node';\nimport { AE_AMOUNT_FORMATS } from './utils/amount-formatter';\nimport { AMOUNT } from './tx/builder/schema';\nimport { Tag } from './tx/builder/constants';\nimport MemoryAccount, { Keypair } from './account/Memory';\nimport AccountBase, { isAccountBase } from './account/Base';\nimport {\n CompilerError,\n DuplicateNodeError,\n NodeNotFoundError,\n NotImplementedError,\n TypeError,\n} from './utils/errors';\nimport { Encoded } from './utils/encoder';\nimport Compiler from './contract/Compiler';\n\nexport type Account = Keypair | AccountBase | any;\n\ntype NodeInfo = Awaited<ReturnType<Node['getNodeInfo']>> & { name: string };\n\nfunction getValueOrErrorProxy<Value extends object>(valueCb: () => Value): Value {\n try {\n return valueCb();\n } catch (error) {\n return new Proxy(\n {},\n Object.fromEntries(['get', 'set', 'has'].map((name) => [name, () => { throw error; }])),\n ) as Value;\n }\n}\n\n/**\n * Basic AeSdk class\n *\n * AeSdkBase objects are the composition of:\n * - chain methods\n * - tx methods\n * - aens methods\n * - spend methods\n * - oracle methods\n * - contract methods\n * - contract ga methods\n * Only by providing the joint functionality of them, most more advanced\n * operations, i.e. the ones with actual use value on the chain, become\n * available.\n */\nclass AeSdkBase {\n _options: {\n denomination: AE_AMOUNT_FORMATS;\n amount: number;\n [key: string]: any;\n } = { denomination: AE_AMOUNT_FORMATS.AETTOS, amount: AMOUNT };\n\n pool: Map<string, Node> = new Map();\n\n selectedNodeName?: string;\n\n compilerApi: Compiler;\n\n /**\n * @param options - Options\n * @param options.nodes - Array of nodes\n * @param options.compilerUrl - Url for compiler API\n * @param options.ignoreVersion - Don't check node or compiler version\n */\n constructor(\n {\n nodes = [], compilerUrl, ignoreVersion = false, ...options\n }:\n {\n nodes?: Array<{ name: string; instance: Node }>;\n compilerUrl?: string;\n ignoreVersion?: boolean;\n [key: string]: any; // TODO: consider combining all possible options instead\n } = {},\n ) {\n Object.assign(this._options, options);\n\n nodes.forEach(({ name, instance }, i) => this.addNode(name, instance, i === 0));\n\n if (compilerUrl == null) {\n this.compilerApi = getValueOrErrorProxy(() => {\n throw new CompilerError('You can\\'t use Compiler API. Compiler is not ready!');\n });\n } else this.setCompilerUrl(compilerUrl, { ignoreVersion });\n }\n\n setCompilerUrl(\n compilerUrl: string,\n { ignoreVersion = false }: { ignoreVersion?: boolean } = {},\n ): void {\n this.compilerApi = new Compiler(compilerUrl, { ignoreVersion });\n }\n\n get api(): Node {\n this.ensureNodeConnected();\n return this.pool.get(this.selectedNodeName) as Node;\n }\n\n /**\n * Add Node\n * @param name - Node name\n * @param node - Node instance\n * @param select - Select this node as current\n * @example\n * ```js\n * // add and select new node with name 'testNode'\n * aeSdkBase.addNode('testNode', new Node({ url }), true)\n * ```\n */\n addNode(name: string, node: Node, select = false): void {\n if (this.pool.has(name)) throw new DuplicateNodeError(name);\n\n this.pool.set(name, node);\n if (select || this.selectedNodeName == null) {\n this.selectNode(name);\n }\n }\n\n /**\n * Select Node\n * @param name - Node name\n * @example\n * nodePool.selectNode('testNode')\n */\n selectNode(name: string): void {\n if (!this.pool.has(name)) throw new NodeNotFoundError(`Node with name ${name} not in pool`);\n this.selectedNodeName = name;\n }\n\n /**\n * Get NetworkId of current Node\n * @example\n * nodePool.getNetworkId()\n */\n readonly getNetworkId = getNetworkId;\n\n /**\n * Check if you have selected node\n * @example\n * nodePool.isNodeConnected()\n */\n isNodeConnected(): this is AeSdkBase & { selectedNodeName: string } {\n return this.selectedNodeName != null;\n }\n\n protected ensureNodeConnected(): asserts this is AeSdkBase & { selectedNodeName: string } {\n if (!this.isNodeConnected()) {\n throw new NodeNotFoundError('You can\\'t use Node API. Node is not connected or not defined!');\n }\n }\n\n /**\n * Get information about node\n * @example\n * ```js\n * nodePool.getNodeInfo() // { name, version, networkId, protocol, ... }\n * ```\n */\n async getNodeInfo(): Promise<NodeInfo> {\n this.ensureNodeConnected();\n return {\n name: this.selectedNodeName,\n ...await this.api.getNodeInfo(),\n };\n }\n\n /**\n * Get array of available nodes\n * @example\n * nodePool.getNodesInPool()\n */\n async getNodesInPool(): Promise<NodeInfo[]> {\n return Promise.all(\n Array.from(this.pool.entries()).map(async ([name, node]) => ({\n name,\n ...await node.getNodeInfo(),\n })),\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n addresses(): Encoded.AccountAddress[] {\n return [];\n }\n\n async address({ onAccount }: { onAccount?: Account } = {}): Promise<Encoded.AccountAddress> {\n return this._resolveAccount(onAccount).address();\n }\n\n async sign(\n data: string | Uint8Array,\n { onAccount, ...options }: { onAccount?: Account } = {},\n ): Promise<Uint8Array> {\n return this._resolveAccount(onAccount).sign(data, options);\n }\n\n async signTransaction(\n tx: Encoded.Transaction,\n { onAccount, ...options }: { onAccount?: Account } & Parameters<AccountBase['signTransaction']>[1] = {},\n ): Promise<Encoded.Transaction> {\n return this._resolveAccount(onAccount)\n .signTransaction(tx, { ...options, networkId: await this.getNetworkId(options) });\n }\n\n async signMessage(\n message: string,\n { onAccount, ...options }: { onAccount?: Account } & Parameters<AccountBase['signMessage']>[1] = {},\n ): Promise<string | Uint8Array> {\n return this._resolveAccount(onAccount).signMessage(message, options);\n }\n\n async verifyMessage(\n message: string,\n signature: string | Uint8Array,\n { onAccount, ...options }: { onAccount?: Account } & Parameters<AccountBase['verifyMessage']>[2] = {},\n ): Promise<boolean> {\n return this._resolveAccount(onAccount).verifyMessage(message, signature, options);\n }\n\n /**\n * Resolves an account\n * @param account - ak-address, instance of AccountBase, or keypair\n */\n // eslint-disable-next-line class-methods-use-this\n _resolveAccount(account?: Account): AccountBase {\n switch (account !== null && typeof account) {\n case 'string':\n throw new NotImplementedError('Address in AccountResolver');\n case 'object':\n return isAccountBase(account) ? account : new MemoryAccount({ keypair: account });\n default:\n throw new TypeError(\n 'Account should be an address (ak-prefixed string), '\n + `keypair, or instance of AccountBase, got ${String(account)} instead`,\n );\n }\n }\n\n _getOptions(): {\n onNode: Node;\n onAccount: AccountBase;\n onCompiler: Compiler;\n } {\n return {\n ...this._options,\n onNode: getValueOrErrorProxy(() => this.api),\n onAccount: getValueOrErrorProxy(() => this._resolveAccount()),\n onCompiler: getValueOrErrorProxy(() => this.compilerApi),\n };\n }\n\n async buildTx<TxType extends Tag>(\n txType: TxType,\n options: Omit<Parameters<typeof _buildTx<TxType>>[1], 'onNode'> & { onNode?: Node },\n ): Promise<Encoded.Transaction> {\n // @ts-expect-error TODO: need to figure out what's wrong here\n return _buildTx<TxType>(txType, {\n ...this._getOptions(),\n ...options,\n });\n }\n}\n\nconst { _buildTx: _, ...txMethodsOther } = txMethods;\nconst { InvalidTxError: _2, ...chainMethodsOther } = chainMethods;\n\nconst methods = {\n ...chainMethodsOther,\n ...txMethodsOther,\n ...aensMethods,\n ...spendMethods,\n ...oracleMethods,\n ...contractMethods,\n ...contractGaMethods,\n ...deprecatedMethods,\n} as const;\n\ntype RequiredKeys<T> = {\n [K in keyof T]-?: {} extends Pick<T, K> ? never : K\n}[keyof T];\n\ntype OptionalIfNotRequired<T extends [any]> = RequiredKeys<T[0]> extends never ? T | [] : T;\n\ntype MakeOptional<Args extends any[]> = Args extends [infer Head, ...infer Tail]\n ? Tail extends []\n ? Head extends object\n ? OptionalIfNotRequired<[Omit<Head, 'onNode' | 'onCompiler' | 'onAccount'>\n & {\n onNode?: Node;\n onCompiler?: Compiler;\n onAccount?: AccountBase | Encoded.AccountAddress | Keypair;\n }]>\n : [Head]\n : [Head, ...MakeOptional<Tail>]\n : never;\n\ntype TransformMethods <Methods extends { [key: string]: Function }> =\n {\n [Name in keyof Methods]:\n Methods[Name] extends (...args: infer Args) => infer Ret\n ? (...args: MakeOptional<Args>) => Ret\n : never\n };\n\ninterface AeSdkBaseMethods extends TransformMethods<typeof methods> {}\n\nObject.assign(AeSdkBase.prototype, mapObject<Function, Function>(\n methods,\n ([name, handler]) => [\n name,\n function methodWrapper(...args: any[]) {\n const instanceOptions = this._getOptions();\n const lastArg = args[args.length - 1];\n if (lastArg != null && typeof lastArg === 'object' && lastArg.constructor === Object) {\n args[args.length - 1] = {\n ...instanceOptions,\n ...lastArg,\n ...lastArg.onAccount != null && { onAccount: this._resolveAccount(lastArg.onAccount) },\n };\n } else args.push(instanceOptions);\n return handler(...args);\n },\n ],\n));\n\nexport default AeSdkBase as new (options?: ConstructorParameters<typeof AeSdkBase>[0]) =>\nAeSdkBase & AeSdkBaseMethods;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AeSdkBase.mjs","names":["CompilerError","DuplicateNodeError","NodeNotFoundError","AeSdkMethods","getValueOrErrorProxy","AeSdkBase","constructor","nodes","options","Map","forEach","i","name","instance","addNode","compilerApi","_options","onCompiler","api","ensureNodeConnected","pool","get","selectedNodeName","node","select","has","set","selectNode","isNodeConnected","getNodeInfo","getNodesInPool","Promise","all","Array","from","entries","map","addresses","address","_resolveAccount","sign","data","onAccount","signTransaction","tx","networkId","getNetworkId","undefined","signMessage","message","_getOptions","onNode"],"sources":["../src/AeSdkBase.ts"],"sourcesContent":["import Node from './Node';\nimport AccountBase from './account/Base';\nimport { CompilerError, DuplicateNodeError, NodeNotFoundError } from './utils/errors';\nimport { Encoded } from './utils/encoder';\nimport CompilerBase from './contract/compiler/Base';\nimport AeSdkMethods, { OnAccount, getValueOrErrorProxy } from './AeSdkMethods';\n\ntype NodeInfo = Awaited<ReturnType<Node['getNodeInfo']>> & { name: string };\n\n/**\n * Basic AeSdk class implements:\n * - node selector,\n * - integrated compiler support,\n * - wrappers of account methods mapped to the current account.\n */\nexport default class AeSdkBase extends AeSdkMethods {\n pool: Map<string, Node> = new Map();\n\n selectedNodeName?: string;\n\n /**\n * @param options - Options\n * @param options.nodes - Array of nodes\n */\n constructor(\n { nodes = [], ...options }: ConstructorParameters<typeof AeSdkMethods>[0] & {\n nodes?: Array<{ name: string; instance: Node }>;\n } = {},\n ) {\n super(options);\n\n nodes.forEach(({ name, instance }, i) => this.addNode(name, instance, i === 0));\n }\n\n // TODO: consider dropping this getter, because:\n // compiler is not intended to be used separately any more (functionality limited to sdk needs)\n // and user creates its instance by himself\n get compilerApi(): CompilerBase {\n if (this._options.onCompiler == null) {\n throw new CompilerError('You can\\'t use Compiler API. Compiler is not ready!');\n }\n return this._options.onCompiler;\n }\n\n get api(): Node {\n this.ensureNodeConnected();\n return this.pool.get(this.selectedNodeName) as Node;\n }\n\n /**\n * Add Node\n * @param name - Node name\n * @param node - Node instance\n * @param select - Select this node as current\n * @example\n * ```js\n * // add and select new node with name 'testNode'\n * aeSdkBase.addNode('testNode', new Node({ url }), true)\n * ```\n */\n addNode(name: string, node: Node, select = false): void {\n if (this.pool.has(name)) throw new DuplicateNodeError(name);\n\n this.pool.set(name, node);\n if (select || this.selectedNodeName == null) {\n this.selectNode(name);\n }\n }\n\n /**\n * Select Node\n * @param name - Node name\n * @example\n * nodePool.selectNode('testNode')\n */\n selectNode(name: string): void {\n if (!this.pool.has(name)) throw new NodeNotFoundError(`Node with name ${name} not in pool`);\n this.selectedNodeName = name;\n }\n\n /**\n * Check if you have selected node\n * @example\n * nodePool.isNodeConnected()\n */\n isNodeConnected(): this is AeSdkBase & { selectedNodeName: string } {\n return this.selectedNodeName != null;\n }\n\n protected ensureNodeConnected(): asserts this is AeSdkBase & { selectedNodeName: string } {\n if (!this.isNodeConnected()) {\n throw new NodeNotFoundError('You can\\'t use Node API. Node is not connected or not defined!');\n }\n }\n\n /**\n * Get information about node\n * @example\n * ```js\n * nodePool.getNodeInfo() // { name, version, networkId, protocol, ... }\n * ```\n */\n async getNodeInfo(): Promise<NodeInfo> {\n this.ensureNodeConnected();\n return {\n name: this.selectedNodeName,\n ...await this.api.getNodeInfo(),\n };\n }\n\n /**\n * Get array of available nodes\n * @example\n * nodePool.getNodesInPool()\n */\n async getNodesInPool(): Promise<NodeInfo[]> {\n return Promise.all(\n Array.from(this.pool.entries()).map(async ([name, node]) => ({\n name,\n ...await node.getNodeInfo(),\n })),\n );\n }\n\n // eslint-disable-next-line class-methods-use-this\n addresses(): Encoded.AccountAddress[] {\n return [];\n }\n\n get address(): Encoded.AccountAddress {\n return this._resolveAccount().address;\n }\n\n async sign(\n data: string | Uint8Array,\n { onAccount, ...options }: { onAccount?: OnAccount } = {},\n ): Promise<Uint8Array> {\n return this._resolveAccount(onAccount).sign(data, options);\n }\n\n async signTransaction(\n tx: Encoded.Transaction,\n { onAccount, ...options }: { onAccount?: OnAccount } & Parameters<AccountBase['signTransaction']>[1] = {},\n ): Promise<Encoded.Transaction> {\n const networkId = this.selectedNodeName !== null ? await this.api.getNetworkId() : undefined;\n return this._resolveAccount(onAccount).signTransaction(tx, { networkId, ...options });\n }\n\n async signMessage(\n message: string,\n { onAccount, ...options }: { onAccount?: OnAccount } & Parameters<AccountBase['signMessage']>[1] = {},\n ): Promise<Uint8Array> {\n return this._resolveAccount(onAccount).signMessage(message, options);\n }\n\n override _getOptions(): {\n onNode: Node;\n onAccount: AccountBase;\n onCompiler: CompilerBase;\n } {\n return {\n ...super._getOptions(),\n onNode: getValueOrErrorProxy(() => this.api),\n onCompiler: getValueOrErrorProxy(() => this.compilerApi),\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import * as chainMethods from './chain';
|
|
2
|
+
import * as aensMethods from './aens';
|
|
3
|
+
import * as spendMethods from './spend';
|
|
4
|
+
import * as oracleMethods from './oracle';
|
|
5
|
+
import Contract, { ContractMethodsBase } from './contract/Contract';
|
|
6
|
+
import * as contractGaMethods from './contract/ga';
|
|
7
|
+
import { _buildTx } from './tx';
|
|
8
|
+
import { UnionToIntersection } from './utils/other';
|
|
9
|
+
import Node from './Node';
|
|
10
|
+
import { Tag } from './tx/builder/constants';
|
|
11
|
+
import AccountBase from './account/Base';
|
|
12
|
+
import { Encoded } from './utils/encoder';
|
|
13
|
+
import CompilerBase from './contract/compiler/Base';
|
|
14
|
+
export type OnAccount = Encoded.AccountAddress | AccountBase | undefined;
|
|
15
|
+
export declare function getValueOrErrorProxy<Value extends object>(valueCb: () => Value): Value;
|
|
16
|
+
declare const methods: {
|
|
17
|
+
readonly createGeneralizedAccount: typeof contractGaMethods.createGeneralizedAccount;
|
|
18
|
+
readonly buildAuthTxHash: typeof contractGaMethods.buildAuthTxHash;
|
|
19
|
+
readonly pollForQueries: typeof oracleMethods.pollForQueries;
|
|
20
|
+
readonly pollForQueryResponse: typeof oracleMethods.pollForQueryResponse;
|
|
21
|
+
readonly getQueryObject: typeof oracleMethods.getQueryObject;
|
|
22
|
+
readonly postQueryToOracle: typeof oracleMethods.postQueryToOracle;
|
|
23
|
+
readonly extendOracleTtl: typeof oracleMethods.extendOracleTtl;
|
|
24
|
+
readonly respondToQuery: typeof oracleMethods.respondToQuery;
|
|
25
|
+
readonly getOracleObject: typeof oracleMethods.getOracleObject;
|
|
26
|
+
readonly registerOracle: typeof oracleMethods.registerOracle;
|
|
27
|
+
readonly send: typeof spendMethods.send;
|
|
28
|
+
readonly spend: typeof spendMethods.spend;
|
|
29
|
+
readonly transferFunds: typeof spendMethods.transferFunds;
|
|
30
|
+
readonly payForTransaction: typeof spendMethods.payForTransaction;
|
|
31
|
+
readonly aensRevoke: typeof aensMethods.aensRevoke;
|
|
32
|
+
readonly aensUpdate: typeof aensMethods.aensUpdate;
|
|
33
|
+
readonly aensTransfer: typeof aensMethods.aensTransfer;
|
|
34
|
+
readonly aensQuery: typeof aensMethods.aensQuery;
|
|
35
|
+
readonly aensClaim: typeof aensMethods.aensClaim;
|
|
36
|
+
readonly aensPreclaim: typeof aensMethods.aensPreclaim;
|
|
37
|
+
readonly aensBid: typeof aensMethods.aensBid;
|
|
38
|
+
readonly _getPollInterval: typeof chainMethods._getPollInterval;
|
|
39
|
+
readonly getHeight: typeof chainMethods.getHeight;
|
|
40
|
+
readonly poll: typeof chainMethods.poll;
|
|
41
|
+
readonly awaitHeight: typeof chainMethods.awaitHeight;
|
|
42
|
+
readonly waitForTxConfirm: typeof chainMethods.waitForTxConfirm;
|
|
43
|
+
readonly sendTransaction: typeof chainMethods.sendTransaction;
|
|
44
|
+
readonly getAccount: typeof chainMethods.getAccount;
|
|
45
|
+
readonly getBalance: typeof chainMethods.getBalance;
|
|
46
|
+
readonly getCurrentGeneration: typeof chainMethods.getCurrentGeneration;
|
|
47
|
+
readonly getGeneration: typeof chainMethods.getGeneration;
|
|
48
|
+
readonly getMicroBlockTransactions: typeof chainMethods.getMicroBlockTransactions;
|
|
49
|
+
readonly getKeyBlock: typeof chainMethods.getKeyBlock;
|
|
50
|
+
readonly getMicroBlockHeader: typeof chainMethods.getMicroBlockHeader;
|
|
51
|
+
readonly txDryRun: typeof chainMethods.txDryRun;
|
|
52
|
+
readonly getContractByteCode: typeof chainMethods.getContractByteCode;
|
|
53
|
+
readonly getContract: typeof chainMethods.getContract;
|
|
54
|
+
readonly getName: typeof chainMethods.getName;
|
|
55
|
+
readonly resolveName: typeof chainMethods.resolveName;
|
|
56
|
+
};
|
|
57
|
+
type Decrement<Number extends number> = [-1, 0, 1, 2, 3, 4, 5][Number];
|
|
58
|
+
type GetMethodsOptions<Methods extends {
|
|
59
|
+
[key: string]: Function;
|
|
60
|
+
}> = {
|
|
61
|
+
[Name in keyof Methods]: Methods[Name] extends (...args: infer Args) => any ? Args[Decrement<Args['length']>] : never;
|
|
62
|
+
};
|
|
63
|
+
type MethodsOptions = GetMethodsOptions<typeof methods>;
|
|
64
|
+
interface AeSdkMethodsOptions extends Partial<UnionToIntersection<MethodsOptions[keyof MethodsOptions]>> {
|
|
65
|
+
nodes?: Array<{
|
|
66
|
+
name: string;
|
|
67
|
+
instance: Node;
|
|
68
|
+
}>;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* AeSdkMethods is the composition of:
|
|
72
|
+
* - chain methods
|
|
73
|
+
* - tx methods
|
|
74
|
+
* - aens methods
|
|
75
|
+
* - spend methods
|
|
76
|
+
* - oracle methods
|
|
77
|
+
* - contract methods
|
|
78
|
+
* - contract ga methods
|
|
79
|
+
*
|
|
80
|
+
* While these methods can be used separately, this class provides a handy way to store
|
|
81
|
+
* their context (current account, network, and compiler to use).
|
|
82
|
+
*/
|
|
83
|
+
declare class AeSdkMethods {
|
|
84
|
+
_options: AeSdkMethodsOptions;
|
|
85
|
+
/**
|
|
86
|
+
* @param options - Options
|
|
87
|
+
*/
|
|
88
|
+
constructor(options?: AeSdkMethodsOptions);
|
|
89
|
+
/**
|
|
90
|
+
* Resolves an account
|
|
91
|
+
* @param account - ak-address, instance of AccountBase, or keypair
|
|
92
|
+
*/
|
|
93
|
+
_resolveAccount(account?: OnAccount): AccountBase;
|
|
94
|
+
_getOptions(): AeSdkMethodsOptions & {
|
|
95
|
+
onAccount: AccountBase;
|
|
96
|
+
};
|
|
97
|
+
buildTx<TxType extends Tag>(txType: TxType, options: Omit<Parameters<typeof _buildTx<TxType>>[1], 'onNode'> & {
|
|
98
|
+
onNode?: Node;
|
|
99
|
+
}): Promise<Encoded.Transaction>;
|
|
100
|
+
initializeContract<Methods extends ContractMethodsBase>(options?: Omit<Parameters<typeof Contract.initialize>[0], 'onNode'> & {
|
|
101
|
+
onNode?: Node;
|
|
102
|
+
}): Promise<Contract<Methods>>;
|
|
103
|
+
}
|
|
104
|
+
type RequiredKeys<T> = {
|
|
105
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? never : K;
|
|
106
|
+
}[keyof T];
|
|
107
|
+
type OptionalIfNotRequired<T extends [any]> = RequiredKeys<T[0]> extends never ? T | [] : T;
|
|
108
|
+
type MakeOptional<Options> = OptionalIfNotRequired<[
|
|
109
|
+
Omit<Options, 'onNode' | 'onCompiler' | 'onAccount'> & {
|
|
110
|
+
onNode?: Node;
|
|
111
|
+
onCompiler?: CompilerBase;
|
|
112
|
+
onAccount?: OnAccount;
|
|
113
|
+
}
|
|
114
|
+
]>;
|
|
115
|
+
type TransformMethods<Methods extends {
|
|
116
|
+
[key: string]: Function;
|
|
117
|
+
}> = {
|
|
118
|
+
[Name in keyof Methods]: Methods[Name] extends (...args: [...infer Args, infer Options]) => infer Ret ? (...args: [...Args, ...MakeOptional<Options>]) => Ret : never;
|
|
119
|
+
};
|
|
120
|
+
interface AeSdkMethodsTransformed extends TransformMethods<typeof methods> {
|
|
121
|
+
}
|
|
122
|
+
declare const _default: new (options?: ConstructorParameters<typeof AeSdkMethods>[0]) => AeSdkMethods & AeSdkMethodsTransformed;
|
|
123
|
+
export default _default;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
|
|
2
|
+
import * as chainMethods from "./chain.mjs";
|
|
3
|
+
import * as aensMethods from "./aens.mjs";
|
|
4
|
+
import * as spendMethods from "./spend.mjs";
|
|
5
|
+
import * as oracleMethods from "./oracle.mjs";
|
|
6
|
+
import Contract from "./contract/Contract.mjs";
|
|
7
|
+
import * as contractGaMethods from "./contract/ga.mjs";
|
|
8
|
+
import { _buildTx } from "./tx/index.mjs";
|
|
9
|
+
import { mapObject } from "./utils/other.mjs";
|
|
10
|
+
import { AE_AMOUNT_FORMATS } from "./utils/amount-formatter.mjs";
|
|
11
|
+
import { ArgumentError, NotImplementedError, TypeError } from "./utils/errors.mjs";
|
|
12
|
+
export function getValueOrErrorProxy(valueCb) {
|
|
13
|
+
return new Proxy({}, {
|
|
14
|
+
...Object.fromEntries(['apply', 'construct', 'defineProperty', 'deleteProperty', 'getOwnPropertyDescriptor', 'getPrototypeOf', 'isExtensible', 'ownKeys', 'preventExtensions', 'set', 'setPrototypeOf'].map(name => [name, () => {
|
|
15
|
+
throw new NotImplementedError(`${name} proxy request`);
|
|
16
|
+
}])),
|
|
17
|
+
get(t, property, receiver) {
|
|
18
|
+
const target = valueCb();
|
|
19
|
+
const value = Reflect.get(target, property, receiver);
|
|
20
|
+
return typeof value === 'function' ? value.bind(target) : value;
|
|
21
|
+
},
|
|
22
|
+
has(t, property) {
|
|
23
|
+
return Reflect.has(valueCb(), property);
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
const {
|
|
28
|
+
InvalidTxError: _2,
|
|
29
|
+
...chainMethodsOther
|
|
30
|
+
} = chainMethods;
|
|
31
|
+
const methods = {
|
|
32
|
+
...chainMethodsOther,
|
|
33
|
+
...aensMethods,
|
|
34
|
+
...spendMethods,
|
|
35
|
+
...oracleMethods,
|
|
36
|
+
...contractGaMethods
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* AeSdkMethods is the composition of:
|
|
40
|
+
* - chain methods
|
|
41
|
+
* - tx methods
|
|
42
|
+
* - aens methods
|
|
43
|
+
* - spend methods
|
|
44
|
+
* - oracle methods
|
|
45
|
+
* - contract methods
|
|
46
|
+
* - contract ga methods
|
|
47
|
+
*
|
|
48
|
+
* While these methods can be used separately, this class provides a handy way to store
|
|
49
|
+
* their context (current account, network, and compiler to use).
|
|
50
|
+
*/
|
|
51
|
+
class AeSdkMethods {
|
|
52
|
+
/**
|
|
53
|
+
* @param options - Options
|
|
54
|
+
*/
|
|
55
|
+
constructor() {
|
|
56
|
+
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
57
|
+
_defineProperty(this, "_options", {
|
|
58
|
+
denomination: AE_AMOUNT_FORMATS.AETTOS
|
|
59
|
+
});
|
|
60
|
+
Object.assign(this._options, options);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Resolves an account
|
|
65
|
+
* @param account - ak-address, instance of AccountBase, or keypair
|
|
66
|
+
*/
|
|
67
|
+
// eslint-disable-next-line class-methods-use-this
|
|
68
|
+
_resolveAccount(account) {
|
|
69
|
+
if (typeof account === 'string') throw new NotImplementedError('Address in AccountResolver');
|
|
70
|
+
if (typeof account === 'object') return account;
|
|
71
|
+
throw new TypeError('Account should be an address (ak-prefixed string), ' + `or instance of AccountBase, got ${String(account)} instead`);
|
|
72
|
+
}
|
|
73
|
+
_getOptions() {
|
|
74
|
+
return {
|
|
75
|
+
...this._options,
|
|
76
|
+
onAccount: getValueOrErrorProxy(() => this._resolveAccount())
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
async buildTx(txType, options) {
|
|
80
|
+
// @ts-expect-error TODO: need to figure out what's wrong here
|
|
81
|
+
return _buildTx(txType, {
|
|
82
|
+
...this._getOptions(),
|
|
83
|
+
...options
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
async initializeContract(options) {
|
|
87
|
+
const {
|
|
88
|
+
onNode,
|
|
89
|
+
onCompiler,
|
|
90
|
+
...otherOptions
|
|
91
|
+
} = this._getOptions();
|
|
92
|
+
if (onCompiler == null || onNode == null) {
|
|
93
|
+
throw new ArgumentError('onCompiler, onNode', 'provided', null);
|
|
94
|
+
}
|
|
95
|
+
return Contract.initialize({
|
|
96
|
+
...otherOptions,
|
|
97
|
+
onNode,
|
|
98
|
+
onCompiler,
|
|
99
|
+
...options
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
Object.assign(AeSdkMethods.prototype, mapObject(methods, _ref => {
|
|
104
|
+
let [name, handler] = _ref;
|
|
105
|
+
return [name, function methodWrapper() {
|
|
106
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
107
|
+
args[_key] = arguments[_key];
|
|
108
|
+
}
|
|
109
|
+
args.length = handler.length;
|
|
110
|
+
const options = args[args.length - 1];
|
|
111
|
+
args[args.length - 1] = {
|
|
112
|
+
...this._getOptions(),
|
|
113
|
+
...options,
|
|
114
|
+
...((options === null || options === void 0 ? void 0 : options.onAccount) != null && {
|
|
115
|
+
onAccount: this._resolveAccount(options.onAccount)
|
|
116
|
+
})
|
|
117
|
+
};
|
|
118
|
+
return handler(...args);
|
|
119
|
+
}];
|
|
120
|
+
}));
|
|
121
|
+
export default AeSdkMethods;
|
|
122
|
+
//# sourceMappingURL=AeSdkMethods.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AeSdkMethods.mjs","names":["chainMethods","aensMethods","spendMethods","oracleMethods","Contract","contractGaMethods","_buildTx","mapObject","AE_AMOUNT_FORMATS","ArgumentError","NotImplementedError","TypeError","getValueOrErrorProxy","valueCb","Proxy","Object","fromEntries","map","name","get","t","property","receiver","target","value","Reflect","bind","has","InvalidTxError","_2","chainMethodsOther","methods","AeSdkMethods","constructor","options","denomination","AETTOS","assign","_options","_resolveAccount","account","String","_getOptions","onAccount","buildTx","txType","initializeContract","onNode","onCompiler","otherOptions","initialize","prototype","handler","methodWrapper","args","length"],"sources":["../src/AeSdkMethods.ts"],"sourcesContent":["import * as chainMethods from './chain';\nimport * as aensMethods from './aens';\nimport * as spendMethods from './spend';\nimport * as oracleMethods from './oracle';\nimport Contract, { ContractMethodsBase } from './contract/Contract';\nimport * as contractGaMethods from './contract/ga';\nimport { _buildTx } from './tx';\nimport { mapObject, UnionToIntersection } from './utils/other';\nimport Node from './Node';\nimport { AE_AMOUNT_FORMATS } from './utils/amount-formatter';\nimport { Tag } from './tx/builder/constants';\nimport AccountBase from './account/Base';\nimport { Encoded } from './utils/encoder';\nimport CompilerBase from './contract/compiler/Base';\nimport { ArgumentError, NotImplementedError, TypeError } from './utils/errors';\n\nexport type OnAccount = Encoded.AccountAddress | AccountBase | undefined;\n\nexport function getValueOrErrorProxy<Value extends object>(valueCb: () => Value): Value {\n return new Proxy({}, {\n ...Object.fromEntries([\n 'apply', 'construct', 'defineProperty', 'deleteProperty', 'getOwnPropertyDescriptor',\n 'getPrototypeOf', 'isExtensible', 'ownKeys', 'preventExtensions', 'set', 'setPrototypeOf',\n ].map((name) => [name, () => { throw new NotImplementedError(`${name} proxy request`); }])),\n get(t: {}, property: string | symbol, receiver: any) {\n const target = valueCb();\n const value = Reflect.get(target, property, receiver);\n return typeof value === 'function' ? value.bind(target) : value;\n },\n has(t: {}, property: string | symbol) {\n return Reflect.has(valueCb(), property);\n },\n }) as Value;\n}\n\nconst { InvalidTxError: _2, ...chainMethodsOther } = chainMethods;\n\nconst methods = {\n ...chainMethodsOther,\n ...aensMethods,\n ...spendMethods,\n ...oracleMethods,\n ...contractGaMethods,\n} as const;\n\ntype Decrement<Number extends number> = [-1, 0, 1, 2, 3, 4, 5][Number];\ntype GetMethodsOptions <Methods extends { [key: string]: Function }> =\n {\n [Name in keyof Methods]:\n Methods[Name] extends (...args: infer Args) => any\n ? Args[Decrement<Args['length']>] : never\n };\ntype MethodsOptions = GetMethodsOptions<typeof methods>;\ninterface AeSdkMethodsOptions\n extends Partial<UnionToIntersection<MethodsOptions[keyof MethodsOptions]>> {\n nodes?: Array<{ name: string; instance: Node }>;\n}\n\n/**\n * AeSdkMethods is the composition of:\n * - chain methods\n * - tx methods\n * - aens methods\n * - spend methods\n * - oracle methods\n * - contract methods\n * - contract ga methods\n *\n * While these methods can be used separately, this class provides a handy way to store\n * their context (current account, network, and compiler to use).\n */\nclass AeSdkMethods {\n _options: AeSdkMethodsOptions = { denomination: AE_AMOUNT_FORMATS.AETTOS };\n\n /**\n * @param options - Options\n */\n constructor(options: AeSdkMethodsOptions = {}) {\n Object.assign(this._options, options);\n }\n\n /**\n * Resolves an account\n * @param account - ak-address, instance of AccountBase, or keypair\n */\n // eslint-disable-next-line class-methods-use-this\n _resolveAccount(account?: OnAccount): AccountBase {\n if (typeof account === 'string') throw new NotImplementedError('Address in AccountResolver');\n if (typeof account === 'object') return account;\n throw new TypeError(\n 'Account should be an address (ak-prefixed string), '\n + `or instance of AccountBase, got ${String(account)} instead`,\n );\n }\n\n _getOptions(): AeSdkMethodsOptions & { onAccount: AccountBase } {\n return {\n ...this._options,\n onAccount: getValueOrErrorProxy(() => this._resolveAccount()),\n };\n }\n\n async buildTx<TxType extends Tag>(\n txType: TxType,\n options: Omit<Parameters<typeof _buildTx<TxType>>[1], 'onNode'> & { onNode?: Node },\n ): Promise<Encoded.Transaction> {\n // @ts-expect-error TODO: need to figure out what's wrong here\n return _buildTx<TxType>(txType, {\n ...this._getOptions(),\n ...options,\n });\n }\n\n async initializeContract<Methods extends ContractMethodsBase>(\n options?: Omit<Parameters<typeof Contract.initialize>[0], 'onNode'> & { onNode?: Node },\n ): Promise<Contract<Methods>> {\n const { onNode, onCompiler, ...otherOptions } = this._getOptions();\n if (onCompiler == null || onNode == null) {\n throw new ArgumentError('onCompiler, onNode', 'provided', null);\n }\n return Contract.initialize<Methods>({\n ...otherOptions,\n onNode,\n onCompiler,\n ...options,\n });\n }\n}\n\ntype RequiredKeys<T> = {\n [K in keyof T]-?: {} extends Pick<T, K> ? never : K\n}[keyof T];\n\ntype OptionalIfNotRequired<T extends [any]> = RequiredKeys<T[0]> extends never ? T | [] : T;\n\ntype MakeOptional<Options> = OptionalIfNotRequired<[\n Omit<Options, 'onNode' | 'onCompiler' | 'onAccount'>\n & { onNode?: Node; onCompiler?: CompilerBase; onAccount?: OnAccount },\n]>;\n\ntype TransformMethods <Methods extends { [key: string]: Function }> =\n {\n [Name in keyof Methods]:\n Methods[Name] extends (...args: [...infer Args, infer Options]) => infer Ret\n ? (...args: [...Args, ...MakeOptional<Options>]) => Ret\n : never\n };\n\ninterface AeSdkMethodsTransformed extends TransformMethods<typeof methods> {}\n\nObject.assign(AeSdkMethods.prototype, mapObject<Function, Function>(\n methods,\n ([name, handler]) => [\n name,\n function methodWrapper(...args: any[]) {\n args.length = handler.length;\n const options = args[args.length - 1];\n args[args.length - 1] = {\n ...this._getOptions(),\n ...options,\n ...options?.onAccount != null && { onAccount: this._resolveAccount(options.onAccount) },\n };\n return handler(...args);\n },\n ],\n));\n\nexport default AeSdkMethods as new (options?: ConstructorParameters<typeof AeSdkMethods>[0]) =>\nAeSdkMethods & AeSdkMethodsTransformed;\n"],"mappings":"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"}
|