@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
package/src/index.ts
CHANGED
|
@@ -1,57 +1,5 @@
|
|
|
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
|
-
*/
|
|
1
|
+
export * from './index-browser';
|
|
17
2
|
|
|
18
|
-
export
|
|
19
|
-
export
|
|
20
|
-
export
|
|
21
|
-
export * from './utils/bytes';
|
|
22
|
-
export * from './tx';
|
|
23
|
-
export * from './tx/builder';
|
|
24
|
-
export * from './tx/builder/helpers';
|
|
25
|
-
export * from './tx/builder/constants';
|
|
26
|
-
export * from './tx/builder/schema';
|
|
27
|
-
export * from './utils/amount-formatter';
|
|
28
|
-
export * from './utils/hd-wallet';
|
|
29
|
-
export { encode, decode, Encoding } from './utils/encoder';
|
|
30
|
-
export * from './aens';
|
|
31
|
-
export { default as Contract } from './contract/Contract';
|
|
32
|
-
export type { ContractMethodsBase } from './contract/Contract';
|
|
33
|
-
export * from './oracle';
|
|
34
|
-
export * from './spend';
|
|
35
|
-
export * from './contract/ga';
|
|
36
|
-
|
|
37
|
-
export { default as AeSdkMethods } from './AeSdkMethods';
|
|
38
|
-
export { default as AeSdkBase } from './AeSdkBase';
|
|
39
|
-
export { default as AeSdk } from './AeSdk';
|
|
40
|
-
export { default as AeSdkAepp } from './AeSdkAepp';
|
|
41
|
-
export { default as AeSdkWallet } from './AeSdkWallet';
|
|
42
|
-
export { default as Node } from './Node';
|
|
43
|
-
export { default as verifyTransaction } from './tx/validator';
|
|
44
|
-
export { default as AccountBase } from './account/Base';
|
|
45
|
-
export { default as MemoryAccount } from './account/Memory';
|
|
46
|
-
export { default as AccountGeneralized } from './account/Generalized';
|
|
47
|
-
export { default as AccountLedger } from './account/Ledger';
|
|
48
|
-
export { default as AccountLedgerFactory } from './account/LedgerFactory';
|
|
49
|
-
export { default as CompilerHttp } from './contract/CompilerHttp';
|
|
50
|
-
export { default as Channel } from './channel/Contract';
|
|
51
|
-
|
|
52
|
-
export { default as connectionProxy } from './aepp-wallet-communication/connection-proxy';
|
|
53
|
-
export * from './aepp-wallet-communication/schema';
|
|
54
|
-
export { default as walletDetector } from './aepp-wallet-communication/wallet-detector';
|
|
55
|
-
export { default as BrowserRuntimeConnection } from './aepp-wallet-communication/connection/BrowserRuntime';
|
|
56
|
-
export { default as BrowserWindowMessageConnection } from './aepp-wallet-communication/connection/BrowserWindowMessage';
|
|
57
|
-
export * from './utils/errors';
|
|
3
|
+
export { default as CompilerCli } from './contract/compiler/Cli';
|
|
4
|
+
export { default as getFileSystem } from './contract/compiler/getFileSystem';
|
|
5
|
+
export { default as CompilerHttpNode } from './contract/compiler/HttpNode';
|
package/src/oracle.ts
CHANGED
|
@@ -1,20 +1,3 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ISC License (ISC)
|
|
3
|
-
* Copyright (c) 2022 aeternity developers
|
|
4
|
-
*
|
|
5
|
-
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
* purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
* copyright notice and this permission notice appear in all copies.
|
|
8
|
-
*
|
|
9
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
-
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
-
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
-
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
-
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
1
|
/**
|
|
19
2
|
* Oracle methods - routines to interact with the æternity oracle system
|
|
20
3
|
*
|
|
@@ -23,15 +6,12 @@
|
|
|
23
6
|
* repository.
|
|
24
7
|
*/
|
|
25
8
|
|
|
26
|
-
import BigNumber from 'bignumber.js';
|
|
27
|
-
import { send, SendOptions } from './spend';
|
|
28
9
|
import { mapObject, pause } from './utils/other';
|
|
29
10
|
import { oracleQueryId } from './tx/builder/helpers';
|
|
30
|
-
import { unpackTx } from './tx/builder';
|
|
11
|
+
import { unpackTx, buildTxAsync, BuildTxOptions } from './tx/builder';
|
|
31
12
|
import {
|
|
32
13
|
ORACLE_TTL,
|
|
33
14
|
ORACLE_TTL_TYPES,
|
|
34
|
-
QUERY_FEE,
|
|
35
15
|
QUERY_TTL,
|
|
36
16
|
RESPONSE_TTL,
|
|
37
17
|
} from './tx/builder/schema';
|
|
@@ -40,8 +20,9 @@ import { RequestTimedOutError } from './utils/errors';
|
|
|
40
20
|
import {
|
|
41
21
|
decode, encode, Encoded, Encoding,
|
|
42
22
|
} from './utils/encoder';
|
|
43
|
-
import {
|
|
44
|
-
|
|
23
|
+
import {
|
|
24
|
+
_getPollInterval, getHeight, sendTransaction, SendTransactionOptions,
|
|
25
|
+
} from './chain';
|
|
45
26
|
import Node from './Node';
|
|
46
27
|
import AccountBase from './account/Base';
|
|
47
28
|
|
|
@@ -59,7 +40,7 @@ type OracleQueries = Awaited<ReturnType<Node['getOracleQueriesByPubkey']>>['orac
|
|
|
59
40
|
*/
|
|
60
41
|
export function pollForQueries(
|
|
61
42
|
oracleId: Encoded.OracleAddress,
|
|
62
|
-
onQuery: (
|
|
43
|
+
onQuery: (query: OracleQueries[number]) => void,
|
|
63
44
|
{ interval, onNode, ...options }: { interval?: number; onNode: Node }
|
|
64
45
|
& Parameters<typeof _getPollInterval>[1],
|
|
65
46
|
): () => void {
|
|
@@ -68,8 +49,10 @@ export function pollForQueries(
|
|
|
68
49
|
const checkNewQueries = async (): Promise<void> => {
|
|
69
50
|
const queries = ((await onNode.getOracleQueriesByPubkey(oracleId)).oracleQueries ?? [])
|
|
70
51
|
.filter(({ id }) => !knownQueryIds.has(id));
|
|
71
|
-
queries.forEach((
|
|
72
|
-
|
|
52
|
+
queries.forEach((query) => {
|
|
53
|
+
knownQueryIds.add(query.id);
|
|
54
|
+
onQuery(query);
|
|
55
|
+
});
|
|
73
56
|
};
|
|
74
57
|
|
|
75
58
|
let stopped = false;
|
|
@@ -135,7 +118,7 @@ export async function getQueryObject(
|
|
|
135
118
|
decodedResponse: decode(record.response as Encoded.OracleResponse).toString(),
|
|
136
119
|
respond: async (response, opt) => (
|
|
137
120
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
138
|
-
respondToQuery(
|
|
121
|
+
respondToQuery(queryId, response, { ...options, ...opt })
|
|
139
122
|
),
|
|
140
123
|
pollForResponse: async (opt) => pollForQueryResponse(oracleId, queryId, { ...options, ...opt }),
|
|
141
124
|
};
|
|
@@ -144,7 +127,7 @@ export async function getQueryObject(
|
|
|
144
127
|
interface GetQueryObjectReturnType extends Awaited<ReturnType<Node['getOracleQueryByPubkeyAndQueryId']>> {
|
|
145
128
|
decodedQuery: string;
|
|
146
129
|
decodedResponse: string;
|
|
147
|
-
respond: (response: string, options?: Parameters<typeof respondToQuery>[
|
|
130
|
+
respond: (response: string, options?: Parameters<typeof respondToQuery>[2]) =>
|
|
148
131
|
ReturnType<typeof respondToQuery>;
|
|
149
132
|
pollForResponse: (options?: Parameters<typeof pollForQueryResponse>[2]) =>
|
|
150
133
|
ReturnType<typeof pollForQueryResponse>;
|
|
@@ -167,29 +150,32 @@ export async function postQueryToOracle(
|
|
|
167
150
|
oracleId: Encoded.OracleAddress,
|
|
168
151
|
query: string,
|
|
169
152
|
options: PostQueryToOracleOptions,
|
|
170
|
-
): Promise<
|
|
153
|
+
): Promise<
|
|
154
|
+
Awaited<ReturnType<typeof sendTransaction>> & Awaited<ReturnType<typeof getQueryObject>>
|
|
155
|
+
> {
|
|
171
156
|
options.queryFee ??= (await options.onNode.getOracleByPubkey(oracleId)).queryFee.toString();
|
|
172
157
|
const senderId = options.onAccount.address;
|
|
173
158
|
|
|
174
|
-
const oracleQueryTx = await
|
|
159
|
+
const oracleQueryTx = await buildTxAsync({
|
|
175
160
|
queryTtlType: QUERY_TTL.type,
|
|
176
161
|
queryTtlValue: QUERY_TTL.value,
|
|
177
162
|
responseTtlType: RESPONSE_TTL.type,
|
|
178
163
|
responseTtlValue: RESPONSE_TTL.value,
|
|
179
164
|
...options,
|
|
165
|
+
tag: Tag.OracleQueryTx,
|
|
180
166
|
oracleId,
|
|
181
167
|
senderId,
|
|
182
168
|
query,
|
|
183
169
|
});
|
|
184
|
-
const { nonce } = unpackTx(oracleQueryTx, Tag.OracleQueryTx)
|
|
170
|
+
const { nonce } = unpackTx(oracleQueryTx, Tag.OracleQueryTx);
|
|
185
171
|
const queryId = oracleQueryId(senderId, nonce, oracleId);
|
|
186
172
|
return {
|
|
187
|
-
...await
|
|
173
|
+
...await sendTransaction(oracleQueryTx, options),
|
|
188
174
|
...await getQueryObject(oracleId, queryId, options),
|
|
189
175
|
};
|
|
190
176
|
}
|
|
191
177
|
|
|
192
|
-
type PostQueryToOracleOptionsType = Parameters<typeof
|
|
178
|
+
type PostQueryToOracleOptionsType = Parameters<typeof sendTransaction>[1]
|
|
193
179
|
& Parameters<typeof getQueryObject>[2]
|
|
194
180
|
& BuildTxOptions<Tag.OracleQueryTx, 'oracleId' | 'senderId' | 'query' | 'queryTtlType' | 'queryTtlValue' | 'responseTtlType' | 'responseTtlValue'>
|
|
195
181
|
& {
|
|
@@ -203,7 +189,6 @@ interface PostQueryToOracleOptions extends PostQueryToOracleOptionsType {}
|
|
|
203
189
|
/**
|
|
204
190
|
* Extend oracle ttl
|
|
205
191
|
* @category oracle
|
|
206
|
-
* @param oracleId - Oracle public key
|
|
207
192
|
* @param options - Options object
|
|
208
193
|
* @param options.fee - fee Transaction fee
|
|
209
194
|
* @param options.ttl - Transaction time to leave
|
|
@@ -211,25 +196,25 @@ interface PostQueryToOracleOptions extends PostQueryToOracleOptionsType {}
|
|
|
211
196
|
* @param options.oracleTtlValue - Oracle time to leave for extend
|
|
212
197
|
* @returns Oracle object
|
|
213
198
|
*/
|
|
214
|
-
export async function extendOracleTtl(
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
const oracleExtendTx = await
|
|
199
|
+
export async function extendOracleTtl(options: ExtendOracleTtlOptions): Promise<
|
|
200
|
+
Awaited<ReturnType<typeof sendTransaction>> & Awaited<ReturnType<typeof getOracleObject>>
|
|
201
|
+
> {
|
|
202
|
+
const oracleId = encode(decode(options.onAccount.address), Encoding.OracleAddress);
|
|
203
|
+
const oracleExtendTx = await buildTxAsync({
|
|
219
204
|
oracleTtlType: ORACLE_TTL.type,
|
|
220
205
|
oracleTtlValue: ORACLE_TTL.value,
|
|
221
206
|
...options,
|
|
222
|
-
|
|
207
|
+
tag: Tag.OracleExtendTx,
|
|
223
208
|
oracleId,
|
|
224
209
|
});
|
|
225
210
|
return {
|
|
226
|
-
...await
|
|
211
|
+
...await sendTransaction(oracleExtendTx, options),
|
|
227
212
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
228
213
|
...await getOracleObject(oracleId, options),
|
|
229
214
|
};
|
|
230
215
|
}
|
|
231
216
|
|
|
232
|
-
type ExtendOracleTtlOptionsType =
|
|
217
|
+
type ExtendOracleTtlOptionsType = SendTransactionOptions & Parameters<typeof getOracleObject>[1]
|
|
233
218
|
& BuildTxOptions<Tag.OracleExtendTx, 'oracleTtlType' | 'oracleTtlValue' | 'callerId' | 'oracleId'>
|
|
234
219
|
& { oracleTtlType?: ORACLE_TTL_TYPES; oracleTtlValue?: number };
|
|
235
220
|
interface ExtendOracleTtlOptions extends ExtendOracleTtlOptionsType {}
|
|
@@ -237,7 +222,6 @@ interface ExtendOracleTtlOptions extends ExtendOracleTtlOptionsType {}
|
|
|
237
222
|
/**
|
|
238
223
|
* Extend oracle ttl
|
|
239
224
|
* @category oracle
|
|
240
|
-
* @param oracleId - Oracle public key
|
|
241
225
|
* @param queryId - Oracle query id
|
|
242
226
|
* @param response - Oracle query response
|
|
243
227
|
* @param options - Options object
|
|
@@ -247,28 +231,30 @@ interface ExtendOracleTtlOptions extends ExtendOracleTtlOptionsType {}
|
|
|
247
231
|
* @returns Oracle object
|
|
248
232
|
*/
|
|
249
233
|
export async function respondToQuery(
|
|
250
|
-
oracleId: Encoded.OracleAddress,
|
|
251
234
|
queryId: Encoded.OracleQueryId,
|
|
252
235
|
response: string,
|
|
253
236
|
options: RespondToQueryOptions,
|
|
254
|
-
): Promise<
|
|
255
|
-
|
|
237
|
+
): Promise<
|
|
238
|
+
Awaited<ReturnType<typeof sendTransaction>> & Awaited<ReturnType<typeof getOracleObject>>
|
|
239
|
+
> {
|
|
240
|
+
const oracleId = encode(decode(options.onAccount.address), Encoding.OracleAddress);
|
|
241
|
+
const oracleRespondTx = await buildTxAsync({
|
|
256
242
|
responseTtlType: RESPONSE_TTL.type,
|
|
257
243
|
responseTtlValue: RESPONSE_TTL.value,
|
|
258
244
|
...options,
|
|
259
|
-
|
|
245
|
+
tag: Tag.OracleResponseTx,
|
|
260
246
|
oracleId,
|
|
261
247
|
queryId,
|
|
262
248
|
response,
|
|
263
249
|
});
|
|
264
250
|
return {
|
|
265
|
-
...await
|
|
251
|
+
...await sendTransaction(oracleRespondTx, options),
|
|
266
252
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
|
267
253
|
...await getOracleObject(oracleId, options),
|
|
268
254
|
};
|
|
269
255
|
}
|
|
270
256
|
|
|
271
|
-
type RespondToQueryOptionsType =
|
|
257
|
+
type RespondToQueryOptionsType = SendTransactionOptions & Parameters<typeof getOracleObject>[1]
|
|
272
258
|
& BuildTxOptions<Tag.OracleResponseTx, 'callerId' | 'oracleId' | 'queryId' | 'response' | 'responseTtlType' | 'responseTtlValue'>
|
|
273
259
|
& { responseTtlType?: ORACLE_TTL_TYPES; responseTtlValue?: number };
|
|
274
260
|
interface RespondToQueryOptions extends RespondToQueryOptionsType {}
|
|
@@ -302,7 +288,10 @@ export async function getOracleObject(
|
|
|
302
288
|
if (lastArg != null && typeof lastArg === 'object' && lastArg.constructor === Object) {
|
|
303
289
|
Object.assign(lastArg, { ...options, ...lastArg });
|
|
304
290
|
} else args.push(options);
|
|
305
|
-
return handler(
|
|
291
|
+
return handler(
|
|
292
|
+
...['extendOracle', 'respondToQuery'].includes(name) ? [] : [oracleId],
|
|
293
|
+
...args,
|
|
294
|
+
);
|
|
306
295
|
},
|
|
307
296
|
],
|
|
308
297
|
),
|
|
@@ -337,27 +326,28 @@ export async function registerOracle(
|
|
|
337
326
|
queryFormat: string,
|
|
338
327
|
responseFormat: string,
|
|
339
328
|
options: RegisterOracleOptions,
|
|
340
|
-
): Promise<
|
|
329
|
+
): Promise<
|
|
330
|
+
Awaited<ReturnType<typeof sendTransaction>> & Awaited<ReturnType<typeof getOracleObject>>
|
|
331
|
+
> {
|
|
341
332
|
const accountId = options.onAccount.address;
|
|
342
|
-
const oracleRegisterTx = await
|
|
343
|
-
queryFee: QUERY_FEE,
|
|
333
|
+
const oracleRegisterTx = await buildTxAsync({
|
|
344
334
|
oracleTtlValue: ORACLE_TTL.value,
|
|
345
335
|
oracleTtlType: ORACLE_TTL.type,
|
|
346
336
|
...options,
|
|
337
|
+
tag: Tag.OracleRegisterTx,
|
|
347
338
|
accountId,
|
|
348
339
|
queryFormat,
|
|
349
340
|
responseFormat,
|
|
350
341
|
});
|
|
351
342
|
return {
|
|
352
|
-
...await
|
|
343
|
+
...await sendTransaction(oracleRegisterTx, options),
|
|
353
344
|
...await getOracleObject(encode(decode(accountId), Encoding.OracleAddress), options),
|
|
354
345
|
};
|
|
355
346
|
}
|
|
356
347
|
|
|
357
|
-
type RegisterOracleOptionsType =
|
|
358
|
-
& BuildTxOptions<Tag.OracleRegisterTx, 'accountId' | 'queryFormat' | 'responseFormat' | '
|
|
348
|
+
type RegisterOracleOptionsType = SendTransactionOptions & Parameters<typeof getOracleObject>[1]
|
|
349
|
+
& BuildTxOptions<Tag.OracleRegisterTx, 'accountId' | 'queryFormat' | 'responseFormat' | 'oracleTtlType' | 'oracleTtlValue'>
|
|
359
350
|
& {
|
|
360
|
-
queryFee?: number | string | BigNumber;
|
|
361
351
|
oracleTtlType?: ORACLE_TTL_TYPES;
|
|
362
352
|
oracleTtlValue?: number;
|
|
363
353
|
};
|
package/src/spend.ts
CHANGED
|
@@ -1,56 +1,13 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ISC License (ISC)
|
|
3
|
-
* Copyright (c) 2022 aeternity developers
|
|
4
|
-
*
|
|
5
|
-
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
* purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
* copyright notice and this permission notice appear in all copies.
|
|
8
|
-
*
|
|
9
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
-
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
-
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
-
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
-
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
-
*/
|
|
17
1
|
import BigNumber from 'bignumber.js';
|
|
18
|
-
import {
|
|
19
|
-
|
|
20
|
-
|
|
2
|
+
import {
|
|
3
|
+
sendTransaction, getBalance, resolveName, SendTransactionOptions,
|
|
4
|
+
} from './chain';
|
|
5
|
+
import { buildTxAsync, BuildTxOptions, unpackTx } from './tx/builder';
|
|
21
6
|
import { ArgumentError } from './utils/errors';
|
|
22
7
|
import { Encoded, Encoding } from './utils/encoder';
|
|
23
8
|
import { Tag, AensName } from './tx/builder/constants';
|
|
24
9
|
import AccountBase from './account/Base';
|
|
25
10
|
|
|
26
|
-
/**
|
|
27
|
-
* Sign and post a transaction to the chain
|
|
28
|
-
* @category chain
|
|
29
|
-
* @param tx - Transaction
|
|
30
|
-
* @param options - Options
|
|
31
|
-
* @param options.verify - Verify transaction before broadcast, throw error if not
|
|
32
|
-
* valid
|
|
33
|
-
* @returns Transaction
|
|
34
|
-
*/
|
|
35
|
-
export async function send(
|
|
36
|
-
tx: Encoded.Transaction,
|
|
37
|
-
options: SendOptions,
|
|
38
|
-
): Promise<SendReturnType> {
|
|
39
|
-
const signed = await options.onAccount.signTransaction(tx, {
|
|
40
|
-
...options,
|
|
41
|
-
networkId: await options.onNode.getNetworkId(),
|
|
42
|
-
});
|
|
43
|
-
|
|
44
|
-
return options.innerTx === true
|
|
45
|
-
? { hash: buildTxHash(signed), rawTx: signed }
|
|
46
|
-
: sendTransaction(signed, options);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
type SendOptionsType = Parameters<AccountBase['signTransaction']>[1]
|
|
50
|
-
& Parameters<typeof sendTransaction>[1] & { onAccount: AccountBase };
|
|
51
|
-
export interface SendOptions extends SendOptionsType {}
|
|
52
|
-
interface SendReturnType extends Awaited<ReturnType<typeof sendTransaction>> {}
|
|
53
|
-
|
|
54
11
|
/**
|
|
55
12
|
* Send coins to another account
|
|
56
13
|
* @category chain
|
|
@@ -63,10 +20,11 @@ export async function spend(
|
|
|
63
20
|
amount: number | string,
|
|
64
21
|
recipientIdOrName: Encoded.AccountAddress | AensName,
|
|
65
22
|
options: SpendOptions,
|
|
66
|
-
): ReturnType<typeof
|
|
67
|
-
return
|
|
68
|
-
await
|
|
23
|
+
): ReturnType<typeof sendTransaction> {
|
|
24
|
+
return sendTransaction(
|
|
25
|
+
await buildTxAsync({
|
|
69
26
|
...options,
|
|
27
|
+
tag: Tag.SpendTx,
|
|
70
28
|
senderId: options.onAccount.address,
|
|
71
29
|
recipientId: await resolveName<Encoding.AccountAddress>(
|
|
72
30
|
recipientIdOrName,
|
|
@@ -80,23 +38,32 @@ export async function spend(
|
|
|
80
38
|
}
|
|
81
39
|
|
|
82
40
|
type SpendOptionsType = BuildTxOptions<Tag.SpendTx, 'senderId' | 'recipientId' | 'amount'>
|
|
83
|
-
& Parameters<typeof resolveName>[2] & { onAccount: AccountBase } &
|
|
41
|
+
& Parameters<typeof resolveName>[2] & { onAccount: AccountBase } & SendTransactionOptions;
|
|
84
42
|
interface SpendOptions extends SpendOptionsType {}
|
|
85
43
|
|
|
86
44
|
// TODO: Rename to spendFraction
|
|
87
45
|
/**
|
|
88
|
-
*
|
|
46
|
+
* Spend a fraction of coin balance to another account. Useful if needed to drain account balance
|
|
47
|
+
* completely, sending funds to another account (with fraction set to 1).
|
|
89
48
|
* @category chain
|
|
90
49
|
* @param fraction - Fraction of balance to spend (between 0 and 1)
|
|
91
50
|
* @param recipientIdOrName - Address or name of recipient account
|
|
92
51
|
* @param options - Options
|
|
93
|
-
* @
|
|
52
|
+
* @example
|
|
53
|
+
* ```js
|
|
54
|
+
* // `fraction` * 100 = % of AE to be transferred (e.g. `0.42` for 42% or `1` for 100%)
|
|
55
|
+
* const { blockHeight } = await aeSdk.transferFunds(
|
|
56
|
+
* 0.42,
|
|
57
|
+
* 'ak_21A27UVVt3hDkBE5J7rhhqnH5YNb4Y1dqo4PnSybrH85pnWo7E',
|
|
58
|
+
* );
|
|
59
|
+
* console.log('Transaction mined at', blockHeight);
|
|
60
|
+
* ```
|
|
94
61
|
*/
|
|
95
62
|
export async function transferFunds(
|
|
96
63
|
fraction: number | string,
|
|
97
64
|
recipientIdOrName: AensName | Encoded.AccountAddress,
|
|
98
65
|
options: TransferFundsOptions,
|
|
99
|
-
): ReturnType<typeof
|
|
66
|
+
): ReturnType<typeof sendTransaction> {
|
|
100
67
|
if (fraction < 0 || fraction > 1) {
|
|
101
68
|
throw new ArgumentError('fraction', 'a number between 0 and 1', fraction);
|
|
102
69
|
}
|
|
@@ -110,24 +77,24 @@ export async function transferFunds(
|
|
|
110
77
|
await getBalance.bind(options.onAccount)(senderId, options),
|
|
111
78
|
);
|
|
112
79
|
const desiredAmount = balance.times(fraction).integerValue(BigNumber.ROUND_HALF_UP);
|
|
113
|
-
const {
|
|
114
|
-
await
|
|
115
|
-
...options, senderId, recipientId, amount: desiredAmount,
|
|
80
|
+
const { fee } = unpackTx(
|
|
81
|
+
await buildTxAsync({
|
|
82
|
+
...options, tag: Tag.SpendTx, senderId, recipientId, amount: desiredAmount,
|
|
116
83
|
}),
|
|
117
84
|
Tag.SpendTx,
|
|
118
85
|
);
|
|
119
86
|
// Reducing of the amount may reduce transaction fee, so this is not completely accurate
|
|
120
87
|
const amount = desiredAmount.plus(fee).gt(balance) ? balance.minus(fee) : desiredAmount;
|
|
121
|
-
return
|
|
122
|
-
await
|
|
123
|
-
...options, senderId, recipientId, amount,
|
|
88
|
+
return sendTransaction(
|
|
89
|
+
await buildTxAsync({
|
|
90
|
+
...options, tag: Tag.SpendTx, senderId, recipientId, amount,
|
|
124
91
|
}),
|
|
125
92
|
options,
|
|
126
93
|
);
|
|
127
94
|
}
|
|
128
95
|
|
|
129
96
|
type TransferFundsOptionsType = BuildTxOptions<Tag.SpendTx, 'senderId' | 'recipientId' | 'amount'>
|
|
130
|
-
& Parameters<typeof resolveName>[2] & { onAccount: AccountBase } &
|
|
97
|
+
& Parameters<typeof resolveName>[2] & { onAccount: AccountBase } & SendTransactionOptions;
|
|
131
98
|
interface TransferFundsOptions extends TransferFundsOptionsType {}
|
|
132
99
|
|
|
133
100
|
/**
|
|
@@ -140,17 +107,16 @@ interface TransferFundsOptions extends TransferFundsOptionsType {}
|
|
|
140
107
|
export async function payForTransaction(
|
|
141
108
|
transaction: Encoded.Transaction,
|
|
142
109
|
options: PayForTransactionOptions,
|
|
143
|
-
): ReturnType<typeof
|
|
144
|
-
return
|
|
145
|
-
await
|
|
146
|
-
Tag.PayingForTx,
|
|
147
|
-
|
|
148
|
-
),
|
|
110
|
+
): ReturnType<typeof sendTransaction> {
|
|
111
|
+
return sendTransaction(
|
|
112
|
+
await buildTxAsync({
|
|
113
|
+
...options, tag: Tag.PayingForTx, payerId: options.onAccount.address, tx: transaction,
|
|
114
|
+
}),
|
|
149
115
|
options,
|
|
150
116
|
);
|
|
151
117
|
}
|
|
152
118
|
|
|
153
119
|
interface PayForTransactionOptions extends
|
|
154
|
-
BuildTxOptions<Tag.PayingForTx, 'payerId' | 'tx'>,
|
|
120
|
+
BuildTxOptions<Tag.PayingForTx, 'payerId' | 'tx' | 'onNode'>, SendTransactionOptions {
|
|
155
121
|
onAccount: AccountBase;
|
|
156
122
|
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { Field as OriginalField } from './field-types';
|
|
2
|
+
import { UnionToIntersection } from '../../utils/other';
|
|
3
|
+
|
|
4
|
+
// TODO: figure out why this override is necessary
|
|
5
|
+
export interface Field extends OriginalField {
|
|
6
|
+
serialize: (...args: any[]) => any;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
type NullablePartial<
|
|
10
|
+
T,
|
|
11
|
+
NK extends keyof T = { [K in keyof T]: undefined extends T[K] ? K : never }[keyof T],
|
|
12
|
+
> = Partial<Pick<T, NK>> & Omit<T, NK>;
|
|
13
|
+
|
|
14
|
+
type Or<A, B> = A extends undefined ? B : A;
|
|
15
|
+
|
|
16
|
+
type TxParamsBySchemaInternal<SchemaItem> = {
|
|
17
|
+
-readonly [key in keyof SchemaItem]: SchemaItem[key] extends Field
|
|
18
|
+
? Parameters<SchemaItem[key]['serialize']>[0]
|
|
19
|
+
: never;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
type TxParamsBySchemaInternalParams<
|
|
23
|
+
SchemaItem,
|
|
24
|
+
SchemaItemValues = SchemaItem[keyof SchemaItem],
|
|
25
|
+
> = UnionToIntersection<
|
|
26
|
+
SchemaItemValues extends Field
|
|
27
|
+
? Or<Parameters<SchemaItemValues['serialize']>[2], {}> : never
|
|
28
|
+
>;
|
|
29
|
+
|
|
30
|
+
type PickIsRec<SchemaItem, Recursive extends boolean> = {
|
|
31
|
+
[Key in keyof SchemaItem
|
|
32
|
+
as SchemaItem[Key] extends Field & { recursiveType: true }
|
|
33
|
+
? (Recursive extends true ? Key : never)
|
|
34
|
+
: (Recursive extends true ? never : Key)]: SchemaItem[Key];
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
type TxParamsBySchema<SchemaItem> = SchemaItem extends Object
|
|
38
|
+
? TxParamsBySchemaInternal<PickIsRec<SchemaItem, true>> &
|
|
39
|
+
NullablePartial<TxParamsBySchemaInternal<PickIsRec<SchemaItem, false>>> &
|
|
40
|
+
TxParamsBySchemaInternalParams<PickIsRec<SchemaItem, false>>
|
|
41
|
+
: never;
|
|
42
|
+
|
|
43
|
+
type TxParamsAsyncBySchemaInternal<SchemaItem> = {
|
|
44
|
+
-readonly [key in keyof SchemaItem]: SchemaItem[key] extends Field & { prepare: Function }
|
|
45
|
+
? Parameters<SchemaItem[key]['prepare']>[0]
|
|
46
|
+
: SchemaItem[key] extends Field
|
|
47
|
+
? Parameters<SchemaItem[key]['serialize']>[0]
|
|
48
|
+
: never;
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
type TxParamsAsyncBySchemaInternalParams<
|
|
52
|
+
SchemaItem,
|
|
53
|
+
SchemaItemValues = SchemaItem[keyof SchemaItem],
|
|
54
|
+
> = UnionToIntersection<
|
|
55
|
+
SchemaItemValues extends Field & { prepare: Function }
|
|
56
|
+
? Or<Parameters<SchemaItemValues['prepare']>[2], {}> : {}
|
|
57
|
+
>;
|
|
58
|
+
|
|
59
|
+
type TxParamsAsyncBySchema<SchemaItem> = SchemaItem extends Object
|
|
60
|
+
? TxParamsAsyncBySchemaInternal<PickIsRec<SchemaItem, true>>
|
|
61
|
+
& NullablePartial<TxParamsAsyncBySchemaInternal<PickIsRec<SchemaItem, false>>>
|
|
62
|
+
& TxParamsAsyncBySchemaInternalParams<PickIsRec<SchemaItem, false>>
|
|
63
|
+
& TxParamsBySchemaInternalParams<PickIsRec<SchemaItem, false>>
|
|
64
|
+
: never;
|
|
65
|
+
|
|
66
|
+
type TxUnpackedBySchema<SchemaItem> = {
|
|
67
|
+
-readonly [key in keyof SchemaItem]: SchemaItem[key] extends Field
|
|
68
|
+
? ReturnType<SchemaItem[key]['deserialize']>
|
|
69
|
+
: never;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export default interface SchemaTypes<
|
|
73
|
+
Schema extends readonly any[],
|
|
74
|
+
SchemaItems = Schema[number],
|
|
75
|
+
> {
|
|
76
|
+
TxParams: TxParamsBySchema<SchemaItems>;
|
|
77
|
+
TxParamsAsync: TxParamsAsyncBySchema<SchemaItems>;
|
|
78
|
+
TxUnpacked: TxUnpackedBySchema<SchemaItems>;
|
|
79
|
+
}
|
|
@@ -2,6 +2,7 @@ import BigNumber from 'bignumber.js';
|
|
|
2
2
|
import { mapObject } from '../../utils/other';
|
|
3
3
|
|
|
4
4
|
export const MAX_AUTH_FUN_GAS = 50000;
|
|
5
|
+
export type Int = number | string | BigNumber;
|
|
5
6
|
// # AENS
|
|
6
7
|
export type AensName = `${string}.chain`;
|
|
7
8
|
export const NAME_TTL = 180000;
|
|
@@ -57,6 +58,35 @@ export const NAME_BID_RANGES = mapObject({
|
|
|
57
58
|
1: 5702887,
|
|
58
59
|
}, ([key, value]) => [key, new BigNumber(value).times(NAME_FEE_MULTIPLIER)]);
|
|
59
60
|
|
|
61
|
+
export enum ConsensusProtocolVersion {
|
|
62
|
+
Iris = 5,
|
|
63
|
+
Ceres = 6,
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* @category transaction builder
|
|
68
|
+
* @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
|
|
69
|
+
*/
|
|
70
|
+
export enum VmVersion {
|
|
71
|
+
NoVm = 0,
|
|
72
|
+
Sophia = 1,
|
|
73
|
+
SophiaImprovementsMinerva = 3,
|
|
74
|
+
SophiaImprovementsFortuna = 4,
|
|
75
|
+
Fate = 5,
|
|
76
|
+
SophiaImprovementsLima = 6,
|
|
77
|
+
Fate2 = 7,
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* @category transaction builder
|
|
82
|
+
* @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
|
|
83
|
+
*/
|
|
84
|
+
export enum AbiVersion {
|
|
85
|
+
NoAbi = 0,
|
|
86
|
+
Sophia = 1,
|
|
87
|
+
Fate = 3,
|
|
88
|
+
}
|
|
89
|
+
|
|
60
90
|
/**
|
|
61
91
|
* Enum with tag types
|
|
62
92
|
* @category transaction builder
|
|
@@ -68,13 +98,13 @@ export enum Tag {
|
|
|
68
98
|
Account = 10,
|
|
69
99
|
SignedTx = 11,
|
|
70
100
|
SpendTx = 12,
|
|
71
|
-
|
|
101
|
+
Oracle = 20,
|
|
72
102
|
// OracleQuery = 21,
|
|
73
103
|
OracleRegisterTx = 22,
|
|
74
104
|
OracleQueryTx = 23,
|
|
75
105
|
OracleResponseTx = 24,
|
|
76
106
|
OracleExtendTx = 25,
|
|
77
|
-
|
|
107
|
+
Name = 30,
|
|
78
108
|
// NameCommitment = 31,
|
|
79
109
|
NameClaimTx = 32,
|
|
80
110
|
NamePreclaimTx = 33,
|
|
@@ -116,10 +146,11 @@ export enum Tag {
|
|
|
116
146
|
NameserviceMtree = 624,
|
|
117
147
|
OraclesMtree = 625,
|
|
118
148
|
AccountsMtree = 626,
|
|
119
|
-
CompilerSophia = 70,
|
|
149
|
+
// CompilerSophia = 70,
|
|
120
150
|
GaAttachTx = 80,
|
|
121
151
|
GaMetaTx = 81,
|
|
122
152
|
PayingForTx = 82,
|
|
153
|
+
GaMetaTxAuthData = 810,
|
|
123
154
|
// KeyBlock = 100,
|
|
124
155
|
// MicroBlock = 101,
|
|
125
156
|
// LightMicroBlock = 102,
|