@aeternity/aepp-sdk 13.3.3 → 14.1.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/LICENSE +1 -1
- package/README.md +15 -21
- package/bin/aesophia_cli +0 -0
- package/dist/aepp-sdk.browser-script.cjs +3 -0
- package/dist/aepp-sdk.browser-script.cjs.LICENSE.txt +12 -0
- package/dist/aepp-sdk.browser-script.cjs.map +1 -0
- package/dist/aepp-sdk.browser.cjs +3 -0
- package/dist/aepp-sdk.browser.cjs.map +1 -0
- package/dist/aepp-sdk.cjs +38244 -0
- package/dist/aepp-sdk.cjs.map +1 -0
- package/es/AeSdk.d.ts +4 -4
- package/es/AeSdk.js +76 -0
- package/es/AeSdk.js.map +1 -0
- package/es/AeSdkAepp.d.ts +13 -8
- package/es/AeSdkAepp.js +153 -0
- package/es/AeSdkAepp.js.map +1 -0
- package/es/AeSdkBase.d.ts +15 -41
- package/es/AeSdkBase.js +235 -0
- package/es/AeSdkBase.js.map +1 -0
- package/es/AeSdkMethods.d.ts +11 -34
- package/es/AeSdkMethods.js +81 -0
- package/es/AeSdkMethods.js.map +1 -0
- package/es/AeSdkWallet.d.ts +13 -8
- package/es/AeSdkWallet.js +347 -0
- package/es/AeSdkWallet.js.map +1 -0
- package/es/Middleware.d.ts +14 -26
- package/es/Middleware.js +102 -0
- package/es/Middleware.js.map +1 -0
- package/es/MiddlewareSubscriber.d.ts +5 -3
- package/es/MiddlewareSubscriber.js +169 -0
- package/es/MiddlewareSubscriber.js.map +1 -0
- package/es/Node.d.ts +11 -22
- package/es/Node.js +121 -0
- package/es/Node.js.map +1 -0
- package/es/account/Base.d.ts +14 -66
- package/es/account/Base.js +7 -0
- package/es/account/Base.js.map +1 -0
- package/es/account/BaseFactory.d.ts +20 -0
- package/es/account/BaseFactory.js +29 -0
- package/es/account/BaseFactory.js.map +1 -0
- package/es/account/Generalized.d.ts +7 -6
- package/es/account/Generalized.js +117 -0
- package/es/account/Generalized.js.map +1 -0
- package/es/account/Ledger.d.ts +8 -7
- package/es/account/Ledger.js +116 -0
- package/es/account/Ledger.js.map +1 -0
- package/es/account/LedgerFactory.d.ts +18 -16
- package/es/account/LedgerFactory.js +86 -0
- package/es/account/LedgerFactory.js.map +1 -0
- package/es/account/Memory.d.ts +11 -22
- package/es/account/Memory.js +106 -0
- package/es/account/Memory.js.map +1 -0
- package/es/account/Metamask.d.ts +34 -0
- package/es/account/Metamask.js +89 -0
- package/es/account/Metamask.js.map +1 -0
- package/es/account/MetamaskFactory.d.ts +58 -0
- package/es/account/MetamaskFactory.js +164 -0
- package/es/account/MetamaskFactory.js.map +1 -0
- package/es/account/MnemonicFactory.d.ts +45 -0
- package/es/account/MnemonicFactory.js +112 -0
- package/es/account/MnemonicFactory.js.map +1 -0
- package/es/account/Rpc.d.ts +10 -19
- package/es/account/Rpc.js +94 -0
- package/es/account/Rpc.js.map +1 -0
- package/es/aens.d.ts +144 -165
- package/es/aens.js +292 -0
- package/es/aens.js.map +1 -0
- package/es/aepp-wallet-communication/WalletConnectorFrame.d.ts +25 -0
- package/es/aepp-wallet-communication/WalletConnectorFrame.js +39 -0
- package/es/aepp-wallet-communication/WalletConnectorFrame.js.map +1 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameBase.d.ts +43 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameBase.js +110 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameBase.js.map +1 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameWithNode.d.ts +27 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameWithNode.js +43 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameWithNode.js.map +1 -0
- package/es/aepp-wallet-communication/connection/Browser.js +53 -0
- package/es/aepp-wallet-communication/connection/Browser.js.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +2 -2
- package/es/aepp-wallet-communication/connection/BrowserRuntime.js +54 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.js.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +2 -2
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.js +90 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.js.map +1 -0
- package/es/aepp-wallet-communication/connection-proxy.d.ts +2 -2
- package/es/aepp-wallet-communication/connection-proxy.js +17 -0
- package/es/aepp-wallet-communication/connection-proxy.js.map +1 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +1 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.js +119 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.js.map +1 -0
- package/es/aepp-wallet-communication/rpc/types.d.ts +13 -19
- package/es/aepp-wallet-communication/rpc/types.js +3 -0
- package/es/aepp-wallet-communication/rpc/types.js.map +1 -0
- package/es/aepp-wallet-communication/schema.d.ts +10 -3
- package/es/aepp-wallet-communication/schema.js +202 -0
- package/es/aepp-wallet-communication/schema.js.map +1 -0
- package/es/aepp-wallet-communication/wallet-detector.d.ts +4 -4
- package/es/aepp-wallet-communication/wallet-detector.js +44 -0
- package/es/aepp-wallet-communication/wallet-detector.js.map +1 -0
- package/es/apis/compiler/compiler.d.ts +2 -2
- package/es/apis/compiler/compiler.js +513 -0
- package/es/apis/compiler/compiler.js.map +1 -0
- package/es/apis/compiler/index.d.ts +2 -2
- package/es/apis/compiler/index.js +3 -0
- package/es/apis/compiler/index.js.map +1 -0
- package/es/apis/compiler/models/index.js +2 -0
- package/es/apis/compiler/models/index.js.map +1 -0
- package/es/apis/compiler/models/mappers.js +554 -0
- package/es/apis/compiler/models/mappers.js.map +1 -0
- package/es/apis/compiler/models/parameters.js +67 -0
- package/es/apis/compiler/models/parameters.js.map +1 -0
- package/es/apis/middleware/index.d.ts +2 -2
- package/es/apis/middleware/index.js +3 -0
- package/es/apis/middleware/index.js.map +1 -0
- package/es/apis/middleware/middleware.d.ts +222 -124
- package/es/apis/middleware/middleware.js +2146 -0
- package/es/apis/middleware/middleware.js.map +1 -0
- package/es/apis/middleware/models/index.d.ts +2062 -1198
- package/es/apis/middleware/models/index.js +2 -0
- package/es/apis/middleware/models/index.js.map +1 -0
- package/es/apis/middleware/models/mappers.d.ts +206 -81
- package/es/apis/middleware/models/mappers.js +9315 -0
- package/es/apis/middleware/models/mappers.js.map +1 -0
- package/es/apis/middleware/models/parameters.d.ts +78 -13
- package/es/apis/middleware/models/parameters.js +1164 -0
- package/es/apis/middleware/models/parameters.js.map +1 -0
- package/es/apis/node/index.d.ts +2 -2
- package/es/apis/node/index.js +3 -0
- package/es/apis/node/index.js.map +1 -0
- package/es/apis/node/models/index.d.ts +683 -631
- package/es/apis/node/models/index.js +2 -0
- package/es/apis/node/models/index.js.map +1 -0
- package/es/apis/node/models/mappers.d.ts +58 -55
- package/es/apis/node/models/mappers.js +5450 -0
- package/es/apis/node/models/mappers.js.map +1 -0
- package/es/apis/node/models/parameters.d.ts +5 -5
- package/es/apis/node/models/parameters.js +165 -0
- package/es/apis/node/models/parameters.js.map +1 -0
- package/es/apis/node/node.d.ts +113 -96
- package/es/apis/node/node.js +1292 -0
- package/es/apis/node/node.js.map +1 -0
- package/es/chain.d.ts +39 -26
- package/es/chain.js +448 -0
- package/es/chain.js.map +1 -0
- package/es/channel/Base.d.ts +12 -14
- package/es/channel/Base.js +246 -0
- package/es/channel/Base.js.map +1 -0
- package/es/channel/Contract.d.ts +12 -9
- package/es/channel/Contract.js +385 -0
- package/es/channel/Contract.js.map +1 -0
- package/es/channel/Spend.d.ts +10 -10
- package/es/channel/Spend.js +357 -0
- package/es/channel/Spend.js.map +1 -0
- package/es/channel/handlers.d.ts +4 -3
- package/es/channel/handlers.js +394 -0
- package/es/channel/handlers.js.map +1 -0
- package/es/channel/internal.d.ts +11 -10
- package/es/channel/internal.js +224 -0
- package/es/channel/internal.js.map +1 -0
- package/es/contract/Contract.d.ts +30 -21
- package/es/contract/Contract.js +535 -0
- package/es/contract/Contract.js.map +1 -0
- package/es/contract/compiler/Base.d.ts +2 -1
- package/es/contract/compiler/Base.js +6 -0
- package/es/contract/compiler/Base.js.map +1 -0
- package/es/contract/compiler/Cli.d.ts +4 -3
- package/es/contract/compiler/Cli.js +169 -0
- package/es/contract/compiler/Cli.js.map +1 -0
- package/es/contract/compiler/Http.d.ts +5 -4
- package/es/contract/compiler/Http.js +125 -0
- package/es/contract/compiler/Http.js.map +1 -0
- package/es/contract/compiler/HttpNode.d.ts +3 -3
- package/es/contract/compiler/HttpNode.js +29 -0
- package/es/contract/compiler/HttpNode.js.map +1 -0
- package/es/contract/compiler/getFileSystem.d.ts +1 -0
- package/es/contract/compiler/getFileSystem.js +33 -0
- package/es/contract/compiler/getFileSystem.js.map +1 -0
- package/es/contract/ga.d.ts +11 -15
- package/es/contract/ga.js +136 -0
- package/es/contract/ga.js.map +1 -0
- package/es/index-browser.d.ts +86 -51
- package/es/index-browser.js +85 -0
- package/es/index-browser.js.map +1 -0
- package/es/index.d.ts +4 -5
- package/es/index.js +5 -0
- package/es/index.js.map +1 -0
- package/es/oracle/Oracle.d.ts +79 -0
- package/es/oracle/Oracle.js +183 -0
- package/es/oracle/Oracle.js.map +1 -0
- package/es/oracle/OracleBase.d.ts +54 -0
- package/es/oracle/OracleBase.js +74 -0
- package/es/oracle/OracleBase.js.map +1 -0
- package/es/oracle/OracleClient.d.ts +60 -0
- package/es/oracle/OracleClient.js +105 -0
- package/es/oracle/OracleClient.js.map +1 -0
- package/es/send-transaction.d.ts +8 -8
- package/es/send-transaction.js +110 -0
- package/es/send-transaction.js.map +1 -0
- package/es/spend.d.ts +8 -13
- package/es/spend.js +93 -0
- package/es/spend.js.map +1 -0
- package/es/tx/builder/SchemaTypes.d.ts +3 -3
- package/es/tx/builder/SchemaTypes.js +2 -0
- package/es/tx/builder/SchemaTypes.js.map +1 -0
- package/es/tx/builder/common.d.ts +2 -2
- package/es/tx/builder/common.js +41 -0
- package/es/tx/builder/common.js.map +1 -0
- package/es/tx/builder/constants.d.ts +53 -27
- package/es/tx/builder/constants.js +170 -0
- package/es/tx/builder/constants.js.map +1 -0
- package/es/tx/builder/delegation/index.d.ts +3 -3
- package/es/tx/builder/delegation/index.js +24 -0
- package/es/tx/builder/delegation/index.js.map +1 -0
- package/es/tx/builder/delegation/schema.d.ts +21 -4
- package/es/tx/builder/delegation/schema.generated.d.ts +2 -2
- package/es/tx/builder/delegation/schema.generated.js +2 -0
- package/es/tx/builder/delegation/schema.generated.js.map +1 -0
- package/es/tx/builder/delegation/schema.js +83 -0
- package/es/tx/builder/delegation/schema.js.map +1 -0
- package/es/tx/builder/entry/constants.d.ts +35 -0
- package/es/tx/builder/entry/constants.js +45 -0
- package/es/tx/builder/entry/constants.js.map +1 -0
- package/es/tx/builder/entry/index.d.ts +38 -0
- package/es/tx/builder/entry/index.js +36 -0
- package/es/tx/builder/entry/index.js.map +1 -0
- package/es/tx/builder/entry/schema.d.ts +1030 -0
- package/es/tx/builder/entry/schema.generated.d.ts +607 -0
- package/es/tx/builder/entry/schema.generated.js +2 -0
- package/es/tx/builder/entry/schema.generated.js.map +1 -0
- package/es/tx/builder/entry/schema.js +204 -0
- package/es/tx/builder/entry/schema.js.map +1 -0
- package/es/tx/builder/field-types/abi-version.d.ts +4 -5
- package/es/tx/builder/field-types/abi-version.js +34 -0
- package/es/tx/builder/field-types/abi-version.js.map +1 -0
- package/es/tx/builder/field-types/address.d.ts +2 -3
- package/es/tx/builder/field-types/address.js +46 -0
- package/es/tx/builder/field-types/address.js.map +1 -0
- package/es/tx/builder/field-types/array.js +11 -0
- package/es/tx/builder/field-types/array.js.map +1 -0
- package/es/tx/builder/field-types/boolean.d.ts +0 -1
- package/es/tx/builder/field-types/boolean.js +10 -0
- package/es/tx/builder/field-types/boolean.js.map +1 -0
- package/es/tx/builder/field-types/coin-amount.d.ts +3 -4
- package/es/tx/builder/field-types/coin-amount.js +18 -0
- package/es/tx/builder/field-types/coin-amount.js.map +1 -0
- package/es/tx/builder/field-types/ct-version.d.ts +4 -19
- package/es/tx/builder/field-types/ct-version.js +57 -0
- package/es/tx/builder/field-types/ct-version.js.map +1 -0
- package/es/tx/builder/field-types/encoded.d.ts +1 -2
- package/es/tx/builder/field-types/encoded.js +18 -0
- package/es/tx/builder/field-types/encoded.js.map +1 -0
- package/es/tx/builder/field-types/entry.d.ts +5 -6
- package/es/tx/builder/field-types/entry.js +26 -0
- package/es/tx/builder/field-types/entry.js.map +1 -0
- package/es/tx/builder/field-types/enumeration.d.ts +0 -1
- package/es/tx/builder/field-types/enumeration.js +27 -0
- package/es/tx/builder/field-types/enumeration.js.map +1 -0
- package/es/tx/builder/field-types/fee.d.ts +8 -9
- package/es/tx/builder/field-types/fee.js +160 -0
- package/es/tx/builder/field-types/fee.js.map +1 -0
- package/es/tx/builder/field-types/field.d.ts +0 -1
- package/es/tx/builder/field-types/field.js +10 -0
- package/es/tx/builder/field-types/field.js.map +1 -0
- package/es/tx/builder/field-types/gas-limit.d.ts +4 -5
- package/es/tx/builder/field-types/gas-limit.js +31 -0
- package/es/tx/builder/field-types/gas-limit.js.map +1 -0
- package/es/tx/builder/field-types/gas-price.d.ts +10 -8
- package/es/tx/builder/field-types/gas-price.js +53 -0
- package/es/tx/builder/field-types/gas-price.js.map +1 -0
- package/es/tx/builder/field-types/interface.d.ts +7 -0
- package/es/tx/builder/field-types/interface.js +2 -0
- package/es/tx/builder/field-types/interface.js.map +1 -0
- package/es/tx/builder/field-types/map.d.ts +6 -7
- package/es/tx/builder/field-types/map.js +38 -0
- package/es/tx/builder/field-types/map.js.map +1 -0
- package/es/tx/builder/field-types/mptree.d.ts +12 -13
- package/es/tx/builder/field-types/mptree.js +223 -0
- package/es/tx/builder/field-types/mptree.js.map +1 -0
- package/es/tx/builder/field-types/name-fee.d.ts +3 -4
- package/es/tx/builder/field-types/name-fee.js +22 -0
- package/es/tx/builder/field-types/name-fee.js.map +1 -0
- package/es/tx/builder/field-types/name-id.d.ts +2 -3
- package/es/tx/builder/field-types/name-id.js +14 -0
- package/es/tx/builder/field-types/name-id.js.map +1 -0
- package/es/tx/builder/field-types/name.d.ts +1 -2
- package/es/tx/builder/field-types/name.js +16 -0
- package/es/tx/builder/field-types/name.js.map +1 -0
- package/es/tx/builder/field-types/nonce.d.ts +6 -4
- package/es/tx/builder/field-types/nonce.js +40 -0
- package/es/tx/builder/field-types/nonce.js.map +1 -0
- package/es/tx/builder/field-types/pointers.d.ts +9 -18
- package/es/tx/builder/field-types/pointers.js +69 -0
- package/es/tx/builder/field-types/pointers.js.map +1 -0
- package/es/tx/builder/field-types/query-fee.d.ts +4 -5
- package/es/tx/builder/field-types/query-fee.js +21 -0
- package/es/tx/builder/field-types/query-fee.js.map +1 -0
- package/es/tx/builder/field-types/raw.d.ts +0 -1
- package/es/tx/builder/field-types/raw.js +10 -0
- package/es/tx/builder/field-types/raw.js.map +1 -0
- package/es/tx/builder/field-types/short-u-int-const.d.ts +0 -1
- package/es/tx/builder/field-types/short-u-int-const.js +20 -0
- package/es/tx/builder/field-types/short-u-int-const.js.map +1 -0
- package/es/tx/builder/field-types/short-u-int.d.ts +0 -1
- package/es/tx/builder/field-types/short-u-int.js +10 -0
- package/es/tx/builder/field-types/short-u-int.js.map +1 -0
- package/es/tx/builder/field-types/string.d.ts +0 -1
- package/es/tx/builder/field-types/string.js +10 -0
- package/es/tx/builder/field-types/string.js.map +1 -0
- package/es/tx/builder/field-types/transaction.d.ts +10 -0
- package/es/tx/builder/field-types/transaction.js +26 -0
- package/es/tx/builder/field-types/transaction.js.map +1 -0
- package/es/tx/builder/field-types/ttl.d.ts +6 -11
- package/es/tx/builder/field-types/ttl.js +32 -0
- package/es/tx/builder/field-types/ttl.js.map +1 -0
- package/es/tx/builder/field-types/u-int.d.ts +1 -2
- package/es/tx/builder/field-types/u-int.js +13 -0
- package/es/tx/builder/field-types/u-int.js.map +1 -0
- package/es/tx/builder/field-types/with-default.js +9 -0
- package/es/tx/builder/field-types/with-default.js.map +1 -0
- package/es/tx/builder/field-types/with-formatting.js +9 -0
- package/es/tx/builder/field-types/with-formatting.js.map +1 -0
- package/es/tx/builder/field-types/wrapped.d.ts +5 -6
- package/es/tx/builder/field-types/wrapped.js +20 -0
- package/es/tx/builder/field-types/wrapped.js.map +1 -0
- package/es/tx/builder/helpers.d.ts +21 -16
- package/es/tx/builder/helpers.js +215 -0
- package/es/tx/builder/helpers.js.map +1 -0
- package/es/tx/builder/index.d.ts +4 -13
- package/es/tx/builder/index.js +91 -0
- package/es/tx/builder/index.js.map +1 -0
- package/es/tx/builder/schema.d.ts +587 -1724
- package/es/tx/builder/schema.generated.d.ts +45 -1001
- package/es/tx/builder/schema.generated.js +2 -0
- package/es/tx/builder/schema.generated.js.map +1 -0
- package/es/tx/builder/schema.js +357 -0
- package/es/tx/builder/schema.js.map +1 -0
- package/es/tx/execution-cost.d.ts +5 -2
- package/es/tx/execution-cost.js +143 -0
- package/es/tx/execution-cost.js.map +1 -0
- package/es/tx/transaction-signer.d.ts +2 -1
- package/es/tx/transaction-signer.js +25 -0
- package/es/tx/transaction-signer.js.map +1 -0
- package/es/tx/validator.d.ts +2 -2
- package/es/tx/validator.js +207 -0
- package/es/tx/validator.js.map +1 -0
- package/es/typings/blakejs/index.d.js +2 -0
- package/es/typings/blakejs/index.d.js.map +1 -0
- package/es/typings/sha-js/index.d.js +2 -0
- package/es/typings/sha-js/index.d.js.map +1 -0
- package/es/typings/tweetnacl-auth/index.d.js +2 -0
- package/es/typings/tweetnacl-auth/index.d.js.map +1 -0
- package/es/utils/MiddlewarePage.d.ts +37 -0
- package/es/utils/MiddlewarePage.js +57 -0
- package/es/utils/MiddlewarePage.js.map +1 -0
- package/es/utils/amount-formatter.d.ts +19 -5
- package/es/utils/amount-formatter.js +113 -0
- package/es/utils/amount-formatter.js.map +1 -0
- package/es/utils/autorest.d.ts +7 -2
- package/es/utils/autorest.js +212 -0
- package/es/utils/autorest.js.map +1 -0
- package/es/utils/bignumber.js +21 -0
- package/es/utils/bignumber.js.map +1 -0
- package/es/utils/bytes.d.ts +2 -1
- package/es/utils/bytes.js +32 -0
- package/es/utils/bytes.js.map +1 -0
- package/es/utils/crypto.d.ts +48 -59
- package/es/utils/crypto.js +162 -0
- package/es/utils/crypto.js.map +1 -0
- package/es/utils/encoder-types.d.ts +3 -1
- package/es/utils/encoder-types.js +36 -0
- package/es/utils/encoder-types.js.map +1 -0
- package/es/utils/encoder.d.ts +4 -3
- package/es/utils/encoder.js +106 -0
- package/es/utils/encoder.js.map +1 -0
- package/es/utils/errors.d.ts +4 -10
- package/es/utils/errors.js +746 -0
- package/es/utils/errors.js.map +1 -0
- package/es/utils/json-big.d.ts +1 -1
- package/es/utils/json-big.js +25 -0
- package/es/utils/json-big.js.map +1 -0
- package/es/utils/jwt.d.ts +2 -2
- package/es/utils/jwt.js +112 -0
- package/es/utils/jwt.js.map +1 -0
- package/es/utils/other.d.ts +4 -4
- package/es/utils/other.js +48 -0
- package/es/utils/other.js.map +1 -0
- package/es/utils/semver-satisfies.js +12 -0
- package/es/utils/semver-satisfies.js.map +1 -0
- package/es/utils/string.js +18 -0
- package/es/utils/string.js.map +1 -0
- package/es/utils/typed-data.d.ts +6 -2
- package/es/utils/typed-data.js +58 -0
- package/es/utils/typed-data.js.map +1 -0
- package/es/utils/wrap-proxy.js +15 -0
- package/es/utils/wrap-proxy.js.map +1 -0
- package/package.json +91 -113
- package/bin/aesophia_cli_8 +0 -0
- package/dist/aepp-sdk.browser-script.js +0 -3
- package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -12
- package/dist/aepp-sdk.browser-script.js.map +0 -1
- package/dist/aepp-sdk.browser.js +0 -3
- package/dist/aepp-sdk.browser.js.map +0 -1
- package/dist/aepp-sdk.js +0 -30486
- package/dist/aepp-sdk.js.map +0 -1
- package/es/AeSdk.mjs +0 -76
- package/es/AeSdk.mjs.map +0 -1
- package/es/AeSdkAepp.mjs +0 -145
- package/es/AeSdkAepp.mjs.map +0 -1
- package/es/AeSdkBase.mjs +0 -289
- package/es/AeSdkBase.mjs.map +0 -1
- package/es/AeSdkMethods.mjs +0 -92
- package/es/AeSdkMethods.mjs.map +0 -1
- package/es/AeSdkWallet.mjs +0 -368
- package/es/AeSdkWallet.mjs.map +0 -1
- package/es/Middleware.mjs +0 -94
- package/es/Middleware.mjs.map +0 -1
- package/es/MiddlewareSubscriber.mjs +0 -189
- package/es/MiddlewareSubscriber.mjs.map +0 -1
- package/es/Node.mjs +0 -148
- package/es/Node.mjs.map +0 -1
- package/es/account/Base.mjs +0 -134
- package/es/account/Base.mjs.map +0 -1
- package/es/account/Generalized.mjs +0 -129
- package/es/account/Generalized.mjs.map +0 -1
- package/es/account/Ledger.mjs +0 -131
- package/es/account/Ledger.mjs.map +0 -1
- package/es/account/LedgerFactory.mjs +0 -79
- package/es/account/LedgerFactory.mjs.map +0 -1
- package/es/account/Memory.mjs +0 -187
- package/es/account/Memory.mjs.map +0 -1
- package/es/account/Rpc.mjs +0 -178
- package/es/account/Rpc.mjs.map +0 -1
- package/es/aens.mjs +0 -290
- package/es/aens.mjs.map +0 -1
- package/es/aepp-wallet-communication/connection/Browser.mjs +0 -52
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +0 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +0 -55
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +0 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -98
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +0 -1
- package/es/aepp-wallet-communication/connection-proxy.mjs +0 -17
- package/es/aepp-wallet-communication/connection-proxy.mjs.map +0 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +0 -134
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +0 -1
- package/es/aepp-wallet-communication/rpc/types.mjs +0 -3
- package/es/aepp-wallet-communication/rpc/types.mjs.map +0 -1
- package/es/aepp-wallet-communication/schema.mjs +0 -187
- package/es/aepp-wallet-communication/schema.mjs.map +0 -1
- package/es/aepp-wallet-communication/wallet-detector.mjs +0 -44
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
- package/es/apis/compiler/compiler.mjs +0 -513
- package/es/apis/compiler/compiler.mjs.map +0 -1
- package/es/apis/compiler/index.mjs +0 -3
- package/es/apis/compiler/index.mjs.map +0 -1
- package/es/apis/compiler/models/index.mjs +0 -2
- package/es/apis/compiler/models/index.mjs.map +0 -1
- package/es/apis/compiler/models/mappers.mjs +0 -554
- package/es/apis/compiler/models/mappers.mjs.map +0 -1
- package/es/apis/compiler/models/parameters.mjs +0 -67
- package/es/apis/compiler/models/parameters.mjs.map +0 -1
- package/es/apis/middleware/index.mjs +0 -3
- package/es/apis/middleware/index.mjs.map +0 -1
- package/es/apis/middleware/middleware.mjs +0 -1623
- package/es/apis/middleware/middleware.mjs.map +0 -1
- package/es/apis/middleware/models/index.mjs +0 -630
- package/es/apis/middleware/models/index.mjs.map +0 -1
- package/es/apis/middleware/models/mappers.mjs +0 -3707
- package/es/apis/middleware/models/mappers.mjs.map +0 -1
- package/es/apis/middleware/models/parameters.mjs +0 -444
- package/es/apis/middleware/models/parameters.mjs.map +0 -1
- package/es/apis/node/index.mjs +0 -3
- package/es/apis/node/index.mjs.map +0 -1
- package/es/apis/node/models/index.mjs +0 -2
- package/es/apis/node/models/index.mjs.map +0 -1
- package/es/apis/node/models/mappers.mjs +0 -4395
- package/es/apis/node/models/mappers.mjs.map +0 -1
- package/es/apis/node/models/parameters.mjs +0 -165
- package/es/apis/node/models/parameters.mjs.map +0 -1
- package/es/apis/node/node.mjs +0 -1240
- package/es/apis/node/node.mjs.map +0 -1
- package/es/chain.mjs +0 -441
- package/es/chain.mjs.map +0 -1
- package/es/channel/Base.mjs +0 -254
- package/es/channel/Base.mjs.map +0 -1
- package/es/channel/Contract.mjs +0 -383
- package/es/channel/Contract.mjs.map +0 -1
- package/es/channel/Spend.mjs +0 -357
- package/es/channel/Spend.mjs.map +0 -1
- package/es/channel/handlers.mjs +0 -383
- package/es/channel/handlers.mjs.map +0 -1
- package/es/channel/internal.mjs +0 -237
- package/es/channel/internal.mjs.map +0 -1
- package/es/contract/Contract.mjs +0 -540
- package/es/contract/Contract.mjs.map +0 -1
- package/es/contract/compiler/Base.mjs +0 -5
- package/es/contract/compiler/Base.mjs.map +0 -1
- package/es/contract/compiler/Cli.mjs +0 -197
- package/es/contract/compiler/Cli.mjs.map +0 -1
- package/es/contract/compiler/Cli8.d.ts +0 -13
- package/es/contract/compiler/Cli8.mjs +0 -22
- package/es/contract/compiler/Cli8.mjs.map +0 -1
- package/es/contract/compiler/Http.mjs +0 -126
- package/es/contract/compiler/Http.mjs.map +0 -1
- package/es/contract/compiler/HttpNode.mjs +0 -31
- package/es/contract/compiler/HttpNode.mjs.map +0 -1
- package/es/contract/compiler/getFileSystem.mjs +0 -40
- package/es/contract/compiler/getFileSystem.mjs.map +0 -1
- package/es/contract/delegation-signature.d.ts +0 -45
- package/es/contract/delegation-signature.mjs +0 -80
- package/es/contract/delegation-signature.mjs.map +0 -1
- package/es/contract/ga.mjs +0 -135
- package/es/contract/ga.mjs.map +0 -1
- package/es/deprecated.d.ts +0 -62
- package/es/deprecated.mjs +0 -87
- package/es/deprecated.mjs.map +0 -1
- package/es/index-browser.mjs +0 -49
- package/es/index-browser.mjs.map +0 -1
- package/es/index.mjs +0 -6
- package/es/index.mjs.map +0 -1
- package/es/oracle.d.ts +0 -125
- package/es/oracle.mjs +0 -242
- package/es/oracle.mjs.map +0 -1
- package/es/send-transaction.mjs +0 -109
- package/es/send-transaction.mjs.map +0 -1
- package/es/spend.mjs +0 -90
- package/es/spend.mjs.map +0 -1
- package/es/tx/builder/SchemaTypes.mjs +0 -2
- package/es/tx/builder/SchemaTypes.mjs.map +0 -1
- package/es/tx/builder/common.mjs +0 -42
- package/es/tx/builder/common.mjs.map +0 -1
- package/es/tx/builder/constants.mjs +0 -147
- package/es/tx/builder/constants.mjs.map +0 -1
- package/es/tx/builder/delegation/index.mjs +0 -24
- package/es/tx/builder/delegation/index.mjs.map +0 -1
- package/es/tx/builder/delegation/schema.generated.mjs +0 -2
- package/es/tx/builder/delegation/schema.generated.mjs.map +0 -1
- package/es/tx/builder/delegation/schema.mjs +0 -54
- package/es/tx/builder/delegation/schema.mjs.map +0 -1
- package/es/tx/builder/field-types/abi-version.mjs +0 -37
- package/es/tx/builder/field-types/abi-version.mjs.map +0 -1
- package/es/tx/builder/field-types/address.mjs +0 -48
- package/es/tx/builder/field-types/address.mjs.map +0 -1
- package/es/tx/builder/field-types/array.mjs +0 -11
- package/es/tx/builder/field-types/array.mjs.map +0 -1
- package/es/tx/builder/field-types/boolean.mjs +0 -13
- package/es/tx/builder/field-types/boolean.mjs.map +0 -1
- package/es/tx/builder/field-types/coin-amount.mjs +0 -18
- package/es/tx/builder/field-types/coin-amount.mjs.map +0 -1
- package/es/tx/builder/field-types/ct-version.mjs +0 -75
- package/es/tx/builder/field-types/ct-version.mjs.map +0 -1
- package/es/tx/builder/field-types/encoded.mjs +0 -21
- package/es/tx/builder/field-types/encoded.mjs.map +0 -1
- package/es/tx/builder/field-types/entry.mjs +0 -29
- package/es/tx/builder/field-types/entry.mjs.map +0 -1
- package/es/tx/builder/field-types/enumeration.mjs +0 -30
- package/es/tx/builder/field-types/enumeration.mjs.map +0 -1
- package/es/tx/builder/field-types/fee.mjs +0 -160
- package/es/tx/builder/field-types/fee.mjs.map +0 -1
- package/es/tx/builder/field-types/field.mjs +0 -13
- package/es/tx/builder/field-types/field.mjs.map +0 -1
- package/es/tx/builder/field-types/gas-limit.mjs +0 -31
- package/es/tx/builder/field-types/gas-limit.mjs.map +0 -1
- package/es/tx/builder/field-types/gas-price.mjs +0 -60
- package/es/tx/builder/field-types/gas-price.mjs.map +0 -1
- package/es/tx/builder/field-types/index.d.ts +0 -39
- package/es/tx/builder/field-types/index.mjs +0 -32
- package/es/tx/builder/field-types/index.mjs.map +0 -1
- package/es/tx/builder/field-types/map.mjs +0 -38
- package/es/tx/builder/field-types/map.mjs.map +0 -1
- package/es/tx/builder/field-types/mptree.mjs +0 -251
- package/es/tx/builder/field-types/mptree.mjs.map +0 -1
- package/es/tx/builder/field-types/name-fee.mjs +0 -22
- package/es/tx/builder/field-types/name-fee.mjs.map +0 -1
- package/es/tx/builder/field-types/name-id.mjs +0 -14
- package/es/tx/builder/field-types/name-id.mjs.map +0 -1
- package/es/tx/builder/field-types/name.mjs +0 -16
- package/es/tx/builder/field-types/name.mjs.map +0 -1
- package/es/tx/builder/field-types/nonce.mjs +0 -31
- package/es/tx/builder/field-types/nonce.mjs.map +0 -1
- package/es/tx/builder/field-types/pointers.mjs +0 -33
- package/es/tx/builder/field-types/pointers.mjs.map +0 -1
- package/es/tx/builder/field-types/pointers2.d.ts +0 -23
- package/es/tx/builder/field-types/pointers2.mjs +0 -65
- package/es/tx/builder/field-types/pointers2.mjs.map +0 -1
- package/es/tx/builder/field-types/query-fee.mjs +0 -20
- package/es/tx/builder/field-types/query-fee.mjs.map +0 -1
- package/es/tx/builder/field-types/raw.mjs +0 -13
- package/es/tx/builder/field-types/raw.mjs.map +0 -1
- package/es/tx/builder/field-types/short-u-int-const.mjs +0 -20
- package/es/tx/builder/field-types/short-u-int-const.mjs.map +0 -1
- package/es/tx/builder/field-types/short-u-int.mjs +0 -10
- package/es/tx/builder/field-types/short-u-int.mjs.map +0 -1
- package/es/tx/builder/field-types/string.mjs +0 -10
- package/es/tx/builder/field-types/string.mjs.map +0 -1
- package/es/tx/builder/field-types/ttl.mjs +0 -32
- package/es/tx/builder/field-types/ttl.mjs.map +0 -1
- package/es/tx/builder/field-types/u-int.mjs +0 -13
- package/es/tx/builder/field-types/u-int.mjs.map +0 -1
- package/es/tx/builder/field-types/with-default.mjs +0 -9
- package/es/tx/builder/field-types/with-default.mjs.map +0 -1
- package/es/tx/builder/field-types/with-formatting.mjs +0 -9
- package/es/tx/builder/field-types/with-formatting.mjs.map +0 -1
- package/es/tx/builder/field-types/wrapped.mjs +0 -20
- package/es/tx/builder/field-types/wrapped.mjs.map +0 -1
- package/es/tx/builder/helpers.mjs +0 -209
- package/es/tx/builder/helpers.mjs.map +0 -1
- package/es/tx/builder/index.mjs +0 -98
- package/es/tx/builder/index.mjs.map +0 -1
- package/es/tx/builder/schema.generated.mjs +0 -2
- package/es/tx/builder/schema.generated.mjs.map +0 -1
- package/es/tx/builder/schema.mjs +0 -513
- package/es/tx/builder/schema.mjs.map +0 -1
- package/es/tx/execution-cost.mjs +0 -139
- package/es/tx/execution-cost.mjs.map +0 -1
- package/es/tx/transaction-signer.mjs +0 -24
- package/es/tx/transaction-signer.mjs.map +0 -1
- package/es/tx/validator.mjs +0 -214
- package/es/tx/validator.mjs.map +0 -1
- package/es/typings/@aeternity__uuid/index.d.mjs +0 -2
- package/es/typings/@aeternity__uuid/index.d.mjs.map +0 -1
- package/es/typings/bip32-path/index.d.mjs +0 -2
- package/es/typings/bip32-path/index.d.mjs.map +0 -1
- package/es/typings/blakejs/index.d.mjs +0 -2
- package/es/typings/blakejs/index.d.mjs.map +0 -1
- package/es/typings/sha-js/index.d.mjs +0 -2
- package/es/typings/sha-js/index.d.mjs.map +0 -1
- package/es/typings/tweetnacl-auth/index.d.mjs +0 -2
- package/es/typings/tweetnacl-auth/index.d.mjs.map +0 -1
- package/es/utils/amount-formatter.mjs +0 -97
- package/es/utils/amount-formatter.mjs.map +0 -1
- package/es/utils/autorest.mjs +0 -141
- package/es/utils/autorest.mjs.map +0 -1
- package/es/utils/bignumber.mjs +0 -21
- package/es/utils/bignumber.mjs.map +0 -1
- package/es/utils/bytes.mjs +0 -32
- package/es/utils/bytes.mjs.map +0 -1
- package/es/utils/crypto.mjs +0 -193
- package/es/utils/crypto.mjs.map +0 -1
- package/es/utils/encoder-types.mjs +0 -35
- package/es/utils/encoder-types.mjs.map +0 -1
- package/es/utils/encoder.mjs +0 -110
- package/es/utils/encoder.mjs.map +0 -1
- package/es/utils/errors.mjs +0 -756
- package/es/utils/errors.mjs.map +0 -1
- package/es/utils/hd-wallet.d.ts +0 -61
- package/es/utils/hd-wallet.mjs +0 -169
- package/es/utils/hd-wallet.mjs.map +0 -1
- package/es/utils/json-big.mjs +0 -25
- package/es/utils/json-big.mjs.map +0 -1
- package/es/utils/jwt.mjs +0 -120
- package/es/utils/jwt.mjs.map +0 -1
- package/es/utils/keystore.d.ts +0 -57
- package/es/utils/keystore.mjs +0 -140
- package/es/utils/keystore.mjs.map +0 -1
- package/es/utils/other.mjs +0 -49
- package/es/utils/other.mjs.map +0 -1
- package/es/utils/semver-satisfies.mjs +0 -12
- package/es/utils/semver-satisfies.mjs.map +0 -1
- package/es/utils/string.mjs +0 -18
- package/es/utils/string.mjs.map +0 -1
- package/es/utils/typed-data.mjs +0 -55
- package/es/utils/typed-data.mjs.map +0 -1
- package/es/utils/wrap-proxy.mjs +0 -15
- package/es/utils/wrap-proxy.mjs.map +0 -1
- package/src/AeSdk.ts +0 -75
- package/src/AeSdkAepp.ts +0 -179
- package/src/AeSdkBase.ts +0 -315
- package/src/AeSdkMethods.ts +0 -149
- package/src/AeSdkWallet.ts +0 -383
- package/src/Middleware.ts +0 -149
- package/src/MiddlewareSubscriber.ts +0 -207
- package/src/Node.ts +0 -213
- package/src/account/Base.ts +0 -224
- package/src/account/Generalized.ts +0 -113
- package/src/account/Ledger.ts +0 -161
- package/src/account/LedgerFactory.ts +0 -86
- package/src/account/Memory.ts +0 -218
- package/src/account/Rpc.ts +0 -170
- package/src/aens.ts +0 -372
- package/src/aepp-wallet-communication/connection/Browser.ts +0 -54
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +0 -57
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +0 -105
- package/src/aepp-wallet-communication/connection-proxy.ts +0 -19
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +0 -153
- package/src/aepp-wallet-communication/rpc/types.ts +0 -115
- package/src/aepp-wallet-communication/schema.ts +0 -212
- package/src/aepp-wallet-communication/wallet-detector.ts +0 -54
- package/src/apis/compiler/compiler.ts +0 -527
- package/src/apis/compiler/index.ts +0 -2
- package/src/apis/compiler/models/index.ts +0 -236
- package/src/apis/compiler/models/mappers.ts +0 -555
- package/src/apis/compiler/models/parameters.ts +0 -87
- package/src/apis/middleware/index.ts +0 -2
- package/src/apis/middleware/middleware.ts +0 -1928
- package/src/apis/middleware/models/index.ts +0 -1949
- package/src/apis/middleware/models/mappers.ts +0 -3808
- package/src/apis/middleware/models/parameters.ts +0 -493
- package/src/apis/node/index.ts +0 -2
- package/src/apis/node/models/index.ts +0 -1335
- package/src/apis/node/models/mappers.ts +0 -4508
- package/src/apis/node/models/parameters.ts +0 -188
- package/src/apis/node/node.ts +0 -1420
- package/src/chain.ts +0 -433
- package/src/channel/Base.ts +0 -302
- package/src/channel/Contract.ts +0 -465
- package/src/channel/Spend.ts +0 -385
- package/src/channel/handlers.ts +0 -386
- package/src/channel/internal.ts +0 -461
- package/src/contract/Contract.ts +0 -629
- package/src/contract/compiler/Base.ts +0 -123
- package/src/contract/compiler/Cli.ts +0 -173
- package/src/contract/compiler/Cli8.ts +0 -17
- package/src/contract/compiler/Http.ts +0 -134
- package/src/contract/compiler/HttpNode.ts +0 -32
- package/src/contract/compiler/getFileSystem.ts +0 -42
- package/src/contract/delegation-signature.ts +0 -88
- package/src/contract/ga.ts +0 -138
- package/src/deprecated.ts +0 -77
- package/src/index-browser.ts +0 -121
- package/src/index.ts +0 -6
- package/src/oracle.ts +0 -311
- package/src/send-transaction.ts +0 -136
- package/src/spend.ts +0 -136
- package/src/tx/builder/SchemaTypes.ts +0 -79
- package/src/tx/builder/common.ts +0 -74
- package/src/tx/builder/constants.ts +0 -155
- package/src/tx/builder/delegation/index.ts +0 -28
- package/src/tx/builder/delegation/schema.generated.ts +0 -143
- package/src/tx/builder/delegation/schema.ts +0 -61
- package/src/tx/builder/field-types/abi-version.ts +0 -44
- package/src/tx/builder/field-types/address.ts +0 -62
- package/src/tx/builder/field-types/array.ts +0 -19
- package/src/tx/builder/field-types/boolean.ts +0 -9
- package/src/tx/builder/field-types/coin-amount.ts +0 -26
- package/src/tx/builder/field-types/ct-version.ts +0 -83
- package/src/tx/builder/field-types/encoded.ts +0 -27
- package/src/tx/builder/field-types/entry.ts +0 -33
- package/src/tx/builder/field-types/enumeration.ts +0 -32
- package/src/tx/builder/field-types/fee.ts +0 -191
- package/src/tx/builder/field-types/field.ts +0 -9
- package/src/tx/builder/field-types/gas-limit.ts +0 -46
- package/src/tx/builder/field-types/gas-price.ts +0 -67
- package/src/tx/builder/field-types/index.ts +0 -40
- package/src/tx/builder/field-types/map.ts +0 -45
- package/src/tx/builder/field-types/mptree.ts +0 -243
- package/src/tx/builder/field-types/name-fee.ts +0 -32
- package/src/tx/builder/field-types/name-id.ts +0 -17
- package/src/tx/builder/field-types/name.ts +0 -18
- package/src/tx/builder/field-types/nonce.ts +0 -46
- package/src/tx/builder/field-types/pointers.ts +0 -41
- package/src/tx/builder/field-types/pointers2.ts +0 -62
- package/src/tx/builder/field-types/query-fee.ts +0 -25
- package/src/tx/builder/field-types/raw.ts +0 -9
- package/src/tx/builder/field-types/short-u-int-const.ts +0 -30
- package/src/tx/builder/field-types/short-u-int.ts +0 -11
- package/src/tx/builder/field-types/string.ts +0 -11
- package/src/tx/builder/field-types/ttl.ts +0 -34
- package/src/tx/builder/field-types/u-int.ts +0 -15
- package/src/tx/builder/field-types/with-default.ts +0 -18
- package/src/tx/builder/field-types/with-formatting.ts +0 -18
- package/src/tx/builder/field-types/wrapped.ts +0 -32
- package/src/tx/builder/helpers.ts +0 -252
- package/src/tx/builder/index.ts +0 -123
- package/src/tx/builder/schema.generated.ts +0 -2049
- package/src/tx/builder/schema.ts +0 -612
- package/src/tx/execution-cost.ts +0 -164
- package/src/tx/transaction-signer.ts +0 -27
- package/src/tx/validator.ts +0 -222
- package/src/typings/@aeternity__uuid/index.d.ts +0 -5
- package/src/typings/bip32-path/index.d.ts +0 -33
- package/src/typings/blakejs/index.d.ts +0 -5
- package/src/typings/sha-js/index.d.ts +0 -5
- package/src/typings/tweetnacl-auth/index.d.ts +0 -14
- package/src/utils/amount-formatter.ts +0 -98
- package/src/utils/autorest.ts +0 -153
- package/src/utils/bignumber.ts +0 -21
- package/src/utils/bytes.ts +0 -28
- package/src/utils/crypto.ts +0 -216
- package/src/utils/encoder-types.ts +0 -63
- package/src/utils/encoder.ts +0 -145
- package/src/utils/errors.ts +0 -777
- package/src/utils/hd-wallet.ts +0 -191
- package/src/utils/json-big.ts +0 -27
- package/src/utils/jwt.ts +0 -126
- package/src/utils/keystore.ts +0 -189
- package/src/utils/other.ts +0 -64
- package/src/utils/semver-satisfies.ts +0 -22
- package/src/utils/string.ts +0 -17
- package/src/utils/typed-data.ts +0 -69
- package/src/utils/wrap-proxy.ts +0 -24
- package/types-legacy/ts4.2/AeSdk.d.ts +0 -44
- package/types-legacy/ts4.2/AeSdkAepp.d.ts +0 -71
- package/types-legacy/ts4.2/AeSdkBase.d.ts +0 -164
- package/types-legacy/ts4.2/AeSdkMethods.d.ts +0 -146
- package/types-legacy/ts4.2/AeSdkWallet.d.ts +0 -90
- package/types-legacy/ts4.2/Middleware.d.ts +0 -46
- package/types-legacy/ts4.2/MiddlewareSubscriber.d.ts +0 -30
- package/types-legacy/ts4.2/Node.d.ts +0 -95
- package/types-legacy/ts4.2/account/Base.d.ts +0 -147
- package/types-legacy/ts4.2/account/Generalized.d.ts +0 -22
- package/types-legacy/ts4.2/account/Ledger.d.ts +0 -34
- package/types-legacy/ts4.2/account/LedgerFactory.d.ts +0 -39
- package/types-legacy/ts4.2/account/Memory.d.ts +0 -46
- package/types-legacy/ts4.2/account/Rpc.d.ts +0 -35
- package/types-legacy/ts4.2/aens.d.ts +0 -193
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/Browser.d.ts +0 -33
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +0 -22
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +0 -36
- package/types-legacy/ts4.2/aepp-wallet-communication/connection-proxy.d.ts +0 -11
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/RpcClient.d.ts +0 -34
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +0 -120
- package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +0 -129
- package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +0 -22
- package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +0 -86
- package/types-legacy/ts4.2/apis/compiler/index.d.ts +0 -2
- package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +0 -191
- package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +0 -22
- package/types-legacy/ts4.2/apis/compiler/models/parameters.d.ts +0 -12
- package/types-legacy/ts4.2/apis/middleware/index.d.ts +0 -2
- package/types-legacy/ts4.2/apis/middleware/middleware.d.ts +0 -327
- package/types-legacy/ts4.2/apis/middleware/models/index.d.ts +0 -1645
- package/types-legacy/ts4.2/apis/middleware/models/mappers.d.ts +0 -109
- package/types-legacy/ts4.2/apis/middleware/models/parameters.d.ts +0 -46
- package/types-legacy/ts4.2/apis/node/index.d.ts +0 -2
- package/types-legacy/ts4.2/apis/node/models/index.d.ts +0 -1129
- package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +0 -99
- package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +0 -17
- package/types-legacy/ts4.2/apis/node/node.d.ts +0 -236
- package/types-legacy/ts4.2/chain.d.ts +0 -227
- package/types-legacy/ts4.2/channel/Base.d.ts +0 -168
- package/types-legacy/ts4.2/channel/Contract.d.ts +0 -239
- package/types-legacy/ts4.2/channel/Spend.d.ts +0 -213
- package/types-legacy/ts4.2/channel/handlers.d.ts +0 -21
- package/types-legacy/ts4.2/channel/internal.d.ts +0 -232
- package/types-legacy/ts4.2/contract/Contract.d.ts +0 -164
- package/types-legacy/ts4.2/contract/compiler/Base.d.ts +0 -104
- package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +0 -26
- package/types-legacy/ts4.2/contract/compiler/Cli8.d.ts +0 -13
- package/types-legacy/ts4.2/contract/compiler/Http.d.ts +0 -28
- package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +0 -15
- package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +0 -6
- package/types-legacy/ts4.2/contract/delegation-signature.d.ts +0 -45
- package/types-legacy/ts4.2/contract/ga.d.ts +0 -59
- package/types-legacy/ts4.2/deprecated.d.ts +0 -62
- package/types-legacy/ts4.2/globals.d.ts +0 -16
- package/types-legacy/ts4.2/index-browser.d.ts +0 -51
- package/types-legacy/ts4.2/index.d.ts +0 -6
- package/types-legacy/ts4.2/oracle.d.ts +0 -125
- package/types-legacy/ts4.2/send-transaction.d.ts +0 -53
- package/types-legacy/ts4.2/spend.d.ts +0 -56
- package/types-legacy/ts4.2/tx/builder/SchemaTypes.d.ts +0 -37
- package/types-legacy/ts4.2/tx/builder/common.d.ts +0 -32
- package/types-legacy/ts4.2/tx/builder/constants.d.ts +0 -100
- package/types-legacy/ts4.2/tx/builder/delegation/index.d.ts +0 -20
- package/types-legacy/ts4.2/tx/builder/delegation/schema.d.ts +0 -136
- package/types-legacy/ts4.2/tx/builder/delegation/schema.generated.d.ts +0 -141
- package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +0 -19
- package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +0 -21
- package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +0 -11
- package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +0 -72
- package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +0 -11
- package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +0 -30
- package/types-legacy/ts4.2/tx/builder/field-types/field.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +0 -16
- package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +0 -17
- package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +0 -45
- package/types-legacy/ts4.2/tx/builder/field-types/map.d.ts +0 -13
- package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +0 -48
- package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +0 -18
- package/types-legacy/ts4.2/tx/builder/field-types/name-id.d.ts +0 -11
- package/types-legacy/ts4.2/tx/builder/field-types/name.d.ts +0 -13
- package/types-legacy/ts4.2/tx/builder/field-types/nonce.d.ts +0 -15
- package/types-legacy/ts4.2/tx/builder/field-types/pointers.d.ts +0 -26
- package/types-legacy/ts4.2/tx/builder/field-types/pointers2.d.ts +0 -26
- package/types-legacy/ts4.2/tx/builder/field-types/query-fee.d.ts +0 -19
- package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/ttl.d.ts +0 -20
- package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/with-default.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/with-formatting.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/wrapped.d.ts +0 -14
- package/types-legacy/ts4.2/tx/builder/helpers.d.ts +0 -119
- package/types-legacy/ts4.2/tx/builder/index.d.ts +0 -62
- package/types-legacy/ts4.2/tx/builder/schema.d.ts +0 -3256
- package/types-legacy/ts4.2/tx/builder/schema.generated.d.ts +0 -2047
- package/types-legacy/ts4.2/tx/execution-cost.d.ts +0 -53
- package/types-legacy/ts4.2/tx/transaction-signer.d.ts +0 -6
- package/types-legacy/ts4.2/tx/validator.d.ts +0 -18
- package/types-legacy/ts4.2/utils/amount-formatter.d.ts +0 -41
- package/types-legacy/ts4.2/utils/autorest.d.ts +0 -7
- package/types-legacy/ts4.2/utils/bignumber.d.ts +0 -13
- package/types-legacy/ts4.2/utils/bytes.d.ts +0 -9
- package/types-legacy/ts4.2/utils/crypto.d.ts +0 -100
- package/types-legacy/ts4.2/utils/encoder-types.d.ts +0 -61
- package/types-legacy/ts4.2/utils/encoder.d.ts +0 -24
- package/types-legacy/ts4.2/utils/errors.d.ts +0 -464
- package/types-legacy/ts4.2/utils/hd-wallet.d.ts +0 -68
- package/types-legacy/ts4.2/utils/json-big.d.ts +0 -5
- package/types-legacy/ts4.2/utils/jwt.d.ts +0 -53
- package/types-legacy/ts4.2/utils/keystore.d.ts +0 -57
- package/types-legacy/ts4.2/utils/other.d.ts +0 -32
- package/types-legacy/ts4.2/utils/semver-satisfies.d.ts +0 -1
- package/types-legacy/ts4.2/utils/string.d.ts +0 -12
- package/types-legacy/ts4.2/utils/typed-data.d.ts +0 -58
- package/types-legacy/ts4.2/utils/wrap-proxy.d.ts +0 -2
- package/types-legacy/ts4.5/AeSdk.d.ts +0 -44
- package/types-legacy/ts4.5/AeSdkAepp.d.ts +0 -71
- package/types-legacy/ts4.5/AeSdkBase.d.ts +0 -164
- package/types-legacy/ts4.5/AeSdkMethods.d.ts +0 -146
- package/types-legacy/ts4.5/AeSdkWallet.d.ts +0 -90
- package/types-legacy/ts4.5/Middleware.d.ts +0 -46
- package/types-legacy/ts4.5/MiddlewareSubscriber.d.ts +0 -30
- package/types-legacy/ts4.5/Node.d.ts +0 -95
- package/types-legacy/ts4.5/account/Base.d.ts +0 -147
- package/types-legacy/ts4.5/account/Generalized.d.ts +0 -22
- package/types-legacy/ts4.5/account/Ledger.d.ts +0 -34
- package/types-legacy/ts4.5/account/LedgerFactory.d.ts +0 -39
- package/types-legacy/ts4.5/account/Memory.d.ts +0 -46
- package/types-legacy/ts4.5/account/Rpc.d.ts +0 -35
- package/types-legacy/ts4.5/aens.d.ts +0 -193
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/Browser.d.ts +0 -33
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +0 -22
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +0 -36
- package/types-legacy/ts4.5/aepp-wallet-communication/connection-proxy.d.ts +0 -11
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/RpcClient.d.ts +0 -34
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +0 -120
- package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +0 -129
- package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +0 -22
- package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +0 -86
- package/types-legacy/ts4.5/apis/compiler/index.d.ts +0 -2
- package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +0 -191
- package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +0 -22
- package/types-legacy/ts4.5/apis/compiler/models/parameters.d.ts +0 -12
- package/types-legacy/ts4.5/apis/middleware/index.d.ts +0 -2
- package/types-legacy/ts4.5/apis/middleware/middleware.d.ts +0 -327
- package/types-legacy/ts4.5/apis/middleware/models/index.d.ts +0 -1645
- package/types-legacy/ts4.5/apis/middleware/models/mappers.d.ts +0 -109
- package/types-legacy/ts4.5/apis/middleware/models/parameters.d.ts +0 -46
- package/types-legacy/ts4.5/apis/node/index.d.ts +0 -2
- package/types-legacy/ts4.5/apis/node/models/index.d.ts +0 -1129
- package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +0 -99
- package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +0 -17
- package/types-legacy/ts4.5/apis/node/node.d.ts +0 -236
- package/types-legacy/ts4.5/chain.d.ts +0 -227
- package/types-legacy/ts4.5/channel/Base.d.ts +0 -168
- package/types-legacy/ts4.5/channel/Contract.d.ts +0 -239
- package/types-legacy/ts4.5/channel/Spend.d.ts +0 -213
- package/types-legacy/ts4.5/channel/handlers.d.ts +0 -21
- package/types-legacy/ts4.5/channel/internal.d.ts +0 -232
- package/types-legacy/ts4.5/contract/Contract.d.ts +0 -164
- package/types-legacy/ts4.5/contract/compiler/Base.d.ts +0 -104
- package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +0 -26
- package/types-legacy/ts4.5/contract/compiler/Cli8.d.ts +0 -13
- package/types-legacy/ts4.5/contract/compiler/Http.d.ts +0 -28
- package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +0 -15
- package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +0 -6
- package/types-legacy/ts4.5/contract/delegation-signature.d.ts +0 -45
- package/types-legacy/ts4.5/contract/ga.d.ts +0 -59
- package/types-legacy/ts4.5/deprecated.d.ts +0 -62
- package/types-legacy/ts4.5/index-browser.d.ts +0 -51
- package/types-legacy/ts4.5/index.d.ts +0 -5
- package/types-legacy/ts4.5/oracle.d.ts +0 -125
- package/types-legacy/ts4.5/send-transaction.d.ts +0 -53
- package/types-legacy/ts4.5/spend.d.ts +0 -56
- package/types-legacy/ts4.5/tx/builder/SchemaTypes.d.ts +0 -37
- package/types-legacy/ts4.5/tx/builder/common.d.ts +0 -32
- package/types-legacy/ts4.5/tx/builder/constants.d.ts +0 -100
- package/types-legacy/ts4.5/tx/builder/delegation/index.d.ts +0 -20
- package/types-legacy/ts4.5/tx/builder/delegation/schema.d.ts +0 -136
- package/types-legacy/ts4.5/tx/builder/delegation/schema.generated.d.ts +0 -141
- package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +0 -19
- package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +0 -21
- package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +0 -11
- package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +0 -72
- package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +0 -11
- package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +0 -30
- package/types-legacy/ts4.5/tx/builder/field-types/field.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +0 -16
- package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +0 -17
- package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +0 -45
- package/types-legacy/ts4.5/tx/builder/field-types/map.d.ts +0 -13
- package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +0 -48
- package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +0 -18
- package/types-legacy/ts4.5/tx/builder/field-types/name-id.d.ts +0 -11
- package/types-legacy/ts4.5/tx/builder/field-types/name.d.ts +0 -13
- package/types-legacy/ts4.5/tx/builder/field-types/nonce.d.ts +0 -15
- package/types-legacy/ts4.5/tx/builder/field-types/pointers.d.ts +0 -26
- package/types-legacy/ts4.5/tx/builder/field-types/pointers2.d.ts +0 -26
- package/types-legacy/ts4.5/tx/builder/field-types/query-fee.d.ts +0 -19
- package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/ttl.d.ts +0 -20
- package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/with-default.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/with-formatting.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/wrapped.d.ts +0 -14
- package/types-legacy/ts4.5/tx/builder/helpers.d.ts +0 -119
- package/types-legacy/ts4.5/tx/builder/index.d.ts +0 -62
- package/types-legacy/ts4.5/tx/builder/schema.d.ts +0 -3256
- package/types-legacy/ts4.5/tx/builder/schema.generated.d.ts +0 -2047
- package/types-legacy/ts4.5/tx/execution-cost.d.ts +0 -53
- package/types-legacy/ts4.5/tx/transaction-signer.d.ts +0 -6
- package/types-legacy/ts4.5/tx/validator.d.ts +0 -18
- package/types-legacy/ts4.5/utils/amount-formatter.d.ts +0 -41
- package/types-legacy/ts4.5/utils/autorest.d.ts +0 -7
- package/types-legacy/ts4.5/utils/bignumber.d.ts +0 -13
- package/types-legacy/ts4.5/utils/bytes.d.ts +0 -9
- package/types-legacy/ts4.5/utils/crypto.d.ts +0 -100
- package/types-legacy/ts4.5/utils/encoder-types.d.ts +0 -61
- package/types-legacy/ts4.5/utils/encoder.d.ts +0 -24
- package/types-legacy/ts4.5/utils/errors.d.ts +0 -464
- package/types-legacy/ts4.5/utils/hd-wallet.d.ts +0 -68
- package/types-legacy/ts4.5/utils/json-big.d.ts +0 -5
- package/types-legacy/ts4.5/utils/jwt.d.ts +0 -53
- package/types-legacy/ts4.5/utils/keystore.d.ts +0 -57
- package/types-legacy/ts4.5/utils/other.d.ts +0 -32
- package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +0 -1
- package/types-legacy/ts4.5/utils/string.d.ts +0 -12
- package/types-legacy/ts4.5/utils/typed-data.d.ts +0 -58
- package/types-legacy/ts4.5/utils/wrap-proxy.d.ts +0 -2
- /package/dist/{aepp-sdk.browser.js.LICENSE.txt → aepp-sdk.browser.cjs.LICENSE.txt} +0 -0
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
2
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
3
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
4
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
5
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
6
|
+
import { buildTxAsync } from '../tx/builder/index.js';
|
|
7
|
+
import { Tag } from '../tx/builder/constants.js';
|
|
8
|
+
import { LogicError, UnexpectedTsError } from '../utils/errors.js';
|
|
9
|
+
import { decode, encode, Encoding } from '../utils/encoder.js';
|
|
10
|
+
import { _getPollInterval } from '../chain.js';
|
|
11
|
+
import { sendTransaction } from '../send-transaction.js';
|
|
12
|
+
import OracleBase from './OracleBase.js';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @category oracle
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @category oracle
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @category oracle
|
|
24
|
+
*/
|
|
25
|
+
var _handleQueriesPromise = /*#__PURE__*/new WeakMap();
|
|
26
|
+
/**
|
|
27
|
+
* @category oracle
|
|
28
|
+
*/
|
|
29
|
+
export default class Oracle extends OracleBase {
|
|
30
|
+
/**
|
|
31
|
+
* @param account - Account to use as oracle
|
|
32
|
+
* @param options - Options object
|
|
33
|
+
*/
|
|
34
|
+
constructor(account, options) {
|
|
35
|
+
super(encode(decode(account.address), Encoding.OracleAddress), options);
|
|
36
|
+
_classPrivateFieldInitSpec(this, _handleQueriesPromise, void 0);
|
|
37
|
+
this.account = account;
|
|
38
|
+
this.options = options;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// TODO: support abiVersion other than 0
|
|
42
|
+
/**
|
|
43
|
+
* Register oracle
|
|
44
|
+
* @param queryFormat - Format of query
|
|
45
|
+
* @param responseFormat - Format of query response
|
|
46
|
+
* @param options - Options object
|
|
47
|
+
*/
|
|
48
|
+
async register(queryFormat, responseFormat, options = {}) {
|
|
49
|
+
const opt = {
|
|
50
|
+
...this.options,
|
|
51
|
+
...options
|
|
52
|
+
};
|
|
53
|
+
const oracleRegisterTx = await buildTxAsync({
|
|
54
|
+
_isInternalBuild: true,
|
|
55
|
+
...opt,
|
|
56
|
+
tag: Tag.OracleRegisterTx,
|
|
57
|
+
accountId: this.account.address,
|
|
58
|
+
queryFormat,
|
|
59
|
+
responseFormat
|
|
60
|
+
});
|
|
61
|
+
return sendTransaction(oracleRegisterTx, {
|
|
62
|
+
...opt,
|
|
63
|
+
onAccount: this.account
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Extend oracle ttl
|
|
69
|
+
* @param options - Options object
|
|
70
|
+
*/
|
|
71
|
+
async extendTtl(options = {}) {
|
|
72
|
+
const opt = {
|
|
73
|
+
...this.options,
|
|
74
|
+
...options
|
|
75
|
+
};
|
|
76
|
+
const oracleExtendTx = await buildTxAsync({
|
|
77
|
+
_isInternalBuild: true,
|
|
78
|
+
...opt,
|
|
79
|
+
tag: Tag.OracleExtendTx,
|
|
80
|
+
oracleId: this.address
|
|
81
|
+
});
|
|
82
|
+
return sendTransaction(oracleExtendTx, {
|
|
83
|
+
...opt,
|
|
84
|
+
onAccount: this.account
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Poll for oracle queries
|
|
90
|
+
* @param onQuery - OnQuery callback
|
|
91
|
+
* @param options - Options object
|
|
92
|
+
* @param options.interval - Poll interval (default: 5000)
|
|
93
|
+
* @returns Callback to stop polling function
|
|
94
|
+
*/
|
|
95
|
+
pollQueries(onQuery, options = {}) {
|
|
96
|
+
const opt = {
|
|
97
|
+
...this.options,
|
|
98
|
+
...options
|
|
99
|
+
};
|
|
100
|
+
const knownQueryIds = new Set();
|
|
101
|
+
let isChecking = false;
|
|
102
|
+
const checkNewQueries = async () => {
|
|
103
|
+
if (isChecking) return;
|
|
104
|
+
isChecking = true;
|
|
105
|
+
const filtered = (await this.getQueries(opt)).filter(({
|
|
106
|
+
id
|
|
107
|
+
}) => !knownQueryIds.has(id)).filter(query => options.includeResponded === true || query.decodedResponse === '');
|
|
108
|
+
filtered.forEach(query => knownQueryIds.add(query.id));
|
|
109
|
+
isChecking = false;
|
|
110
|
+
await Promise.all(filtered.map(query => onQuery(query)));
|
|
111
|
+
};
|
|
112
|
+
checkNewQueries();
|
|
113
|
+
const idPromise = (async _opt$interval => {
|
|
114
|
+
const interval = (_opt$interval = opt.interval) !== null && _opt$interval !== void 0 ? _opt$interval : await _getPollInterval('micro-block', opt);
|
|
115
|
+
return setInterval(async () => checkNewQueries(), interval);
|
|
116
|
+
})();
|
|
117
|
+
return async () => {
|
|
118
|
+
const id = await idPromise;
|
|
119
|
+
clearInterval(id);
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Respond to a query
|
|
125
|
+
* @param queryId - Oracle query id
|
|
126
|
+
* @param response - The response to query
|
|
127
|
+
* @param options - Options object
|
|
128
|
+
*/
|
|
129
|
+
async respondToQuery(queryId, response, options = {}) {
|
|
130
|
+
const opt = {
|
|
131
|
+
...this.options,
|
|
132
|
+
...options
|
|
133
|
+
};
|
|
134
|
+
const oracleRespondTx = await buildTxAsync({
|
|
135
|
+
_isInternalBuild: true,
|
|
136
|
+
...opt,
|
|
137
|
+
tag: Tag.OracleRespondTx,
|
|
138
|
+
oracleId: this.address,
|
|
139
|
+
queryId,
|
|
140
|
+
response
|
|
141
|
+
});
|
|
142
|
+
return sendTransaction(oracleRespondTx, {
|
|
143
|
+
...opt,
|
|
144
|
+
onAccount: this.account
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Respond to queries to oracle based on callback value
|
|
149
|
+
* @param getResponse - Callback to respond on query
|
|
150
|
+
* @param options - Options object
|
|
151
|
+
* @param options.interval - Poll interval (default: 5000)
|
|
152
|
+
* @returns Callback to stop polling function
|
|
153
|
+
*/
|
|
154
|
+
handleQueries(getResponse, options = {}) {
|
|
155
|
+
if (_classPrivateFieldGet(_handleQueriesPromise, this) != null) {
|
|
156
|
+
throw new LogicError('Another query handler already running, it needs to be stopped to run a new one');
|
|
157
|
+
}
|
|
158
|
+
const opt = {
|
|
159
|
+
...this.options,
|
|
160
|
+
...options
|
|
161
|
+
};
|
|
162
|
+
let queuePromise = Promise.resolve();
|
|
163
|
+
const handler = async q => {
|
|
164
|
+
const response = await getResponse(q);
|
|
165
|
+
const respondPromise = queuePromise.then(async () => this.respondToQuery(q.id, response, opt));
|
|
166
|
+
queuePromise = respondPromise.then(() => {}, () => {});
|
|
167
|
+
await respondPromise;
|
|
168
|
+
};
|
|
169
|
+
_classPrivateFieldSet(_handleQueriesPromise, this, Promise.resolve());
|
|
170
|
+
const stopPoll = this.pollQueries(async query => {
|
|
171
|
+
const promise = handler(query);
|
|
172
|
+
if (_classPrivateFieldGet(_handleQueriesPromise, this) == null) throw new UnexpectedTsError();
|
|
173
|
+
_classPrivateFieldSet(_handleQueriesPromise, this, _classPrivateFieldGet(_handleQueriesPromise, this).then(async () => promise).then(() => {}, () => {}));
|
|
174
|
+
return promise;
|
|
175
|
+
}, opt);
|
|
176
|
+
return async () => {
|
|
177
|
+
stopPoll();
|
|
178
|
+
await _classPrivateFieldGet(_handleQueriesPromise, this);
|
|
179
|
+
_classPrivateFieldSet(_handleQueriesPromise, this, undefined);
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
//# sourceMappingURL=Oracle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Oracle.js","names":["buildTxAsync","Tag","LogicError","UnexpectedTsError","decode","encode","Encoding","_getPollInterval","sendTransaction","OracleBase","_handleQueriesPromise","WeakMap","Oracle","constructor","account","options","address","OracleAddress","_classPrivateFieldInitSpec","register","queryFormat","responseFormat","opt","oracleRegisterTx","_isInternalBuild","tag","OracleRegisterTx","accountId","onAccount","extendTtl","oracleExtendTx","OracleExtendTx","oracleId","pollQueries","onQuery","knownQueryIds","Set","isChecking","checkNewQueries","filtered","getQueries","filter","id","has","query","includeResponded","decodedResponse","forEach","add","Promise","all","map","idPromise","_opt$interval","interval","setInterval","clearInterval","respondToQuery","queryId","response","oracleRespondTx","OracleRespondTx","handleQueries","getResponse","_classPrivateFieldGet","queuePromise","resolve","handler","q","respondPromise","then","_classPrivateFieldSet","stopPoll","promise","undefined"],"sources":["../../src/oracle/Oracle.ts"],"sourcesContent":["import { buildTxAsync, BuildTxOptions } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\nimport { LogicError, UnexpectedTsError } from '../utils/errors.js';\nimport { decode, encode, Encoded, Encoding } from '../utils/encoder.js';\nimport { _getPollInterval } from '../chain.js';\nimport { sendTransaction, SendTransactionOptions } from '../send-transaction.js';\nimport Node from '../Node.js';\nimport AccountBase from '../account/Base.js';\nimport OracleBase, { OracleQuery } from './OracleBase.js';\n\n/**\n * @category oracle\n */\ninterface OracleRegisterOptions\n extends BuildTxOptions<Tag.OracleRegisterTx, 'accountId' | 'queryFormat' | 'responseFormat'>,\n Omit<SendTransactionOptions, 'onNode' | 'onAccount'> {}\n\n/**\n * @category oracle\n */\ninterface OracleExtendTtlOptions\n extends BuildTxOptions<Tag.OracleExtendTx, 'callerId' | 'oracleId'>,\n Omit<SendTransactionOptions, 'onNode' | 'onAccount'> {}\n\n/**\n * @category oracle\n */\ninterface OracleRespondToQueryOptions\n extends BuildTxOptions<Tag.OracleRespondTx, 'callerId' | 'oracleId' | 'queryId' | 'response'>,\n Omit<SendTransactionOptions, 'onNode' | 'onAccount'> {}\n\n/**\n * @category oracle\n */\nexport default class Oracle extends OracleBase {\n /**\n * @param account - Account to use as oracle\n * @param options - Options object\n */\n constructor(\n public readonly account: AccountBase,\n public override options: OracleRegisterOptions &\n OracleExtendTtlOptions &\n Parameters<Oracle['handleQueries']>[1] & { onNode: Node },\n ) {\n super(encode(decode(account.address), Encoding.OracleAddress), options);\n }\n\n // TODO: support abiVersion other than 0\n /**\n * Register oracle\n * @param queryFormat - Format of query\n * @param responseFormat - Format of query response\n * @param options - Options object\n */\n async register(\n queryFormat: string,\n responseFormat: string,\n options: OracleRegisterOptions = {},\n ): ReturnType<typeof sendTransaction> {\n const opt = { ...this.options, ...options };\n const oracleRegisterTx = await buildTxAsync({\n _isInternalBuild: true,\n ...opt,\n tag: Tag.OracleRegisterTx,\n accountId: this.account.address,\n queryFormat,\n responseFormat,\n });\n return sendTransaction(oracleRegisterTx, { ...opt, onAccount: this.account });\n }\n\n /**\n * Extend oracle ttl\n * @param options - Options object\n */\n async extendTtl(options: OracleExtendTtlOptions = {}): ReturnType<typeof sendTransaction> {\n const opt = { ...this.options, ...options };\n const oracleExtendTx = await buildTxAsync({\n _isInternalBuild: true,\n ...opt,\n tag: Tag.OracleExtendTx,\n oracleId: this.address,\n });\n return sendTransaction(oracleExtendTx, { ...opt, onAccount: this.account });\n }\n\n /**\n * Poll for oracle queries\n * @param onQuery - OnQuery callback\n * @param options - Options object\n * @param options.interval - Poll interval (default: 5000)\n * @returns Callback to stop polling function\n */\n pollQueries(\n onQuery: (query: OracleQuery) => void,\n options: { interval?: number; includeResponded?: boolean } & Partial<\n Parameters<typeof _getPollInterval>[1]\n > = {},\n ): () => void {\n const opt = { ...this.options, ...options };\n const knownQueryIds = new Set();\n\n let isChecking = false;\n const checkNewQueries = async (): Promise<void> => {\n if (isChecking) return;\n isChecking = true;\n const filtered = (await this.getQueries(opt))\n .filter(({ id }) => !knownQueryIds.has(id))\n .filter((query) => options.includeResponded === true || query.decodedResponse === '');\n filtered.forEach((query) => knownQueryIds.add(query.id));\n isChecking = false;\n await Promise.all(filtered.map((query) => onQuery(query)));\n };\n\n checkNewQueries();\n const idPromise = (async () => {\n const interval = opt.interval ?? (await _getPollInterval('micro-block', opt));\n return setInterval(async () => checkNewQueries(), interval);\n })();\n\n return async () => {\n const id = await idPromise;\n clearInterval(id);\n };\n }\n\n /**\n * Respond to a query\n * @param queryId - Oracle query id\n * @param response - The response to query\n * @param options - Options object\n */\n async respondToQuery(\n queryId: Encoded.OracleQueryId,\n response: string,\n options: OracleRespondToQueryOptions = {},\n ): ReturnType<typeof sendTransaction> {\n const opt = { ...this.options, ...options };\n const oracleRespondTx = await buildTxAsync({\n _isInternalBuild: true,\n ...opt,\n tag: Tag.OracleRespondTx,\n oracleId: this.address,\n queryId,\n response,\n });\n return sendTransaction(oracleRespondTx, { ...opt, onAccount: this.account });\n }\n\n #handleQueriesPromise?: Promise<void>;\n\n /**\n * Respond to queries to oracle based on callback value\n * @param getResponse - Callback to respond on query\n * @param options - Options object\n * @param options.interval - Poll interval (default: 5000)\n * @returns Callback to stop polling function\n */\n handleQueries(\n getResponse: (q: OracleQuery) => Promise<string> | string,\n options: Parameters<Oracle['pollQueries']>[1] & OracleRespondToQueryOptions = {},\n ): () => void {\n if (this.#handleQueriesPromise != null) {\n throw new LogicError(\n 'Another query handler already running, it needs to be stopped to run a new one',\n );\n }\n const opt = { ...this.options, ...options };\n\n let queuePromise = Promise.resolve();\n const handler = async (q: OracleQuery): Promise<void> => {\n const response = await getResponse(q);\n const respondPromise = queuePromise.then(async () =>\n this.respondToQuery(q.id, response, opt),\n );\n queuePromise = respondPromise.then(\n () => {},\n () => {},\n );\n await respondPromise;\n };\n\n this.#handleQueriesPromise = Promise.resolve();\n const stopPoll = this.pollQueries(async (query: OracleQuery) => {\n const promise = handler(query);\n if (this.#handleQueriesPromise == null) throw new UnexpectedTsError();\n this.#handleQueriesPromise = this.#handleQueriesPromise\n .then(async () => promise)\n .then(\n () => {},\n () => {},\n );\n return promise;\n }, opt);\n\n return async () => {\n stopPoll();\n await this.#handleQueriesPromise;\n this.#handleQueriesPromise = undefined;\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { Encoded } from '../utils/encoder.js';
|
|
2
|
+
import Node from '../Node.js';
|
|
3
|
+
/**
|
|
4
|
+
* @category oracle
|
|
5
|
+
*/
|
|
6
|
+
type OracleQueryNode = Awaited<ReturnType<Node['getOracleQueryByPubkeyAndQueryId']>>;
|
|
7
|
+
/**
|
|
8
|
+
* @category oracle
|
|
9
|
+
*/
|
|
10
|
+
export interface OracleQuery extends OracleQueryNode {
|
|
11
|
+
id: Encoded.OracleQueryId;
|
|
12
|
+
decodedQuery: string;
|
|
13
|
+
decodedResponse: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* This class is needed because `getOracleQuery` would return different values depending on the
|
|
17
|
+
* oracle type.
|
|
18
|
+
* @category oracle
|
|
19
|
+
*/
|
|
20
|
+
export default class OracleBase {
|
|
21
|
+
readonly address: Encoded.OracleAddress;
|
|
22
|
+
options: {
|
|
23
|
+
onNode: Node;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* @param address - Oracle public key
|
|
27
|
+
*/
|
|
28
|
+
constructor(address: Encoded.OracleAddress, options: {
|
|
29
|
+
onNode: Node;
|
|
30
|
+
});
|
|
31
|
+
/**
|
|
32
|
+
* Get oracle entry from the node
|
|
33
|
+
* @param options - Options object
|
|
34
|
+
*/
|
|
35
|
+
getState(options?: {
|
|
36
|
+
onNode?: Node;
|
|
37
|
+
}): ReturnType<Node['getOracleByPubkey']>;
|
|
38
|
+
/**
|
|
39
|
+
* Get oracle queries from the node
|
|
40
|
+
* @param options - Options object
|
|
41
|
+
*/
|
|
42
|
+
getQueries(options?: {
|
|
43
|
+
onNode?: Node;
|
|
44
|
+
}): Promise<OracleQuery[]>;
|
|
45
|
+
/**
|
|
46
|
+
* Get oracle query entry from the node
|
|
47
|
+
* @param queryId - Oracle query ID
|
|
48
|
+
* @param options - Options object
|
|
49
|
+
*/
|
|
50
|
+
getQuery(queryId: Encoded.OracleQueryId, options?: {
|
|
51
|
+
onNode?: Node;
|
|
52
|
+
}): Promise<OracleQuery>;
|
|
53
|
+
}
|
|
54
|
+
export {};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { decode } from '../utils/encoder.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @category oracle
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @category oracle
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
function decodeQuery(queryEntry) {
|
|
12
|
+
return {
|
|
13
|
+
...queryEntry,
|
|
14
|
+
id: queryEntry.id,
|
|
15
|
+
decodedQuery: decode(queryEntry.query).toString(),
|
|
16
|
+
decodedResponse: decode(queryEntry.response).toString()
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* This class is needed because `getOracleQuery` would return different values depending on the
|
|
22
|
+
* oracle type.
|
|
23
|
+
* @category oracle
|
|
24
|
+
*/
|
|
25
|
+
export default class OracleBase {
|
|
26
|
+
/**
|
|
27
|
+
* @param address - Oracle public key
|
|
28
|
+
*/
|
|
29
|
+
constructor(address, options) {
|
|
30
|
+
this.address = address;
|
|
31
|
+
this.options = options;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Get oracle entry from the node
|
|
36
|
+
* @param options - Options object
|
|
37
|
+
*/
|
|
38
|
+
async getState(options = {}) {
|
|
39
|
+
const opt = {
|
|
40
|
+
...this.options,
|
|
41
|
+
...options
|
|
42
|
+
};
|
|
43
|
+
return opt.onNode.getOracleByPubkey(this.address);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Get oracle queries from the node
|
|
48
|
+
* @param options - Options object
|
|
49
|
+
*/
|
|
50
|
+
async getQueries(options = {}) {
|
|
51
|
+
const opt = {
|
|
52
|
+
...this.options,
|
|
53
|
+
...options
|
|
54
|
+
};
|
|
55
|
+
return (await opt.onNode.getOracleQueriesByPubkey(this.address)).oracleQueries.map(decodeQuery);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Get oracle query entry from the node
|
|
60
|
+
* @param queryId - Oracle query ID
|
|
61
|
+
* @param options - Options object
|
|
62
|
+
*/
|
|
63
|
+
async getQuery(queryId, options = {}) {
|
|
64
|
+
const {
|
|
65
|
+
onNode
|
|
66
|
+
} = {
|
|
67
|
+
...this.options,
|
|
68
|
+
...options
|
|
69
|
+
};
|
|
70
|
+
const queryEntry = await onNode.getOracleQueryByPubkeyAndQueryId(this.address, queryId);
|
|
71
|
+
return decodeQuery(queryEntry);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=OracleBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OracleBase.js","names":["decode","decodeQuery","queryEntry","id","decodedQuery","query","toString","decodedResponse","response","OracleBase","constructor","address","options","getState","opt","onNode","getOracleByPubkey","getQueries","getOracleQueriesByPubkey","oracleQueries","map","getQuery","queryId","getOracleQueryByPubkeyAndQueryId"],"sources":["../../src/oracle/OracleBase.ts"],"sourcesContent":["import { decode, Encoded } from '../utils/encoder.js';\nimport Node from '../Node.js';\n\n/**\n * @category oracle\n */\ntype OracleQueryNode = Awaited<ReturnType<Node['getOracleQueryByPubkeyAndQueryId']>>;\n\n/**\n * @category oracle\n */\nexport interface OracleQuery extends OracleQueryNode {\n // TODO: type should be corrected in node api\n id: Encoded.OracleQueryId;\n decodedQuery: string;\n decodedResponse: string;\n}\n\nfunction decodeQuery(queryEntry: OracleQueryNode): OracleQuery {\n return {\n ...queryEntry,\n id: queryEntry.id as Encoded.OracleQueryId,\n decodedQuery: decode(queryEntry.query as Encoded.OracleQuery).toString(),\n decodedResponse: decode(queryEntry.response as Encoded.OracleResponse).toString(),\n };\n}\n\n/**\n * This class is needed because `getOracleQuery` would return different values depending on the\n * oracle type.\n * @category oracle\n */\nexport default class OracleBase {\n /**\n * @param address - Oracle public key\n */\n constructor(\n public readonly address: Encoded.OracleAddress,\n public options: { onNode: Node },\n ) {}\n\n /**\n * Get oracle entry from the node\n * @param options - Options object\n */\n async getState(options: { onNode?: Node } = {}): ReturnType<Node['getOracleByPubkey']> {\n const opt = { ...this.options, ...options };\n return opt.onNode.getOracleByPubkey(this.address);\n }\n\n /**\n * Get oracle queries from the node\n * @param options - Options object\n */\n async getQueries(options: { onNode?: Node } = {}): Promise<OracleQuery[]> {\n const opt = { ...this.options, ...options };\n return (await opt.onNode.getOracleQueriesByPubkey(this.address)).oracleQueries.map(decodeQuery);\n }\n\n /**\n * Get oracle query entry from the node\n * @param queryId - Oracle query ID\n * @param options - Options object\n */\n async getQuery(\n queryId: Encoded.OracleQueryId,\n options: { onNode?: Node } = {},\n ): Promise<OracleQuery> {\n const { onNode } = { ...this.options, ...options };\n const queryEntry = await onNode.getOracleQueryByPubkeyAndQueryId(this.address, queryId);\n return decodeQuery(queryEntry);\n }\n}\n"],"mappings":"AAAA,SAASA,MAAM,QAAiB,qBAAqB;;AAGrD;AACA;AACA;;AAGA;AACA;AACA;;AAQA,SAASC,WAAWA,CAACC,UAA2B,EAAe;EAC7D,OAAO;IACL,GAAGA,UAAU;IACbC,EAAE,EAAED,UAAU,CAACC,EAA2B;IAC1CC,YAAY,EAAEJ,MAAM,CAACE,UAAU,CAACG,KAA4B,CAAC,CAACC,QAAQ,CAAC,CAAC;IACxEC,eAAe,EAAEP,MAAM,CAACE,UAAU,CAACM,QAAkC,CAAC,CAACF,QAAQ,CAAC;EAClF,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAMG,UAAU,CAAC;EAC9B;AACF;AACA;EACEC,WAAWA,CACOC,OAA8B,EACvCC,OAAyB,EAChC;IAAA,KAFgBD,OAA8B,GAA9BA,OAA8B;IAAA,KACvCC,OAAyB,GAAzBA,OAAyB;EAC/B;;EAEH;AACF;AACA;AACA;EACE,MAAMC,QAAQA,CAACD,OAA0B,GAAG,CAAC,CAAC,EAAyC;IACrF,MAAME,GAAG,GAAG;MAAE,GAAG,IAAI,CAACF,OAAO;MAAE,GAAGA;IAAQ,CAAC;IAC3C,OAAOE,GAAG,CAACC,MAAM,CAACC,iBAAiB,CAAC,IAAI,CAACL,OAAO,CAAC;EACnD;;EAEA;AACF;AACA;AACA;EACE,MAAMM,UAAUA,CAACL,OAA0B,GAAG,CAAC,CAAC,EAA0B;IACxE,MAAME,GAAG,GAAG;MAAE,GAAG,IAAI,CAACF,OAAO;MAAE,GAAGA;IAAQ,CAAC;IAC3C,OAAO,CAAC,MAAME,GAAG,CAACC,MAAM,CAACG,wBAAwB,CAAC,IAAI,CAACP,OAAO,CAAC,EAAEQ,aAAa,CAACC,GAAG,CAACnB,WAAW,CAAC;EACjG;;EAEA;AACF;AACA;AACA;AACA;EACE,MAAMoB,QAAQA,CACZC,OAA8B,EAC9BV,OAA0B,GAAG,CAAC,CAAC,EACT;IACtB,MAAM;MAAEG;IAAO,CAAC,GAAG;MAAE,GAAG,IAAI,CAACH,OAAO;MAAE,GAAGA;IAAQ,CAAC;IAClD,MAAMV,UAAU,GAAG,MAAMa,MAAM,CAACQ,gCAAgC,CAAC,IAAI,CAACZ,OAAO,EAAEW,OAAO,CAAC;IACvF,OAAOrB,WAAW,CAACC,UAAU,CAAC;EAChC;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { Optional } from '../utils/other.js';
|
|
2
|
+
import { BuildTxOptions } from '../tx/builder/index.js';
|
|
3
|
+
import { Tag } from '../tx/builder/constants.js';
|
|
4
|
+
import { Encoded } from '../utils/encoder.js';
|
|
5
|
+
import { _getPollInterval } from '../chain.js';
|
|
6
|
+
import { sendTransaction } from '../send-transaction.js';
|
|
7
|
+
import Node from '../Node.js';
|
|
8
|
+
import AccountBase from '../account/Base.js';
|
|
9
|
+
import OracleBase from './OracleBase.js';
|
|
10
|
+
/**
|
|
11
|
+
* @category oracle
|
|
12
|
+
*/
|
|
13
|
+
interface OracleClientPostQueryOptions extends Optional<Parameters<typeof sendTransaction>[1], 'onNode' | 'onAccount'>, BuildTxOptions<Tag.OracleQueryTx, 'oracleId' | 'senderId' | 'query'> {
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* @category oracle
|
|
17
|
+
*/
|
|
18
|
+
export default class OracleClient extends OracleBase {
|
|
19
|
+
options: {
|
|
20
|
+
onAccount: AccountBase;
|
|
21
|
+
onNode: Node;
|
|
22
|
+
} & Parameters<OracleClient['query']>[1];
|
|
23
|
+
/**
|
|
24
|
+
* @param address - Oracle public key
|
|
25
|
+
* @param options - Options object
|
|
26
|
+
* @param options.onAccount - Account to use
|
|
27
|
+
* @param options.onNode - Node to use
|
|
28
|
+
*/
|
|
29
|
+
constructor(address: Encoded.OracleAddress, options: {
|
|
30
|
+
onAccount: AccountBase;
|
|
31
|
+
onNode: Node;
|
|
32
|
+
} & Parameters<OracleClient['query']>[1]);
|
|
33
|
+
/**
|
|
34
|
+
* Post query to oracle
|
|
35
|
+
* @param query - Query to oracle
|
|
36
|
+
* @param options - Options object
|
|
37
|
+
* @returns Transaction details and query ID
|
|
38
|
+
*/
|
|
39
|
+
postQuery(query: string, options?: OracleClientPostQueryOptions): Promise<Awaited<ReturnType<typeof sendTransaction>> & {
|
|
40
|
+
queryId: Encoded.OracleQueryId;
|
|
41
|
+
}>;
|
|
42
|
+
/**
|
|
43
|
+
* Poll for oracle response to query
|
|
44
|
+
* @param queryId - Oracle Query id
|
|
45
|
+
* @param options - Options object
|
|
46
|
+
* @param options.interval - Poll interval
|
|
47
|
+
* @returns Oracle response
|
|
48
|
+
*/
|
|
49
|
+
pollForResponse(queryId: Encoded.OracleQueryId, options?: {
|
|
50
|
+
interval?: number;
|
|
51
|
+
} & Partial<Parameters<typeof _getPollInterval>[1]>): Promise<string>;
|
|
52
|
+
/**
|
|
53
|
+
* Post query to oracle and wait for response
|
|
54
|
+
* @param query - Query to oracle
|
|
55
|
+
* @param options - Options object
|
|
56
|
+
* @returns Oracle response
|
|
57
|
+
*/
|
|
58
|
+
query(query: string, options?: OracleClientPostQueryOptions & Parameters<OracleClient['pollForResponse']>[1]): Promise<string>;
|
|
59
|
+
}
|
|
60
|
+
export {};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { pause } from '../utils/other.js';
|
|
2
|
+
import { oracleQueryId } from '../tx/builder/helpers.js';
|
|
3
|
+
import { unpackTx, buildTxAsync } from '../tx/builder/index.js';
|
|
4
|
+
import { Tag } from '../tx/builder/constants.js';
|
|
5
|
+
import { RequestTimedOutError } from '../utils/errors.js';
|
|
6
|
+
import { decode } from '../utils/encoder.js';
|
|
7
|
+
import { _getPollInterval, getHeight } from '../chain.js';
|
|
8
|
+
import { sendTransaction } from '../send-transaction.js';
|
|
9
|
+
import OracleBase from './OracleBase.js';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* @category oracle
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* @category oracle
|
|
17
|
+
*/
|
|
18
|
+
export default class OracleClient extends OracleBase {
|
|
19
|
+
/**
|
|
20
|
+
* @param address - Oracle public key
|
|
21
|
+
* @param options - Options object
|
|
22
|
+
* @param options.onAccount - Account to use
|
|
23
|
+
* @param options.onNode - Node to use
|
|
24
|
+
*/
|
|
25
|
+
constructor(address, options) {
|
|
26
|
+
super(address, options);
|
|
27
|
+
this.options = options;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Post query to oracle
|
|
32
|
+
* @param query - Query to oracle
|
|
33
|
+
* @param options - Options object
|
|
34
|
+
* @returns Transaction details and query ID
|
|
35
|
+
*/
|
|
36
|
+
async postQuery(query, options = {}) {
|
|
37
|
+
const opt = {
|
|
38
|
+
...this.options,
|
|
39
|
+
...options
|
|
40
|
+
};
|
|
41
|
+
const senderId = opt.onAccount.address;
|
|
42
|
+
const oracleQueryTx = await buildTxAsync({
|
|
43
|
+
_isInternalBuild: true,
|
|
44
|
+
...opt,
|
|
45
|
+
tag: Tag.OracleQueryTx,
|
|
46
|
+
oracleId: this.address,
|
|
47
|
+
senderId,
|
|
48
|
+
query
|
|
49
|
+
});
|
|
50
|
+
const {
|
|
51
|
+
nonce
|
|
52
|
+
} = unpackTx(oracleQueryTx, Tag.OracleQueryTx);
|
|
53
|
+
return {
|
|
54
|
+
...(await sendTransaction(oracleQueryTx, opt)),
|
|
55
|
+
queryId: oracleQueryId(senderId, nonce, this.address)
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Poll for oracle response to query
|
|
61
|
+
* @param queryId - Oracle Query id
|
|
62
|
+
* @param options - Options object
|
|
63
|
+
* @param options.interval - Poll interval
|
|
64
|
+
* @returns Oracle response
|
|
65
|
+
*/
|
|
66
|
+
async pollForResponse(queryId, options = {}) {
|
|
67
|
+
var _opt$interval;
|
|
68
|
+
const opt = {
|
|
69
|
+
...this.options,
|
|
70
|
+
...options
|
|
71
|
+
};
|
|
72
|
+
const interval = (_opt$interval = opt.interval) !== null && _opt$interval !== void 0 ? _opt$interval : await _getPollInterval('micro-block', opt);
|
|
73
|
+
let height;
|
|
74
|
+
let ttl;
|
|
75
|
+
let response;
|
|
76
|
+
do {
|
|
77
|
+
({
|
|
78
|
+
response,
|
|
79
|
+
ttl
|
|
80
|
+
} = await this.getQuery(queryId, opt));
|
|
81
|
+
const responseBuffer = decode(response);
|
|
82
|
+
if (responseBuffer.length > 0) return responseBuffer.toString();
|
|
83
|
+
await pause(interval);
|
|
84
|
+
height = await getHeight({
|
|
85
|
+
...opt,
|
|
86
|
+
cached: true
|
|
87
|
+
});
|
|
88
|
+
} while (ttl >= height);
|
|
89
|
+
throw new RequestTimedOutError(height);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Post query to oracle and wait for response
|
|
94
|
+
* @param query - Query to oracle
|
|
95
|
+
* @param options - Options object
|
|
96
|
+
* @returns Oracle response
|
|
97
|
+
*/
|
|
98
|
+
async query(query, options = {}) {
|
|
99
|
+
const {
|
|
100
|
+
queryId
|
|
101
|
+
} = await this.postQuery(query, options);
|
|
102
|
+
return this.pollForResponse(queryId, options);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=OracleClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OracleClient.js","names":["pause","oracleQueryId","unpackTx","buildTxAsync","Tag","RequestTimedOutError","decode","_getPollInterval","getHeight","sendTransaction","OracleBase","OracleClient","constructor","address","options","postQuery","query","opt","senderId","onAccount","oracleQueryTx","_isInternalBuild","tag","OracleQueryTx","oracleId","nonce","queryId","pollForResponse","_opt$interval","interval","height","ttl","response","getQuery","responseBuffer","length","toString","cached"],"sources":["../../src/oracle/OracleClient.ts"],"sourcesContent":["import { pause, Optional } from '../utils/other.js';\nimport { oracleQueryId } from '../tx/builder/helpers.js';\nimport { unpackTx, buildTxAsync, BuildTxOptions } from '../tx/builder/index.js';\nimport { Tag } from '../tx/builder/constants.js';\nimport { RequestTimedOutError } from '../utils/errors.js';\nimport { decode, Encoded } from '../utils/encoder.js';\nimport { _getPollInterval, getHeight } from '../chain.js';\nimport { sendTransaction } from '../send-transaction.js';\nimport Node from '../Node.js';\nimport AccountBase from '../account/Base.js';\nimport OracleBase from './OracleBase.js';\n\n/**\n * @category oracle\n */\ninterface OracleClientPostQueryOptions\n extends Optional<Parameters<typeof sendTransaction>[1], 'onNode' | 'onAccount'>,\n BuildTxOptions<Tag.OracleQueryTx, 'oracleId' | 'senderId' | 'query'> {}\n\n/**\n * @category oracle\n */\nexport default class OracleClient extends OracleBase {\n /**\n * @param address - Oracle public key\n * @param options - Options object\n * @param options.onAccount - Account to use\n * @param options.onNode - Node to use\n */\n constructor(\n address: Encoded.OracleAddress,\n public override options: { onAccount: AccountBase; onNode: Node } & Parameters<\n OracleClient['query']\n >[1],\n ) {\n super(address, options);\n }\n\n /**\n * Post query to oracle\n * @param query - Query to oracle\n * @param options - Options object\n * @returns Transaction details and query ID\n */\n async postQuery(\n query: string,\n options: OracleClientPostQueryOptions = {},\n ): Promise<Awaited<ReturnType<typeof sendTransaction>> & { queryId: Encoded.OracleQueryId }> {\n const opt = { ...this.options, ...options };\n const senderId = opt.onAccount.address;\n\n const oracleQueryTx = await buildTxAsync({\n _isInternalBuild: true,\n ...opt,\n tag: Tag.OracleQueryTx,\n oracleId: this.address,\n senderId,\n query,\n });\n const { nonce } = unpackTx(oracleQueryTx, Tag.OracleQueryTx);\n return {\n ...(await sendTransaction(oracleQueryTx, opt)),\n queryId: oracleQueryId(senderId, nonce, this.address),\n };\n }\n\n /**\n * Poll for oracle response to query\n * @param queryId - Oracle Query id\n * @param options - Options object\n * @param options.interval - Poll interval\n * @returns Oracle response\n */\n async pollForResponse(\n queryId: Encoded.OracleQueryId,\n options: { interval?: number } & Partial<Parameters<typeof _getPollInterval>[1]> = {},\n ): Promise<string> {\n const opt = { ...this.options, ...options };\n const interval = opt.interval ?? (await _getPollInterval('micro-block', opt));\n let height;\n let ttl;\n let response;\n do {\n ({ response, ttl } = await this.getQuery(queryId, opt));\n const responseBuffer = decode(response as Encoded.OracleResponse);\n if (responseBuffer.length > 0) return responseBuffer.toString();\n await pause(interval);\n height = await getHeight({ ...opt, cached: true });\n } while (ttl >= height);\n throw new RequestTimedOutError(height);\n }\n\n /**\n * Post query to oracle and wait for response\n * @param query - Query to oracle\n * @param options - Options object\n * @returns Oracle response\n */\n async query(\n query: string,\n options: OracleClientPostQueryOptions & Parameters<OracleClient['pollForResponse']>[1] = {},\n ): Promise<string> {\n const { queryId } = await this.postQuery(query, options);\n return this.pollForResponse(queryId, options);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/es/send-transaction.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { ValidatorResult } from './tx/validator';
|
|
2
|
-
import { TransactionError } from './utils/errors';
|
|
3
|
-
import Node
|
|
4
|
-
import { SignedTx } from './apis/node';
|
|
5
|
-
import { Encoded } from './utils/encoder';
|
|
6
|
-
import AccountBase from './account/Base';
|
|
7
|
-
import { poll, waitForTxConfirm } from './chain';
|
|
1
|
+
import { ValidatorResult } from './tx/validator.js';
|
|
2
|
+
import { TransactionError } from './utils/errors.js';
|
|
3
|
+
import Node from './Node.js';
|
|
4
|
+
import { SignedTx } from './apis/node/index.js';
|
|
5
|
+
import { Encoded } from './utils/encoder.js';
|
|
6
|
+
import AccountBase from './account/Base.js';
|
|
7
|
+
import { poll, waitForTxConfirm } from './chain.js';
|
|
8
8
|
/**
|
|
9
9
|
* @category exception
|
|
10
10
|
*/
|
|
@@ -45,7 +45,7 @@ type SendTransactionOptionsType = {
|
|
|
45
45
|
} & Parameters<typeof poll>[1] & Omit<Parameters<typeof waitForTxConfirm>[1], 'confirm'> & Parameters<AccountBase['signTransaction']>[1];
|
|
46
46
|
export interface SendTransactionOptions extends SendTransactionOptionsType {
|
|
47
47
|
}
|
|
48
|
-
interface SendTransactionReturnType extends Partial<
|
|
48
|
+
interface SendTransactionReturnType extends Partial<SignedTx> {
|
|
49
49
|
hash: Encoded.TxHash;
|
|
50
50
|
rawTx: Encoded.Transaction;
|
|
51
51
|
confirmationHeight?: number;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import verifyTransaction from './tx/validator.js';
|
|
2
|
+
import { ensureError } from './utils/other.js';
|
|
3
|
+
import { TransactionError } from './utils/errors.js';
|
|
4
|
+
import { buildTxHash } from './tx/builder/index.js';
|
|
5
|
+
import { poll, waitForTxConfirm } from './chain.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @category exception
|
|
9
|
+
*/
|
|
10
|
+
export class InvalidTxError extends TransactionError {
|
|
11
|
+
constructor(message, validation, transaction) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = 'InvalidTxError';
|
|
14
|
+
this.validation = validation;
|
|
15
|
+
this.transaction = transaction;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Signs and submits transaction for mining
|
|
21
|
+
* @category chain
|
|
22
|
+
* @param txUnsigned - Transaction to sign and submit
|
|
23
|
+
* @param options - Options
|
|
24
|
+
* @returns Transaction details
|
|
25
|
+
*/
|
|
26
|
+
export async function sendTransaction(txUnsigned, {
|
|
27
|
+
onNode,
|
|
28
|
+
onAccount,
|
|
29
|
+
verify = true,
|
|
30
|
+
waitMined = true,
|
|
31
|
+
confirm,
|
|
32
|
+
innerTx,
|
|
33
|
+
...options
|
|
34
|
+
}) {
|
|
35
|
+
const tx = await onAccount.signTransaction(txUnsigned, {
|
|
36
|
+
...options,
|
|
37
|
+
onNode,
|
|
38
|
+
innerTx,
|
|
39
|
+
networkId: await onNode.getNetworkId()
|
|
40
|
+
});
|
|
41
|
+
if (innerTx === true) return {
|
|
42
|
+
hash: buildTxHash(tx),
|
|
43
|
+
rawTx: tx
|
|
44
|
+
};
|
|
45
|
+
if (verify) {
|
|
46
|
+
const validation = await verifyTransaction(tx, onNode);
|
|
47
|
+
if (validation.length > 0) {
|
|
48
|
+
const message = `Transaction verification errors: ${validation.map(v => v.message).join(', ')}`;
|
|
49
|
+
throw new InvalidTxError(message, validation, tx);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
try {
|
|
53
|
+
let __queue;
|
|
54
|
+
try {
|
|
55
|
+
__queue = onAccount != null ? `tx-${onAccount.address}` : null;
|
|
56
|
+
} catch (error) {
|
|
57
|
+
__queue = null;
|
|
58
|
+
}
|
|
59
|
+
const {
|
|
60
|
+
txHash
|
|
61
|
+
} = await onNode.postTransaction({
|
|
62
|
+
tx
|
|
63
|
+
}, {
|
|
64
|
+
requestOptions: {
|
|
65
|
+
customHeaders: {
|
|
66
|
+
// TODO: remove __retry-code after fixing https://github.com/aeternity/aeternity/issues/3803
|
|
67
|
+
'__retry-code': '400',
|
|
68
|
+
...(__queue != null ? {
|
|
69
|
+
__queue
|
|
70
|
+
} : {})
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
if (waitMined) {
|
|
75
|
+
const pollResult = await poll(txHash, {
|
|
76
|
+
onNode,
|
|
77
|
+
...options
|
|
78
|
+
});
|
|
79
|
+
const txData = {
|
|
80
|
+
...pollResult,
|
|
81
|
+
hash: pollResult.hash,
|
|
82
|
+
rawTx: tx
|
|
83
|
+
};
|
|
84
|
+
// wait for transaction confirmation
|
|
85
|
+
if (confirm != null && +confirm > 0) {
|
|
86
|
+
const c = typeof confirm === 'boolean' ? undefined : confirm;
|
|
87
|
+
return {
|
|
88
|
+
...txData,
|
|
89
|
+
confirmationHeight: await waitForTxConfirm(txHash, {
|
|
90
|
+
onNode,
|
|
91
|
+
confirm: c,
|
|
92
|
+
...options
|
|
93
|
+
})
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
return txData;
|
|
97
|
+
}
|
|
98
|
+
return {
|
|
99
|
+
hash: txHash,
|
|
100
|
+
rawTx: tx
|
|
101
|
+
};
|
|
102
|
+
} catch (error) {
|
|
103
|
+
ensureError(error);
|
|
104
|
+
throw Object.assign(error, {
|
|
105
|
+
rawTx: tx,
|
|
106
|
+
verifyTx: async () => verifyTransaction(tx, onNode)
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=send-transaction.js.map
|