@aeternity/aepp-sdk 13.0.0-alpha.0 → 13.0.0-beta.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/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 +5595 -2249
- package/dist/aepp-sdk.js.map +1 -1
- package/es/AeSdk.mjs.map +1 -1
- package/es/AeSdkAepp.mjs.map +1 -1
- package/es/AeSdkBase.d.ts +3 -3
- package/es/AeSdkBase.mjs +4 -0
- package/es/AeSdkBase.mjs.map +1 -1
- package/es/AeSdkMethods.d.ts +12 -14
- package/es/AeSdkMethods.mjs +6 -8
- package/es/AeSdkMethods.mjs.map +1 -1
- package/es/AeSdkWallet.mjs +1 -1
- package/es/AeSdkWallet.mjs.map +1 -1
- package/es/Node.d.ts +9 -4
- package/es/Node.mjs +12 -6
- package/es/Node.mjs.map +1 -1
- package/es/account/Base.d.ts +13 -8
- package/es/account/Base.mjs +0 -17
- package/es/account/Base.mjs.map +1 -1
- package/es/account/Generalized.mjs +14 -25
- package/es/account/Generalized.mjs.map +1 -1
- package/es/account/Ledger.mjs +2 -1
- package/es/account/Ledger.mjs.map +1 -1
- package/es/account/LedgerFactory.mjs.map +1 -1
- package/es/account/Memory.d.ts +2 -1
- package/es/account/Memory.mjs +11 -22
- package/es/account/Memory.mjs.map +1 -1
- package/es/account/Rpc.mjs.map +1 -1
- package/es/aens.d.ts +12 -14
- package/es/aens.mjs +22 -32
- package/es/aens.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/Browser.mjs +0 -16
- 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 +19 -20
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -16
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection-proxy.mjs +0 -17
- package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +5 -6
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/types.d.ts +6 -2
- package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
- package/es/aepp-wallet-communication/schema.mjs.map +1 -1
- package/es/aepp-wallet-communication/wallet-detector.mjs +0 -16
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
- package/es/apis/compiler/compiler.d.ts +1 -1
- package/es/apis/compiler/compiler.mjs +4 -20
- package/es/apis/compiler/compiler.mjs.map +1 -1
- package/es/apis/compiler/models/index.d.ts +3 -2
- package/es/apis/compiler/models/index.mjs.map +1 -1
- package/es/apis/compiler/models/mappers.d.ts +1 -1
- package/es/apis/compiler/models/mappers.mjs +19 -2
- package/es/apis/compiler/models/mappers.mjs.map +1 -1
- package/es/apis/node/models/index.d.ts +15 -15
- package/es/apis/node/models/index.mjs.map +1 -1
- package/es/apis/node/models/mappers.d.ts +1 -1
- package/es/apis/node/models/mappers.mjs +2 -1
- package/es/apis/node/models/mappers.mjs.map +1 -1
- package/es/apis/node/models/parameters.d.ts +2 -2
- package/es/apis/node/models/parameters.mjs +2 -2
- package/es/apis/node/models/parameters.mjs.map +1 -1
- package/es/apis/node/node.mjs +3 -19
- package/es/apis/node/node.mjs.map +1 -1
- package/es/chain.d.ts +17 -9
- package/es/chain.mjs +23 -23
- package/es/chain.mjs.map +1 -1
- package/es/channel/Base.d.ts +27 -9
- package/es/channel/Base.mjs +27 -27
- package/es/channel/Base.mjs.map +1 -1
- package/es/channel/Contract.d.ts +8 -7
- package/es/channel/Contract.mjs +8 -21
- package/es/channel/Contract.mjs.map +1 -1
- package/es/channel/Spend.d.ts +5 -1
- package/es/channel/Spend.mjs +4 -18
- package/es/channel/Spend.mjs.map +1 -1
- package/es/channel/handlers.mjs +16 -26
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/internal.d.ts +19 -2
- package/es/channel/internal.mjs +22 -20
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/Contract.d.ts +43 -123
- package/es/contract/Contract.mjs +230 -250
- package/es/contract/Contract.mjs.map +1 -1
- package/es/contract/compiler/Base.d.ts +74 -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 +149 -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 +94 -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/delegation-signature.d.ts +43 -0
- package/es/contract/delegation-signature.mjs +45 -0
- package/es/contract/delegation-signature.mjs.map +1 -0
- package/es/contract/ga.d.ts +27 -10
- package/es/contract/ga.mjs +63 -29
- package/es/contract/ga.mjs.map +1 -1
- package/es/index-browser.d.ts +40 -0
- package/es/index-browser.mjs +41 -0
- package/es/index-browser.mjs.map +1 -0
- package/es/index.d.ts +4 -38
- package/es/index.mjs +4 -53
- package/es/index.mjs.map +1 -1
- package/es/oracle.d.ts +12 -17
- package/es/oracle.mjs +29 -49
- package/es/oracle.mjs.map +1 -1
- package/es/spend.d.ts +19 -27
- package/es/spend.mjs +21 -46
- package/es/spend.mjs.map +1 -1
- package/es/tx/builder/SchemaTypes.d.ts +37 -0
- package/es/tx/builder/SchemaTypes.mjs +2 -0
- package/es/tx/builder/SchemaTypes.mjs.map +1 -0
- package/es/tx/builder/constants.d.ts +31 -2
- package/es/tx/builder/constants.mjs +34 -3
- package/es/tx/builder/constants.mjs.map +1 -1
- package/es/tx/builder/field-types/abi-version.d.ts +19 -0
- package/es/tx/builder/field-types/abi-version.mjs +40 -0
- package/es/tx/builder/field-types/abi-version.mjs.map +1 -0
- package/es/tx/builder/field-types/address.d.ts +5 -6
- package/es/tx/builder/field-types/address.mjs +17 -8
- package/es/tx/builder/field-types/address.mjs.map +1 -1
- 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 +4 -5
- package/es/tx/builder/field-types/coin-amount.mjs +4 -5
- package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
- package/es/tx/builder/field-types/ct-version.d.ts +49 -0
- package/es/tx/builder/field-types/ct-version.mjs +76 -0
- package/es/tx/builder/field-types/ct-version.mjs.map +1 -0
- package/es/tx/builder/field-types/deposit.d.ts +3 -2
- package/es/tx/builder/field-types/deposit.mjs +3 -2
- 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 +34 -0
- package/es/tx/builder/field-types/entry.mjs.map +1 -0
- package/es/tx/builder/field-types/enumeration.d.ts +5 -3
- package/es/tx/builder/field-types/enumeration.mjs +11 -2
- package/es/tx/builder/field-types/enumeration.mjs.map +1 -1
- package/es/tx/builder/field-types/fee.d.ts +12 -7
- package/es/tx/builder/field-types/fee.mjs +28 -20
- package/es/tx/builder/field-types/fee.mjs.map +1 -1
- package/es/tx/builder/field-types/field.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-limit.d.ts +7 -3
- package/es/tx/builder/field-types/gas-limit.mjs +13 -8
- package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-price.d.ts +3 -1
- package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
- package/es/tx/builder/field-types/index.d.ts +107 -30
- package/es/tx/builder/field-types/index.mjs +38 -12
- package/es/tx/builder/field-types/index.mjs.map +1 -1
- package/es/tx/builder/field-types/map.d.ts +13 -0
- package/es/tx/builder/field-types/map.mjs +49 -0
- package/es/tx/builder/field-types/map.mjs.map +1 -0
- package/es/tx/builder/field-types/mptree.d.ts +42 -0
- package/es/tx/builder/field-types/mptree.mjs +266 -0
- package/es/tx/builder/field-types/mptree.mjs.map +1 -0
- package/es/tx/builder/field-types/name-fee.d.ts +2 -3
- package/es/tx/builder/field-types/name-fee.mjs +2 -2
- package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
- package/es/tx/builder/field-types/name-id.mjs +2 -1
- package/es/tx/builder/field-types/name-id.mjs.map +1 -1
- package/es/tx/builder/field-types/name.mjs.map +1 -1
- package/es/tx/builder/field-types/nonce.d.ts +14 -0
- package/es/tx/builder/field-types/nonce.mjs +29 -0
- package/es/tx/builder/field-types/nonce.mjs.map +1 -0
- package/es/tx/builder/field-types/pointers.mjs +2 -2
- package/es/tx/builder/field-types/pointers.mjs.map +1 -1
- 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 +7 -0
- package/es/tx/builder/field-types/short-u-int-const.mjs +20 -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.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/ttl.d.ts +11 -0
- package/es/tx/builder/field-types/ttl.mjs +21 -0
- package/es/tx/builder/field-types/ttl.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.map +1 -1
- package/es/tx/builder/field-types/wrapped.d.ts +14 -0
- package/es/tx/builder/field-types/wrapped.mjs +22 -0
- package/es/tx/builder/field-types/wrapped.mjs.map +1 -0
- package/es/tx/builder/helpers.mjs.map +1 -1
- package/es/tx/builder/index.d.ts +18 -36
- package/es/tx/builder/index.mjs +65 -236
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +2734 -1324
- package/es/tx/builder/schema.generated.d.ts +2011 -0
- package/es/tx/builder/schema.generated.mjs +2 -0
- package/es/tx/builder/schema.generated.mjs.map +1 -0
- package/es/tx/builder/schema.mjs +459 -223
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/tx/execution-cost.d.ts +35 -0
- package/es/tx/execution-cost.mjs +123 -0
- package/es/tx/execution-cost.mjs.map +1 -0
- package/es/tx/transaction-signer.d.ts +6 -0
- package/es/tx/transaction-signer.mjs +27 -0
- package/es/tx/transaction-signer.mjs.map +1 -0
- package/es/tx/validator.d.ts +3 -5
- package/es/tx/validator.mjs +91 -153
- package/es/tx/validator.mjs.map +1 -1
- package/es/utils/amount-formatter.mjs +0 -16
- package/es/utils/amount-formatter.mjs.map +1 -1
- package/es/utils/autorest.d.ts +3 -2
- package/es/utils/autorest.mjs +43 -11
- package/es/utils/autorest.mjs.map +1 -1
- package/es/utils/bytes.mjs +1 -17
- package/es/utils/bytes.mjs.map +1 -1
- package/es/utils/crypto.mjs +0 -16
- package/es/utils/crypto.mjs.map +1 -1
- package/es/utils/encoder.mjs.map +1 -1
- package/es/utils/errors.d.ts +16 -38
- package/es/utils/errors.mjs +3 -43
- package/es/utils/errors.mjs.map +1 -1
- package/es/utils/hd-wallet.mjs.map +1 -1
- package/es/utils/json-big.mjs.map +1 -1
- package/es/utils/keystore.mjs.map +1 -1
- package/es/utils/other.mjs.map +1 -1
- package/es/utils/semver-satisfies.mjs.map +1 -1
- package/es/utils/string.mjs +0 -17
- package/es/utils/string.mjs.map +1 -1
- package/package.json +52 -40
- package/src/AeSdkBase.ts +6 -3
- package/src/AeSdkMethods.ts +12 -18
- package/src/AeSdkWallet.ts +1 -1
- package/src/Node.ts +23 -9
- package/src/account/Base.ts +13 -24
- package/src/account/Generalized.ts +9 -24
- package/src/account/Ledger.ts +1 -1
- package/src/account/Memory.ts +15 -22
- package/src/aens.ts +34 -49
- package/src/aepp-wallet-communication/connection/Browser.ts +0 -17
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +18 -24
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +0 -17
- package/src/aepp-wallet-communication/connection-proxy.ts +0 -17
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +2 -2
- package/src/aepp-wallet-communication/rpc/types.ts +6 -2
- package/src/aepp-wallet-communication/wallet-detector.ts +0 -17
- package/src/apis/compiler/compiler.ts +3 -27
- package/src/apis/compiler/models/index.ts +3 -2
- package/src/apis/compiler/models/mappers.ts +15 -2
- package/src/apis/node/models/index.ts +16 -15
- package/src/apis/node/models/mappers.ts +2 -1
- package/src/apis/node/models/parameters.ts +2 -2
- package/src/apis/node/node.ts +3 -27
- package/src/chain.ts +33 -30
- package/src/channel/Base.ts +39 -31
- package/src/channel/Contract.ts +18 -32
- package/src/channel/Spend.ts +8 -18
- package/src/channel/handlers.ts +14 -26
- package/src/channel/internal.ts +41 -23
- package/src/contract/Contract.ts +188 -228
- package/src/contract/compiler/Base.ts +87 -0
- package/src/contract/compiler/Cli.ts +128 -0
- package/src/contract/compiler/Http.ts +105 -0
- package/src/contract/compiler/HttpNode.ts +26 -0
- package/src/contract/compiler/getFileSystem.ts +42 -0
- package/src/contract/delegation-signature.ts +56 -0
- package/src/contract/ga.ts +61 -37
- package/src/index-browser.ts +50 -0
- package/src/index.ts +4 -56
- package/src/oracle.ts +47 -57
- package/src/spend.ts +34 -68
- package/src/tx/builder/SchemaTypes.ts +79 -0
- package/src/tx/builder/constants.ts +34 -3
- package/src/tx/builder/field-types/abi-version.ts +44 -0
- package/src/tx/builder/field-types/address.ts +23 -13
- 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 +8 -5
- package/src/tx/builder/field-types/ct-version.ts +83 -0
- package/src/tx/builder/field-types/deposit.ts +4 -2
- package/src/tx/builder/field-types/encoded.ts +27 -0
- package/src/tx/builder/field-types/entry.ts +36 -0
- package/src/tx/builder/field-types/enumeration.ts +15 -4
- package/src/tx/builder/field-types/fee.ts +41 -19
- package/src/tx/builder/field-types/gas-limit.ts +13 -8
- package/src/tx/builder/field-types/index.ts +60 -17
- package/src/tx/builder/field-types/map.ts +45 -0
- package/src/tx/builder/field-types/mptree.ts +243 -0
- package/src/tx/builder/field-types/name-fee.ts +3 -3
- package/src/tx/builder/field-types/name-id.ts +1 -1
- package/src/tx/builder/field-types/nonce.ts +40 -0
- package/src/tx/builder/field-types/pointers.ts +2 -2
- package/src/tx/builder/field-types/raw.ts +9 -0
- package/src/tx/builder/field-types/short-u-int-const.ts +30 -0
- package/src/tx/builder/field-types/string.ts +11 -0
- package/src/tx/builder/field-types/ttl.ts +24 -0
- package/src/tx/builder/field-types/u-int.ts +1 -3
- package/src/tx/builder/field-types/wrapped.ts +32 -0
- package/src/tx/builder/index.ts +82 -280
- package/src/tx/builder/schema.generated.ts +2013 -0
- package/src/tx/builder/schema.ts +536 -666
- package/src/tx/execution-cost.ts +146 -0
- package/src/tx/transaction-signer.ts +27 -0
- package/src/tx/validator.ts +100 -154
- package/src/utils/amount-formatter.ts +0 -16
- package/src/utils/autorest.ts +52 -11
- package/src/utils/bytes.ts +1 -17
- package/src/utils/crypto.ts +0 -16
- package/src/utils/errors.ts +18 -56
- package/src/utils/string.ts +0 -17
- package/types-legacy/ts4.2/AeSdkBase.d.ts +3 -3
- package/types-legacy/ts4.2/AeSdkMethods.d.ts +12 -14
- package/types-legacy/ts4.2/Node.d.ts +8 -4
- package/types-legacy/ts4.2/account/Base.d.ts +13 -8
- package/types-legacy/ts4.2/account/Memory.d.ts +2 -1
- package/types-legacy/ts4.2/aens.d.ts +12 -14
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +6 -2
- package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +1 -1
- package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +3 -2
- package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +1 -1
- package/types-legacy/ts4.2/apis/node/models/index.d.ts +15 -15
- package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +1 -1
- package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +2 -2
- package/types-legacy/ts4.2/chain.d.ts +17 -9
- package/types-legacy/ts4.2/channel/Base.d.ts +27 -9
- package/types-legacy/ts4.2/channel/Contract.d.ts +8 -7
- package/types-legacy/ts4.2/channel/Spend.d.ts +5 -1
- package/types-legacy/ts4.2/channel/internal.d.ts +22 -2
- package/types-legacy/ts4.2/contract/Contract.d.ts +42 -122
- package/types-legacy/ts4.2/contract/compiler/Base.d.ts +74 -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/delegation-signature.d.ts +43 -0
- package/types-legacy/ts4.2/contract/ga.d.ts +27 -10
- package/types-legacy/ts4.2/index-browser.d.ts +40 -0
- package/types-legacy/ts4.2/index.d.ts +4 -38
- package/types-legacy/ts4.2/oracle.d.ts +12 -17
- package/types-legacy/ts4.2/spend.d.ts +19 -27
- package/types-legacy/ts4.2/tx/builder/SchemaTypes.d.ts +37 -0
- package/types-legacy/ts4.2/tx/builder/constants.d.ts +31 -2
- package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +19 -0
- package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +11 -12
- 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 +4 -5
- package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +72 -0
- package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +3 -2
- 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 +5 -3
- package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +12 -7
- package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +7 -3
- package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +3 -1
- package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +113 -30
- package/types-legacy/ts4.2/tx/builder/field-types/map.d.ts +13 -0
- package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +48 -0
- package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +2 -3
- package/types-legacy/ts4.2/tx/builder/field-types/nonce.d.ts +14 -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 +7 -0
- package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/ttl.d.ts +11 -0
- package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +1 -2
- package/types-legacy/ts4.2/tx/builder/field-types/wrapped.d.ts +14 -0
- package/types-legacy/ts4.2/tx/builder/index.d.ts +21 -36
- package/types-legacy/ts4.2/tx/builder/schema.d.ts +2971 -2926
- package/types-legacy/ts4.2/tx/builder/schema.generated.d.ts +2011 -0
- package/types-legacy/ts4.2/tx/execution-cost.d.ts +35 -0
- package/types-legacy/ts4.2/tx/transaction-signer.d.ts +6 -0
- package/types-legacy/ts4.2/tx/validator.d.ts +3 -5
- package/types-legacy/ts4.2/utils/autorest.d.ts +3 -2
- package/types-legacy/ts4.2/utils/errors.d.ts +16 -38
- package/types-legacy/ts4.5/AeSdkBase.d.ts +3 -3
- package/types-legacy/ts4.5/AeSdkMethods.d.ts +12 -14
- package/types-legacy/ts4.5/Node.d.ts +8 -4
- package/types-legacy/ts4.5/account/Base.d.ts +13 -8
- package/types-legacy/ts4.5/account/Memory.d.ts +2 -1
- package/types-legacy/ts4.5/aens.d.ts +12 -14
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +6 -2
- package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +1 -1
- package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +3 -2
- package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +1 -1
- package/types-legacy/ts4.5/apis/node/models/index.d.ts +15 -15
- package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +1 -1
- package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +2 -2
- package/types-legacy/ts4.5/chain.d.ts +17 -9
- package/types-legacy/ts4.5/channel/Base.d.ts +27 -9
- package/types-legacy/ts4.5/channel/Contract.d.ts +8 -7
- package/types-legacy/ts4.5/channel/Spend.d.ts +5 -1
- package/types-legacy/ts4.5/channel/internal.d.ts +22 -2
- package/types-legacy/ts4.5/contract/Contract.d.ts +42 -122
- package/types-legacy/ts4.5/contract/compiler/Base.d.ts +74 -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/delegation-signature.d.ts +43 -0
- package/types-legacy/ts4.5/contract/ga.d.ts +27 -10
- package/types-legacy/ts4.5/index-browser.d.ts +40 -0
- package/types-legacy/ts4.5/index.d.ts +4 -38
- package/types-legacy/ts4.5/oracle.d.ts +12 -17
- package/types-legacy/ts4.5/spend.d.ts +19 -27
- package/types-legacy/ts4.5/tx/builder/SchemaTypes.d.ts +37 -0
- package/types-legacy/ts4.5/tx/builder/constants.d.ts +31 -2
- package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +19 -0
- package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +11 -12
- 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 +4 -5
- package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +72 -0
- package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +3 -2
- 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 +5 -3
- package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +12 -7
- package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +7 -3
- package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +3 -1
- package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +113 -30
- package/types-legacy/ts4.5/tx/builder/field-types/map.d.ts +13 -0
- package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +48 -0
- package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +2 -3
- package/types-legacy/ts4.5/tx/builder/field-types/nonce.d.ts +14 -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 +7 -0
- package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/ttl.d.ts +11 -0
- package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +1 -2
- package/types-legacy/ts4.5/tx/builder/field-types/wrapped.d.ts +14 -0
- package/types-legacy/ts4.5/tx/builder/index.d.ts +21 -36
- package/types-legacy/ts4.5/tx/builder/schema.d.ts +2971 -2926
- package/types-legacy/ts4.5/tx/builder/schema.generated.d.ts +2011 -0
- package/types-legacy/ts4.5/tx/execution-cost.d.ts +35 -0
- package/types-legacy/ts4.5/tx/transaction-signer.d.ts +6 -0
- package/types-legacy/ts4.5/tx/validator.d.ts +3 -5
- package/types-legacy/ts4.5/utils/autorest.d.ts +3 -2
- package/types-legacy/ts4.5/utils/errors.d.ts +16 -38
- package/es/contract/CompilerHttp.d.ts +0 -18
- package/es/contract/CompilerHttp.mjs +0 -63
- package/es/contract/CompilerHttp.mjs.map +0 -1
- package/es/tx/builder/field-types/addresses.d.ts +0 -6
- package/es/tx/builder/field-types/addresses.mjs +0 -13
- package/es/tx/builder/field-types/addresses.mjs.map +0 -1
- package/es/tx/index.d.ts +0 -34
- package/es/tx/index.mjs +0 -172
- package/es/tx/index.mjs.map +0 -1
- package/es/utils/mptree.d.ts +0 -26
- package/es/utils/mptree.mjs +0 -143
- package/es/utils/mptree.mjs.map +0 -1
- package/src/apis/compiler/code-model-v4.yaml +0 -2442
- package/src/apis/node/code-model-v4.yaml +0 -10080
- package/src/contract/CompilerHttp.ts +0 -67
- package/src/tx/builder/field-types/addresses.ts +0 -18
- package/src/tx/index.ts +0 -196
- package/src/utils/mptree.ts +0 -145
- package/types-legacy/ts4.2/contract/CompilerHttp.d.ts +0 -18
- package/types-legacy/ts4.2/tx/builder/field-types/addresses.d.ts +0 -6
- package/types-legacy/ts4.2/tx/index.d.ts +0 -34
- package/types-legacy/ts4.2/utils/mptree.d.ts +0 -32
- package/types-legacy/ts4.5/contract/CompilerHttp.d.ts +0 -18
- package/types-legacy/ts4.5/tx/builder/field-types/addresses.d.ts +0 -6
- package/types-legacy/ts4.5/tx/index.d.ts +0 -34
- package/types-legacy/ts4.5/utils/mptree.d.ts +0 -32
|
@@ -146,10 +146,10 @@ export const ErrorPos: coreClient.CompositeMapper = {
|
|
|
146
146
|
}
|
|
147
147
|
};
|
|
148
148
|
|
|
149
|
-
export const
|
|
149
|
+
export const CompileResult: coreClient.CompositeMapper = {
|
|
150
150
|
type: {
|
|
151
151
|
name: "Composite",
|
|
152
|
-
className: "
|
|
152
|
+
className: "CompileResult",
|
|
153
153
|
modelProperties: {
|
|
154
154
|
bytecode: {
|
|
155
155
|
serializedName: "bytecode",
|
|
@@ -157,6 +157,19 @@ export const ByteCode: coreClient.CompositeMapper = {
|
|
|
157
157
|
type: {
|
|
158
158
|
name: "String"
|
|
159
159
|
}
|
|
160
|
+
},
|
|
161
|
+
aci: {
|
|
162
|
+
serializedName: "aci",
|
|
163
|
+
required: true,
|
|
164
|
+
type: {
|
|
165
|
+
name: "Sequence",
|
|
166
|
+
element: {
|
|
167
|
+
type: {
|
|
168
|
+
name: "Dictionary",
|
|
169
|
+
value: { type: { name: "any" } }
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
160
173
|
}
|
|
161
174
|
}
|
|
162
175
|
}
|
|
@@ -112,7 +112,7 @@ export interface SignedTx {
|
|
|
112
112
|
/** A mix of all transaction types. */
|
|
113
113
|
export interface Tx {
|
|
114
114
|
/** Polymorphic discriminator, which specifies the different types this object can be */
|
|
115
|
-
type: "
|
|
115
|
+
type: "Tx";
|
|
116
116
|
/** Base58Check encoded tagged pubkey */
|
|
117
117
|
recipientId?: string;
|
|
118
118
|
amount?: string;
|
|
@@ -900,7 +900,7 @@ export interface CheckTxInPoolResponse {
|
|
|
900
900
|
status: string;
|
|
901
901
|
}
|
|
902
902
|
|
|
903
|
-
export
|
|
903
|
+
export interface OffChainTransfer extends OffChainUpdate {
|
|
904
904
|
/** Polymorphic discriminator, which specifies the different types this object can be */
|
|
905
905
|
op: "OffChainTransfer";
|
|
906
906
|
/** Base58Check encoded tagged pubkey */
|
|
@@ -908,25 +908,25 @@ export type OffChainTransfer = OffChainUpdate & {
|
|
|
908
908
|
/** Base58Check encoded tagged pubkey */
|
|
909
909
|
to: string;
|
|
910
910
|
amount: string;
|
|
911
|
-
}
|
|
911
|
+
}
|
|
912
912
|
|
|
913
|
-
export
|
|
913
|
+
export interface OffChainWithdrawal extends OffChainUpdate {
|
|
914
914
|
/** Polymorphic discriminator, which specifies the different types this object can be */
|
|
915
915
|
op: "OffChainWithdrawal";
|
|
916
916
|
/** Base58Check encoded tagged pubkey */
|
|
917
917
|
to: string;
|
|
918
918
|
amount: string;
|
|
919
|
-
}
|
|
919
|
+
}
|
|
920
920
|
|
|
921
|
-
export
|
|
921
|
+
export interface OffChainDeposit extends OffChainUpdate {
|
|
922
922
|
/** Polymorphic discriminator, which specifies the different types this object can be */
|
|
923
923
|
op: "OffChainDeposit";
|
|
924
924
|
/** Base58Check encoded tagged pubkey */
|
|
925
925
|
from: string;
|
|
926
926
|
amount: string;
|
|
927
|
-
}
|
|
927
|
+
}
|
|
928
928
|
|
|
929
|
-
export
|
|
929
|
+
export interface OffChainNewContract extends OffChainUpdate {
|
|
930
930
|
/** Polymorphic discriminator, which specifies the different types this object can be */
|
|
931
931
|
op: "OffChainNewContract";
|
|
932
932
|
/** Base58Check encoded tagged pubkey */
|
|
@@ -937,9 +937,9 @@ export type OffChainNewContract = OffChainUpdate & {
|
|
|
937
937
|
deposit: string;
|
|
938
938
|
/** Base64Check encoded tagged byte array */
|
|
939
939
|
callData: string;
|
|
940
|
-
}
|
|
940
|
+
}
|
|
941
941
|
|
|
942
|
-
export
|
|
942
|
+
export interface OffChainCallContract extends OffChainUpdate {
|
|
943
943
|
/** Polymorphic discriminator, which specifies the different types this object can be */
|
|
944
944
|
op: "OffChainCallContract";
|
|
945
945
|
/** Base58Check encoded tagged pubkey */
|
|
@@ -952,12 +952,13 @@ export type OffChainCallContract = OffChainUpdate & {
|
|
|
952
952
|
gasPrice: string;
|
|
953
953
|
/** Base64Check encoded tagged byte array */
|
|
954
954
|
callData: string;
|
|
955
|
-
}
|
|
955
|
+
}
|
|
956
956
|
|
|
957
|
-
export
|
|
957
|
+
export interface CreateContractUnsignedTx extends UnsignedTx {
|
|
958
958
|
/** Base58Check encoded tagged pubkey */
|
|
959
959
|
contractId: string;
|
|
960
|
-
}
|
|
960
|
+
}
|
|
961
|
+
|
|
961
962
|
/** Defines values for TTLType. */
|
|
962
963
|
export type TTLType = "delta" | "block";
|
|
963
964
|
/** Defines values for TxType. */
|
|
@@ -1194,11 +1195,11 @@ export type GetOracleByPubkeyResponse = RegisteredOracle;
|
|
|
1194
1195
|
export interface GetOracleQueriesByPubkeyOptionalParams
|
|
1195
1196
|
extends coreClient.OperationOptions {
|
|
1196
1197
|
/** Last query id in previous page */
|
|
1197
|
-
|
|
1198
|
+
from?: string;
|
|
1198
1199
|
/** Max number of oracle queries */
|
|
1199
1200
|
limit?: number;
|
|
1200
1201
|
/** The type of a query: open, closed or all */
|
|
1201
|
-
|
|
1202
|
+
type?: OracleQueryType;
|
|
1202
1203
|
}
|
|
1203
1204
|
|
|
1204
1205
|
/** Contains response data for the getOracleQueriesByPubkey operation. */
|
|
@@ -427,6 +427,7 @@ export const SignedTx: coreClient.CompositeMapper = {
|
|
|
427
427
|
};
|
|
428
428
|
|
|
429
429
|
export const Tx: coreClient.CompositeMapper = {
|
|
430
|
+
serializedName: "Tx",
|
|
430
431
|
type: {
|
|
431
432
|
name: "Composite",
|
|
432
433
|
className: "Tx",
|
|
@@ -4270,7 +4271,7 @@ export const CreateContractUnsignedTx: coreClient.CompositeMapper = {
|
|
|
4270
4271
|
};
|
|
4271
4272
|
|
|
4272
4273
|
export let discriminators = {
|
|
4273
|
-
"Tx.
|
|
4274
|
+
"Tx.Tx": Tx,
|
|
4274
4275
|
OffChainUpdate: OffChainUpdate,
|
|
4275
4276
|
"OffChainUpdate.OffChainTransfer": OffChainTransfer,
|
|
4276
4277
|
"OffChainUpdate.OffChainWithdrawal": OffChainWithdrawal,
|
|
@@ -128,7 +128,7 @@ export const body1: OperationParameter = {
|
|
|
128
128
|
mapper: EncodedTxMapper
|
|
129
129
|
};
|
|
130
130
|
|
|
131
|
-
export const
|
|
131
|
+
export const from: OperationQueryParameter = {
|
|
132
132
|
parameterPath: ["options", "from"],
|
|
133
133
|
mapper: {
|
|
134
134
|
serializedName: "from",
|
|
@@ -153,7 +153,7 @@ export const limit: OperationQueryParameter = {
|
|
|
153
153
|
}
|
|
154
154
|
};
|
|
155
155
|
|
|
156
|
-
export const
|
|
156
|
+
export const type: OperationQueryParameter = {
|
|
157
157
|
parameterPath: ["options", "type"],
|
|
158
158
|
mapper: {
|
|
159
159
|
defaultValue: "all",
|
package/src/apis/node/node.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as coreClient from "@azure/core-client";
|
|
2
|
-
import * as coreRestPipeline from "@azure/core-rest-pipeline";
|
|
3
2
|
import * as Parameters from "./models/parameters";
|
|
4
3
|
import * as Mappers from "./models/mappers";
|
|
5
4
|
import {
|
|
@@ -110,32 +109,9 @@ export class Node extends coreClient.ServiceClient {
|
|
|
110
109
|
userAgentOptions: {
|
|
111
110
|
userAgentPrefix
|
|
112
111
|
},
|
|
113
|
-
|
|
112
|
+
endpoint: options.endpoint ?? options.baseUri ?? "{$host}"
|
|
114
113
|
};
|
|
115
114
|
super(optionsWithDefaults);
|
|
116
|
-
|
|
117
|
-
if (options?.pipeline && options.pipeline.getOrderedPolicies().length > 0) {
|
|
118
|
-
const pipelinePolicies: coreRestPipeline.PipelinePolicy[] = options.pipeline.getOrderedPolicies();
|
|
119
|
-
const bearerTokenAuthenticationPolicyFound = pipelinePolicies.some(
|
|
120
|
-
(pipelinePolicy) =>
|
|
121
|
-
pipelinePolicy.name ===
|
|
122
|
-
coreRestPipeline.bearerTokenAuthenticationPolicyName
|
|
123
|
-
);
|
|
124
|
-
if (!bearerTokenAuthenticationPolicyFound) {
|
|
125
|
-
this.pipeline.removePolicy({
|
|
126
|
-
name: coreRestPipeline.bearerTokenAuthenticationPolicyName
|
|
127
|
-
});
|
|
128
|
-
this.pipeline.addPolicy(
|
|
129
|
-
coreRestPipeline.bearerTokenAuthenticationPolicy({
|
|
130
|
-
scopes: `${optionsWithDefaults.baseUri}/.default`,
|
|
131
|
-
challengeCallbacks: {
|
|
132
|
-
authorizeRequestOnChallenge:
|
|
133
|
-
coreClient.authorizeRequestOnClaimChallenge
|
|
134
|
-
}
|
|
135
|
-
})
|
|
136
|
-
);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
115
|
// Parameter assignments
|
|
140
116
|
this.$host = $host;
|
|
141
117
|
}
|
|
@@ -1185,9 +1161,9 @@ const getOracleQueriesByPubkeyOperationSpec: coreClient.OperationSpec = {
|
|
|
1185
1161
|
},
|
|
1186
1162
|
queryParameters: [
|
|
1187
1163
|
Parameters.intAsString,
|
|
1188
|
-
Parameters.
|
|
1164
|
+
Parameters.from,
|
|
1189
1165
|
Parameters.limit,
|
|
1190
|
-
Parameters.
|
|
1166
|
+
Parameters.type
|
|
1191
1167
|
],
|
|
1192
1168
|
urlParameters: [Parameters.$host, Parameters.pubkey],
|
|
1193
1169
|
headerParameters: [Parameters.accept],
|
package/src/chain.ts
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ISC License (ISC)
|
|
3
|
-
* Copyright (c) 2022 aeternity developers
|
|
4
|
-
*
|
|
5
|
-
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
* purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
* copyright notice and this permission notice appear in all copies.
|
|
8
|
-
*
|
|
9
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
-
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
-
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
-
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
-
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
-
*/
|
|
17
1
|
import { AE_AMOUNT_FORMATS, formatAmount } from './utils/amount-formatter';
|
|
18
2
|
import verifyTransaction, { ValidatorResult } from './tx/validator';
|
|
19
3
|
import { isAccountNotFoundError, pause } from './utils/other';
|
|
@@ -29,8 +13,11 @@ import {
|
|
|
29
13
|
Account as AccountNode, ByteCode, ContractObject, DryRunResult, DryRunResults,
|
|
30
14
|
Generation, KeyBlock, MicroBlockHeader, NameEntry, SignedTx,
|
|
31
15
|
} from './apis/node';
|
|
32
|
-
import {
|
|
16
|
+
import {
|
|
17
|
+
decode, encode, Encoded, Encoding,
|
|
18
|
+
} from './utils/encoder';
|
|
33
19
|
import AccountBase from './account/Base';
|
|
20
|
+
import { buildTxHash } from './tx/builder';
|
|
34
21
|
|
|
35
22
|
/**
|
|
36
23
|
* @category chain
|
|
@@ -154,24 +141,33 @@ export async function waitForTxConfirm(
|
|
|
154
141
|
}
|
|
155
142
|
|
|
156
143
|
/**
|
|
157
|
-
*
|
|
144
|
+
* Signs and submits transaction for mining
|
|
158
145
|
* @category chain
|
|
159
|
-
* @param
|
|
146
|
+
* @param txUnsigned - Transaction to sign and submit
|
|
160
147
|
* @param options - Options
|
|
161
148
|
* @param options.onNode - Node to use
|
|
162
149
|
* @param options.onAccount - Account to use
|
|
163
|
-
* @param options.verify - Verify transaction before
|
|
150
|
+
* @param options.verify - Verify transaction before broadcast, throw error if not
|
|
164
151
|
* @param options.waitMined - Ensure that transaction get into block
|
|
165
152
|
* @param options.confirm - Number of micro blocks that should be mined after tx get included
|
|
166
153
|
* @returns Transaction details
|
|
167
154
|
*/
|
|
168
155
|
export async function sendTransaction(
|
|
169
|
-
|
|
156
|
+
txUnsigned: Encoded.Transaction,
|
|
170
157
|
{
|
|
171
|
-
onNode, onAccount, verify = true, waitMined = true, confirm, ...options
|
|
158
|
+
onNode, onAccount, verify = true, waitMined = true, confirm, innerTx, ...options
|
|
172
159
|
}:
|
|
173
160
|
SendTransactionOptions,
|
|
174
161
|
): Promise<SendTransactionReturnType> {
|
|
162
|
+
const tx = await onAccount.signTransaction(txUnsigned, {
|
|
163
|
+
...options,
|
|
164
|
+
onNode,
|
|
165
|
+
innerTx,
|
|
166
|
+
networkId: await onNode.getNetworkId(),
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
if (innerTx === true) return { hash: buildTxHash(tx), rawTx: tx };
|
|
170
|
+
|
|
175
171
|
if (verify) {
|
|
176
172
|
const validation = await verifyTransaction(tx, onNode);
|
|
177
173
|
if (validation.length > 0) {
|
|
@@ -221,12 +217,13 @@ export async function sendTransaction(
|
|
|
221
217
|
|
|
222
218
|
type SendTransactionOptionsType = {
|
|
223
219
|
onNode: Node;
|
|
224
|
-
onAccount
|
|
220
|
+
onAccount: AccountBase;
|
|
225
221
|
verify?: boolean;
|
|
226
222
|
waitMined?: boolean;
|
|
227
223
|
confirm?: boolean | number;
|
|
228
|
-
} & Parameters<typeof poll>[1] & Omit<Parameters<typeof waitForTxConfirm>[1], 'confirm'
|
|
229
|
-
|
|
224
|
+
} & Parameters<typeof poll>[1] & Omit<Parameters<typeof waitForTxConfirm>[1], 'confirm'>
|
|
225
|
+
& Parameters<AccountBase['signTransaction']>[1];
|
|
226
|
+
export interface SendTransactionOptions extends SendTransactionOptionsType {}
|
|
230
227
|
interface SendTransactionReturnType extends Partial<TransformNodeType<SignedTx>> {
|
|
231
228
|
hash: Encoded.TxHash;
|
|
232
229
|
rawTx: Encoded.Transaction;
|
|
@@ -263,11 +260,15 @@ export async function getAccount(
|
|
|
263
260
|
* @param options.hash - The block hash on which to obtain the balance for (default: top of chain)
|
|
264
261
|
*/
|
|
265
262
|
export async function getBalance(
|
|
266
|
-
address: Encoded.AccountAddress | Encoded.ContractAddress,
|
|
263
|
+
address: Encoded.AccountAddress | Encoded.ContractAddress | Encoded.OracleAddress,
|
|
267
264
|
{ format = AE_AMOUNT_FORMATS.AETTOS, ...options }:
|
|
268
265
|
{ format?: AE_AMOUNT_FORMATS } & Parameters<typeof getAccount>[1],
|
|
269
266
|
): Promise<string> {
|
|
270
|
-
const
|
|
267
|
+
const addr = address.startsWith('ok_')
|
|
268
|
+
? encode(decode(address), Encoding.AccountAddress)
|
|
269
|
+
: address as Encoded.AccountAddress | Encoded.ContractAddress;
|
|
270
|
+
|
|
271
|
+
const { balance } = await getAccount(addr, options).catch((error) => {
|
|
271
272
|
if (!isAccountNotFoundError(error)) throw error;
|
|
272
273
|
return { balance: 0n };
|
|
273
274
|
});
|
|
@@ -353,7 +354,7 @@ export async function getMicroBlockHeader(
|
|
|
353
354
|
interface TxDryRunArguments {
|
|
354
355
|
tx: Encoded.Transaction;
|
|
355
356
|
accountAddress: Encoded.AccountAddress;
|
|
356
|
-
top?: number;
|
|
357
|
+
top?: number | Encoded.KeyBlockHash | Encoded.MicroBlockHash;
|
|
357
358
|
txEvents?: any;
|
|
358
359
|
resolve: Function;
|
|
359
360
|
reject: Function;
|
|
@@ -367,8 +368,10 @@ async function txDryRunHandler(key: string, onNode: Node): Promise<void> {
|
|
|
367
368
|
|
|
368
369
|
let dryRunRes;
|
|
369
370
|
try {
|
|
371
|
+
const top = typeof rs[0].top === 'number'
|
|
372
|
+
? (await getKeyBlock(rs[0].top, { onNode })).hash : rs[0].top;
|
|
370
373
|
dryRunRes = await onNode.protectedDryRunTxs({
|
|
371
|
-
top
|
|
374
|
+
top,
|
|
372
375
|
txEvents: rs[0].txEvents,
|
|
373
376
|
txs: rs.map((req) => ({ tx: req.tx })),
|
|
374
377
|
accounts: Array.from(new Set(rs.map((req) => req.accountAddress)))
|
|
@@ -406,7 +409,7 @@ export async function txDryRun(
|
|
|
406
409
|
{
|
|
407
410
|
top, txEvents, combine, onNode,
|
|
408
411
|
}:
|
|
409
|
-
{ top?:
|
|
412
|
+
{ top?: TxDryRunArguments['top']; txEvents?: boolean; combine?: boolean; onNode: Node },
|
|
410
413
|
): Promise<{
|
|
411
414
|
txEvents?: TransformNodeType<DryRunResults['txEvents']>;
|
|
412
415
|
} & TransformNodeType<DryRunResult>> {
|
package/src/channel/Base.ts
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ISC License (ISC)
|
|
3
|
-
* Copyright (c) 2022 aeternity developers
|
|
4
|
-
*
|
|
5
|
-
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
* purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
* copyright notice and this permission notice appear in all copies.
|
|
8
|
-
*
|
|
9
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
-
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
-
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
-
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
-
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
-
*/
|
|
17
1
|
import { EventEmitter } from 'events';
|
|
18
2
|
import { w3cwebsocket as W3CWebSocket } from 'websocket';
|
|
19
3
|
import { snakeToPascal } from '../utils/string';
|
|
@@ -33,9 +17,12 @@ import {
|
|
|
33
17
|
ChannelAction,
|
|
34
18
|
ChannelStatus,
|
|
35
19
|
ChannelFsm,
|
|
20
|
+
ChannelMessage,
|
|
21
|
+
ChannelEvents,
|
|
36
22
|
} from './internal';
|
|
37
23
|
import { ChannelError } from '../utils/errors';
|
|
38
24
|
import { Encoded } from '../utils/encoder';
|
|
25
|
+
import { TxUnpacked } from '../tx/builder/schema.generated';
|
|
39
26
|
|
|
40
27
|
function snakeToPascalObjKeys<Type>(obj: object): Type {
|
|
41
28
|
return Object.entries(obj).reduce((result, [key, val]) => ({
|
|
@@ -44,8 +31,6 @@ function snakeToPascalObjKeys<Type>(obj: object): Type {
|
|
|
44
31
|
}), {}) as Type;
|
|
45
32
|
}
|
|
46
33
|
|
|
47
|
-
type EventCallback = (...args: any[]) => void;
|
|
48
|
-
|
|
49
34
|
/**
|
|
50
35
|
* Channel
|
|
51
36
|
* @example
|
|
@@ -78,7 +63,7 @@ export default class Channel {
|
|
|
78
63
|
|
|
79
64
|
_fsmId?: Encoded.Bytearray;
|
|
80
65
|
|
|
81
|
-
_messageQueue:
|
|
66
|
+
_messageQueue: ChannelMessage[] = [];
|
|
82
67
|
|
|
83
68
|
_isMessageQueueLocked = false;
|
|
84
69
|
|
|
@@ -92,7 +77,7 @@ export default class Channel {
|
|
|
92
77
|
|
|
93
78
|
_websocket: W3CWebSocket;
|
|
94
79
|
|
|
95
|
-
_state
|
|
80
|
+
_state: Encoded.Transaction | '' = '';
|
|
96
81
|
|
|
97
82
|
_options: ChannelOptions;
|
|
98
83
|
|
|
@@ -168,19 +153,23 @@ export default class Channel {
|
|
|
168
153
|
* Possible events:
|
|
169
154
|
*
|
|
170
155
|
* - "error"
|
|
156
|
+
* - "stateChanged"
|
|
157
|
+
* - "statusChanged"
|
|
158
|
+
* - "message"
|
|
159
|
+
* - "peerDisconnected"
|
|
171
160
|
* - "onChainTx"
|
|
172
161
|
* - "ownWithdrawLocked"
|
|
173
162
|
* - "withdrawLocked"
|
|
174
163
|
* - "ownDepositLocked"
|
|
175
164
|
* - "depositLocked"
|
|
165
|
+
* - "channelReestablished"
|
|
166
|
+
* - "newContract"
|
|
176
167
|
*
|
|
177
|
-
* TODO: the event list looks outdated
|
|
178
168
|
*
|
|
179
169
|
* @param eventName - Event name
|
|
180
170
|
* @param callback - Callback function
|
|
181
171
|
*/
|
|
182
|
-
|
|
183
|
-
on(eventName: string, callback: EventCallback): void {
|
|
172
|
+
on<E extends keyof ChannelEvents>(eventName: E, callback: ChannelEvents[E]): void {
|
|
184
173
|
this._eventEmitter.on(eventName, callback);
|
|
185
174
|
}
|
|
186
175
|
|
|
@@ -189,7 +178,7 @@ export default class Channel {
|
|
|
189
178
|
* @param eventName - Event name
|
|
190
179
|
* @param callback - Callback function
|
|
191
180
|
*/
|
|
192
|
-
off(eventName:
|
|
181
|
+
off<E extends keyof ChannelEvents>(eventName: E, callback: ChannelEvents[E]): void {
|
|
193
182
|
this._eventEmitter.removeListener(eventName, callback);
|
|
194
183
|
}
|
|
195
184
|
|
|
@@ -210,8 +199,24 @@ export default class Channel {
|
|
|
210
199
|
/**
|
|
211
200
|
* Get current state
|
|
212
201
|
*/
|
|
213
|
-
async state(): Promise<
|
|
214
|
-
|
|
202
|
+
async state(): Promise<{
|
|
203
|
+
calls: TxUnpacked & { tag: Tag.CallsMtree };
|
|
204
|
+
halfSignedTx?: TxUnpacked & { tag: Tag.SignedTx };
|
|
205
|
+
signedTx?: TxUnpacked & { tag: Tag.SignedTx };
|
|
206
|
+
trees: TxUnpacked & { tag: Tag.StateTrees };
|
|
207
|
+
}> {
|
|
208
|
+
const res = snakeToPascalObjKeys<{
|
|
209
|
+
calls: Encoded.CallStateTree;
|
|
210
|
+
halfSignedTx: Encoded.Transaction | '';
|
|
211
|
+
signedTx: Encoded.Transaction | '';
|
|
212
|
+
trees: Encoded.StateTrees;
|
|
213
|
+
}>(await call(this, 'channels.get.offchain_state', {}));
|
|
214
|
+
return {
|
|
215
|
+
calls: unpackTx(res.calls, Tag.CallsMtree),
|
|
216
|
+
...res.halfSignedTx !== '' && { halfSignedTx: unpackTx(res.halfSignedTx, Tag.SignedTx) },
|
|
217
|
+
...res.signedTx !== '' && { signedTx: unpackTx(res.signedTx, Tag.SignedTx) },
|
|
218
|
+
trees: unpackTx(res.trees, Tag.StateTrees),
|
|
219
|
+
};
|
|
215
220
|
}
|
|
216
221
|
|
|
217
222
|
/**
|
|
@@ -221,17 +226,17 @@ export default class Channel {
|
|
|
221
226
|
* it will return `null`.
|
|
222
227
|
*/
|
|
223
228
|
round(): number | null {
|
|
224
|
-
if (this._state
|
|
229
|
+
if (this._state === '') {
|
|
225
230
|
return null;
|
|
226
231
|
}
|
|
227
|
-
const
|
|
228
|
-
switch (
|
|
232
|
+
const params = unpackTx(this._state, Tag.SignedTx).encodedTx;
|
|
233
|
+
switch (params.tag) {
|
|
229
234
|
case Tag.ChannelCreateTx:
|
|
230
235
|
return 1;
|
|
231
236
|
case Tag.ChannelOffChainTx:
|
|
232
237
|
case Tag.ChannelWithdrawTx:
|
|
233
238
|
case Tag.ChannelDepositTx:
|
|
234
|
-
return
|
|
239
|
+
return params.round;
|
|
235
240
|
default:
|
|
236
241
|
return null;
|
|
237
242
|
}
|
|
@@ -321,7 +326,10 @@ export default class Channel {
|
|
|
321
326
|
|
|
322
327
|
return Channel.initialize({
|
|
323
328
|
...options,
|
|
324
|
-
reconnectTx: await sign(
|
|
329
|
+
reconnectTx: await sign(
|
|
330
|
+
'reconnect',
|
|
331
|
+
buildTx({ ...txParams, tag: Tag.ChannelClientReconnectTx }),
|
|
332
|
+
),
|
|
325
333
|
});
|
|
326
334
|
}
|
|
327
335
|
}
|
package/src/channel/Contract.ts
CHANGED
|
@@ -1,22 +1,8 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ISC License (ISC)
|
|
3
|
-
* Copyright (c) 2022 aeternity developers
|
|
4
|
-
*
|
|
5
|
-
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
* purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
* copyright notice and this permission notice appear in all copies.
|
|
8
|
-
*
|
|
9
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
-
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
-
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
-
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
-
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
-
*/
|
|
17
1
|
import BigNumber from 'bignumber.js';
|
|
18
2
|
import { snakeToPascal } from '../utils/string';
|
|
19
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
MIN_GAS_PRICE, Tag, AbiVersion, VmVersion,
|
|
5
|
+
} from '../tx/builder/constants';
|
|
20
6
|
import {
|
|
21
7
|
signAndNotify,
|
|
22
8
|
awaitingCompletion,
|
|
@@ -32,7 +18,7 @@ import { ContractCallReturnType } from '../apis/node';
|
|
|
32
18
|
import { ContractCallObject } from '../contract/Contract';
|
|
33
19
|
import Channel from './Base';
|
|
34
20
|
import ChannelSpend from './Spend';
|
|
35
|
-
import { UnexpectedChannelMessageError } from '../utils/errors';
|
|
21
|
+
import { ChannelError, UnexpectedChannelMessageError } from '../utils/errors';
|
|
36
22
|
import { unpackTx } from '../tx/builder';
|
|
37
23
|
import { encodeContractAddress } from '../utils/crypto';
|
|
38
24
|
|
|
@@ -46,7 +32,7 @@ function snakeToPascalObjKeys<Type>(obj: object): Type {
|
|
|
46
32
|
interface CallContractOptions {
|
|
47
33
|
amount?: number | BigNumber;
|
|
48
34
|
callData?: Encoded.ContractBytearray;
|
|
49
|
-
abiVersion?:
|
|
35
|
+
abiVersion?: AbiVersion;
|
|
50
36
|
contract?: Encoded.ContractAddress;
|
|
51
37
|
returnValue?: any;
|
|
52
38
|
gasUsed?: number | BigNumber;
|
|
@@ -58,13 +44,13 @@ interface CallContractOptions {
|
|
|
58
44
|
}
|
|
59
45
|
|
|
60
46
|
interface Contract {
|
|
61
|
-
abiVersion:
|
|
47
|
+
abiVersion: AbiVersion;
|
|
62
48
|
active: boolean;
|
|
63
49
|
deposit: number | BigNumber;
|
|
64
50
|
id: string;
|
|
65
51
|
ownerId: string;
|
|
66
52
|
referrerIds: string[];
|
|
67
|
-
vmVersion:
|
|
53
|
+
vmVersion: VmVersion;
|
|
68
54
|
}
|
|
69
55
|
|
|
70
56
|
export default class ChannelContract extends ChannelSpend {
|
|
@@ -113,8 +99,8 @@ export default class ChannelContract extends ChannelSpend {
|
|
|
113
99
|
code: Encoded.ContractBytearray;
|
|
114
100
|
callData: Encoded.ContractBytearray;
|
|
115
101
|
deposit: number | BigNumber;
|
|
116
|
-
vmVersion:
|
|
117
|
-
abiVersion:
|
|
102
|
+
vmVersion: VmVersion;
|
|
103
|
+
abiVersion: AbiVersion;
|
|
118
104
|
},
|
|
119
105
|
sign: SignTx,
|
|
120
106
|
): Promise<{
|
|
@@ -150,17 +136,17 @@ export default class ChannelContract extends ChannelSpend {
|
|
|
150
136
|
state2: ChannelState,
|
|
151
137
|
): ChannelFsm => (
|
|
152
138
|
awaitingCompletion(this, message2, state2, () => {
|
|
153
|
-
const
|
|
154
|
-
|
|
139
|
+
const params = unpackTx(message2.params.data.state, Tag.SignedTx).encodedTx;
|
|
140
|
+
if (params.tag !== Tag.ChannelOffChainTx) {
|
|
141
|
+
throw new ChannelError(`Tag should be ${Tag[Tag.ChannelOffChainTx]}, got ${Tag[params.tag]} instead`);
|
|
142
|
+
}
|
|
155
143
|
const addressKey = this._options.role === 'initiator'
|
|
156
144
|
? 'initiatorId' : 'responderId';
|
|
157
145
|
const owner = this._options[addressKey];
|
|
158
146
|
changeState(this, message2.params.data.state);
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
signedTx: message2.params.data.state,
|
|
163
|
-
});
|
|
147
|
+
const address = encodeContractAddress(owner, params.round);
|
|
148
|
+
emit(this, 'newContract', address);
|
|
149
|
+
state2.resolve({ accepted: true, address, signedTx: message2.params.data.state });
|
|
164
150
|
return { handler: channelOpen };
|
|
165
151
|
})
|
|
166
152
|
),
|
|
@@ -294,7 +280,7 @@ export default class ChannelContract extends ChannelSpend {
|
|
|
294
280
|
amount: number;
|
|
295
281
|
callData: Encoded.ContractBytearray;
|
|
296
282
|
contract: Encoded.ContractAddress;
|
|
297
|
-
abiVersion:
|
|
283
|
+
abiVersion: AbiVersion;
|
|
298
284
|
gasLimit?: number;
|
|
299
285
|
gasPrice?: number;
|
|
300
286
|
},
|
|
@@ -390,7 +376,7 @@ export default class ChannelContract extends ChannelSpend {
|
|
|
390
376
|
amount: number;
|
|
391
377
|
callData: Encoded.ContractBytearray;
|
|
392
378
|
contract: Encoded.ContractAddress;
|
|
393
|
-
abiVersion:
|
|
379
|
+
abiVersion: AbiVersion;
|
|
394
380
|
},
|
|
395
381
|
): Promise<CallContractOptions> {
|
|
396
382
|
return snakeToPascalObjKeys(await call(this, 'channels.dry_run.call_contract', {
|
package/src/channel/Spend.ts
CHANGED
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ISC License (ISC)
|
|
3
|
-
* Copyright (c) 2022 aeternity developers
|
|
4
|
-
*
|
|
5
|
-
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
* purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
* copyright notice and this permission notice appear in all copies.
|
|
8
|
-
*
|
|
9
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
-
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
-
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
-
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
-
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
-
*/
|
|
17
1
|
import BigNumber from 'bignumber.js';
|
|
18
2
|
import {
|
|
19
3
|
notify, call, SignTx, ChannelState, ChannelMessage, ChannelFsm, changeState,
|
|
@@ -25,6 +9,9 @@ import { ChannelConnectionError } from '../utils/errors';
|
|
|
25
9
|
import {
|
|
26
10
|
awaitingCompletion, channelOpen, handleUnexpectedMessage, signAndNotify,
|
|
27
11
|
} from './handlers';
|
|
12
|
+
import { unpackTx } from '../tx/builder';
|
|
13
|
+
import { Tag } from '../tx/builder/constants';
|
|
14
|
+
import { TxUnpacked } from '../tx/builder/schema.generated';
|
|
28
15
|
|
|
29
16
|
export default class ChannelSpend extends Channel {
|
|
30
17
|
/**
|
|
@@ -133,8 +120,11 @@ export default class ChannelSpend extends Channel {
|
|
|
133
120
|
accounts: Encoded.AccountAddress[];
|
|
134
121
|
contracts?: Encoded.ContractAddress[];
|
|
135
122
|
},
|
|
136
|
-
): Promise<
|
|
137
|
-
return (
|
|
123
|
+
): Promise<TxUnpacked & { tag: Tag.TreesPoi }> {
|
|
124
|
+
return unpackTx(
|
|
125
|
+
(await call(this, 'channels.get.poi', { accounts, contracts })).poi,
|
|
126
|
+
Tag.TreesPoi,
|
|
127
|
+
);
|
|
138
128
|
}
|
|
139
129
|
|
|
140
130
|
/**
|