@aeternity/aepp-sdk 13.0.0-alpha.1 → 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 +1792 -1525
- 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.mjs.map +1 -1
- package/es/AeSdkMethods.d.ts +11 -12
- 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 +5 -1
- package/es/Node.mjs +11 -5
- package/es/Node.mjs.map +1 -1
- package/es/account/Base.d.ts +11 -6
- package/es/account/Base.mjs +0 -17
- package/es/account/Base.mjs.map +1 -1
- package/es/account/Generalized.mjs +11 -24
- package/es/account/Generalized.mjs.map +1 -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 +9 -21
- 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 +17 -31
- 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.mjs +0 -16
- 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 +4 -5
- 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 +8 -8
- package/es/chain.mjs +19 -22
- package/es/chain.mjs.map +1 -1
- package/es/channel/Base.d.ts +25 -12
- package/es/channel/Base.mjs +23 -26
- package/es/channel/Base.mjs.map +1 -1
- package/es/channel/Contract.mjs +8 -21
- package/es/channel/Contract.mjs.map +1 -1
- package/es/channel/Spend.d.ts +4 -2
- package/es/channel/Spend.mjs +0 -16
- package/es/channel/Spend.mjs.map +1 -1
- package/es/channel/handlers.mjs +6 -18
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/internal.d.ts +19 -2
- package/es/channel/internal.mjs +19 -19
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/Contract.d.ts +30 -85
- package/es/contract/Contract.mjs +174 -211
- package/es/contract/Contract.mjs.map +1 -1
- package/es/contract/compiler/Base.d.ts +7 -14
- package/es/contract/compiler/Base.mjs.map +1 -1
- package/es/contract/compiler/Cli.mjs +5 -11
- package/es/contract/compiler/Cli.mjs.map +1 -1
- package/es/contract/compiler/Http.mjs +6 -30
- package/es/contract/compiler/Http.mjs.map +1 -1
- package/es/contract/compiler/HttpNode.mjs.map +1 -1
- package/es/contract/compiler/getFileSystem.mjs.map +1 -1
- 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 +23 -7
- package/es/contract/ga.mjs +52 -27
- package/es/contract/ga.mjs.map +1 -1
- package/es/index-browser.d.ts +4 -3
- package/es/index-browser.mjs +6 -20
- package/es/index-browser.mjs.map +1 -1
- package/es/oracle.d.ts +12 -17
- package/es/oracle.mjs +28 -48
- package/es/oracle.mjs.map +1 -1
- package/es/spend.d.ts +19 -27
- package/es/spend.mjs +20 -43
- 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 +4 -2
- package/es/tx/builder/constants.mjs +2 -0
- package/es/tx/builder/constants.mjs.map +1 -1
- package/es/tx/builder/field-types/abi-version.d.ts +11 -2
- package/es/tx/builder/field-types/abi-version.mjs +24 -4
- package/es/tx/builder/field-types/abi-version.mjs.map +1 -1
- package/es/tx/builder/field-types/address.mjs.map +1 -1
- package/es/tx/builder/field-types/array.d.ts +1 -1
- package/es/tx/builder/field-types/array.mjs.map +1 -1
- package/es/tx/builder/field-types/boolean.mjs.map +1 -1
- package/es/tx/builder/field-types/coin-amount.d.ts +3 -4
- 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 +22 -3
- package/es/tx/builder/field-types/ct-version.mjs +32 -4
- package/es/tx/builder/field-types/ct-version.mjs.map +1 -1
- package/es/tx/builder/field-types/deposit.d.ts +2 -1
- 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 +1 -1
- package/es/tx/builder/field-types/encoded.mjs.map +1 -1
- package/es/tx/builder/field-types/entry.mjs +3 -0
- package/es/tx/builder/field-types/entry.mjs.map +1 -1
- package/es/tx/builder/field-types/enumeration.mjs.map +1 -1
- package/es/tx/builder/field-types/fee.d.ts +3 -1
- package/es/tx/builder/field-types/fee.mjs +5 -1
- 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 +3 -2
- package/es/tx/builder/field-types/gas-limit.mjs +4 -2
- 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 +52 -13
- package/es/tx/builder/field-types/index.mjs +10 -2
- 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 +7 -2
- package/es/tx/builder/field-types/mptree.mjs +5 -7
- package/es/tx/builder/field-types/mptree.mjs.map +1 -1
- package/es/tx/builder/field-types/name-fee.d.ts +1 -1
- 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.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.map +1 -1
- package/es/tx/builder/field-types/raw.mjs.map +1 -1
- package/es/tx/builder/field-types/short-u-int-const.d.ts +4 -2
- package/es/tx/builder/field-types/short-u-int-const.mjs +12 -8
- package/es/tx/builder/field-types/short-u-int-const.mjs.map +1 -1
- package/es/tx/builder/field-types/short-u-int.mjs.map +1 -1
- package/es/tx/builder/field-types/string.mjs.map +1 -1
- 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.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 +20 -20
- package/es/tx/builder/index.mjs +54 -64
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +2735 -2865
- 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 -155
- 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.mjs +60 -109
- 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 +0 -16
- 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 +14 -31
- package/es/utils/errors.mjs +2 -32
- 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.d.ts +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 +34 -30
- package/src/AeSdkMethods.ts +11 -16
- package/src/AeSdkWallet.ts +1 -1
- package/src/Node.ts +17 -6
- package/src/account/Base.ts +11 -22
- package/src/account/Generalized.ts +8 -23
- package/src/account/Memory.ts +14 -21
- package/src/aens.ts +31 -47
- package/src/aepp-wallet-communication/connection/Browser.ts +0 -17
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +0 -17
- 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/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 +28 -27
- package/src/channel/Base.ts +33 -33
- package/src/channel/Contract.ts +8 -23
- package/src/channel/Spend.ts +2 -17
- package/src/channel/handlers.ts +5 -18
- package/src/channel/internal.ts +40 -22
- package/src/contract/Contract.ts +133 -163
- package/src/contract/compiler/Base.ts +7 -14
- package/src/contract/compiler/Cli.ts +5 -11
- package/src/contract/compiler/Http.ts +6 -25
- package/src/contract/delegation-signature.ts +56 -0
- package/src/contract/ga.ts +53 -32
- package/src/index-browser.ts +12 -20
- package/src/oracle.ts +46 -56
- package/src/spend.ts +33 -67
- package/src/tx/builder/SchemaTypes.ts +79 -0
- package/src/tx/builder/constants.ts +2 -0
- package/src/tx/builder/field-types/abi-version.ts +29 -6
- package/src/tx/builder/field-types/array.ts +1 -1
- package/src/tx/builder/field-types/coin-amount.ts +6 -4
- package/src/tx/builder/field-types/ct-version.ts +37 -4
- package/src/tx/builder/field-types/deposit.ts +3 -1
- package/src/tx/builder/field-types/encoded.ts +1 -1
- package/src/tx/builder/field-types/entry.ts +8 -3
- package/src/tx/builder/field-types/fee.ts +6 -4
- package/src/tx/builder/field-types/gas-limit.ts +2 -2
- package/src/tx/builder/field-types/index.ts +15 -1
- package/src/tx/builder/field-types/map.ts +45 -0
- package/src/tx/builder/field-types/mptree.ts +4 -3
- package/src/tx/builder/field-types/name-fee.ts +2 -1
- package/src/tx/builder/field-types/nonce.ts +40 -0
- package/src/tx/builder/field-types/short-u-int-const.ts +18 -8
- package/src/tx/builder/field-types/ttl.ts +24 -0
- package/src/tx/builder/field-types/wrapped.ts +32 -0
- package/src/tx/builder/index.ts +57 -71
- package/src/tx/builder/schema.generated.ts +2013 -0
- package/src/tx/builder/schema.ts +544 -624
- package/src/tx/execution-cost.ts +146 -0
- package/src/tx/transaction-signer.ts +27 -0
- package/src/tx/validator.ts +60 -91
- package/src/utils/amount-formatter.ts +0 -16
- package/src/utils/autorest.ts +52 -11
- package/src/utils/bytes.ts +0 -16
- package/src/utils/crypto.ts +0 -16
- package/src/utils/errors.ts +15 -44
- package/src/utils/string.ts +0 -17
- package/types-legacy/ts4.2/AeSdkMethods.d.ts +11 -12
- package/types-legacy/ts4.2/Node.d.ts +5 -1
- package/types-legacy/ts4.2/account/Base.d.ts +11 -6
- 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/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 +8 -8
- package/types-legacy/ts4.2/channel/Base.d.ts +25 -12
- package/types-legacy/ts4.2/channel/Spend.d.ts +4 -2
- package/types-legacy/ts4.2/channel/internal.d.ts +22 -2
- package/types-legacy/ts4.2/contract/Contract.d.ts +29 -84
- package/types-legacy/ts4.2/contract/compiler/Base.d.ts +7 -14
- package/types-legacy/ts4.2/contract/delegation-signature.d.ts +43 -0
- package/types-legacy/ts4.2/contract/ga.d.ts +23 -7
- package/types-legacy/ts4.2/index-browser.d.ts +4 -3
- 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 +4 -2
- package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +11 -2
- package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +1 -1
- package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +3 -4
- package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +33 -3
- package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +2 -1
- package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +1 -1
- package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +3 -1
- package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +3 -2
- 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 +52 -13
- 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 +7 -2
- package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +1 -1
- package/types-legacy/ts4.2/tx/builder/field-types/nonce.d.ts +14 -0
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +4 -2
- package/types-legacy/ts4.2/tx/builder/field-types/ttl.d.ts +11 -0
- package/types-legacy/ts4.2/tx/builder/field-types/wrapped.d.ts +14 -0
- package/types-legacy/ts4.2/tx/builder/index.d.ts +23 -20
- package/types-legacy/ts4.2/tx/builder/schema.d.ts +2962 -4629
- 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/utils/autorest.d.ts +3 -2
- package/types-legacy/ts4.2/utils/errors.d.ts +14 -31
- package/types-legacy/ts4.2/utils/other.d.ts +1 -1
- package/types-legacy/ts4.5/AeSdkMethods.d.ts +11 -12
- package/types-legacy/ts4.5/Node.d.ts +5 -1
- package/types-legacy/ts4.5/account/Base.d.ts +11 -6
- 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/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 +8 -8
- package/types-legacy/ts4.5/channel/Base.d.ts +25 -12
- package/types-legacy/ts4.5/channel/Spend.d.ts +4 -2
- package/types-legacy/ts4.5/channel/internal.d.ts +22 -2
- package/types-legacy/ts4.5/contract/Contract.d.ts +29 -84
- package/types-legacy/ts4.5/contract/compiler/Base.d.ts +7 -14
- package/types-legacy/ts4.5/contract/delegation-signature.d.ts +43 -0
- package/types-legacy/ts4.5/contract/ga.d.ts +23 -7
- package/types-legacy/ts4.5/index-browser.d.ts +4 -3
- 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 +4 -2
- package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +11 -2
- package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +1 -1
- package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +3 -4
- package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +33 -3
- package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +2 -1
- package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +1 -1
- package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +3 -1
- package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +3 -2
- 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 +52 -13
- 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 +7 -2
- package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +1 -1
- package/types-legacy/ts4.5/tx/builder/field-types/nonce.d.ts +14 -0
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +4 -2
- package/types-legacy/ts4.5/tx/builder/field-types/ttl.d.ts +11 -0
- package/types-legacy/ts4.5/tx/builder/field-types/wrapped.d.ts +14 -0
- package/types-legacy/ts4.5/tx/builder/index.d.ts +23 -20
- package/types-legacy/ts4.5/tx/builder/schema.d.ts +2962 -4629
- 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/utils/autorest.d.ts +3 -2
- package/types-legacy/ts4.5/utils/errors.d.ts +14 -31
- package/types-legacy/ts4.5/utils/other.d.ts +1 -1
- package/es/tx/index.d.ts +0 -19
- package/es/tx/index.mjs +0 -115
- package/es/tx/index.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/tx/index.ts +0 -129
- package/types-legacy/ts4.2/tx/index.d.ts +0 -19
- package/types-legacy/ts4.5/tx/index.d.ts +0 -19
package/es/contract/Contract.mjs
CHANGED
|
@@ -1,24 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
* Copyright (c) 2022 aeternity developers
|
|
8
|
-
*
|
|
9
|
-
* Permission to use, copy, modify, and/or distribute this software for any
|
|
10
|
-
* purpose with or without fee is hereby granted, provided that the above
|
|
11
|
-
* copyright notice and this permission notice appear in all copies.
|
|
12
|
-
*
|
|
13
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
14
|
-
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
15
|
-
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
16
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
17
|
-
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
18
|
-
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
19
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
|
20
|
-
*/
|
|
21
|
-
|
|
1
|
+
import _classPrivateFieldSet from "@babel/runtime-corejs3/helpers/classPrivateFieldSet";
|
|
2
|
+
import _classPrivateFieldGet from "@babel/runtime-corejs3/helpers/classPrivateFieldGet";
|
|
3
|
+
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
|
4
|
+
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
|
5
|
+
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
|
6
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { if (!privateSet.has(receiver)) { throw new TypeError("attempted to get private field on non-instance"); } return fn; }
|
|
22
7
|
/**
|
|
23
8
|
* Contract module - routines to interact with the æternity contract
|
|
24
9
|
*
|
|
@@ -32,15 +17,16 @@ const {
|
|
|
32
17
|
} = _aeternityAeppCalldata;
|
|
33
18
|
import { DRY_RUN_ACCOUNT } from "../tx/builder/schema.mjs";
|
|
34
19
|
import { Tag } from "../tx/builder/constants.mjs";
|
|
35
|
-
import { buildContractIdByContractTx, unpackTx } from "../tx/builder/index.mjs";
|
|
36
|
-
import { _buildTx } from "../tx/index.mjs";
|
|
37
|
-
import { send } from "../spend.mjs";
|
|
20
|
+
import { buildContractIdByContractTx, unpackTx, buildTxAsync, buildTxHash } from "../tx/builder/index.mjs";
|
|
38
21
|
import { decode } from "../utils/encoder.mjs";
|
|
39
|
-
import { MissingContractDefError, MissingContractAddressError, InactiveContractError, BytecodeMismatchError, DuplicateContractError, MissingFunctionNameError, InvalidMethodInvocationError, NotPayableFunctionError, TypeError, NodeInvocationError, IllegalArgumentError, NoSuchContractFunctionError, MissingEventDefinitionError, AmbiguousEventDefinitionError, UnexpectedTsError, InternalError, NoWalletConnectedError } from "../utils/errors.mjs";
|
|
22
|
+
import { MissingContractDefError, MissingContractAddressError, InactiveContractError, BytecodeMismatchError, DuplicateContractError, MissingFunctionNameError, InvalidMethodInvocationError, NotPayableFunctionError, TypeError as _TypeError, NodeInvocationError, IllegalArgumentError, NoSuchContractFunctionError, MissingEventDefinitionError, AmbiguousEventDefinitionError, UnexpectedTsError, InternalError, NoWalletConnectedError, ContractError } from "../utils/errors.mjs";
|
|
40
23
|
import { hash as calcHash } from "../utils/crypto.mjs";
|
|
41
|
-
import { getAccount, getContract, getContractByteCode, resolveName, txDryRun } from "../chain.mjs";
|
|
42
|
-
|
|
43
|
-
|
|
24
|
+
import { getAccount, getContract, getContractByteCode, resolveName, txDryRun, sendTransaction } from "../chain.mjs";
|
|
25
|
+
var _getCallResult = /*#__PURE__*/new WeakSet();
|
|
26
|
+
var _sendAndProcess = /*#__PURE__*/new WeakSet();
|
|
27
|
+
var _getFunctionAci = /*#__PURE__*/new WeakSet();
|
|
28
|
+
var _getContractNameByEvent = /*#__PURE__*/new WeakSet();
|
|
29
|
+
var _aciContract = /*#__PURE__*/new WeakMap();
|
|
44
30
|
/**
|
|
45
31
|
* Generate contract ACI object with predefined js methods for contract usage - can be used for
|
|
46
32
|
* creating a reference to already deployed contracts
|
|
@@ -59,54 +45,6 @@ import { isNameValid, produceNameId } from "../tx/builder/helpers.mjs";
|
|
|
59
45
|
* stateful or not
|
|
60
46
|
*/
|
|
61
47
|
class Contract {
|
|
62
|
-
/**
|
|
63
|
-
* Helper to generate a signature to delegate
|
|
64
|
-
* - pre-claim/claim/transfer/revoke of a name to a contract.
|
|
65
|
-
* - register/extend/respond of an Oracle to a contract.
|
|
66
|
-
* @category contract
|
|
67
|
-
* @param ids - The list of id's to prepend
|
|
68
|
-
* @param _options - Options
|
|
69
|
-
* @param _options.omitAddress - Prepend delegation signature with an account address
|
|
70
|
-
* @param _options.onAccount - Account to use
|
|
71
|
-
* @returns Signature
|
|
72
|
-
* @example
|
|
73
|
-
* ```js
|
|
74
|
-
* const aeSdk = new AeSdk({ ... })
|
|
75
|
-
* const contract = await aeSdk.initializeContract({ address: 'ct_asd2ks...' })
|
|
76
|
-
* const aensName = 'example.chain'
|
|
77
|
-
* const onAccount = new MemoryAccount(...) // Sign with a specific account
|
|
78
|
-
* // Preclaim signature
|
|
79
|
-
* const preclaimSig = await contract.$createDelegationSignature([], { onAccount })
|
|
80
|
-
* // Claim, transfer and revoke signature
|
|
81
|
-
* const aensDelegationSig = await contract
|
|
82
|
-
* .$createDelegationSignature([aensName], { onAccount })
|
|
83
|
-
* ```
|
|
84
|
-
* @example
|
|
85
|
-
* ```js
|
|
86
|
-
* const aeSdk = new AeSdk({ ... })
|
|
87
|
-
* const contract = await aeSdk.initializeContract({ address: 'ct_asd2ks...' })
|
|
88
|
-
* const oracleQueryId = 'oq_...'
|
|
89
|
-
* const onAccount = new MemoryAccount(...) // Sign with a specific account
|
|
90
|
-
* // Oracle register and extend signature
|
|
91
|
-
* const oracleDelegationSig = await contract.$createDelegationSignature([], { onAccount })
|
|
92
|
-
* // Oracle respond signature
|
|
93
|
-
* const respondSig = await contract
|
|
94
|
-
* .$createDelegationSignature([oracleQueryId], { onAccount, omitAddress: true })
|
|
95
|
-
* ```
|
|
96
|
-
*/
|
|
97
|
-
async $createDelegationSignature() {
|
|
98
|
-
let ids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
99
|
-
let _options = arguments.length > 1 ? arguments[1] : undefined;
|
|
100
|
-
const options = {
|
|
101
|
-
...this.$options,
|
|
102
|
-
..._options
|
|
103
|
-
};
|
|
104
|
-
const contractId = this.$options.address;
|
|
105
|
-
if (options.onAccount == null) throw new IllegalArgumentError('Can\'t create delegation signature without account');
|
|
106
|
-
if (contractId == null) throw new MissingContractAddressError('Can\'t create delegation signature without address');
|
|
107
|
-
return options.onAccount.sign(concatBuffers([_Buffer.from(await options.onNode.getNetworkId()), ...(options.omitAddress === true ? [] : [decode(options.onAccount.address)]), ...ids.map(e => isNameValid(e) ? produceNameId(e) : e).map(e => decode(e)), decode(contractId)]), options);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
48
|
/**
|
|
111
49
|
* Compile contract
|
|
112
50
|
* @returns bytecode
|
|
@@ -118,47 +56,17 @@ class Contract {
|
|
|
118
56
|
this.$options.bytecode = (await this.$options.onCompiler.compileBySourceCode(this.$options.sourceCode, this.$options.fileSystem)).bytecode;
|
|
119
57
|
return this.$options.bytecode;
|
|
120
58
|
}
|
|
121
|
-
|
|
122
|
-
let {
|
|
123
|
-
returnType,
|
|
124
|
-
returnValue
|
|
125
|
-
} = _ref;
|
|
126
|
-
let message;
|
|
127
|
-
switch (returnType) {
|
|
128
|
-
case 'ok':
|
|
129
|
-
return;
|
|
130
|
-
case 'revert':
|
|
131
|
-
message = this._calldata.decodeFateString(returnValue);
|
|
132
|
-
break;
|
|
133
|
-
case 'error':
|
|
134
|
-
message = decode(returnValue).toString();
|
|
135
|
-
break;
|
|
136
|
-
default:
|
|
137
|
-
throw new InternalError(`Unknown return type: ${returnType}`);
|
|
138
|
-
}
|
|
139
|
-
throw new NodeInvocationError(message, transaction);
|
|
140
|
-
}
|
|
141
|
-
async _sendAndProcess(tx, options) {
|
|
142
|
-
const txData = await send(tx, {
|
|
143
|
-
...this.$options,
|
|
144
|
-
...options
|
|
145
|
-
});
|
|
146
|
-
const result = {
|
|
147
|
-
hash: txData.hash,
|
|
148
|
-
tx: unpackTx(txData.rawTx),
|
|
149
|
-
txData,
|
|
150
|
-
rawTx: txData.rawTx
|
|
151
|
-
};
|
|
152
|
-
if (txData.blockHeight == null) return result;
|
|
59
|
+
async $getCallResultByTxHash(hash, fnName, options) {
|
|
153
60
|
const {
|
|
154
61
|
callInfo
|
|
155
|
-
} = await this.$options.onNode.getTransactionInfoByHash(
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
62
|
+
} = await this.$options.onNode.getTransactionInfoByHash(hash);
|
|
63
|
+
if (callInfo == null) {
|
|
64
|
+
throw new ContractError(`callInfo is not available for transaction ${hash}`);
|
|
65
|
+
}
|
|
66
|
+
const callInfoTyped = callInfo;
|
|
159
67
|
return {
|
|
160
|
-
...
|
|
161
|
-
result:
|
|
68
|
+
..._classPrivateMethodGet(this, _getCallResult, _getCallResult2).call(this, callInfoTyped, fnName, undefined, options),
|
|
69
|
+
result: callInfoTyped
|
|
162
70
|
};
|
|
163
71
|
}
|
|
164
72
|
async _estimateGas(name, params) {
|
|
@@ -201,8 +109,9 @@ class Contract {
|
|
|
201
109
|
if (opt.onAccount == null) throw new IllegalArgumentError('Can\'t deploy without account');
|
|
202
110
|
const ownerId = opt.onAccount.address;
|
|
203
111
|
if (this.$options.bytecode == null) throw new IllegalArgumentError('Can\'t deploy without bytecode');
|
|
204
|
-
const tx = await
|
|
112
|
+
const tx = await buildTxAsync({
|
|
205
113
|
...opt,
|
|
114
|
+
tag: Tag.ContractCreateTx,
|
|
206
115
|
gasLimit: (_opt$gasLimit = opt.gasLimit) !== null && _opt$gasLimit !== void 0 ? _opt$gasLimit : await this._estimateGas('init', params, opt),
|
|
207
116
|
callData: this._calldata.encode(this._name, 'init', params),
|
|
208
117
|
code: this.$options.bytecode,
|
|
@@ -212,7 +121,7 @@ class Contract {
|
|
|
212
121
|
const {
|
|
213
122
|
hash,
|
|
214
123
|
...other
|
|
215
|
-
} = await this.
|
|
124
|
+
} = await _classPrivateMethodGet(this, _sendAndProcess, _sendAndProcess2).call(this, tx, 'init', {
|
|
216
125
|
...opt,
|
|
217
126
|
onAccount: opt.onAccount
|
|
218
127
|
});
|
|
@@ -232,16 +141,6 @@ class Contract {
|
|
|
232
141
|
* @param name - Function name
|
|
233
142
|
* @returns function ACI
|
|
234
143
|
*/
|
|
235
|
-
_getFunctionACI(name) {
|
|
236
|
-
const fn = this._aci.encodedAci.contract.functions.find(f => f.name === name);
|
|
237
|
-
if (fn != null) {
|
|
238
|
-
return fn;
|
|
239
|
-
}
|
|
240
|
-
if (name === 'init') return {
|
|
241
|
-
payable: false
|
|
242
|
-
};
|
|
243
|
-
throw new NoSuchContractFunctionError(`Function ${name} doesn't exist in contract`);
|
|
244
|
-
}
|
|
245
144
|
|
|
246
145
|
/**
|
|
247
146
|
* Call contract function
|
|
@@ -251,6 +150,7 @@ class Contract {
|
|
|
251
150
|
* @returns CallResult
|
|
252
151
|
*/
|
|
253
152
|
async $call(fn, params) {
|
|
153
|
+
var _opt$gasLimit2;
|
|
254
154
|
let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
255
155
|
const {
|
|
256
156
|
callStatic,
|
|
@@ -260,14 +160,14 @@ class Contract {
|
|
|
260
160
|
...this.$options,
|
|
261
161
|
...options
|
|
262
162
|
};
|
|
263
|
-
const
|
|
163
|
+
const fnAci = _classPrivateMethodGet(this, _getFunctionAci, _getFunctionAci2).call(this, fn);
|
|
264
164
|
const contractId = this.$options.address;
|
|
265
165
|
const {
|
|
266
166
|
onNode
|
|
267
167
|
} = opt;
|
|
268
168
|
if (fn == null) throw new MissingFunctionNameError();
|
|
269
169
|
if (fn === 'init' && callStatic !== true) throw new InvalidMethodInvocationError('"init" can be called only via dryRun');
|
|
270
|
-
if (fn !== 'init' && opt.amount != null && opt.amount > 0 &&
|
|
170
|
+
if (fn !== 'init' && opt.amount != null && opt.amount > 0 && !fnAci.payable) {
|
|
271
171
|
throw new NotPayableFunctionError(opt.amount, fn);
|
|
272
172
|
}
|
|
273
173
|
let callerId;
|
|
@@ -275,12 +175,11 @@ class Contract {
|
|
|
275
175
|
if (opt.onAccount == null) throw new InternalError('Use fallback account');
|
|
276
176
|
callerId = opt.onAccount.address;
|
|
277
177
|
} catch (error) {
|
|
278
|
-
const useFallbackAccount = callStatic === true && (error instanceof
|
|
178
|
+
const useFallbackAccount = callStatic === true && (error instanceof _TypeError && error.message === 'Account should be an address (ak-prefixed string), or instance of AccountBase, got undefined instead' || error instanceof NoWalletConnectedError);
|
|
279
179
|
if (!useFallbackAccount) throw error;
|
|
280
180
|
callerId = DRY_RUN_ACCOUNT.pub;
|
|
281
181
|
}
|
|
282
182
|
const callData = this._calldata.encode(this._name, fn, params);
|
|
283
|
-
let res;
|
|
284
183
|
if (callStatic === true) {
|
|
285
184
|
if (opt.nonce == null && top != null) {
|
|
286
185
|
const topKey = typeof top === 'number' ? 'height' : 'hash';
|
|
@@ -297,15 +196,17 @@ class Contract {
|
|
|
297
196
|
let tx;
|
|
298
197
|
if (fn === 'init') {
|
|
299
198
|
if (this.$options.bytecode == null) throw new IllegalArgumentError('Can\'t dry-run "init" without bytecode');
|
|
300
|
-
tx = await
|
|
199
|
+
tx = await buildTxAsync({
|
|
301
200
|
...txOpt,
|
|
201
|
+
tag: Tag.ContractCreateTx,
|
|
302
202
|
code: this.$options.bytecode,
|
|
303
203
|
ownerId: callerId
|
|
304
204
|
});
|
|
305
205
|
} else {
|
|
306
206
|
if (contractId == null) throw new MissingContractAddressError('Can\'t dry-run contract without address');
|
|
307
|
-
tx = await
|
|
207
|
+
tx = await buildTxAsync({
|
|
308
208
|
...txOpt,
|
|
209
|
+
tag: Tag.ContractCallTx,
|
|
309
210
|
callerId,
|
|
310
211
|
contractId
|
|
311
212
|
});
|
|
@@ -317,38 +218,35 @@ class Contract {
|
|
|
317
218
|
...opt,
|
|
318
219
|
top
|
|
319
220
|
});
|
|
320
|
-
if (callObj == null)
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
res = {
|
|
221
|
+
if (callObj == null) {
|
|
222
|
+
throw new InternalError(`callObj is not available for transaction ${tx}`);
|
|
223
|
+
}
|
|
224
|
+
const callInfoTyped = callObj;
|
|
225
|
+
return {
|
|
326
226
|
...dryRunOther,
|
|
227
|
+
..._classPrivateMethodGet(this, _getCallResult, _getCallResult2).call(this, callInfoTyped, fn, tx, opt),
|
|
327
228
|
tx: unpackTx(tx),
|
|
328
|
-
result:
|
|
229
|
+
result: callInfoTyped,
|
|
230
|
+
rawTx: tx,
|
|
231
|
+
hash: buildTxHash(tx),
|
|
232
|
+
txData: undefined
|
|
329
233
|
};
|
|
330
|
-
} else {
|
|
331
|
-
var _opt$gasLimit2;
|
|
332
|
-
if (top != null) throw new IllegalArgumentError('Can\'t handle `top` option in on-chain contract call');
|
|
333
|
-
if (contractId == null) throw new MissingContractAddressError('Can\'t call contract without address');
|
|
334
|
-
const tx = await _buildTx(Tag.ContractCallTx, {
|
|
335
|
-
...opt,
|
|
336
|
-
gasLimit: (_opt$gasLimit2 = opt.gasLimit) !== null && _opt$gasLimit2 !== void 0 ? _opt$gasLimit2 : await this._estimateGas(fn, params, opt),
|
|
337
|
-
callerId,
|
|
338
|
-
contractId,
|
|
339
|
-
callData
|
|
340
|
-
});
|
|
341
|
-
if (opt.onAccount == null) throw new IllegalArgumentError('Can\'t call contract on chain without account');
|
|
342
|
-
res = await this._sendAndProcess(tx, {
|
|
343
|
-
...opt,
|
|
344
|
-
onAccount: opt.onAccount
|
|
345
|
-
});
|
|
346
234
|
}
|
|
347
|
-
if (
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
235
|
+
if (top != null) throw new IllegalArgumentError('Can\'t handle `top` option in on-chain contract call');
|
|
236
|
+
if (contractId == null) throw new MissingContractAddressError('Can\'t call contract without address');
|
|
237
|
+
const tx = await buildTxAsync({
|
|
238
|
+
...opt,
|
|
239
|
+
tag: Tag.ContractCallTx,
|
|
240
|
+
gasLimit: (_opt$gasLimit2 = opt.gasLimit) !== null && _opt$gasLimit2 !== void 0 ? _opt$gasLimit2 : await this._estimateGas(fn, params, opt),
|
|
241
|
+
callerId,
|
|
242
|
+
contractId,
|
|
243
|
+
callData
|
|
244
|
+
});
|
|
245
|
+
if (opt.onAccount == null) throw new IllegalArgumentError('Can\'t call contract on chain without account');
|
|
246
|
+
return _classPrivateMethodGet(this, _sendAndProcess, _sendAndProcess2).call(this, tx, fn, {
|
|
247
|
+
...opt,
|
|
248
|
+
onAccount: opt.onAccount
|
|
249
|
+
});
|
|
352
250
|
}
|
|
353
251
|
|
|
354
252
|
/**
|
|
@@ -359,47 +257,6 @@ class Contract {
|
|
|
359
257
|
* @throws {@link MissingEventDefinitionError}
|
|
360
258
|
* @throws {@link AmbiguousEventDefinitionError}
|
|
361
259
|
*/
|
|
362
|
-
_getContractNameByEvent(ctAddress, nameHash, _ref2) {
|
|
363
|
-
let {
|
|
364
|
-
contractAddressToName
|
|
365
|
-
} = _ref2;
|
|
366
|
-
const addressToName = {
|
|
367
|
-
...this.$options.contractAddressToName,
|
|
368
|
-
...contractAddressToName
|
|
369
|
-
};
|
|
370
|
-
if (addressToName[ctAddress] != null) return addressToName[ctAddress];
|
|
371
|
-
|
|
372
|
-
// TODO: consider using a third-party library
|
|
373
|
-
const isEqual = (a, b) => JSON.stringify(a) === JSON.stringify(b);
|
|
374
|
-
const matchedEvents = [this._aci.encodedAci, ...this._aci.externalEncodedAci].filter(_ref3 => {
|
|
375
|
-
let {
|
|
376
|
-
contract
|
|
377
|
-
} = _ref3;
|
|
378
|
-
return contract === null || contract === void 0 ? void 0 : contract.event;
|
|
379
|
-
}).map(_ref4 => {
|
|
380
|
-
let {
|
|
381
|
-
contract
|
|
382
|
-
} = _ref4;
|
|
383
|
-
return [contract.name, contract.event.variant];
|
|
384
|
-
}).map(_ref5 => {
|
|
385
|
-
let [name, events] = _ref5;
|
|
386
|
-
return events.map(event => [name, Object.keys(event)[0], Object.values(event)[0]]);
|
|
387
|
-
}).flat().filter(_ref6 => {
|
|
388
|
-
let [, eventName] = _ref6;
|
|
389
|
-
return BigInt(`0x${calcHash(eventName).toString('hex')}`) === nameHash;
|
|
390
|
-
}).filter((_ref7, idx, arr) => {
|
|
391
|
-
let [,, type] = _ref7;
|
|
392
|
-
return !arr.slice(0, idx).some(el => isEqual(el[2], type));
|
|
393
|
-
});
|
|
394
|
-
switch (matchedEvents.length) {
|
|
395
|
-
case 0:
|
|
396
|
-
throw new MissingEventDefinitionError(nameHash.toString(), ctAddress);
|
|
397
|
-
case 1:
|
|
398
|
-
return matchedEvents[0][0];
|
|
399
|
-
default:
|
|
400
|
-
throw new AmbiguousEventDefinitionError(ctAddress, matchedEvents);
|
|
401
|
-
}
|
|
402
|
-
}
|
|
403
260
|
|
|
404
261
|
/**
|
|
405
262
|
* Decode Events
|
|
@@ -416,7 +273,7 @@ class Contract {
|
|
|
416
273
|
const topics = event.topics.map(t => BigInt(t));
|
|
417
274
|
let contractName;
|
|
418
275
|
try {
|
|
419
|
-
contractName = this.
|
|
276
|
+
contractName = _classPrivateMethodGet(this, _getContractNameByEvent, _getContractNameByEvent2).call(this, event.address, topics[0], opt);
|
|
420
277
|
} catch (error) {
|
|
421
278
|
if ((omitUnknown !== null && omitUnknown !== void 0 ? omitUnknown : false) && error instanceof MissingEventDefinitionError) return null;
|
|
422
279
|
throw error;
|
|
@@ -433,7 +290,7 @@ class Contract {
|
|
|
433
290
|
};
|
|
434
291
|
}).filter(e => e != null);
|
|
435
292
|
}
|
|
436
|
-
static async initialize(
|
|
293
|
+
static async initialize(_ref) {
|
|
437
294
|
let {
|
|
438
295
|
onCompiler,
|
|
439
296
|
onNode,
|
|
@@ -445,7 +302,7 @@ class Contract {
|
|
|
445
302
|
fileSystem,
|
|
446
303
|
validateBytecode,
|
|
447
304
|
...otherOptions
|
|
448
|
-
} =
|
|
305
|
+
} = _ref;
|
|
449
306
|
if (aci == null && onCompiler != null) {
|
|
450
307
|
let res;
|
|
451
308
|
if (sourceCodePath != null) res = await onCompiler.compile(sourceCodePath);
|
|
@@ -495,15 +352,28 @@ class Contract {
|
|
|
495
352
|
...otherOptions
|
|
496
353
|
});
|
|
497
354
|
}
|
|
498
|
-
constructor(
|
|
355
|
+
constructor(_ref2) {
|
|
499
356
|
var _this = this;
|
|
500
357
|
let {
|
|
501
358
|
aci,
|
|
502
359
|
...otherOptions
|
|
503
|
-
} =
|
|
360
|
+
} = _ref2;
|
|
361
|
+
_classPrivateMethodInitSpec(this, _getContractNameByEvent);
|
|
362
|
+
_classPrivateMethodInitSpec(this, _getFunctionAci);
|
|
363
|
+
_classPrivateMethodInitSpec(this, _sendAndProcess);
|
|
364
|
+
_classPrivateMethodInitSpec(this, _getCallResult);
|
|
365
|
+
_classPrivateFieldInitSpec(this, _aciContract, {
|
|
366
|
+
writable: true,
|
|
367
|
+
value: void 0
|
|
368
|
+
});
|
|
504
369
|
this._aci = aci;
|
|
505
|
-
|
|
506
|
-
|
|
370
|
+
const aciLast = aci[aci.length - 1];
|
|
371
|
+
if (aciLast.contract == null) {
|
|
372
|
+
throw new IllegalArgumentError(`The last 'aci' item should have 'contract' key, got ${Object.keys(aciLast)} keys instead`);
|
|
373
|
+
}
|
|
374
|
+
_classPrivateFieldSet(this, _aciContract, aciLast.contract);
|
|
375
|
+
this._name = _classPrivateFieldGet(this, _aciContract).name;
|
|
376
|
+
this._calldata = new Calldata(aci);
|
|
507
377
|
this.$options = otherOptions;
|
|
508
378
|
|
|
509
379
|
/**
|
|
@@ -520,19 +390,19 @@ class Contract {
|
|
|
520
390
|
* await contract.testFunction({ callStatic: false }) // send tx on-chain
|
|
521
391
|
* ```
|
|
522
392
|
*/
|
|
523
|
-
Object.assign(this, Object.fromEntries(this.
|
|
393
|
+
Object.assign(this, Object.fromEntries(_classPrivateFieldGet(this, _aciContract).functions.map(_ref3 => {
|
|
524
394
|
let {
|
|
525
395
|
name,
|
|
526
396
|
arguments: aciArgs,
|
|
527
397
|
stateful
|
|
528
|
-
} =
|
|
398
|
+
} = _ref3;
|
|
529
399
|
const callStatic = name !== 'init' && !stateful;
|
|
530
400
|
return [name, async function () {
|
|
531
401
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
532
402
|
args[_key] = arguments[_key];
|
|
533
403
|
}
|
|
534
404
|
const options = args.length === aciArgs.length + 1 ? args.pop() : {};
|
|
535
|
-
if (typeof options !== 'object') throw new
|
|
405
|
+
if (typeof options !== 'object') throw new _TypeError(`Options should be an object: ${options}`);
|
|
536
406
|
if (name === 'init') return _this.$deploy(args, {
|
|
537
407
|
callStatic,
|
|
538
408
|
...options
|
|
@@ -545,6 +415,99 @@ class Contract {
|
|
|
545
415
|
})));
|
|
546
416
|
}
|
|
547
417
|
}
|
|
418
|
+
function _getCallResult2(_ref4, fnName, transaction, options) {
|
|
419
|
+
let {
|
|
420
|
+
returnType,
|
|
421
|
+
returnValue,
|
|
422
|
+
log
|
|
423
|
+
} = _ref4;
|
|
424
|
+
let message;
|
|
425
|
+
switch (returnType) {
|
|
426
|
+
case 'ok':
|
|
427
|
+
{
|
|
428
|
+
const fnAci = _classPrivateMethodGet(this, _getFunctionAci, _getFunctionAci2).call(this, fnName);
|
|
429
|
+
return {
|
|
430
|
+
decodedResult: this._calldata.decode(this._name, fnAci.name, returnValue),
|
|
431
|
+
decodedEvents: this.$decodeEvents(log, options)
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
case 'revert':
|
|
435
|
+
message = this._calldata.decodeFateString(returnValue);
|
|
436
|
+
break;
|
|
437
|
+
case 'error':
|
|
438
|
+
message = decode(returnValue).toString();
|
|
439
|
+
break;
|
|
440
|
+
default:
|
|
441
|
+
throw new InternalError(`Unknown return type: ${returnType}`);
|
|
442
|
+
}
|
|
443
|
+
throw new NodeInvocationError(message, transaction);
|
|
444
|
+
}
|
|
445
|
+
async function _sendAndProcess2(tx, fnName, options) {
|
|
446
|
+
const txData = await sendTransaction(tx, {
|
|
447
|
+
...this.$options,
|
|
448
|
+
...options
|
|
449
|
+
});
|
|
450
|
+
return {
|
|
451
|
+
hash: txData.hash,
|
|
452
|
+
tx: unpackTx(txData.rawTx),
|
|
453
|
+
txData,
|
|
454
|
+
rawTx: txData.rawTx,
|
|
455
|
+
...(txData.blockHeight != null && (await this.$getCallResultByTxHash(txData.hash, fnName, options)))
|
|
456
|
+
};
|
|
457
|
+
}
|
|
458
|
+
function _getFunctionAci2(name) {
|
|
459
|
+
const fn = _classPrivateFieldGet(this, _aciContract).functions.find(f => f.name === name);
|
|
460
|
+
if (fn != null) {
|
|
461
|
+
return fn;
|
|
462
|
+
}
|
|
463
|
+
if (name === 'init') {
|
|
464
|
+
return {
|
|
465
|
+
arguments: [],
|
|
466
|
+
name: 'init',
|
|
467
|
+
payable: false,
|
|
468
|
+
returns: 'unit',
|
|
469
|
+
stateful: true
|
|
470
|
+
};
|
|
471
|
+
}
|
|
472
|
+
throw new NoSuchContractFunctionError(`Function ${name} doesn't exist in contract`);
|
|
473
|
+
}
|
|
474
|
+
function _getContractNameByEvent2(ctAddress, nameHash, _ref5) {
|
|
475
|
+
let {
|
|
476
|
+
contractAddressToName
|
|
477
|
+
} = _ref5;
|
|
478
|
+
const addressToName = {
|
|
479
|
+
...this.$options.contractAddressToName,
|
|
480
|
+
...contractAddressToName
|
|
481
|
+
};
|
|
482
|
+
if (addressToName[ctAddress] != null) return addressToName[ctAddress];
|
|
483
|
+
|
|
484
|
+
// TODO: consider using a third-party library
|
|
485
|
+
const isEqual = (a, b) => JSON.stringify(a) === JSON.stringify(b);
|
|
486
|
+
const contracts = this._aci.map(_ref6 => {
|
|
487
|
+
let {
|
|
488
|
+
contract
|
|
489
|
+
} = _ref6;
|
|
490
|
+
return contract;
|
|
491
|
+
}).filter(contract => contract === null || contract === void 0 ? void 0 : contract.event);
|
|
492
|
+
const matchedEvents = contracts.map(contract => [contract.name, contract.event.variant]).map(_ref7 => {
|
|
493
|
+
let [name, events] = _ref7;
|
|
494
|
+
return events.map(event => [name, Object.keys(event)[0], Object.values(event)[0]]);
|
|
495
|
+
}).flat().filter(_ref8 => {
|
|
496
|
+
let [, eventName] = _ref8;
|
|
497
|
+
return BigInt(`0x${calcHash(eventName).toString('hex')}`) === nameHash;
|
|
498
|
+
}).filter((_ref9, idx, arr) => {
|
|
499
|
+
let [,, type] = _ref9;
|
|
500
|
+
return !arr.slice(0, idx).some(el => isEqual(el[2], type));
|
|
501
|
+
});
|
|
502
|
+
switch (matchedEvents.length) {
|
|
503
|
+
case 0:
|
|
504
|
+
throw new MissingEventDefinitionError(nameHash.toString(), ctAddress);
|
|
505
|
+
case 1:
|
|
506
|
+
return matchedEvents[0][0];
|
|
507
|
+
default:
|
|
508
|
+
throw new AmbiguousEventDefinitionError(ctAddress, matchedEvents);
|
|
509
|
+
}
|
|
510
|
+
}
|
|
548
511
|
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
549
512
|
const ContractWithMethods = Contract;
|
|
550
513
|
export default ContractWithMethods;
|