@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
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ISC License (ISC)
|
|
3
|
-
* Copyright (c) 2022 aeternity developers
|
|
4
|
-
*
|
|
5
|
-
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
* purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
* copyright notice and this permission notice appear in all copies.
|
|
8
|
-
*
|
|
9
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
-
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
-
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
-
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
-
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
-
*/
|
|
17
|
-
import { Compiler as CompilerApi, ErrorModel, CompilerError } from '../apis/compiler';
|
|
18
|
-
import { genErrorFormatterPolicy, genVersionCheckPolicy } from '../utils/autorest';
|
|
19
|
-
|
|
20
|
-
type GeneralCompilerError = ErrorModel & {
|
|
21
|
-
info?: object;
|
|
22
|
-
parameter?: string;
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Contract Compiler over HTTP
|
|
27
|
-
*
|
|
28
|
-
* This class include api call's related to contract compiler functionality.
|
|
29
|
-
* @category contract
|
|
30
|
-
* @example CompilerHttp('COMPILER_URL')
|
|
31
|
-
*/
|
|
32
|
-
export default class CompilerHttp extends CompilerApi {
|
|
33
|
-
/**
|
|
34
|
-
* @param compilerUrl - Url for compiler API
|
|
35
|
-
* @param options - Options
|
|
36
|
-
* @param options.ignoreVersion - Don't check compiler version
|
|
37
|
-
*/
|
|
38
|
-
constructor(compilerUrl: string, { ignoreVersion }: { ignoreVersion?: boolean } = {}) {
|
|
39
|
-
super(compilerUrl, {
|
|
40
|
-
allowInsecureConnection: true,
|
|
41
|
-
additionalPolicies: [
|
|
42
|
-
genErrorFormatterPolicy((body: GeneralCompilerError | CompilerError[]) => {
|
|
43
|
-
let message = '';
|
|
44
|
-
if ('reason' in body) {
|
|
45
|
-
message += ` ${body.reason
|
|
46
|
-
}${body.parameter != null ? ` in ${body.parameter}` : ''
|
|
47
|
-
// TODO: revising after improving documentation https://github.com/aeternity/aesophia_http/issues/78
|
|
48
|
-
}${body.info != null ? ` (${JSON.stringify(body.info)})` : ''}`;
|
|
49
|
-
}
|
|
50
|
-
if (Array.isArray(body)) {
|
|
51
|
-
message += `\n${body
|
|
52
|
-
.map((e) => `${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context != null ? `(${e.context})` : ''}`)
|
|
53
|
-
.map((e) => e.trim()) // TODO: remove after fixing https://github.com/aeternity/aesophia_http/issues/80
|
|
54
|
-
.join('\n')}`;
|
|
55
|
-
}
|
|
56
|
-
return message;
|
|
57
|
-
}),
|
|
58
|
-
],
|
|
59
|
-
});
|
|
60
|
-
if (ignoreVersion !== true) {
|
|
61
|
-
const versionPromise = this.apiVersion().then(({ apiVersion }) => apiVersion);
|
|
62
|
-
this.pipeline.addPolicy(
|
|
63
|
-
genVersionCheckPolicy('compiler', '/api-version', versionPromise, '7.0.1', '8.0.0'),
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
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
|
-
}
|
package/src/tx/index.ts
DELETED
|
@@ -1,196 +0,0 @@
|
|
|
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
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Transaction methods
|
|
20
|
-
*
|
|
21
|
-
* This is implementation of [Tx](api/tx.md) relays
|
|
22
|
-
* the creation of transactions to {@link Node}.
|
|
23
|
-
* These methods provide ability to create native transactions.
|
|
24
|
-
*/
|
|
25
|
-
import BigNumber from 'bignumber.js';
|
|
26
|
-
import {
|
|
27
|
-
ABI_VERSIONS, CtVersion, PROTOCOL_VM_ABI, TX_TTL, TxParamsCommon,
|
|
28
|
-
} from './builder/schema';
|
|
29
|
-
import { Tag } from './builder/constants';
|
|
30
|
-
import {
|
|
31
|
-
ArgumentError, UnsupportedProtocolError, UnknownTxError, InvalidTxParamsError,
|
|
32
|
-
} from '../utils/errors';
|
|
33
|
-
import Node from '../Node';
|
|
34
|
-
import { Encoded } from '../utils/encoder';
|
|
35
|
-
import { buildTx as syncBuildTx, unpackTx } from './builder/index';
|
|
36
|
-
import { isAccountNotFoundError, isKeyOfObject } from '../utils/other';
|
|
37
|
-
import { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';
|
|
38
|
-
|
|
39
|
-
type Int = number | string | BigNumber;
|
|
40
|
-
|
|
41
|
-
export type BuildTxOptions <TxType extends Tag, OmitFields extends string> =
|
|
42
|
-
Omit<Parameters<typeof _buildTx<TxType>>[1], OmitFields>;
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Validated vm/abi version or get default based on transaction type and NODE version
|
|
46
|
-
* @category transaction builder
|
|
47
|
-
* @param txType - Type of transaction
|
|
48
|
-
* @param ctVersion - Object with vm and abi version fields
|
|
49
|
-
* @returns Object with vm/abi version
|
|
50
|
-
*/
|
|
51
|
-
async function getVmVersion(
|
|
52
|
-
txType: Tag.ContractCreateTx, ctVersion: Partial<CtVersion> & { onNode: Node }
|
|
53
|
-
): Promise<CtVersion>;
|
|
54
|
-
async function getVmVersion(
|
|
55
|
-
txType: Tag, ctVersion: Partial<Pick<CtVersion, 'abiVersion'>> & { onNode: Node }
|
|
56
|
-
): Promise<Pick<CtVersion, 'abiVersion'>>;
|
|
57
|
-
async function getVmVersion(
|
|
58
|
-
txType: Tag,
|
|
59
|
-
{ vmVersion, abiVersion, onNode }: Partial<CtVersion> & { onNode: Node },
|
|
60
|
-
): Promise<Partial<CtVersion>> {
|
|
61
|
-
const { consensusProtocolVersion } = await onNode.getNodeInfo();
|
|
62
|
-
if (!isKeyOfObject(consensusProtocolVersion, PROTOCOL_VM_ABI)) {
|
|
63
|
-
throw new UnsupportedProtocolError('Not supported consensus protocol version');
|
|
64
|
-
}
|
|
65
|
-
const supportedProtocol = PROTOCOL_VM_ABI[consensusProtocolVersion];
|
|
66
|
-
if (!isKeyOfObject(txType, supportedProtocol)) {
|
|
67
|
-
throw new UnknownTxError('Not supported tx type');
|
|
68
|
-
}
|
|
69
|
-
const protocolForTX = supportedProtocol[txType];
|
|
70
|
-
abiVersion ??= protocolForTX.abiVersion[0];
|
|
71
|
-
vmVersion ??= protocolForTX.vmVersion[0];
|
|
72
|
-
return { vmVersion, abiVersion };
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Calculate fee, get absolute ttl (ttl + height), get account nonce
|
|
77
|
-
* @category transaction builder
|
|
78
|
-
* @param txType - Type of transaction
|
|
79
|
-
* @param params - Object which contains all tx data
|
|
80
|
-
* @returns Object with account nonce, absolute ttl and transaction fee
|
|
81
|
-
*/
|
|
82
|
-
async function prepareTxParams(
|
|
83
|
-
txType: Tag,
|
|
84
|
-
{
|
|
85
|
-
senderId,
|
|
86
|
-
nonce,
|
|
87
|
-
ttl = TX_TTL,
|
|
88
|
-
absoluteTtl,
|
|
89
|
-
strategy,
|
|
90
|
-
onNode,
|
|
91
|
-
}: {
|
|
92
|
-
senderId: Encoded.AccountAddress;
|
|
93
|
-
absoluteTtl?: boolean;
|
|
94
|
-
strategy?: 'continuity' | 'max';
|
|
95
|
-
onNode: Node;
|
|
96
|
-
} & Pick<TxParamsCommon, 'nonce' | 'ttl'>,
|
|
97
|
-
): Promise<{ ttl: number; nonce: number }> {
|
|
98
|
-
nonce ??= (
|
|
99
|
-
await onNode.getAccountNextNonce(senderId, { strategy }).catch((error) => {
|
|
100
|
-
if (!isAccountNotFoundError(error)) throw error;
|
|
101
|
-
return { nextNonce: 1 };
|
|
102
|
-
})
|
|
103
|
-
).nextNonce;
|
|
104
|
-
|
|
105
|
-
if (ttl !== 0) {
|
|
106
|
-
if (ttl < 0) throw new ArgumentError('ttl', 'greater or equal to 0', ttl);
|
|
107
|
-
ttl += absoluteTtl === true ? 0 : (await onNode.getCurrentKeyBlock()).height;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
return { ttl, nonce };
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// TODO: find a better name or rearrange methods
|
|
114
|
-
/**
|
|
115
|
-
* @category transaction builder
|
|
116
|
-
*/
|
|
117
|
-
export async function _buildTx<TxType extends Tag>(
|
|
118
|
-
txType: TxType,
|
|
119
|
-
{ denomination, absoluteTtl, ..._params }:
|
|
120
|
-
Omit<Parameters<typeof syncBuildTx<TxType, 'tx'>>[0], 'fee' | 'nonce' | 'ttl' | 'ctVersion' | 'abiVersion'>
|
|
121
|
-
& {
|
|
122
|
-
onNode: Node;
|
|
123
|
-
fee?: Int;
|
|
124
|
-
nonce?: number;
|
|
125
|
-
ttl?: number;
|
|
126
|
-
denomination?: AE_AMOUNT_FORMATS;
|
|
127
|
-
absoluteTtl?: boolean;
|
|
128
|
-
}
|
|
129
|
-
& (TxType extends Tag.OracleExtendTx | Tag.OracleResponseTx
|
|
130
|
-
? { callerId: Encoded.AccountAddress } : {})
|
|
131
|
-
& (TxType extends Tag.ContractCreateTx | Tag.GaAttachTx ? { ctVersion?: CtVersion } : {})
|
|
132
|
-
& (TxType extends Tag.ContractCallTx | Tag.OracleRegisterTx
|
|
133
|
-
? { abiVersion?: ABI_VERSIONS } : {}),
|
|
134
|
-
): Promise<Encoded.Transaction> {
|
|
135
|
-
// TODO: avoid this assertion
|
|
136
|
-
const params = _params as unknown as TxParamsCommon & { onNode: Node };
|
|
137
|
-
let senderKey: keyof TxParamsCommon | '<absent>';
|
|
138
|
-
switch (txType) {
|
|
139
|
-
case Tag.SpendTx:
|
|
140
|
-
case Tag.OracleQueryTx:
|
|
141
|
-
senderKey = 'senderId';
|
|
142
|
-
break;
|
|
143
|
-
case Tag.NameClaimTx:
|
|
144
|
-
case Tag.NameUpdateTx:
|
|
145
|
-
case Tag.NameRevokeTx:
|
|
146
|
-
case Tag.NameTransferTx:
|
|
147
|
-
case Tag.NamePreclaimTx:
|
|
148
|
-
case Tag.OracleRegisterTx:
|
|
149
|
-
senderKey = 'accountId';
|
|
150
|
-
break;
|
|
151
|
-
case Tag.ContractCreateTx:
|
|
152
|
-
case Tag.GaAttachTx:
|
|
153
|
-
senderKey = 'ownerId';
|
|
154
|
-
break;
|
|
155
|
-
case Tag.GaMetaTx:
|
|
156
|
-
senderKey = 'gaId';
|
|
157
|
-
break;
|
|
158
|
-
case Tag.ContractCallTx:
|
|
159
|
-
case Tag.OracleExtendTx:
|
|
160
|
-
case Tag.OracleResponseTx:
|
|
161
|
-
senderKey = 'callerId';
|
|
162
|
-
break;
|
|
163
|
-
case Tag.ChannelCloseSoloTx:
|
|
164
|
-
case Tag.ChannelSlashTx:
|
|
165
|
-
case Tag.ChannelSettleTx:
|
|
166
|
-
case Tag.ChannelSnapshotSoloTx:
|
|
167
|
-
senderKey = 'fromId';
|
|
168
|
-
break;
|
|
169
|
-
case Tag.PayingForTx:
|
|
170
|
-
senderKey = 'payerId';
|
|
171
|
-
break;
|
|
172
|
-
default:
|
|
173
|
-
throw new ArgumentError('txType', 'valid transaction type', txType);
|
|
174
|
-
}
|
|
175
|
-
// TODO: move specific cases to field-types
|
|
176
|
-
if ([Tag.ContractCreateTx, Tag.GaAttachTx].includes(txType)) {
|
|
177
|
-
params.ctVersion = await getVmVersion(
|
|
178
|
-
Tag.ContractCreateTx,
|
|
179
|
-
{ ...params, ...params.ctVersion },
|
|
180
|
-
);
|
|
181
|
-
}
|
|
182
|
-
if ([Tag.ContractCallTx, Tag.GaMetaTx].includes(txType)) {
|
|
183
|
-
params.abiVersion = (await getVmVersion(Tag.ContractCallTx, params)).abiVersion;
|
|
184
|
-
}
|
|
185
|
-
if (txType === Tag.OracleRegisterTx) {
|
|
186
|
-
params.abiVersion ??= ABI_VERSIONS.NO_ABI;
|
|
187
|
-
}
|
|
188
|
-
if (txType === Tag.PayingForTx) {
|
|
189
|
-
params.tx = unpackTx(params.tx);
|
|
190
|
-
}
|
|
191
|
-
const senderId = params[senderKey];
|
|
192
|
-
// TODO: do this check on TypeScript level
|
|
193
|
-
if (senderId == null) throw new InvalidTxParamsError(`Transaction field ${senderKey} is missed`);
|
|
194
|
-
const extraParams = await prepareTxParams(txType, { ...params, senderId, absoluteTtl });
|
|
195
|
-
return syncBuildTx({ ...params, ...extraParams } as any, txType, { denomination }).tx;
|
|
196
|
-
}
|
package/src/utils/mptree.ts
DELETED
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ISC License (ISC)
|
|
3
|
-
* Copyright (c) 2021 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
|
-
|
|
18
|
-
/* eslint-disable default-case */
|
|
19
|
-
import { encode as rlpEncode } from 'rlp';
|
|
20
|
-
import type { Input } from 'rlp';
|
|
21
|
-
import { hash } from './crypto';
|
|
22
|
-
import {
|
|
23
|
-
MerkleTreeHashMismatchError,
|
|
24
|
-
MissingNodeInTreeError,
|
|
25
|
-
UnknownPathNibbleError,
|
|
26
|
-
UnknownNodeLengthError,
|
|
27
|
-
} from './errors';
|
|
28
|
-
|
|
29
|
-
enum NodeType {
|
|
30
|
-
Branch,
|
|
31
|
-
Extension,
|
|
32
|
-
Leaf,
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export type MPTreeBinary = [Buffer, Array<[Buffer, Buffer[]]>];
|
|
36
|
-
|
|
37
|
-
export default class MPTree {
|
|
38
|
-
private readonly rootHash: string;
|
|
39
|
-
|
|
40
|
-
private readonly nodes: { [key: string]: Buffer[] };
|
|
41
|
-
|
|
42
|
-
private static nodeHash(node: Input): string {
|
|
43
|
-
return Buffer.from(hash(rlpEncode(node))).toString('hex');
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Deserialize Merkle Patricia Tree
|
|
48
|
-
* @param binary - Binary
|
|
49
|
-
* @returns Merkle Patricia Tree
|
|
50
|
-
*/
|
|
51
|
-
constructor(binary: MPTreeBinary) {
|
|
52
|
-
this.rootHash = binary[0].toString('hex');
|
|
53
|
-
this.nodes = Object.fromEntries(
|
|
54
|
-
binary[1].map((node) => [node[0].toString('hex'), node[1]]),
|
|
55
|
-
);
|
|
56
|
-
|
|
57
|
-
if (this.nodes[this.rootHash] === undefined) throw new MissingNodeInTreeError('Can\'t find a node by root hash');
|
|
58
|
-
Object.entries(this.nodes).forEach(([key, node]) => {
|
|
59
|
-
if (MPTree.nodeHash(node) !== key) throw new MerkleTreeHashMismatchError();
|
|
60
|
-
const { type, payload } = MPTree.parseNode(node);
|
|
61
|
-
switch (type) {
|
|
62
|
-
case NodeType.Branch:
|
|
63
|
-
payload
|
|
64
|
-
.slice(0, 16)
|
|
65
|
-
.filter((n) => n.length)
|
|
66
|
-
.forEach((n) => {
|
|
67
|
-
if (this.nodes[n.toString('hex')] === undefined) {
|
|
68
|
-
throw new MissingNodeInTreeError('Can\'t find a node by hash in branch node');
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
break;
|
|
72
|
-
case NodeType.Extension:
|
|
73
|
-
if (this.nodes[payload[0].toString('hex')] === undefined) {
|
|
74
|
-
throw new MissingNodeInTreeError('Can\'t find a node by hash in extension node');
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
isEqual(tree: MPTree): boolean {
|
|
81
|
-
return this.rootHash === tree.rootHash;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
private static parseNode(node: Buffer[]): {
|
|
85
|
-
type: NodeType;
|
|
86
|
-
payload: Buffer[];
|
|
87
|
-
path: string | null;
|
|
88
|
-
} {
|
|
89
|
-
switch (node.length) {
|
|
90
|
-
case 17:
|
|
91
|
-
return { type: NodeType.Branch, payload: node, path: null };
|
|
92
|
-
case 2: {
|
|
93
|
-
const nibble = node[0][0] >> 4; // eslint-disable-line no-bitwise
|
|
94
|
-
if (nibble > 3) throw new UnknownPathNibbleError(nibble);
|
|
95
|
-
const type = nibble <= 1 ? NodeType.Extension : NodeType.Leaf;
|
|
96
|
-
const slice = [0, 2].includes(nibble) ? 2 : 1;
|
|
97
|
-
return { type, payload: [node[1]], path: node[0].toString('hex').slice(slice) };
|
|
98
|
-
}
|
|
99
|
-
default:
|
|
100
|
-
throw new UnknownNodeLengthError(node.length);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
/**
|
|
105
|
-
* Serialize Merkle Patricia Tree
|
|
106
|
-
* @returns Binary
|
|
107
|
-
*/
|
|
108
|
-
serialize(): MPTreeBinary {
|
|
109
|
-
return [
|
|
110
|
-
Buffer.from(this.rootHash, 'hex'),
|
|
111
|
-
Object.entries(this.nodes).map(([mptHash, value]) => ([
|
|
112
|
-
Buffer.from(mptHash, 'hex'),
|
|
113
|
-
value,
|
|
114
|
-
])),
|
|
115
|
-
];
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Retrieve value from Merkle Patricia Tree
|
|
120
|
-
* @param _key - The key of the element to retrieve
|
|
121
|
-
* @returns Value associated to the specified key
|
|
122
|
-
*/
|
|
123
|
-
get(_key: string): Buffer | undefined {
|
|
124
|
-
let searchFrom = this.rootHash;
|
|
125
|
-
let key = _key;
|
|
126
|
-
while (true) { // eslint-disable-line no-constant-condition
|
|
127
|
-
const { type, payload, path } = MPTree.parseNode(this.nodes[searchFrom]);
|
|
128
|
-
switch (type) {
|
|
129
|
-
case NodeType.Branch:
|
|
130
|
-
if (key.length === 0) return payload[16];
|
|
131
|
-
searchFrom = payload[+`0x${key[0]}`].toString('hex');
|
|
132
|
-
key = key.substring(1);
|
|
133
|
-
break;
|
|
134
|
-
case NodeType.Extension:
|
|
135
|
-
if (key.substring(0, path?.length) !== path) return undefined;
|
|
136
|
-
searchFrom = payload[0].toString('hex');
|
|
137
|
-
key = key.substring(path.length);
|
|
138
|
-
break;
|
|
139
|
-
case NodeType.Leaf:
|
|
140
|
-
if (path !== key) return undefined;
|
|
141
|
-
return payload[0];
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Compiler as CompilerApi } from '../apis/compiler';
|
|
2
|
-
/**
|
|
3
|
-
* Contract Compiler over HTTP
|
|
4
|
-
*
|
|
5
|
-
* This class include api call's related to contract compiler functionality.
|
|
6
|
-
* @category contract
|
|
7
|
-
* @example CompilerHttp('COMPILER_URL')
|
|
8
|
-
*/
|
|
9
|
-
export default class CompilerHttp extends CompilerApi {
|
|
10
|
-
/**
|
|
11
|
-
* @param compilerUrl - Url for compiler API
|
|
12
|
-
* @param options - Options
|
|
13
|
-
* @param options.ignoreVersion - Don't check compiler version
|
|
14
|
-
*/
|
|
15
|
-
constructor(compilerUrl: string, { ignoreVersion }?: {
|
|
16
|
-
ignoreVersion?: boolean;
|
|
17
|
-
});
|
|
18
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { AddressEncodings } from './address';
|
|
3
|
-
export default function genAddressesField<Encoding extends AddressEncodings>(): {
|
|
4
|
-
serialize: (value: Array<`${Encoding}_${string}`>) => Buffer[];
|
|
5
|
-
deserialize: (value: Buffer[]) => Array<`${Encoding}_${string}`>;
|
|
6
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Transaction methods
|
|
3
|
-
*
|
|
4
|
-
* This is implementation of [Tx](api/tx.md) relays
|
|
5
|
-
* the creation of transactions to {@link Node}.
|
|
6
|
-
* These methods provide ability to create native transactions.
|
|
7
|
-
*/
|
|
8
|
-
import BigNumber from 'bignumber.js';
|
|
9
|
-
import { ABI_VERSIONS, CtVersion } from './builder/schema';
|
|
10
|
-
import { Tag } from './builder/constants';
|
|
11
|
-
import Node from '../Node';
|
|
12
|
-
import { Encoded } from '../utils/encoder';
|
|
13
|
-
import { buildTx as syncBuildTx } from './builder/index';
|
|
14
|
-
import { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';
|
|
15
|
-
type Int = number | string | BigNumber;
|
|
16
|
-
export type BuildTxOptions<TxType extends Tag, OmitFields extends string> = Omit<Parameters<any>[1], OmitFields>;
|
|
17
|
-
/**
|
|
18
|
-
* @category transaction builder
|
|
19
|
-
*/
|
|
20
|
-
export declare function _buildTx<TxType extends Tag>(txType: TxType, { denomination, absoluteTtl, ..._params }: Omit<Parameters<any>[0], 'fee' | 'nonce' | 'ttl' | 'ctVersion' | 'abiVersion'> & {
|
|
21
|
-
onNode: Node;
|
|
22
|
-
fee?: Int;
|
|
23
|
-
nonce?: number;
|
|
24
|
-
ttl?: number;
|
|
25
|
-
denomination?: AE_AMOUNT_FORMATS;
|
|
26
|
-
absoluteTtl?: boolean;
|
|
27
|
-
} & (TxType extends Tag.OracleExtendTx | Tag.OracleResponseTx ? {
|
|
28
|
-
callerId: Encoded.AccountAddress;
|
|
29
|
-
} : {}) & (TxType extends Tag.ContractCreateTx | Tag.GaAttachTx ? {
|
|
30
|
-
ctVersion?: CtVersion;
|
|
31
|
-
} : {}) & (TxType extends Tag.ContractCallTx | Tag.OracleRegisterTx ? {
|
|
32
|
-
abiVersion?: ABI_VERSIONS;
|
|
33
|
-
} : {})): Promise<Encoded.Transaction>;
|
|
34
|
-
export {};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
export type MPTreeBinary = [
|
|
3
|
-
Buffer,
|
|
4
|
-
Array<[
|
|
5
|
-
Buffer,
|
|
6
|
-
Buffer[]
|
|
7
|
-
]>
|
|
8
|
-
];
|
|
9
|
-
export default class MPTree {
|
|
10
|
-
private readonly rootHash;
|
|
11
|
-
private readonly nodes;
|
|
12
|
-
private static nodeHash;
|
|
13
|
-
/**
|
|
14
|
-
* Deserialize Merkle Patricia Tree
|
|
15
|
-
* @param binary - Binary
|
|
16
|
-
* @returns Merkle Patricia Tree
|
|
17
|
-
*/
|
|
18
|
-
constructor(binary: MPTreeBinary);
|
|
19
|
-
isEqual(tree: MPTree): boolean;
|
|
20
|
-
private static parseNode;
|
|
21
|
-
/**
|
|
22
|
-
* Serialize Merkle Patricia Tree
|
|
23
|
-
* @returns Binary
|
|
24
|
-
*/
|
|
25
|
-
serialize(): MPTreeBinary;
|
|
26
|
-
/**
|
|
27
|
-
* Retrieve value from Merkle Patricia Tree
|
|
28
|
-
* @param _key - The key of the element to retrieve
|
|
29
|
-
* @returns Value associated to the specified key
|
|
30
|
-
*/
|
|
31
|
-
get(_key: string): Buffer | undefined;
|
|
32
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { Compiler as CompilerApi } from '../apis/compiler';
|
|
2
|
-
/**
|
|
3
|
-
* Contract Compiler over HTTP
|
|
4
|
-
*
|
|
5
|
-
* This class include api call's related to contract compiler functionality.
|
|
6
|
-
* @category contract
|
|
7
|
-
* @example CompilerHttp('COMPILER_URL')
|
|
8
|
-
*/
|
|
9
|
-
export default class CompilerHttp extends CompilerApi {
|
|
10
|
-
/**
|
|
11
|
-
* @param compilerUrl - Url for compiler API
|
|
12
|
-
* @param options - Options
|
|
13
|
-
* @param options.ignoreVersion - Don't check compiler version
|
|
14
|
-
*/
|
|
15
|
-
constructor(compilerUrl: string, { ignoreVersion }?: {
|
|
16
|
-
ignoreVersion?: boolean;
|
|
17
|
-
});
|
|
18
|
-
}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { AddressEncodings } from './address';
|
|
3
|
-
export default function genAddressesField<Encoding extends AddressEncodings>(): {
|
|
4
|
-
serialize: (value: Array<`${Encoding}_${string}`>) => Buffer[];
|
|
5
|
-
deserialize: (value: Buffer[]) => Array<`${Encoding}_${string}`>;
|
|
6
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Transaction methods
|
|
3
|
-
*
|
|
4
|
-
* This is implementation of [Tx](api/tx.md) relays
|
|
5
|
-
* the creation of transactions to {@link Node}.
|
|
6
|
-
* These methods provide ability to create native transactions.
|
|
7
|
-
*/
|
|
8
|
-
import BigNumber from 'bignumber.js';
|
|
9
|
-
import { ABI_VERSIONS, CtVersion } from './builder/schema';
|
|
10
|
-
import { Tag } from './builder/constants';
|
|
11
|
-
import Node from '../Node';
|
|
12
|
-
import { Encoded } from '../utils/encoder';
|
|
13
|
-
import { buildTx as syncBuildTx } from './builder/index';
|
|
14
|
-
import { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';
|
|
15
|
-
type Int = number | string | BigNumber;
|
|
16
|
-
export type BuildTxOptions<TxType extends Tag, OmitFields extends string> = Omit<Parameters<any>[1], OmitFields>;
|
|
17
|
-
/**
|
|
18
|
-
* @category transaction builder
|
|
19
|
-
*/
|
|
20
|
-
export declare function _buildTx<TxType extends Tag>(txType: TxType, { denomination, absoluteTtl, ..._params }: Omit<Parameters<any>[0], 'fee' | 'nonce' | 'ttl' | 'ctVersion' | 'abiVersion'> & {
|
|
21
|
-
onNode: Node;
|
|
22
|
-
fee?: Int;
|
|
23
|
-
nonce?: number;
|
|
24
|
-
ttl?: number;
|
|
25
|
-
denomination?: AE_AMOUNT_FORMATS;
|
|
26
|
-
absoluteTtl?: boolean;
|
|
27
|
-
} & (TxType extends Tag.OracleExtendTx | Tag.OracleResponseTx ? {
|
|
28
|
-
callerId: Encoded.AccountAddress;
|
|
29
|
-
} : {}) & (TxType extends Tag.ContractCreateTx | Tag.GaAttachTx ? {
|
|
30
|
-
ctVersion?: CtVersion;
|
|
31
|
-
} : {}) & (TxType extends Tag.ContractCallTx | Tag.OracleRegisterTx ? {
|
|
32
|
-
abiVersion?: ABI_VERSIONS;
|
|
33
|
-
} : {})): Promise<Encoded.Transaction>;
|
|
34
|
-
export {};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
export type MPTreeBinary = [
|
|
3
|
-
Buffer,
|
|
4
|
-
Array<[
|
|
5
|
-
Buffer,
|
|
6
|
-
Buffer[]
|
|
7
|
-
]>
|
|
8
|
-
];
|
|
9
|
-
export default class MPTree {
|
|
10
|
-
private readonly rootHash;
|
|
11
|
-
private readonly nodes;
|
|
12
|
-
private static nodeHash;
|
|
13
|
-
/**
|
|
14
|
-
* Deserialize Merkle Patricia Tree
|
|
15
|
-
* @param binary - Binary
|
|
16
|
-
* @returns Merkle Patricia Tree
|
|
17
|
-
*/
|
|
18
|
-
constructor(binary: MPTreeBinary);
|
|
19
|
-
isEqual(tree: MPTree): boolean;
|
|
20
|
-
private static parseNode;
|
|
21
|
-
/**
|
|
22
|
-
* Serialize Merkle Patricia Tree
|
|
23
|
-
* @returns Binary
|
|
24
|
-
*/
|
|
25
|
-
serialize(): MPTreeBinary;
|
|
26
|
-
/**
|
|
27
|
-
* Retrieve value from Merkle Patricia Tree
|
|
28
|
-
* @param _key - The key of the element to retrieve
|
|
29
|
-
* @returns Value associated to the specified key
|
|
30
|
-
*/
|
|
31
|
-
get(_key: string): Buffer | undefined;
|
|
32
|
-
}
|