@aeternity/aepp-sdk 13.0.0-alpha.1 → 13.0.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/README.md +1 -1
- 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 +1833 -1543
- package/dist/aepp-sdk.js.map +1 -1
- package/es/AeSdk.mjs.map +1 -1
- package/es/AeSdkAepp.d.ts +5 -4
- package/es/AeSdkAepp.mjs +13 -17
- 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 +12 -25
- 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 +20 -23
- 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 +197 -215
- package/es/contract/Contract.mjs.map +1 -1
- package/es/contract/compiler/Base.d.ts +10 -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 +5 -4
- package/es/index-browser.mjs +7 -21
- 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 +3 -33
- 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/AeSdkAepp.ts +16 -14
- 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 +9 -24
- 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 +7 -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 +29 -28
- 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 +161 -170
- package/src/contract/compiler/Base.ts +10 -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 +15 -21
- 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 +16 -45
- package/src/utils/string.ts +0 -17
- package/types-legacy/ts4.2/AeSdkAepp.d.ts +5 -4
- 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 +10 -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 +5 -4
- 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/AeSdkAepp.d.ts +5 -4
- 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 +10 -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 +5 -4
- 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
|
@@ -1,19 +1,3 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ISC License (ISC)
|
|
3
|
-
* Copyright (c) 2022 aeternity developers
|
|
4
|
-
*
|
|
5
|
-
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
* purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
* copyright notice and this permission notice appear in all copies.
|
|
8
|
-
*
|
|
9
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
-
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
-
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
-
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
-
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
-
*/
|
|
17
1
|
import { RestError } from '@azure/core-rest-pipeline';
|
|
18
2
|
import {
|
|
19
3
|
Compiler as CompilerApi,
|
|
@@ -60,7 +44,7 @@ export default class CompilerHttp extends CompilerBase {
|
|
|
60
44
|
}
|
|
61
45
|
if (Array.isArray(body)) {
|
|
62
46
|
message += `\n${body
|
|
63
|
-
.map((e) => `${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context != null ? `(${e.context})` : ''}`)
|
|
47
|
+
.map((e) => `${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context != null ? ` (${e.context})` : ''}`)
|
|
64
48
|
.join('\n')}`;
|
|
65
49
|
}
|
|
66
50
|
return message;
|
|
@@ -68,9 +52,10 @@ export default class CompilerHttp extends CompilerBase {
|
|
|
68
52
|
],
|
|
69
53
|
});
|
|
70
54
|
if (ignoreVersion !== true) {
|
|
71
|
-
const versionPromise = this.api.apiVersion()
|
|
55
|
+
const versionPromise = this.api.apiVersion()
|
|
56
|
+
.then(({ apiVersion }) => apiVersion, (error) => error);
|
|
72
57
|
this.api.pipeline.addPolicy(
|
|
73
|
-
genVersionCheckPolicy('compiler', '/api-version', versionPromise, '7.
|
|
58
|
+
genVersionCheckPolicy('compiler', '/api-version', versionPromise, '7.1.1', '8.0.0'),
|
|
74
59
|
);
|
|
75
60
|
}
|
|
76
61
|
}
|
|
@@ -80,13 +65,9 @@ export default class CompilerHttp extends CompilerBase {
|
|
|
80
65
|
fileSystem?: Record<string, string>,
|
|
81
66
|
): Promise<{ bytecode: Encoded.ContractBytearray; aci: Aci }> {
|
|
82
67
|
try {
|
|
83
|
-
const
|
|
84
|
-
this.api.compileContract({ code: sourceCode, options: { fileSystem } })
|
|
85
|
-
.then((res) => res.bytecode as Encoded.ContractBytearray),
|
|
86
|
-
this.api.generateACI({ code: sourceCode, options: { fileSystem } }),
|
|
87
|
-
]);
|
|
68
|
+
const res = await this.api.compileContract({ code: sourceCode, options: { fileSystem } });
|
|
88
69
|
// TODO: should be fixed when the compiledAci interface gets updated
|
|
89
|
-
return { bytecode
|
|
70
|
+
return res as { bytecode: Encoded.ContractBytearray; aci: Aci };
|
|
90
71
|
} catch (error) {
|
|
91
72
|
if (error instanceof RestError && error.statusCode === 400) {
|
|
92
73
|
throw new CompilerError(error.message.replace(/^aci error:/, 'compile error:'));
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { decode, Encoded } from '../utils/encoder';
|
|
2
|
+
import { AensName } from '../tx/builder/constants';
|
|
3
|
+
import AccountBase from '../account/Base';
|
|
4
|
+
import { concatBuffers } from '../utils/other';
|
|
5
|
+
import { isNameValid, produceNameId } from '../tx/builder/helpers';
|
|
6
|
+
import Node from '../Node';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Helper to generate a signature to delegate
|
|
10
|
+
* - pre-claim/claim/transfer/revoke of a name to a contract.
|
|
11
|
+
* - register/extend/respond of an Oracle to a contract.
|
|
12
|
+
* @category contract
|
|
13
|
+
* @param contractAddress - Address of contract to delegate access
|
|
14
|
+
* @param ids - The list of id's to prepend
|
|
15
|
+
* @param options - Options
|
|
16
|
+
* @param options.omitAddress - Prepend delegation signature with an account address
|
|
17
|
+
* @param options.onAccount - Account to use
|
|
18
|
+
* @param options.onNode - Node to use
|
|
19
|
+
* @returns Signature
|
|
20
|
+
* @example
|
|
21
|
+
* ```js
|
|
22
|
+
* const aeSdk = new AeSdk({ ... })
|
|
23
|
+
* const contractAddress = 'ct_asd2ks...'
|
|
24
|
+
* const aensName = 'example.chain'
|
|
25
|
+
* const onAccount = new MemoryAccount(...) // Sign with a specific account
|
|
26
|
+
* // Preclaim signature
|
|
27
|
+
* const preclaimSig = await aeSdk.createDelegationSignature(contractAddress, [], { onAccount })
|
|
28
|
+
* // Claim, transfer and revoke signature
|
|
29
|
+
* const aensDelegationSig = await aeSdk
|
|
30
|
+
* .createDelegationSignature(contractAddress, [aensName], { onAccount })
|
|
31
|
+
*
|
|
32
|
+
* const oracleQueryId = 'oq_...'
|
|
33
|
+
* const onAccount = new MemoryAccount(...) // Sign with a specific account
|
|
34
|
+
* // Oracle register and extend signature
|
|
35
|
+
* const oracleDelegationSig = await aeSdk
|
|
36
|
+
* .createDelegationSignature(contractAddress, [], { onAccount })
|
|
37
|
+
* // Oracle respond signature
|
|
38
|
+
* const respondSig = await aeSdk
|
|
39
|
+
* .createDelegationSignature(contractAddress, [oracleQueryId], { onAccount, omitAddress: true })
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
export default async function createDelegationSignature(
|
|
43
|
+
contractAddress: Encoded.ContractAddress,
|
|
44
|
+
ids: Array<Encoded.Any | AensName>,
|
|
45
|
+
options: { omitAddress?: boolean; onAccount: AccountBase; onNode: Node },
|
|
46
|
+
): Promise<Uint8Array> {
|
|
47
|
+
return options.onAccount.sign(
|
|
48
|
+
concatBuffers([
|
|
49
|
+
Buffer.from(await options.onNode.getNetworkId()),
|
|
50
|
+
...options.omitAddress === true ? [] : [decode(options.onAccount.address)],
|
|
51
|
+
...ids.map((e) => (isNameValid(e) ? produceNameId(e) : e)).map((e) => decode(e)),
|
|
52
|
+
decode(contractAddress),
|
|
53
|
+
]),
|
|
54
|
+
options,
|
|
55
|
+
);
|
|
56
|
+
}
|
package/src/contract/ga.ts
CHANGED
|
@@ -1,36 +1,21 @@
|
|
|
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
|
* Generalized Account module - routines to use generalized account
|
|
20
3
|
*/
|
|
21
4
|
|
|
22
|
-
import { Tag } from '../tx/builder/constants';
|
|
23
|
-
import {
|
|
24
|
-
|
|
5
|
+
import { ConsensusProtocolVersion, Int, Tag } from '../tx/builder/constants';
|
|
6
|
+
import {
|
|
7
|
+
buildContractIdByContractTx, buildTx, buildTxAsync, BuildTxOptions, unpackTx,
|
|
8
|
+
} from '../tx/builder';
|
|
25
9
|
import { hash } from '../utils/crypto';
|
|
26
|
-
import {
|
|
27
|
-
|
|
10
|
+
import {
|
|
11
|
+
decode, encode, Encoded, Encoding,
|
|
12
|
+
} from '../utils/encoder';
|
|
13
|
+
import { ArgumentError, IllegalArgumentError } from '../utils/errors';
|
|
28
14
|
import { concatBuffers } from '../utils/other';
|
|
29
15
|
import AccountBase from '../account/Base';
|
|
30
16
|
import Contract from './Contract';
|
|
31
|
-
import { send, SendOptions } from '../spend';
|
|
32
17
|
import Node from '../Node';
|
|
33
|
-
import { getAccount } from '../chain';
|
|
18
|
+
import { sendTransaction, SendTransactionOptions, getAccount } from '../chain';
|
|
34
19
|
import CompilerBase from './compiler/Base';
|
|
35
20
|
|
|
36
21
|
/**
|
|
@@ -63,8 +48,9 @@ export async function createGeneralizedAccount(
|
|
|
63
48
|
onAccount, onCompiler, onNode, bytecode, aci, sourceCodePath, sourceCode, fileSystem,
|
|
64
49
|
});
|
|
65
50
|
|
|
66
|
-
const tx = await
|
|
51
|
+
const tx = await buildTxAsync({
|
|
67
52
|
...options,
|
|
53
|
+
tag: Tag.GaAttachTx,
|
|
68
54
|
onNode,
|
|
69
55
|
code: await contract.$compile(),
|
|
70
56
|
gasLimit: options.gasLimit ?? await contract._estimateGas('init', args, options),
|
|
@@ -73,7 +59,7 @@ export async function createGeneralizedAccount(
|
|
|
73
59
|
authFun: hash(authFnName),
|
|
74
60
|
});
|
|
75
61
|
const contractId = buildContractIdByContractTx(tx);
|
|
76
|
-
const { hash: transaction, rawTx } = await
|
|
62
|
+
const { hash: transaction, rawTx } = await sendTransaction(tx, {
|
|
77
63
|
onNode, onAccount, onCompiler, ...options,
|
|
78
64
|
});
|
|
79
65
|
|
|
@@ -87,7 +73,7 @@ export async function createGeneralizedAccount(
|
|
|
87
73
|
|
|
88
74
|
interface CreateGeneralizedAccountOptions extends
|
|
89
75
|
BuildTxOptions<Tag.GaAttachTx, 'authFun' | 'callData' | 'code' | 'ownerId' | 'gasLimit'>,
|
|
90
|
-
|
|
76
|
+
SendTransactionOptions,
|
|
91
77
|
Pick<
|
|
92
78
|
Parameters<typeof Contract.initialize>[0],
|
|
93
79
|
'bytecode' | 'aci' | 'sourceCodePath' | 'sourceCode' | 'fileSystem'
|
|
@@ -99,18 +85,53 @@ interface CreateGeneralizedAccountOptions extends
|
|
|
99
85
|
}
|
|
100
86
|
|
|
101
87
|
/**
|
|
102
|
-
* Build a transaction hash the same as `Auth.tx_hash`
|
|
88
|
+
* Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx payload
|
|
103
89
|
* @category contract
|
|
104
90
|
* @param transaction - tx-encoded transaction
|
|
105
91
|
* @param options - Options
|
|
92
|
+
* @param options.fee - GaMetaTx fee, required in Ceres
|
|
93
|
+
* @param options.gasPrice - GaMetaTx gasPrice, required in Ceres
|
|
106
94
|
* @param options.onNode - Node to use
|
|
107
95
|
* @returns Transaction hash
|
|
108
96
|
*/
|
|
109
97
|
export async function buildAuthTxHash(
|
|
98
|
+
transaction: Encoded.Transaction,
|
|
99
|
+
{ fee, gasPrice, onNode }: { fee?: Int; gasPrice?: Int; onNode: Node },
|
|
100
|
+
): Promise<Buffer> {
|
|
101
|
+
const { nodeNetworkId, consensusProtocolVersion } = await onNode.getNodeInfo();
|
|
102
|
+
let payload = hash(concatBuffers([Buffer.from(nodeNetworkId), decode(transaction)]));
|
|
103
|
+
if (consensusProtocolVersion === ConsensusProtocolVersion.Ceres) {
|
|
104
|
+
if (fee == null) throw new ArgumentError('fee', 'provided (in Ceres)', fee);
|
|
105
|
+
if (gasPrice == null) throw new ArgumentError('gasPrice', 'provided (in Ceres)', gasPrice);
|
|
106
|
+
payload = hash(decode(buildTx({
|
|
107
|
+
tag: Tag.GaMetaTxAuthData,
|
|
108
|
+
fee,
|
|
109
|
+
gasPrice,
|
|
110
|
+
txHash: encode(payload, Encoding.TxHash),
|
|
111
|
+
})));
|
|
112
|
+
}
|
|
113
|
+
return payload;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx
|
|
118
|
+
* @category contract
|
|
119
|
+
* @param transaction - tx-encoded signed GaMeta transaction
|
|
120
|
+
* @param options - Options
|
|
121
|
+
* @param options.onNode - Node to use
|
|
122
|
+
* @returns Transaction hash
|
|
123
|
+
*/
|
|
124
|
+
export async function buildAuthTxHashByGaMetaTx(
|
|
110
125
|
transaction: Encoded.Transaction,
|
|
111
126
|
{ onNode }: { onNode: Node },
|
|
112
|
-
): Promise<
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
127
|
+
): Promise<Buffer> {
|
|
128
|
+
const txParams = unpackTx(transaction, Tag.SignedTx);
|
|
129
|
+
if (txParams.encodedTx.tag !== Tag.GaMetaTx) {
|
|
130
|
+
throw new ArgumentError('transaction', 'to include GaMetaTx', Tag[txParams.encodedTx.tag]);
|
|
131
|
+
}
|
|
132
|
+
return buildAuthTxHash(buildTx(txParams.encodedTx.tx.encodedTx), {
|
|
133
|
+
fee: txParams.encodedTx.fee,
|
|
134
|
+
gasPrice: txParams.encodedTx.gasPrice,
|
|
135
|
+
onNode,
|
|
136
|
+
});
|
|
116
137
|
}
|
package/src/index-browser.ts
CHANGED
|
@@ -1,32 +1,26 @@
|
|
|
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
|
+
// TODO: avoid `export * from`
|
|
18
2
|
export * from './chain';
|
|
19
3
|
export * from './utils/crypto';
|
|
20
4
|
export * from './utils/keystore';
|
|
21
5
|
export * from './utils/bytes';
|
|
22
|
-
export
|
|
23
|
-
|
|
6
|
+
export {
|
|
7
|
+
buildTx, buildTxAsync, buildTxHash, unpackTx, buildContractIdByContractTx,
|
|
8
|
+
} from './tx/builder';
|
|
24
9
|
export * from './tx/builder/helpers';
|
|
25
10
|
export * from './tx/builder/constants';
|
|
26
|
-
|
|
11
|
+
// TODO: move to constants
|
|
12
|
+
export {
|
|
13
|
+
ORACLE_TTL_TYPES, ORACLE_TTL, QUERY_TTL, RESPONSE_TTL, DRY_RUN_ACCOUNT, CallReturnType,
|
|
14
|
+
} from './tx/builder/schema';
|
|
15
|
+
export {
|
|
16
|
+
getExecutionCost, getExecutionCostBySignedTx, getExecutionCostUsingNode,
|
|
17
|
+
} from './tx/execution-cost';
|
|
18
|
+
export { default as getTransactionSignerAddress } from './tx/transaction-signer';
|
|
27
19
|
export * from './utils/amount-formatter';
|
|
28
20
|
export * from './utils/hd-wallet';
|
|
29
|
-
export {
|
|
21
|
+
export {
|
|
22
|
+
encode, decode, Encoding, Encoded,
|
|
23
|
+
} from './utils/encoder';
|
|
30
24
|
export * from './aens';
|
|
31
25
|
export { default as Contract } from './contract/Contract';
|
|
32
26
|
export type { ContractMethodsBase } from './contract/Contract';
|
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,16 +150,19 @@ 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,
|
|
@@ -184,12 +170,12 @@ export async function postQueryToOracle(
|
|
|
184
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
|
};
|