@aeternity/aepp-sdk 12.1.3 → 13.0.0-alpha.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/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 +6580 -8859
- 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 +27 -185
- package/es/AeSdkBase.mjs.map +1 -1
- package/es/AeSdkMethods.d.ts +124 -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 +7 -12
- package/es/Node.mjs +34 -47
- 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 +111 -0
- package/es/account/Generalized.mjs.map +1 -0
- package/es/account/Ledger.d.ts +28 -0
- package/es/account/Ledger.mjs +101 -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 -65
- 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 +3 -3
- package/es/aens.mjs +42 -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.mjs +3 -7
- 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 +4 -41
- 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 +1 -1
- package/es/chain.mjs +33 -58
- package/es/chain.mjs.map +1 -1
- package/es/channel/Base.d.ts +195 -0
- package/es/channel/Base.mjs +290 -0
- package/es/channel/Base.mjs.map +1 -0
- package/es/channel/Contract.d.ts +247 -0
- package/es/channel/Contract.mjs +420 -0
- package/es/channel/Contract.mjs.map +1 -0
- package/es/channel/Spend.d.ts +217 -0
- package/es/channel/Spend.mjs +383 -0
- package/es/channel/Spend.mjs.map +1 -0
- package/es/channel/handlers.d.ts +8 -21
- package/es/channel/handlers.mjs +141 -891
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/internal.d.ts +27 -21
- package/es/channel/internal.mjs +98 -190
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/{Compiler.d.ts → CompilerHttp.d.ts} +3 -3
- package/es/contract/{Compiler.mjs → CompilerHttp.mjs} +8 -13
- package/es/contract/CompilerHttp.mjs.map +1 -0
- package/es/contract/Contract.d.ts +235 -0
- package/es/contract/Contract.mjs +534 -0
- package/es/contract/Contract.mjs.map +1 -0
- package/es/contract/ga.d.ts +7 -33
- package/es/contract/ga.mjs +20 -112
- package/es/contract/ga.mjs.map +1 -1
- package/es/index.d.ts +9 -6
- package/es/index.mjs +8 -6
- package/es/index.mjs.map +1 -1
- package/es/oracle.d.ts +5 -5
- package/es/oracle.mjs +33 -39
- package/es/oracle.mjs.map +1 -1
- package/es/spend.d.ts +3 -3
- package/es/spend.mjs +17 -20
- package/es/spend.mjs.map +1 -1
- package/es/tx/builder/constants.d.ts +2 -1
- package/es/tx/builder/constants.mjs +12 -12
- package/es/tx/builder/constants.mjs.map +1 -1
- package/es/tx/builder/field-types/address.d.ts +15 -0
- package/es/tx/builder/field-types/address.mjs +42 -0
- package/es/tx/builder/field-types/address.mjs.map +1 -0
- package/es/tx/builder/field-types/addresses.d.ts +6 -0
- package/es/tx/builder/field-types/addresses.mjs +13 -0
- package/es/tx/builder/field-types/addresses.mjs.map +1 -0
- package/es/tx/builder/field-types/coin-amount.d.ts +1 -2
- 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/deposit.d.ts +0 -1
- 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/enumeration.d.ts +5 -0
- package/es/tx/builder/field-types/enumeration.mjs +21 -0
- package/es/tx/builder/field-types/enumeration.mjs.map +1 -0
- package/es/tx/builder/field-types/fee.d.ts +1 -9
- package/es/tx/builder/field-types/fee.mjs +9 -25
- 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.mjs +4 -9
- 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 +23 -11
- package/es/tx/builder/field-types/index.mjs +10 -3
- package/es/tx/builder/field-types/index.mjs.map +1 -1
- package/es/tx/builder/field-types/name-fee.d.ts +0 -1
- 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 +4 -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/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/u-int.d.ts +1 -1
- 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 +1 -21
- package/es/tx/builder/index.mjs +29 -148
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +336 -176
- package/es/tx/builder/schema.mjs +71 -78
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/tx/index.d.ts +3 -33
- package/es/tx/index.mjs +26 -43
- package/es/tx/index.mjs.map +1 -1
- package/es/tx/validator.d.ts +2 -2
- package/es/tx/validator.mjs +86 -59
- 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 +12 -6
- package/es/utils/errors.mjs +87 -163
- 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/mptree.d.ts +1 -1
- package/es/utils/mptree.mjs +4 -26
- package/es/utils/mptree.mjs.map +1 -1
- package/es/utils/other.d.ts +3 -1
- 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 +86 -47
- package/src/AeSdk.ts +15 -11
- package/src/AeSdkAepp.ts +9 -7
- package/src/AeSdkBase.ts +28 -202
- package/src/AeSdkMethods.ts +170 -0
- package/src/AeSdkWallet.ts +16 -47
- package/src/Node.ts +11 -15
- 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 +10 -9
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +5 -4
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +3 -3
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +2 -2
- 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 +6 -3
- package/src/channel/Base.ts +327 -0
- package/src/channel/Contract.ts +487 -0
- package/src/channel/Spend.ts +403 -0
- package/src/channel/handlers.ts +154 -573
- package/src/channel/internal.ts +113 -142
- package/src/contract/{Compiler.ts → CompilerHttp.ts} +5 -5
- package/src/contract/Contract.ts +620 -0
- package/src/contract/ga.ts +18 -104
- package/src/index.ts +9 -8
- package/src/oracle.ts +7 -7
- package/src/spend.ts +5 -13
- package/src/tx/builder/constants.ts +1 -0
- package/src/tx/builder/field-types/address.ts +52 -0
- package/src/tx/builder/field-types/addresses.ts +18 -0
- package/src/tx/builder/field-types/coin-amount.ts +2 -8
- package/src/tx/builder/field-types/enumeration.ts +21 -0
- package/src/tx/builder/field-types/fee.ts +1 -3
- package/src/tx/builder/field-types/gas-limit.ts +2 -2
- package/src/tx/builder/field-types/gas-price.ts +0 -2
- package/src/tx/builder/field-types/index.ts +16 -6
- package/src/tx/builder/field-types/name-fee.ts +1 -1
- 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/u-int.ts +3 -2
- package/src/tx/builder/helpers.ts +10 -60
- package/src/tx/builder/index.ts +6 -65
- package/src/tx/builder/schema.ts +89 -100
- package/src/tx/index.ts +19 -15
- package/src/tx/validator.ts +36 -18
- package/src/typings/@aeternity__aepp-calldata/index.d.ts +20 -0
- package/src/utils/autorest.ts +16 -1
- package/src/utils/bytes.ts +5 -33
- package/src/utils/crypto.ts +23 -16
- package/src/utils/encoder.ts +0 -1
- package/src/utils/errors.ts +18 -12
- 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 +141 -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 +18 -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 +248 -0
- package/types-legacy/ts4.2/channel/Base.d.ts +194 -0
- package/types-legacy/ts4.2/channel/Contract.d.ts +247 -0
- package/types-legacy/ts4.2/channel/Spend.d.ts +217 -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/CompilerHttp.d.ts +18 -0
- package/types-legacy/ts4.2/contract/Contract.d.ts +237 -0
- package/types-legacy/ts4.2/contract/ga.d.ts +43 -0
- package/types-legacy/ts4.2/globals.d.ts +16 -0
- package/types-legacy/ts4.2/index.d.ts +39 -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 +71 -0
- package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +22 -0
- package/types-legacy/ts4.2/tx/builder/field-types/addresses.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/deposit.d.ts +14 -0
- package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +5 -0
- package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +17 -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 +12 -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 +85 -0
- package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +19 -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/short-u-int.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +8 -0
- package/types-legacy/ts4.2/tx/builder/helpers.d.ts +112 -0
- package/types-legacy/ts4.2/tx/builder/index.d.ts +68 -0
- package/types-legacy/ts4.2/tx/builder/schema.d.ts +2963 -0
- package/types-legacy/ts4.2/tx/index.d.ts +34 -0
- package/types-legacy/ts4.2/tx/validator.d.ts +20 -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 +480 -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/mptree.d.ts +32 -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 +141 -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 +18 -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 +248 -0
- package/types-legacy/ts4.5/channel/Base.d.ts +194 -0
- package/types-legacy/ts4.5/channel/Contract.d.ts +247 -0
- package/types-legacy/ts4.5/channel/Spend.d.ts +217 -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/CompilerHttp.d.ts +18 -0
- package/types-legacy/ts4.5/contract/Contract.d.ts +237 -0
- package/types-legacy/ts4.5/contract/ga.d.ts +43 -0
- package/types-legacy/ts4.5/index.d.ts +38 -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 +71 -0
- package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +22 -0
- package/types-legacy/ts4.5/tx/builder/field-types/addresses.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/deposit.d.ts +14 -0
- package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +5 -0
- package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +17 -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 +12 -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 +85 -0
- package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +19 -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/short-u-int.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +8 -0
- package/types-legacy/ts4.5/tx/builder/helpers.d.ts +112 -0
- package/types-legacy/ts4.5/tx/builder/index.d.ts +68 -0
- package/types-legacy/ts4.5/tx/builder/schema.d.ts +2963 -0
- package/types-legacy/ts4.5/tx/index.d.ts +34 -0
- package/types-legacy/ts4.5/tx/validator.d.ts +20 -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 +480 -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/mptree.d.ts +32 -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.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/src/channel/index.ts +0 -1025
- 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/contract/ga.ts
CHANGED
|
@@ -19,52 +19,32 @@
|
|
|
19
19
|
* Generalized Account module - routines to use generalized account
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
-
import { MAX_AUTH_FUN_GAS, TxSchema } from '../tx/builder/schema';
|
|
23
22
|
import { Tag } from '../tx/builder/constants';
|
|
24
|
-
import {
|
|
25
|
-
|
|
26
|
-
} from '../tx/builder';
|
|
27
|
-
import {
|
|
28
|
-
_buildTx, BuildTxOptions, getVmVersion, prepareTxParams,
|
|
29
|
-
} from '../tx';
|
|
23
|
+
import { buildContractIdByContractTx } from '../tx/builder';
|
|
24
|
+
import { _buildTx, BuildTxOptions } from '../tx';
|
|
30
25
|
import { hash } from '../utils/crypto';
|
|
31
|
-
import { decode, Encoded
|
|
32
|
-
import { IllegalArgumentError
|
|
26
|
+
import { decode, Encoded } from '../utils/encoder';
|
|
27
|
+
import { IllegalArgumentError } from '../utils/errors';
|
|
33
28
|
import { concatBuffers } from '../utils/other';
|
|
34
29
|
import AccountBase from '../account/Base';
|
|
35
|
-
import
|
|
30
|
+
import Contract from './Contract';
|
|
36
31
|
import { send, SendOptions } from '../spend';
|
|
37
32
|
import Node from '../Node';
|
|
38
33
|
import { getAccount } from '../chain';
|
|
39
|
-
import
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Check if account is GA
|
|
43
|
-
* @category contract
|
|
44
|
-
* @param address - Account address
|
|
45
|
-
* @param options - Options
|
|
46
|
-
* @returns if account is GA
|
|
47
|
-
*/
|
|
48
|
-
export async function isGA(
|
|
49
|
-
address: Encoded.AccountAddress,
|
|
50
|
-
options: Parameters<typeof getAccount>[1],
|
|
51
|
-
): Promise<boolean> {
|
|
52
|
-
const { contractId } = await getAccount(address, options);
|
|
53
|
-
return contractId != null;
|
|
54
|
-
}
|
|
34
|
+
import CompilerHttp from './CompilerHttp';
|
|
55
35
|
|
|
56
36
|
/**
|
|
57
37
|
* Convert current account to GA
|
|
58
38
|
* @category contract
|
|
59
39
|
* @param authFnName - Authorization function name
|
|
60
|
-
* @param
|
|
40
|
+
* @param sourceCode - Auth contract source code
|
|
61
41
|
* @param args - init arguments
|
|
62
42
|
* @param options - Options
|
|
63
43
|
* @returns General Account Object
|
|
64
44
|
*/
|
|
65
45
|
export async function createGeneralizedAccount(
|
|
66
46
|
authFnName: string,
|
|
67
|
-
|
|
47
|
+
sourceCode: string,
|
|
68
48
|
args: any[],
|
|
69
49
|
{
|
|
70
50
|
onAccount, onCompiler, onNode, ...options
|
|
@@ -75,20 +55,22 @@ export async function createGeneralizedAccount(
|
|
|
75
55
|
rawTx: Encoded.Transaction;
|
|
76
56
|
gaContractId: Encoded.ContractAddress;
|
|
77
57
|
}>> {
|
|
78
|
-
const ownerId =
|
|
79
|
-
if (await
|
|
58
|
+
const ownerId = onAccount.address;
|
|
59
|
+
if ((await getAccount(ownerId, { onNode })).kind === 'generalized') {
|
|
60
|
+
throw new IllegalArgumentError(`Account ${ownerId} is already GA`);
|
|
61
|
+
}
|
|
80
62
|
|
|
81
|
-
const contract = await
|
|
82
|
-
onAccount, onCompiler, onNode,
|
|
63
|
+
const contract = await Contract.initialize<{ init: (...a: any[]) => void }>({
|
|
64
|
+
onAccount, onCompiler, onNode, sourceCode,
|
|
83
65
|
});
|
|
84
66
|
|
|
85
67
|
const tx = await _buildTx(Tag.GaAttachTx, {
|
|
86
68
|
...options,
|
|
87
69
|
onNode,
|
|
88
|
-
code: await contract
|
|
70
|
+
code: await contract.$compile(),
|
|
89
71
|
gasLimit: options.gasLimit ?? await contract._estimateGas('init', args, options),
|
|
90
72
|
ownerId,
|
|
91
|
-
callData: contract.
|
|
73
|
+
callData: contract._calldata.encode(contract._name, 'init', args),
|
|
92
74
|
authFun: hash(authFnName),
|
|
93
75
|
});
|
|
94
76
|
const contractId = buildContractIdByContractTx(tx);
|
|
@@ -108,78 +90,11 @@ interface CreateGeneralizedAccountOptions extends
|
|
|
108
90
|
BuildTxOptions<Tag.GaAttachTx, 'authFun' | 'callData' | 'code' | 'ownerId' | 'gasLimit'>,
|
|
109
91
|
SendOptions {
|
|
110
92
|
onAccount: AccountBase;
|
|
111
|
-
onCompiler:
|
|
93
|
+
onCompiler: CompilerHttp;
|
|
112
94
|
onNode: Node;
|
|
113
95
|
gasLimit?: number;
|
|
114
96
|
}
|
|
115
97
|
|
|
116
|
-
/**
|
|
117
|
-
* Create a metaTx transaction
|
|
118
|
-
* @category contract
|
|
119
|
-
* @param rawTransaction - Inner transaction
|
|
120
|
-
* @param authData - Object with gaMeta params
|
|
121
|
-
* @param authFnName - Authorization function name
|
|
122
|
-
* @param options - Options
|
|
123
|
-
* @param options.onAccount - Account to use
|
|
124
|
-
* @returns Transaction string
|
|
125
|
-
*/
|
|
126
|
-
export async function createMetaTx(
|
|
127
|
-
rawTransaction: Encoded.Transaction,
|
|
128
|
-
authData: {
|
|
129
|
-
gasLimit?: number;
|
|
130
|
-
callData?: Encoded.ContractBytearray;
|
|
131
|
-
source?: string;
|
|
132
|
-
args?: any[];
|
|
133
|
-
},
|
|
134
|
-
authFnName: string,
|
|
135
|
-
{
|
|
136
|
-
onAccount, onCompiler, onNode, ...options
|
|
137
|
-
}:
|
|
138
|
-
{ onAccount: AccountBase; onCompiler: Compiler; onNode: Node }
|
|
139
|
-
& Parameters<AccountBase['address']>[0],
|
|
140
|
-
): Promise<Encoded.Transaction> {
|
|
141
|
-
const wrapInEmptySignedTx = (
|
|
142
|
-
tx: Encoded.Transaction | Uint8Array | TxUnpacked<TxSchema>,
|
|
143
|
-
): BuiltTx<TxSchema, Encoding.Transaction> => (
|
|
144
|
-
buildTx({ encodedTx: tx, signatures: [] }, Tag.SignedTx)
|
|
145
|
-
);
|
|
146
|
-
|
|
147
|
-
if (Object.keys(authData).length <= 0) throw new MissingParamError('authData is required');
|
|
148
|
-
|
|
149
|
-
const gasLimit = authData.gasLimit ?? MAX_AUTH_FUN_GAS;
|
|
150
|
-
if (gasLimit > MAX_AUTH_FUN_GAS) {
|
|
151
|
-
throw new InvalidAuthDataError(`the maximum gasLimit value for ga authFun is ${MAX_AUTH_FUN_GAS}, got ${gasLimit}`);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
const authCallData = authData.callData ?? await (async () => {
|
|
155
|
-
if (authData.source == null || authData.args == null) throw new InvalidAuthDataError('Auth data must contain source code and arguments.');
|
|
156
|
-
const contract = await getContractInstance({
|
|
157
|
-
onCompiler, onNode, source: authData.source,
|
|
158
|
-
});
|
|
159
|
-
return contract.calldata.encode(contract._name, authFnName, authData.args);
|
|
160
|
-
})();
|
|
161
|
-
|
|
162
|
-
const { abiVersion } = await getVmVersion(Tag.ContractCallTx, { onNode });
|
|
163
|
-
const wrappedTx = wrapInEmptySignedTx(unpackTx<Tag.SignedTx>(rawTransaction));
|
|
164
|
-
const params = {
|
|
165
|
-
...options,
|
|
166
|
-
tx: {
|
|
167
|
-
...wrappedTx,
|
|
168
|
-
tx: wrappedTx.txObject,
|
|
169
|
-
},
|
|
170
|
-
// TODO: accept an address instead
|
|
171
|
-
gaId: await onAccount.address(options),
|
|
172
|
-
abiVersion,
|
|
173
|
-
authData: authCallData,
|
|
174
|
-
gasLimit,
|
|
175
|
-
vsn: 2,
|
|
176
|
-
};
|
|
177
|
-
// @ts-expect-error createMetaTx needs to be integrated into tx builder
|
|
178
|
-
const { fee } = await prepareTxParams(Tag.GaMetaTx, { ...params, onNode });
|
|
179
|
-
const { rlpEncoded: metaTxRlp } = buildTx({ ...params, fee }, Tag.GaMetaTx);
|
|
180
|
-
return wrapInEmptySignedTx(metaTxRlp).tx;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
98
|
/**
|
|
184
99
|
* Build a transaction hash the same as `Auth.tx_hash`
|
|
185
100
|
* @category contract
|
|
@@ -192,8 +107,7 @@ export async function buildAuthTxHash(
|
|
|
192
107
|
transaction: Encoded.Transaction,
|
|
193
108
|
{ onNode }: { onNode: Node },
|
|
194
109
|
): Promise<Uint8Array> {
|
|
195
|
-
const { networkId } = await onNode.getStatus();
|
|
196
110
|
return new Uint8Array(hash(
|
|
197
|
-
concatBuffers([Buffer.from(
|
|
111
|
+
concatBuffers([Buffer.from(await onNode.getNetworkId()), decode(transaction)]),
|
|
198
112
|
));
|
|
199
113
|
}
|
package/src/index.ts
CHANGED
|
@@ -24,19 +24,17 @@ export * from './tx/builder';
|
|
|
24
24
|
export * from './tx/builder/helpers';
|
|
25
25
|
export * from './tx/builder/constants';
|
|
26
26
|
export * from './tx/builder/schema';
|
|
27
|
-
export * from './tx/builder/address';
|
|
28
27
|
export * from './utils/amount-formatter';
|
|
29
28
|
export * from './utils/hd-wallet';
|
|
30
|
-
export {
|
|
31
|
-
sha256hash, encode, decode, Encoding,
|
|
32
|
-
} from './utils/encoder';
|
|
29
|
+
export { encode, decode, Encoding } from './utils/encoder';
|
|
33
30
|
export * from './aens';
|
|
34
|
-
export
|
|
31
|
+
export { default as Contract } from './contract/Contract';
|
|
32
|
+
export type { ContractMethodsBase } from './contract/Contract';
|
|
35
33
|
export * from './oracle';
|
|
36
34
|
export * from './spend';
|
|
37
35
|
export * from './contract/ga';
|
|
38
|
-
export * from './deprecated';
|
|
39
36
|
|
|
37
|
+
export { default as AeSdkMethods } from './AeSdkMethods';
|
|
40
38
|
export { default as AeSdkBase } from './AeSdkBase';
|
|
41
39
|
export { default as AeSdk } from './AeSdk';
|
|
42
40
|
export { default as AeSdkAepp } from './AeSdkAepp';
|
|
@@ -45,8 +43,11 @@ export { default as Node } from './Node';
|
|
|
45
43
|
export { default as verifyTransaction } from './tx/validator';
|
|
46
44
|
export { default as AccountBase } from './account/Base';
|
|
47
45
|
export { default as MemoryAccount } from './account/Memory';
|
|
48
|
-
export { default as
|
|
49
|
-
export { default as
|
|
46
|
+
export { default as AccountGeneralized } from './account/Generalized';
|
|
47
|
+
export { default as AccountLedger } from './account/Ledger';
|
|
48
|
+
export { default as AccountLedgerFactory } from './account/LedgerFactory';
|
|
49
|
+
export { default as CompilerHttp } from './contract/CompilerHttp';
|
|
50
|
+
export { default as Channel } from './channel/Contract';
|
|
50
51
|
|
|
51
52
|
export { default as connectionProxy } from './aepp-wallet-communication/connection-proxy';
|
|
52
53
|
export * from './aepp-wallet-communication/schema';
|
package/src/oracle.ts
CHANGED
|
@@ -40,7 +40,7 @@ import { RequestTimedOutError } from './utils/errors';
|
|
|
40
40
|
import {
|
|
41
41
|
decode, encode, Encoded, Encoding,
|
|
42
42
|
} from './utils/encoder';
|
|
43
|
-
import { _getPollInterval } from './chain';
|
|
43
|
+
import { _getPollInterval, getHeight } from './chain';
|
|
44
44
|
import { _buildTx, BuildTxOptions } from './tx';
|
|
45
45
|
import Node from './Node';
|
|
46
46
|
import AccountBase from './account/Base';
|
|
@@ -106,11 +106,11 @@ export async function pollForQueryResponse(
|
|
|
106
106
|
let ttl;
|
|
107
107
|
let response;
|
|
108
108
|
do {
|
|
109
|
-
if (height != null) await pause(interval);
|
|
110
109
|
({ response, ttl } = await onNode.getOracleQueryByPubkeyAndQueryId(oracleId, queryId));
|
|
111
110
|
const responseBuffer = decode(response as Encoded.OracleResponse);
|
|
112
111
|
if (responseBuffer.length > 0) return responseBuffer.toString();
|
|
113
|
-
|
|
112
|
+
await pause(interval);
|
|
113
|
+
height = await getHeight({ onNode });
|
|
114
114
|
} while (ttl >= height);
|
|
115
115
|
throw new RequestTimedOutError(height);
|
|
116
116
|
}
|
|
@@ -169,7 +169,7 @@ export async function postQueryToOracle(
|
|
|
169
169
|
options: PostQueryToOracleOptions,
|
|
170
170
|
): Promise<Awaited<ReturnType<typeof send>> & Awaited<ReturnType<typeof getQueryObject>>> {
|
|
171
171
|
options.queryFee ??= (await options.onNode.getOracleByPubkey(oracleId)).queryFee.toString();
|
|
172
|
-
const senderId =
|
|
172
|
+
const senderId = options.onAccount.address;
|
|
173
173
|
|
|
174
174
|
const oracleQueryTx = await _buildTx(Tag.OracleQueryTx, {
|
|
175
175
|
queryTtlType: QUERY_TTL.type,
|
|
@@ -219,7 +219,7 @@ export async function extendOracleTtl(
|
|
|
219
219
|
oracleTtlType: ORACLE_TTL.type,
|
|
220
220
|
oracleTtlValue: ORACLE_TTL.value,
|
|
221
221
|
...options,
|
|
222
|
-
callerId:
|
|
222
|
+
callerId: options.onAccount.address,
|
|
223
223
|
oracleId,
|
|
224
224
|
});
|
|
225
225
|
return {
|
|
@@ -256,7 +256,7 @@ export async function respondToQuery(
|
|
|
256
256
|
responseTtlType: RESPONSE_TTL.type,
|
|
257
257
|
responseTtlValue: RESPONSE_TTL.value,
|
|
258
258
|
...options,
|
|
259
|
-
callerId:
|
|
259
|
+
callerId: options.onAccount.address,
|
|
260
260
|
oracleId,
|
|
261
261
|
queryId,
|
|
262
262
|
response,
|
|
@@ -338,7 +338,7 @@ export async function registerOracle(
|
|
|
338
338
|
responseFormat: string,
|
|
339
339
|
options: RegisterOracleOptions,
|
|
340
340
|
): Promise<Awaited<ReturnType<typeof send>> & Awaited<ReturnType<typeof getOracleObject>>> {
|
|
341
|
-
const accountId =
|
|
341
|
+
const accountId = options.onAccount.address;
|
|
342
342
|
const oracleRegisterTx = await _buildTx(Tag.OracleRegisterTx, {
|
|
343
343
|
queryFee: QUERY_FEE,
|
|
344
344
|
oracleTtlValue: ORACLE_TTL.value,
|
package/src/spend.ts
CHANGED
|
@@ -15,9 +15,7 @@
|
|
|
15
15
|
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
16
|
*/
|
|
17
17
|
import BigNumber from 'bignumber.js';
|
|
18
|
-
import {
|
|
19
|
-
sendTransaction, getAccount, getBalance, resolveName,
|
|
20
|
-
} from './chain';
|
|
18
|
+
import { sendTransaction, getBalance, resolveName } from './chain';
|
|
21
19
|
import { _buildTx, BuildTxOptions } from './tx';
|
|
22
20
|
import { buildTxHash, unpackTx } from './tx/builder';
|
|
23
21
|
import { ArgumentError } from './utils/errors';
|
|
@@ -38,15 +36,9 @@ export async function send(
|
|
|
38
36
|
tx: Encoded.Transaction,
|
|
39
37
|
options: SendOptions,
|
|
40
38
|
): Promise<SendReturnType> {
|
|
41
|
-
// TODO: detect authFun in AccountGa
|
|
42
|
-
const authFun = options.innerTx === true
|
|
43
|
-
? undefined
|
|
44
|
-
: (await getAccount(await options.onAccount.address(options), options)).authFun;
|
|
45
|
-
|
|
46
39
|
const signed = await options.onAccount.signTransaction(tx, {
|
|
47
40
|
...options,
|
|
48
|
-
|
|
49
|
-
networkId: (await options.onNode.getStatus()).networkId,
|
|
41
|
+
networkId: await options.onNode.getNetworkId(),
|
|
50
42
|
});
|
|
51
43
|
|
|
52
44
|
return options.innerTx === true
|
|
@@ -75,7 +67,7 @@ export async function spend(
|
|
|
75
67
|
return send(
|
|
76
68
|
await _buildTx(Tag.SpendTx, {
|
|
77
69
|
...options,
|
|
78
|
-
senderId:
|
|
70
|
+
senderId: options.onAccount.address,
|
|
79
71
|
recipientId: await resolveName<Encoding.AccountAddress>(
|
|
80
72
|
recipientIdOrName,
|
|
81
73
|
'account_pubkey',
|
|
@@ -113,7 +105,7 @@ export async function transferFunds(
|
|
|
113
105
|
'account_pubkey',
|
|
114
106
|
options,
|
|
115
107
|
);
|
|
116
|
-
const senderId =
|
|
108
|
+
const senderId = options.onAccount.address;
|
|
117
109
|
const balance = new BigNumber(
|
|
118
110
|
await getBalance.bind(options.onAccount)(senderId, options),
|
|
119
111
|
);
|
|
@@ -152,7 +144,7 @@ export async function payForTransaction(
|
|
|
152
144
|
return send(
|
|
153
145
|
await _buildTx(
|
|
154
146
|
Tag.PayingForTx,
|
|
155
|
-
{ ...options, payerId:
|
|
147
|
+
{ ...options, payerId: options.onAccount.address, tx: transaction },
|
|
156
148
|
),
|
|
157
149
|
options,
|
|
158
150
|
);
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { PrefixNotFoundError, TagNotFoundError } from '../../../utils/errors';
|
|
2
|
+
import { toBytes } from '../../../utils/bytes';
|
|
3
|
+
import { decode, encode, Encoding } from '../../../utils/encoder';
|
|
4
|
+
import { isItemOfArray } from '../../../utils/other';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Map of prefix to ID tag constant
|
|
8
|
+
* @see {@link https://github.com/aeternity/protocol/blob/master/serializations.md#the-id-type}
|
|
9
|
+
* @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_id.erl#L97-L102}
|
|
10
|
+
* @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_api_encoder.erl#L163-L168}
|
|
11
|
+
*/
|
|
12
|
+
const idTagToEncoding = [
|
|
13
|
+
Encoding.AccountAddress,
|
|
14
|
+
Encoding.Name,
|
|
15
|
+
Encoding.Commitment,
|
|
16
|
+
Encoding.OracleAddress,
|
|
17
|
+
Encoding.ContractAddress,
|
|
18
|
+
Encoding.Channel,
|
|
19
|
+
] as const;
|
|
20
|
+
|
|
21
|
+
export type AddressEncodings = typeof idTagToEncoding[number];
|
|
22
|
+
|
|
23
|
+
export default function genAddressField<Encoding extends AddressEncodings>(): {
|
|
24
|
+
serialize: (value: `${Encoding}_${string}`) => Buffer;
|
|
25
|
+
deserialize: (value: Buffer) => `${Encoding}_${string}`;
|
|
26
|
+
} {
|
|
27
|
+
return {
|
|
28
|
+
/**
|
|
29
|
+
* Utility function to create and _id type
|
|
30
|
+
* @param hashId - Encoded hash
|
|
31
|
+
* @returns Buffer Buffer with ID tag and decoded HASh
|
|
32
|
+
*/
|
|
33
|
+
serialize(hashId) {
|
|
34
|
+
const encoding = hashId.slice(0, 2);
|
|
35
|
+
if (!isItemOfArray(encoding, idTagToEncoding)) throw new TagNotFoundError(encoding);
|
|
36
|
+
const idTag = idTagToEncoding.indexOf(encoding) + 1;
|
|
37
|
+
return Buffer.from([...toBytes(idTag), ...decode(hashId)]);
|
|
38
|
+
},
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Utility function to read and _id type
|
|
42
|
+
* @param buf - Data
|
|
43
|
+
* @returns Encoded hash string with prefix
|
|
44
|
+
*/
|
|
45
|
+
deserialize(buf) {
|
|
46
|
+
const idTag = Buffer.from(buf).readUIntBE(0, 1);
|
|
47
|
+
const encoding = idTagToEncoding[idTag - 1];
|
|
48
|
+
if (encoding == null) throw new PrefixNotFoundError(idTag);
|
|
49
|
+
return encode(buf.subarray(1), encoding) as `${Encoding}_${string}`;
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import genAddressField, { AddressEncodings } from './address';
|
|
2
|
+
|
|
3
|
+
export default function genAddressesField<Encoding extends AddressEncodings>(): {
|
|
4
|
+
serialize: (value: Array<`${Encoding}_${string}`>) => Buffer[];
|
|
5
|
+
deserialize: (value: Buffer[]) => Array<`${Encoding}_${string}`>;
|
|
6
|
+
} {
|
|
7
|
+
const address = genAddressField<Encoding>();
|
|
8
|
+
|
|
9
|
+
return {
|
|
10
|
+
serialize(addresses) {
|
|
11
|
+
return addresses.map(address.serialize);
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
deserialize(addresses) {
|
|
15
|
+
return addresses.map(address.deserialize);
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import uInt, { Int } from './u-int';
|
|
2
2
|
import { AE_AMOUNT_FORMATS, formatAmount } from '../../../utils/amount-formatter';
|
|
3
|
-
import { ArgumentError } from '../../../utils/errors';
|
|
4
3
|
|
|
5
4
|
export interface Options { denomination?: AE_AMOUNT_FORMATS }
|
|
6
5
|
|
|
@@ -8,11 +7,10 @@ export default {
|
|
|
8
7
|
...uInt,
|
|
9
8
|
|
|
10
9
|
serializeAettos(value: string | undefined): string {
|
|
11
|
-
|
|
12
|
-
return value;
|
|
10
|
+
return value ?? '0';
|
|
13
11
|
},
|
|
14
12
|
|
|
15
|
-
|
|
13
|
+
serialize(value: Int | undefined, { denomination, ...options }: Options): Buffer {
|
|
16
14
|
return uInt.serialize(
|
|
17
15
|
this.serializeAettos(
|
|
18
16
|
value != null ? formatAmount(value, { denomination }) : value,
|
|
@@ -20,8 +18,4 @@ export default {
|
|
|
20
18
|
),
|
|
21
19
|
);
|
|
22
20
|
},
|
|
23
|
-
|
|
24
|
-
serialize(value: Int, options: Options): Buffer {
|
|
25
|
-
return this.serializeOptional(value, options);
|
|
26
|
-
},
|
|
27
21
|
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ArgumentError } from '../../../utils/errors';
|
|
2
|
+
|
|
3
|
+
export default function genEnumerationField<Enum extends number>(): {
|
|
4
|
+
serialize: (value: Enum) => Buffer;
|
|
5
|
+
deserialize: (value: Buffer) => Enum;
|
|
6
|
+
} {
|
|
7
|
+
return {
|
|
8
|
+
serialize(value) {
|
|
9
|
+
if (typeof value !== 'number') throw new ArgumentError('value', 'to be a number', value);
|
|
10
|
+
if (value > 0xff) throw new ArgumentError('value', 'to be less than 256', value);
|
|
11
|
+
return Buffer.from([value]);
|
|
12
|
+
},
|
|
13
|
+
|
|
14
|
+
deserialize(buffer) {
|
|
15
|
+
if (buffer.length !== 1) {
|
|
16
|
+
throw new ArgumentError('buffer', 'to have single element', buffer.length);
|
|
17
|
+
}
|
|
18
|
+
return buffer[0] as Enum;
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
@@ -109,7 +109,7 @@ export function buildFee(txType: Tag, buildTx: any): BigNumber {
|
|
|
109
109
|
* @param txType - Transaction type
|
|
110
110
|
* @param rebuildTx - Callback to get built transaction with specific fee
|
|
111
111
|
*/
|
|
112
|
-
|
|
112
|
+
function calculateMinFee(
|
|
113
113
|
txType: Tag,
|
|
114
114
|
rebuildTx: (value: BigNumber) => any,
|
|
115
115
|
): BigNumber {
|
|
@@ -138,6 +138,4 @@ export default {
|
|
|
138
138
|
}
|
|
139
139
|
return value.toFixed();
|
|
140
140
|
},
|
|
141
|
-
|
|
142
|
-
serialize: coinAmount.serializeOptional,
|
|
143
141
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IllegalArgumentError } from '../../../utils/errors';
|
|
2
|
-
import { MIN_GAS_PRICE, Tag } from '../constants';
|
|
2
|
+
import { MIN_GAS_PRICE, Tag, MAX_AUTH_FUN_GAS } from '../constants';
|
|
3
3
|
import shortUInt from './short-u-int';
|
|
4
4
|
import { buildFee } from './fee';
|
|
5
5
|
|
|
@@ -27,7 +27,7 @@ export default {
|
|
|
27
27
|
): Buffer {
|
|
28
28
|
if (_computingGasLimit != null) return shortUInt.serialize(_computingGasLimit);
|
|
29
29
|
|
|
30
|
-
const gasLimitMax = calculateGasLimitMax(
|
|
30
|
+
const gasLimitMax = txType === Tag.GaMetaTx ? MAX_AUTH_FUN_GAS : calculateGasLimitMax(
|
|
31
31
|
txType,
|
|
32
32
|
gasMax,
|
|
33
33
|
(gasLimit) => rebuildTx({ _computingGasLimit: gasLimit }),
|
|
@@ -2,44 +2,54 @@ import _field from './field';
|
|
|
2
2
|
import _uInt from './u-int';
|
|
3
3
|
import _shortUInt from './short-u-int';
|
|
4
4
|
import _coinAmount from './coin-amount';
|
|
5
|
-
|
|
5
|
+
import _address from './address';
|
|
6
|
+
import _addresses from './addresses';
|
|
6
7
|
import _deposit from './deposit';
|
|
8
|
+
import _enumeration from './enumeration';
|
|
7
9
|
import _fee from './fee';
|
|
8
10
|
import _gasLimit from './gas-limit';
|
|
9
11
|
import _gasPrice from './gas-price';
|
|
10
12
|
import _name from './name';
|
|
11
13
|
import _nameFee from './name-fee';
|
|
12
14
|
import _nameId from './name-id';
|
|
15
|
+
import _pointers from './pointers';
|
|
13
16
|
|
|
14
17
|
// TODO: remove after fixing https://github.com/Gerrit0/typedoc-plugin-missing-exports/issues/15
|
|
15
18
|
const field = _field;
|
|
16
19
|
const uInt = _uInt;
|
|
17
20
|
const shortUInt = _shortUInt;
|
|
18
21
|
const coinAmount = _coinAmount;
|
|
19
|
-
|
|
22
|
+
const address = _address;
|
|
23
|
+
const addresses = _addresses;
|
|
20
24
|
const deposit = _deposit;
|
|
25
|
+
const enumeration = _enumeration;
|
|
21
26
|
const fee = _fee;
|
|
22
27
|
const gasLimit = _gasLimit;
|
|
23
28
|
const gasPrice = _gasPrice;
|
|
24
29
|
const name = _name;
|
|
25
30
|
const nameFee = _nameFee;
|
|
26
31
|
const nameId = _nameId;
|
|
32
|
+
const pointers = _pointers;
|
|
27
33
|
|
|
28
|
-
export
|
|
29
|
-
|
|
30
|
-
|
|
|
34
|
+
export interface Field {
|
|
35
|
+
serialize: (value: any, options: any) => Buffer | Buffer[] | Buffer[][];
|
|
36
|
+
deserialize: (value: Buffer | Buffer[] | Buffer[][]) => any;
|
|
37
|
+
}
|
|
31
38
|
|
|
32
39
|
export {
|
|
33
40
|
field,
|
|
34
41
|
uInt,
|
|
35
42
|
shortUInt,
|
|
36
43
|
coinAmount,
|
|
37
|
-
|
|
44
|
+
address,
|
|
45
|
+
addresses,
|
|
38
46
|
deposit,
|
|
47
|
+
enumeration,
|
|
39
48
|
fee,
|
|
40
49
|
gasLimit,
|
|
41
50
|
gasPrice,
|
|
42
51
|
name,
|
|
43
52
|
nameFee,
|
|
44
53
|
nameId,
|
|
54
|
+
pointers,
|
|
45
55
|
};
|
|
@@ -27,6 +27,6 @@ export default {
|
|
|
27
27
|
value: Int | undefined,
|
|
28
28
|
txFields: { name: AensName } & Parameters<typeof coinAmount['serialize']>[1],
|
|
29
29
|
): Buffer {
|
|
30
|
-
return coinAmount.
|
|
30
|
+
return coinAmount.serialize.call(this, value, txFields);
|
|
31
31
|
},
|
|
32
32
|
};
|
|
@@ -1,20 +1,17 @@
|
|
|
1
1
|
import { AensName } from '../constants';
|
|
2
2
|
import { produceNameId, isNameValid } from '../helpers';
|
|
3
|
-
import
|
|
4
|
-
import { Encoded } from '../../../utils/encoder';
|
|
3
|
+
import address from './address';
|
|
4
|
+
import { Encoded, Encoding } from '../../../utils/encoder';
|
|
5
|
+
|
|
6
|
+
const addressName = address<Encoding.Name>();
|
|
5
7
|
|
|
6
8
|
export default {
|
|
9
|
+
...addressName,
|
|
10
|
+
|
|
7
11
|
/**
|
|
8
12
|
* @param value - AENS name ID
|
|
9
13
|
*/
|
|
10
14
|
serialize(value: AensName | Encoded.Name): Buffer {
|
|
11
|
-
return
|
|
12
|
-
},
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @param value - AENS name ID Buffer
|
|
16
|
-
*/
|
|
17
|
-
deserialize(value: Buffer): Encoded.Name {
|
|
18
|
-
return readId(value) as Encoded.Name;
|
|
15
|
+
return addressName.serialize(isNameValid(value) ? produceNameId(value) : value);
|
|
19
16
|
},
|
|
20
17
|
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { NamePointer as NamePointerString } from '../../../apis/node';
|
|
2
|
+
import { toBytes } from '../../../utils/bytes';
|
|
3
|
+
import { Encoded } from '../../../utils/encoder';
|
|
4
|
+
import { IllegalArgumentError } from '../../../utils/errors';
|
|
5
|
+
import address, { AddressEncodings } from './address';
|
|
6
|
+
|
|
7
|
+
const addressAny = address<AddressEncodings>();
|
|
8
|
+
|
|
9
|
+
// TODO: remove after fixing node types
|
|
10
|
+
type NamePointer = NamePointerString & {
|
|
11
|
+
id: Encoded.Generic<AddressEncodings>;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export default {
|
|
15
|
+
/**
|
|
16
|
+
* Helper function to build pointers for name update TX
|
|
17
|
+
* @param pointers - Array of pointers
|
|
18
|
+
* `([ { key: 'account_pubkey', id: 'ak_32klj5j23k23j5423l434l2j3423'} ])`
|
|
19
|
+
* @returns Serialized pointers array
|
|
20
|
+
*/
|
|
21
|
+
serialize(pointers: NamePointer[]): Buffer[][] {
|
|
22
|
+
if (pointers.length > 32) {
|
|
23
|
+
throw new IllegalArgumentError(`Expected 32 pointers or less, got ${pointers.length} instead`);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return pointers.map(
|
|
27
|
+
(pointer) => [toBytes(pointer.key), addressAny.serialize(pointer.id)],
|
|
28
|
+
);
|
|
29
|
+
},
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Helper function to read pointers from name update TX
|
|
33
|
+
* @param pointers - Array of pointers
|
|
34
|
+
* @returns Deserialize pointer array
|
|
35
|
+
*/
|
|
36
|
+
deserialize(pointers: Array<[key: Buffer, id: Buffer]>): NamePointer[] {
|
|
37
|
+
return pointers.map(
|
|
38
|
+
([key, id]) => ({ key: key.toString(), id: addressAny.deserialize(id) }),
|
|
39
|
+
);
|
|
40
|
+
},
|
|
41
|
+
};
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
|
-
import { readInt
|
|
2
|
+
import { readInt } from '../helpers';
|
|
3
3
|
import { ArgumentError } from '../../../utils/errors';
|
|
4
|
+
import { toBytes } from '../../../utils/bytes';
|
|
4
5
|
|
|
5
6
|
export type Int = number | string | BigNumber;
|
|
6
7
|
|
|
7
8
|
export default {
|
|
8
9
|
serialize(value: Int): Buffer {
|
|
9
10
|
if (value < 0) throw new ArgumentError('value', 'greater or equal to 0', value);
|
|
10
|
-
return
|
|
11
|
+
return toBytes(value, true);
|
|
11
12
|
},
|
|
12
13
|
|
|
13
14
|
deserialize(value: Buffer): string {
|