@aeternity/aepp-sdk 11.0.1 → 12.1.1
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/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -22
- package/dist/aepp-sdk.browser-script.js.map +1 -1
- package/dist/aepp-sdk.browser.js +2 -1
- package/dist/aepp-sdk.browser.js.LICENSE.txt +1 -0
- package/dist/aepp-sdk.browser.js.map +1 -1
- package/dist/aepp-sdk.js +20765 -1
- package/dist/aepp-sdk.js.map +1 -1
- package/es/AeSdk.d.ts +37 -0
- package/es/AeSdk.mjs +81 -0
- package/es/AeSdk.mjs.map +1 -0
- package/es/AeSdkAepp.d.ts +70 -0
- package/es/AeSdkAepp.mjs +176 -0
- package/es/AeSdkAepp.mjs.map +1 -0
- package/es/AeSdkBase.d.ts +213 -0
- package/es/AeSdkBase.mjs +314 -0
- package/es/AeSdkBase.mjs.map +1 -0
- package/es/AeSdkWallet.d.ts +104 -0
- package/es/AeSdkWallet.mjs +326 -0
- package/es/AeSdkWallet.mjs.map +1 -0
- package/es/Node.d.ts +41 -0
- package/es/Node.mjs +147 -0
- package/es/Node.mjs.map +1 -0
- package/es/account/Base.d.ts +68 -0
- package/es/account/Base.mjs +123 -0
- package/es/account/Base.mjs.map +1 -0
- package/es/account/Memory.d.ts +26 -0
- package/es/account/Memory.mjs +103 -0
- package/es/account/Memory.mjs.map +1 -0
- package/es/account/Rpc.d.ts +27 -0
- package/es/account/Rpc.mjs +80 -0
- package/es/account/Rpc.mjs.map +1 -0
- package/es/aens.d.ts +222 -0
- package/es/aens.mjs +338 -0
- package/es/aens.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/Browser.d.ts +33 -0
- package/es/aepp-wallet-communication/connection/Browser.mjs +73 -0
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +58 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +146 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -0
- package/es/aepp-wallet-communication/connection-proxy.d.ts +11 -0
- package/{src/utils/crypto-ts.ts → es/aepp-wallet-communication/connection-proxy.mjs} +16 -11
- package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +169 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -0
- package/es/aepp-wallet-communication/rpc/types.d.ts +77 -0
- package/es/aepp-wallet-communication/rpc/types.mjs +3 -0
- package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -0
- package/es/aepp-wallet-communication/schema.d.ts +105 -46
- package/es/aepp-wallet-communication/schema.mjs +251 -0
- package/es/aepp-wallet-communication/schema.mjs.map +1 -0
- package/es/aepp-wallet-communication/wallet-detector.d.ts +25 -0
- package/es/aepp-wallet-communication/wallet-detector.mjs +62 -0
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -0
- package/es/apis/compiler/compiler.d.ts +92 -0
- package/es/apis/compiler/compiler.mjs +576 -0
- package/es/apis/compiler/compiler.mjs.map +1 -0
- package/es/apis/compiler/index.d.ts +2 -0
- package/es/apis/compiler/index.mjs +3 -0
- package/es/apis/compiler/index.mjs.map +1 -0
- package/es/apis/compiler/models/index.d.ts +248 -0
- package/es/apis/compiler/models/index.mjs +48 -0
- package/es/apis/compiler/models/index.mjs.map +1 -0
- package/es/apis/compiler/models/mappers.d.ts +23 -0
- package/es/apis/compiler/models/mappers.mjs +585 -0
- package/es/apis/compiler/models/mappers.mjs.map +1 -0
- package/es/apis/compiler/models/parameters.d.ts +13 -0
- package/es/apis/compiler/models/parameters.mjs +71 -0
- package/es/apis/compiler/models/parameters.mjs.map +1 -0
- package/es/apis/node/index.d.ts +2 -0
- package/es/apis/node/index.mjs +3 -0
- package/es/apis/node/index.mjs.map +1 -0
- package/es/apis/node/models/index.d.ts +1065 -0
- package/es/apis/node/models/index.mjs +2 -0
- package/es/apis/node/models/index.mjs.map +1 -0
- package/es/apis/node/models/mappers.d.ts +95 -0
- package/es/apis/node/models/mappers.mjs +4166 -0
- package/es/apis/node/models/mappers.mjs.map +1 -0
- package/es/apis/node/models/parameters.d.ts +17 -0
- package/es/apis/node/models/parameters.mjs +165 -0
- package/es/apis/node/models/parameters.mjs.map +1 -0
- package/es/apis/node/node.d.ts +215 -0
- package/es/apis/node/node.mjs +1165 -0
- package/es/apis/node/node.mjs.map +1 -0
- package/es/chain.d.ts +248 -0
- package/es/chain.mjs +560 -0
- package/es/chain.mjs.map +1 -0
- package/es/channel/handlers.d.ts +34 -0
- package/es/channel/handlers.mjs +164 -131
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/index.d.ts +625 -0
- package/es/channel/index.mjs +897 -902
- package/es/channel/index.mjs.map +1 -1
- package/es/channel/internal.d.ts +101 -0
- package/es/channel/internal.mjs +136 -85
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/Compiler.d.ts +18 -0
- package/es/contract/Compiler.mjs +68 -0
- package/es/contract/Compiler.mjs.map +1 -0
- package/es/contract/aci.d.ts +127 -0
- package/es/contract/aci.mjs +225 -193
- package/es/contract/aci.mjs.map +1 -1
- package/es/contract/ga.d.ts +69 -0
- package/es/contract/ga.mjs +195 -0
- package/es/contract/ga.mjs.map +1 -0
- package/es/contract/methods.d.ts +71 -0
- package/es/contract/methods.mjs +104 -0
- package/es/contract/methods.mjs.map +1 -0
- package/es/deprecated/index.d.ts +143 -0
- package/es/deprecated/index.mjs +162 -0
- package/es/deprecated/index.mjs.map +1 -0
- package/es/deprecated/methods.d.ts +18 -0
- package/es/deprecated/methods.mjs +26 -0
- package/es/deprecated/methods.mjs.map +1 -0
- package/es/index.d.ts +35 -0
- package/es/index.mjs +35 -40
- package/es/index.mjs.map +1 -1
- package/es/oracle.d.ts +161 -0
- package/es/oracle.mjs +306 -0
- package/es/oracle.mjs.map +1 -0
- package/es/spend.d.ts +62 -0
- package/es/spend.mjs +111 -0
- package/es/spend.mjs.map +1 -0
- package/es/tx/builder/address.d.ts +25 -0
- package/es/tx/builder/address.mjs +45 -0
- package/es/tx/builder/address.mjs.map +1 -0
- package/es/tx/builder/constants.d.ts +70 -0
- package/es/tx/builder/constants.mjs +61 -47
- package/es/tx/builder/constants.mjs.map +1 -1
- package/es/tx/builder/field-types/coin-amount.d.ts +13 -0
- package/es/tx/builder/field-types/coin-amount.mjs +26 -0
- package/es/tx/builder/field-types/coin-amount.mjs.map +1 -0
- package/es/tx/builder/field-types/deposit.d.ts +15 -0
- package/es/tx/builder/field-types/deposit.mjs +19 -0
- package/es/tx/builder/field-types/deposit.mjs.map +1 -0
- package/es/tx/builder/field-types/fee.d.ts +25 -0
- package/es/tx/builder/field-types/fee.mjs +150 -0
- package/es/tx/builder/field-types/fee.mjs.map +1 -0
- package/es/tx/builder/field-types/field.d.ts +6 -0
- package/es/tx/builder/field-types/field.mjs +15 -0
- package/es/tx/builder/field-types/field.mjs.map +1 -0
- package/es/tx/builder/field-types/gas-limit.d.ts +12 -0
- package/es/tx/builder/field-types/gas-limit.mjs +33 -0
- package/es/tx/builder/field-types/gas-limit.mjs.map +1 -0
- package/es/tx/builder/field-types/gas-price.d.ts +8 -0
- package/es/tx/builder/field-types/gas-price.mjs +18 -0
- package/es/tx/builder/field-types/gas-price.mjs.map +1 -0
- package/es/tx/builder/field-types/index.d.ts +70 -0
- package/es/tx/builder/field-types/index.mjs +25 -0
- package/es/tx/builder/field-types/index.mjs.map +1 -0
- package/es/tx/builder/field-types/name-fee.d.ts +20 -0
- package/es/tx/builder/field-types/name-fee.mjs +24 -0
- package/es/tx/builder/field-types/name-fee.mjs.map +1 -0
- package/es/tx/builder/field-types/name-id.d.ts +14 -0
- package/es/tx/builder/field-types/name-id.mjs +19 -0
- package/es/tx/builder/field-types/name-id.mjs.map +1 -0
- package/es/tx/builder/field-types/name.d.ts +13 -0
- package/es/tx/builder/field-types/name.mjs +18 -0
- package/es/tx/builder/field-types/name.mjs.map +1 -0
- package/es/tx/builder/field-types/short-u-int.d.ts +6 -0
- package/es/tx/builder/field-types/short-u-int.mjs +12 -0
- package/es/tx/builder/field-types/short-u-int.mjs.map +1 -0
- package/es/tx/builder/field-types/u-int.d.ts +8 -0
- package/es/tx/builder/field-types/u-int.mjs +14 -0
- package/es/tx/builder/field-types/u-int.mjs.map +1 -0
- package/es/tx/builder/helpers.d.ts +125 -0
- package/es/tx/builder/helpers.mjs +94 -198
- package/es/tx/builder/helpers.mjs.map +1 -1
- package/es/tx/builder/index.d.ts +88 -0
- package/es/tx/builder/index.mjs +167 -358
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +1201 -0
- package/es/tx/builder/schema.mjs +175 -561
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/tx/index.d.ts +64 -0
- package/es/tx/index.mjs +151 -265
- package/es/tx/index.mjs.map +1 -1
- package/es/tx/validator.d.ts +20 -0
- package/es/tx/validator.mjs +104 -124
- package/es/tx/validator.mjs.map +1 -1
- package/es/typings/@aeternity__argon2-browser/index.d.mjs +2 -0
- package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +1 -0
- package/es/typings/@aeternity__uuid/index.d.mjs +2 -0
- package/es/typings/@aeternity__uuid/index.d.mjs.map +1 -0
- package/es/typings/bip32-path/index.d.mjs +2 -0
- package/es/typings/bip32-path/index.d.mjs.map +1 -0
- package/es/typings/blakejs/index.d.mjs.map +1 -1
- package/es/typings/sha-js/index.d.mjs +2 -0
- package/es/typings/sha-js/index.d.mjs.map +1 -0
- package/es/typings/tweetnacl-auth/index.d.mjs +2 -0
- package/es/typings/tweetnacl-auth/index.d.mjs.map +1 -0
- package/es/utils/amount-formatter.d.ts +42 -0
- package/es/utils/amount-formatter.mjs +36 -49
- package/es/utils/amount-formatter.mjs.map +1 -1
- package/es/utils/autorest.d.ts +6 -0
- package/es/utils/autorest.mjs +97 -0
- package/es/utils/autorest.mjs.map +1 -0
- package/es/utils/bignumber.d.ts +13 -0
- package/es/utils/bignumber.mjs +11 -8
- package/es/utils/bignumber.mjs.map +1 -1
- package/es/{bytes.d.ts → utils/bytes.d.ts} +10 -13
- package/es/utils/bytes.mjs +11 -15
- package/es/utils/bytes.mjs.map +1 -1
- package/es/utils/crypto.d.ts +88 -0
- package/es/utils/crypto.mjs +64 -98
- package/es/utils/crypto.mjs.map +1 -1
- package/es/utils/encoder-types.d.ts +61 -0
- package/es/utils/encoder-types.mjs +36 -0
- package/es/utils/encoder-types.mjs.map +1 -0
- package/es/utils/encoder.d.ts +25 -0
- package/es/utils/encoder.mjs +71 -59
- package/es/utils/encoder.mjs.map +1 -1
- package/es/{errors.d.ts → utils/errors.d.ts} +246 -59
- package/es/utils/errors.mjs +313 -136
- package/es/utils/errors.mjs.map +1 -1
- package/es/utils/hd-wallet.d.ts +50 -0
- package/es/utils/hd-wallet.mjs +86 -45
- package/es/utils/hd-wallet.mjs.map +1 -1
- package/es/utils/json-big.d.ts +5 -0
- package/es/utils/json-big.mjs +12 -16
- package/es/utils/json-big.mjs.map +1 -1
- package/es/utils/keystore.d.ts +51 -0
- package/es/utils/keystore.mjs +101 -194
- package/es/utils/keystore.mjs.map +1 -1
- package/es/{mptree.d.ts → utils/mptree.d.ts} +6 -9
- package/es/utils/mptree.mjs +22 -18
- package/es/utils/mptree.mjs.map +1 -1
- package/es/utils/other.d.ts +20 -0
- package/es/utils/other.mjs +32 -35
- package/es/utils/other.mjs.map +1 -1
- package/es/utils/semver-satisfies.d.ts +1 -0
- package/es/utils/semver-satisfies.mjs +2 -2
- package/es/utils/semver-satisfies.mjs.map +1 -1
- package/es/utils/string.d.ts +24 -0
- package/es/utils/string.mjs +8 -10
- package/es/utils/string.mjs.map +1 -1
- package/package.json +55 -43
- package/src/AeSdk.ts +68 -0
- package/src/AeSdkAepp.ts +176 -0
- package/src/AeSdkBase.ts +338 -0
- package/src/AeSdkWallet.ts +348 -0
- package/src/Node.ts +173 -0
- package/src/account/Base.ts +124 -0
- package/src/account/Memory.ts +98 -0
- package/src/account/Rpc.ts +69 -0
- package/src/aens.ts +407 -0
- package/src/aepp-wallet-communication/connection/Browser.ts +71 -0
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +59 -0
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +122 -0
- package/{es/utils/crypto-ts.mjs → src/aepp-wallet-communication/connection-proxy.ts} +18 -18
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +143 -0
- package/src/aepp-wallet-communication/rpc/types.ts +66 -0
- package/src/aepp-wallet-communication/schema.ts +224 -0
- package/src/aepp-wallet-communication/wallet-detector.ts +72 -0
- package/src/apis/compiler/code-model-v4.yaml +2649 -0
- package/src/apis/compiler/compiler.ts +585 -0
- package/src/apis/compiler/index.ts +2 -0
- package/src/apis/compiler/models/index.ts +301 -0
- package/src/apis/compiler/models/mappers.ts +583 -0
- package/src/apis/compiler/models/parameters.ts +93 -0
- package/src/apis/node/code-model-v4.yaml +10080 -0
- package/src/apis/node/index.ts +2 -0
- package/src/apis/node/models/index.ts +1257 -0
- package/src/apis/node/models/mappers.ts +4280 -0
- package/src/apis/node/models/parameters.ts +188 -0
- package/src/apis/node/node.ts +1299 -0
- package/src/chain.ts +502 -0
- package/src/channel/handlers.ts +817 -0
- package/src/channel/index.ts +1025 -0
- package/src/channel/internal.ts +361 -0
- package/src/contract/Compiler.ts +67 -0
- package/src/contract/aci.ts +538 -0
- package/src/contract/ga.ts +199 -0
- package/src/contract/methods.ts +123 -0
- package/src/deprecated/index.ts +172 -0
- package/src/deprecated/methods.ts +25 -0
- package/src/index.ts +56 -0
- package/src/oracle.ts +364 -0
- package/src/spend.ts +164 -0
- package/src/tx/builder/address.ts +50 -0
- package/src/tx/builder/constants.ts +126 -0
- package/src/tx/builder/field-types/coin-amount.ts +27 -0
- package/src/tx/builder/field-types/deposit.ts +21 -0
- package/src/tx/builder/field-types/fee.ts +143 -0
- package/src/tx/builder/field-types/field.ts +9 -0
- package/src/tx/builder/field-types/gas-limit.ts +41 -0
- package/src/tx/builder/field-types/gas-price.ts +16 -0
- package/src/tx/builder/field-types/index.ts +45 -0
- package/src/tx/builder/field-types/name-fee.ts +32 -0
- package/src/tx/builder/field-types/name-id.ts +20 -0
- package/src/tx/builder/field-types/name.ts +18 -0
- package/src/tx/builder/field-types/short-u-int.ts +11 -0
- package/src/tx/builder/field-types/u-int.ts +16 -0
- package/src/tx/builder/helpers.ts +248 -0
- package/src/tx/builder/index.ts +400 -0
- package/src/tx/builder/schema.ts +727 -0
- package/src/tx/index.ts +192 -0
- package/src/tx/validator.ts +230 -0
- package/src/typings/@aeternity__argon2-browser/index.d.ts +3 -0
- package/src/typings/@aeternity__uuid/index.d.ts +5 -0
- package/src/typings/bip32-path/index.d.ts +33 -0
- package/src/typings/blakejs/index.d.ts +4 -32
- package/src/typings/sha-js/index.d.ts +5 -0
- package/src/typings/tweetnacl-auth/index.d.ts +14 -0
- package/src/utils/amount-formatter.ts +56 -69
- package/src/utils/autorest.ts +93 -0
- package/src/utils/bignumber.ts +11 -12
- package/src/utils/bytes.ts +29 -31
- package/src/utils/crypto.ts +205 -0
- package/src/utils/encoder-types.ts +63 -0
- package/src/utils/encoder.ts +116 -71
- package/src/utils/errors.ts +482 -366
- package/src/utils/hd-wallet.ts +166 -0
- package/src/utils/json-big.ts +27 -0
- package/src/utils/keystore.ts +182 -0
- package/src/utils/mptree.ts +64 -61
- package/src/utils/other.ts +34 -41
- package/src/utils/semver-satisfies.ts +15 -11
- package/src/utils/string.ts +18 -20
- package/es/account/base.mjs +0 -179
- package/es/account/base.mjs.map +0 -1
- package/es/account/memory.mjs +0 -99
- package/es/account/memory.mjs.map +0 -1
- package/es/account/multiple.mjs +0 -179
- package/es/account/multiple.mjs.map +0 -1
- package/es/ae/aens.mjs +0 -404
- package/es/ae/aens.mjs.map +0 -1
- package/es/ae/aepp.mjs +0 -45
- package/es/ae/aepp.mjs.map +0 -1
- package/es/ae/contract.mjs +0 -159
- package/es/ae/contract.mjs.map +0 -1
- package/es/ae/index.mjs +0 -207
- package/es/ae/index.mjs.map +0 -1
- package/es/ae/oracle.mjs +0 -339
- package/es/ae/oracle.mjs.map +0 -1
- package/es/ae/universal.mjs +0 -45
- package/es/ae/universal.mjs.map +0 -1
- package/es/ae/wallet.mjs +0 -50
- package/es/ae/wallet.mjs.map +0 -1
- package/es/amount-formatter.d.ts +0 -58
- package/es/bignumber.d.ts +0 -18
- package/es/chain/index.mjs +0 -272
- package/es/chain/index.mjs.map +0 -1
- package/es/chain/node.mjs +0 -442
- package/es/chain/node.mjs.map +0 -1
- package/es/contract/compiler.mjs +0 -115
- package/es/contract/compiler.mjs.map +0 -1
- package/es/contract/ga/helpers.mjs +0 -30
- package/es/contract/ga/helpers.mjs.map +0 -1
- package/es/contract/ga/index.mjs +0 -178
- package/es/contract/ga/index.mjs.map +0 -1
- package/es/crypto-ts.d.ts +0 -9
- package/es/encoder.d.ts +0 -26
- package/es/node-pool/index.mjs +0 -188
- package/es/node-pool/index.mjs.map +0 -1
- package/es/node.mjs +0 -133
- package/es/node.mjs.map +0 -1
- package/es/other.d.ts +0 -31
- package/es/semver-satisfies.d.ts +0 -1
- package/es/string.d.ts +0 -26
- package/es/tx/builder/field-types.mjs +0 -74
- package/es/tx/builder/field-types.mjs.map +0 -1
- package/es/tx/tx-object.mjs +0 -283
- package/es/tx/tx-object.mjs.map +0 -1
- package/es/tx/tx.mjs +0 -938
- package/es/tx/tx.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs +0 -132
- package/es/utils/aepp-wallet-communication/connection/browser-runtime.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs +0 -183
- package/es/utils/aepp-wallet-communication/connection/browser-window-message.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/connection/index.mjs +0 -87
- package/es/utils/aepp-wallet-communication/connection/index.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/content-script-bridge.mjs +0 -98
- package/es/utils/aepp-wallet-communication/content-script-bridge.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/helpers.mjs +0 -92
- package/es/utils/aepp-wallet-communication/helpers.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs +0 -375
- package/es/utils/aepp-wallet-communication/rpc/aepp-rpc.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs +0 -275
- package/es/utils/aepp-wallet-communication/rpc/rpc-client.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs +0 -541
- package/es/utils/aepp-wallet-communication/rpc/wallet-rpc.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/schema.mjs +0 -102
- package/es/utils/aepp-wallet-communication/schema.mjs.map +0 -1
- package/es/utils/aepp-wallet-communication/wallet-detector.mjs +0 -110
- package/es/utils/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
- package/es/utils/async-init.mjs +0 -64
- package/es/utils/async-init.mjs.map +0 -1
- package/es/utils/crypto-ts.mjs.map +0 -1
- package/es/utils/swagger.mjs +0 -164
- package/es/utils/swagger.mjs.map +0 -1
- package/src/account/base.js +0 -153
- package/src/account/memory.js +0 -83
- package/src/account/multiple.js +0 -162
- package/src/ae/aens.js +0 -361
- package/src/ae/aepp.js +0 -45
- package/src/ae/contract.js +0 -148
- package/src/ae/index.js +0 -168
- package/src/ae/oracle.js +0 -311
- package/src/ae/universal.js +0 -47
- package/src/ae/wallet.js +0 -50
- package/src/chain/index.js +0 -269
- package/src/chain/node.js +0 -320
- package/src/channel/handlers.js +0 -673
- package/src/channel/index.js +0 -903
- package/src/channel/internal.js +0 -236
- package/src/contract/aci.js +0 -376
- package/src/contract/compiler.js +0 -100
- package/src/contract/ga/helpers.js +0 -19
- package/src/contract/ga/index.js +0 -150
- package/src/index.js +0 -89
- package/src/node-pool/index.js +0 -172
- package/src/node.js +0 -116
- package/src/tx/builder/constants.js +0 -100
- package/src/tx/builder/field-types.js +0 -61
- package/src/tx/builder/helpers.js +0 -334
- package/src/tx/builder/index.js +0 -465
- package/src/tx/builder/schema.js +0 -1100
- package/src/tx/index.js +0 -301
- package/src/tx/tx-object.js +0 -187
- package/src/tx/tx.js +0 -631
- package/src/tx/validator.js +0 -181
- package/src/utils/aepp-wallet-communication/connection/browser-runtime.js +0 -119
- package/src/utils/aepp-wallet-communication/connection/browser-window-message.js +0 -165
- package/src/utils/aepp-wallet-communication/connection/index.js +0 -85
- package/src/utils/aepp-wallet-communication/content-script-bridge.js +0 -86
- package/src/utils/aepp-wallet-communication/helpers.js +0 -60
- package/src/utils/aepp-wallet-communication/rpc/aepp-rpc.js +0 -294
- package/src/utils/aepp-wallet-communication/rpc/rpc-client.js +0 -232
- package/src/utils/aepp-wallet-communication/rpc/wallet-rpc.js +0 -401
- package/src/utils/aepp-wallet-communication/schema.ts +0 -80
- package/src/utils/aepp-wallet-communication/wallet-detector.js +0 -92
- package/src/utils/async-init.js +0 -45
- package/src/utils/crypto.js +0 -219
- package/src/utils/hd-wallet.js +0 -100
- package/src/utils/json-big.js +0 -26
- package/src/utils/keystore.js +0 -219
- package/src/utils/swagger.js +0 -156
package/src/ae/contract.js
DELETED
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ISC License (ISC)
|
|
3
|
-
* Copyright (c) 2021 aeternity developers
|
|
4
|
-
*
|
|
5
|
-
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
* purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
* copyright notice and this permission notice appear in all copies.
|
|
8
|
-
*
|
|
9
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
-
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
-
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
-
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
-
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Contract module - routines to interact with the æternity contract
|
|
20
|
-
*
|
|
21
|
-
* High level documentation of the contracts are available at
|
|
22
|
-
* https://github.com/aeternity/protocol/tree/master/contracts and
|
|
23
|
-
*
|
|
24
|
-
* @module @aeternity/aepp-sdk/es/ae/contract
|
|
25
|
-
* @export Contract
|
|
26
|
-
* @example import { Contract } from '@aeternity/aepp-sdk'
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
import Ae from './'
|
|
30
|
-
import ContractCompilerHttp from '../contract/compiler'
|
|
31
|
-
import getContractInstance from '../contract/aci'
|
|
32
|
-
import { AMOUNT, MIN_GAS_PRICE } from '../tx/builder/schema'
|
|
33
|
-
import { decode, produceNameId } from '../tx/builder/helpers'
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Utility method to create a delegate signature for a contract
|
|
37
|
-
* @function
|
|
38
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/contract
|
|
39
|
-
* @category async
|
|
40
|
-
* @param {String[]} ids The list of id's to prepend
|
|
41
|
-
* @param {Object} [opt={}] options
|
|
42
|
-
* @param {{ onAccount: String | Object }} [opt={}] opt Options
|
|
43
|
-
* @return {Promise<String>} Signature in hex representation
|
|
44
|
-
*/
|
|
45
|
-
async function delegateSignatureCommon (ids = [], opt = {}) {
|
|
46
|
-
const signature = await this.sign(
|
|
47
|
-
Buffer.concat([
|
|
48
|
-
Buffer.from(this.getNetworkId(opt)),
|
|
49
|
-
...ids.map(e => decode(e))
|
|
50
|
-
]),
|
|
51
|
-
opt
|
|
52
|
-
)
|
|
53
|
-
return Buffer.from(signature).toString('hex')
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Helper to generate a signature to delegate pre-claim/claim/transfer/revoke of a name to
|
|
58
|
-
* a contract.
|
|
59
|
-
* @function
|
|
60
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/contract
|
|
61
|
-
* @category async
|
|
62
|
-
* @param {String} contractId Contract Id
|
|
63
|
-
* @param {String} [name] The name
|
|
64
|
-
* @param {{ onAccount: String | Object }} [opt={}] opt Options
|
|
65
|
-
* @return {Promise<String>} Signature for delegation
|
|
66
|
-
* @example
|
|
67
|
-
* const aeSdk = await Universal({ ... })
|
|
68
|
-
* const contractId = 'ct_asd2ks...' // contract address
|
|
69
|
-
* const name = 'example.chain' // AENS name
|
|
70
|
-
* const onAccount = await aeSdk.address() // Sign with a specific account
|
|
71
|
-
* // Preclaim signature
|
|
72
|
-
* const params = { contractId }
|
|
73
|
-
* const preclaimSig = await aeSdk.createAensDelegationSignature(params, { onAccount: current })
|
|
74
|
-
* // Claim, transfer and revoke signature
|
|
75
|
-
* const params = { contractId, name }
|
|
76
|
-
* const aensDelegationSig = await contract.createAensDelegationSignature(
|
|
77
|
-
* params, name, { onAccount: current }
|
|
78
|
-
* )
|
|
79
|
-
*/
|
|
80
|
-
async function createAensDelegationSignature ({ contractId, name }, opt = {}) {
|
|
81
|
-
return this.delegateSignatureCommon(
|
|
82
|
-
[await this.address(opt), ...name ? [produceNameId(name)] : [], contractId],
|
|
83
|
-
opt
|
|
84
|
-
)
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Helper to generate a signature to delegate register/extend/respond of a Oracle to a contract.
|
|
89
|
-
* @function
|
|
90
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/contract
|
|
91
|
-
* @category async
|
|
92
|
-
* @param {String} contractId Contract Id
|
|
93
|
-
* @param {String} [queryId] Oracle Query Id
|
|
94
|
-
* @param {{ onAccount: String | Object }} [opt={}] opt Options
|
|
95
|
-
* @return {Promise<String>} Signature for delegation
|
|
96
|
-
* @example
|
|
97
|
-
* const aeSdk = await Universal({ ... })
|
|
98
|
-
* const contractId = 'ct_asd2ks...' // contract address
|
|
99
|
-
* const queryId = 'oq_...' // Oracle Query Id
|
|
100
|
-
* const onAccount = await aeSdk.address() // Sign with a specific account
|
|
101
|
-
* // Oracle register and extend signature
|
|
102
|
-
* const params = { contractId }
|
|
103
|
-
* const oracleDelegationSig = await contract.createOracleDelegationSignature(params, { onAccount })
|
|
104
|
-
* // Oracle respond signature
|
|
105
|
-
* const params = { contractId, queryId }
|
|
106
|
-
* const respondSig = await contract.createOracleDelegationSignature(params, queryId)
|
|
107
|
-
*/
|
|
108
|
-
async function createOracleDelegationSignature ({ contractId, queryId }, opt = {}) {
|
|
109
|
-
return this.delegateSignatureCommon([queryId ?? await this.address(opt), contractId], opt)
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
/**
|
|
113
|
-
* Contract Stamp
|
|
114
|
-
*
|
|
115
|
-
* Provide contract implementation
|
|
116
|
-
* {@link module:@aeternity/aepp-sdk/es/ae--Ae} clients.
|
|
117
|
-
* @function
|
|
118
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/contract
|
|
119
|
-
* @rtype Stamp
|
|
120
|
-
* @param {Object} [options={}] - Initializer object
|
|
121
|
-
* @return {Object} Contract instance
|
|
122
|
-
* @example
|
|
123
|
-
* import { Transaction, MemoryAccount, ChainNode } from '@aeternity/aepp-sdk
|
|
124
|
-
*
|
|
125
|
-
* const ContractWithAE = await Contract
|
|
126
|
-
* .compose(Transaction, MemoryAccount, ChainNode) // AE implementation
|
|
127
|
-
* const client = await ContractWithAe({ url, internalUrl, compilerUrl, keypair, ... })
|
|
128
|
-
*
|
|
129
|
-
*/
|
|
130
|
-
export default Ae.compose(ContractCompilerHttp, {
|
|
131
|
-
methods: {
|
|
132
|
-
getContractInstance,
|
|
133
|
-
// Delegation for contract
|
|
134
|
-
delegateSignatureCommon,
|
|
135
|
-
// AENS
|
|
136
|
-
createAensDelegationSignature,
|
|
137
|
-
// Oracle
|
|
138
|
-
createOracleDelegationSignature
|
|
139
|
-
},
|
|
140
|
-
deepProps: {
|
|
141
|
-
Ae: {
|
|
142
|
-
defaults: {
|
|
143
|
-
gasPrice: MIN_GAS_PRICE,
|
|
144
|
-
amount: AMOUNT
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
})
|
package/src/ae/index.js
DELETED
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ISC License (ISC)
|
|
3
|
-
* Copyright (c) 2018 aeternity developers
|
|
4
|
-
*
|
|
5
|
-
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
* purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
* copyright notice and this permission notice appear in all copies.
|
|
8
|
-
*
|
|
9
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
-
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
-
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
-
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
-
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Ae module
|
|
20
|
-
* @module @aeternity/aepp-sdk/es/ae
|
|
21
|
-
* @export Ae
|
|
22
|
-
* @example import { Ae } from '@aeternity/aepp-sdk'
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
import stampit from '@stamp/it'
|
|
26
|
-
import Tx from '../tx'
|
|
27
|
-
import Chain from '../chain'
|
|
28
|
-
import AccountBase from '../account/base'
|
|
29
|
-
import TxBuilder from '../tx/builder'
|
|
30
|
-
import BigNumber from 'bignumber.js'
|
|
31
|
-
import { AE_AMOUNT_FORMATS } from '../utils/amount-formatter'
|
|
32
|
-
import { ArgumentError } from '../utils/errors'
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Sign and post a transaction to the chain
|
|
36
|
-
* @instance
|
|
37
|
-
* @category async
|
|
38
|
-
* @rtype (tx: String, options: Object) => Promise[String]
|
|
39
|
-
* @param {String} tx - Transaction
|
|
40
|
-
* @param {Object} [options={}] options - Options
|
|
41
|
-
* @param {Object} [options.verify=true] - Verify transaction before broadcast, throw error if not
|
|
42
|
-
* valid
|
|
43
|
-
* @return {Object} Transaction
|
|
44
|
-
*/
|
|
45
|
-
async function send (tx, options = {}) {
|
|
46
|
-
const opt = { ...this.Ae.defaults, ...options }
|
|
47
|
-
const { contractId, authFun } = options.innerTx
|
|
48
|
-
? { contractId: false }
|
|
49
|
-
: await this.getAccount(await this.address(opt))
|
|
50
|
-
const signed = contractId
|
|
51
|
-
? await this.signUsingGA(tx, { ...opt, authFun })
|
|
52
|
-
: await this.signTransaction(tx, opt)
|
|
53
|
-
return opt.innerTx
|
|
54
|
-
? { hash: TxBuilder.buildTxHash(signed), rawTx: signed }
|
|
55
|
-
: this.sendTransaction(signed, opt)
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
async function signUsingGA (tx, { authData, authFun, ...options } = {}) {
|
|
59
|
-
return this.createMetaTx(tx, authData, authFun, options)
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Send tokens to another account
|
|
64
|
-
* @instance
|
|
65
|
-
* @category async
|
|
66
|
-
* @rtype (amount: Number|String, recipientIdOrName: String, options?: Object) => Promise[String]
|
|
67
|
-
* @param {Number|String} amount - Amount to spend
|
|
68
|
-
* @param {String} recipientIdOrName - Address or name of recipient account
|
|
69
|
-
* @param {Object} [options] - Options
|
|
70
|
-
* @return {Object} Transaction
|
|
71
|
-
*/
|
|
72
|
-
async function spend (amount, recipientIdOrName, options) {
|
|
73
|
-
const opt = { ...this.Ae.defaults, ...options }
|
|
74
|
-
return this.send(
|
|
75
|
-
await this.spendTx({
|
|
76
|
-
...opt,
|
|
77
|
-
senderId: await this.address(opt),
|
|
78
|
-
recipientId: await this.resolveName(recipientIdOrName, 'account_pubkey', opt),
|
|
79
|
-
amount
|
|
80
|
-
}),
|
|
81
|
-
opt
|
|
82
|
-
)
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// TODO: Rename to spendFraction
|
|
86
|
-
/**
|
|
87
|
-
* Send a fraction of token balance to another account
|
|
88
|
-
* @instance
|
|
89
|
-
* @category async
|
|
90
|
-
* @rtype (fraction: Number|String, recipientIdOrName: String, options?: Object) => Promise[String]
|
|
91
|
-
* @param {Number|String} fraction - Fraction of balance to spend (between 0 and 1)
|
|
92
|
-
* @param {String} recipientIdOrName - Address or name of recipient account
|
|
93
|
-
* @param {Object} [options] - Options
|
|
94
|
-
* @return {Object} Transaction
|
|
95
|
-
*/
|
|
96
|
-
async function transferFunds (fraction, recipientIdOrName, options) {
|
|
97
|
-
if (fraction < 0 || fraction > 1) {
|
|
98
|
-
throw new ArgumentError('fraction', 'a number between 0 and 1', fraction)
|
|
99
|
-
}
|
|
100
|
-
const opt = { ...this.Ae.defaults, ...options }
|
|
101
|
-
const recipientId = await this.resolveName(recipientIdOrName, 'account_pubkey', opt)
|
|
102
|
-
const senderId = await this.address(opt)
|
|
103
|
-
const balance = new BigNumber(await this.balance(senderId))
|
|
104
|
-
const desiredAmount = balance.times(fraction).integerValue(BigNumber.ROUND_HALF_UP)
|
|
105
|
-
const { tx: { fee } } = TxBuilder.unpackTx(
|
|
106
|
-
await this.spendTx({ ...opt, senderId, recipientId, amount: desiredAmount })
|
|
107
|
-
)
|
|
108
|
-
// Reducing of the amount may reduce transaction fee, so this is not completely accurate
|
|
109
|
-
const amount = desiredAmount.plus(fee).gt(balance) ? balance.minus(fee) : desiredAmount
|
|
110
|
-
return this.send(await this.spendTx({ ...opt, senderId, recipientId, amount }), opt)
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
/**
|
|
114
|
-
* Submit transaction of another account paying for it (fee and gas)
|
|
115
|
-
* @instance
|
|
116
|
-
* @category async
|
|
117
|
-
* @rtype (transaction: String, options?: Object) => Promise[String]
|
|
118
|
-
* @param {String} transaction - tx_<base64>-encoded transaction
|
|
119
|
-
* @param {Object} [options]
|
|
120
|
-
* @return {Object} Transaction
|
|
121
|
-
*/
|
|
122
|
-
async function payForTransaction (transaction, options) {
|
|
123
|
-
const opt = { ...this.Ae.defaults, ...options }
|
|
124
|
-
return this.send(
|
|
125
|
-
await this.payingForTx({
|
|
126
|
-
...opt,
|
|
127
|
-
payerId: await this.address(opt),
|
|
128
|
-
tx: transaction
|
|
129
|
-
}),
|
|
130
|
-
opt
|
|
131
|
-
)
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Remove all listeners for RPC
|
|
136
|
-
* @instance
|
|
137
|
-
* @return {void}
|
|
138
|
-
*/
|
|
139
|
-
function destroyInstance () {
|
|
140
|
-
const destroyMethods = ['destroyClient', 'destroyServer'] // Array with destroy function's
|
|
141
|
-
destroyMethods.forEach(m => this[m] && typeof this[m] === 'function' && this[m]())
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Basic Ae Stamp
|
|
146
|
-
*
|
|
147
|
-
* Attempting to create instances from the Stamp without overwriting all
|
|
148
|
-
* abstract methods using composition will result in an exception.
|
|
149
|
-
*
|
|
150
|
-
* Ae objects are the composition of three basic building blocks:
|
|
151
|
-
* * {@link module:@aeternity/aepp-sdk/es/tx--Tx}
|
|
152
|
-
* * {@link module:@aeternity/aepp-sdk/es/account--Account}
|
|
153
|
-
* * {@link module:@aeternity/aepp-sdk/es/chain--Chain}
|
|
154
|
-
* Only by providing the joint functionality of those three, most more advanced
|
|
155
|
-
* operations, i.e. the ones with actual use value on the chain, become
|
|
156
|
-
* available.
|
|
157
|
-
* @function
|
|
158
|
-
* @alias module:@aeternity/aepp-sdk/es/ae
|
|
159
|
-
* @rtype Stamp
|
|
160
|
-
* @param {Object} [options={}] - Initializer object
|
|
161
|
-
* @return {Object} Ae instance
|
|
162
|
-
*/
|
|
163
|
-
const Ae = stampit(Tx, AccountBase, Chain, {
|
|
164
|
-
methods: { send, spend, transferFunds, payForTransaction, destroyInstance, signUsingGA },
|
|
165
|
-
deepProps: { Ae: { defaults: { denomination: AE_AMOUNT_FORMATS.AETTOS } } }
|
|
166
|
-
})
|
|
167
|
-
|
|
168
|
-
export default Ae
|
package/src/ae/oracle.js
DELETED
|
@@ -1,311 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ISC License (ISC)
|
|
3
|
-
* Copyright (c) 2018 aeternity developers
|
|
4
|
-
*
|
|
5
|
-
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
* purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
* copyright notice and this permission notice appear in all copies.
|
|
8
|
-
*
|
|
9
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
-
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
-
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
-
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
-
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Oracle module - routines to interact with the æternity oracle system
|
|
20
|
-
*
|
|
21
|
-
* The high-level description of the oracle system is
|
|
22
|
-
* https://github.com/aeternity/protocol/blob/master/ORACLE.md in the protocol
|
|
23
|
-
* repository.
|
|
24
|
-
* @module @aeternity/aepp-sdk/es/ae/oracle
|
|
25
|
-
* @export Oracle
|
|
26
|
-
* @example import { Oracle } from '@aeternity/aepp-sdk'
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
import Ae from './'
|
|
30
|
-
import { pause } from '../utils/other'
|
|
31
|
-
import { oracleQueryId, decode } from '../tx/builder/helpers'
|
|
32
|
-
import { unpackTx } from '../tx/builder'
|
|
33
|
-
import { ORACLE_TTL, QUERY_FEE, QUERY_TTL, RESPONSE_TTL } from '../tx/builder/schema'
|
|
34
|
-
import { RequestTimedOutError } from '../utils/errors'
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Constructor for Oracle Object (helper object for using Oracle)
|
|
38
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/oracle
|
|
39
|
-
* @instance
|
|
40
|
-
* @function
|
|
41
|
-
* @category async
|
|
42
|
-
* @param {String} oracleId Oracle public key
|
|
43
|
-
* @return {Promise<Object>} Oracle object
|
|
44
|
-
*/
|
|
45
|
-
async function getOracleObject (oracleId) {
|
|
46
|
-
const oracle = await this.api.getOracleByPubkey(oracleId)
|
|
47
|
-
const { oracleQueries: queries } = await this.api.getOracleQueriesByPubkey(oracleId)
|
|
48
|
-
return {
|
|
49
|
-
...oracle,
|
|
50
|
-
queries,
|
|
51
|
-
pollQueries: this.pollForQueries.bind(this, oracleId),
|
|
52
|
-
postQuery: this.postQueryToOracle.bind(this, oracleId),
|
|
53
|
-
respondToQuery: this.respondToQuery.bind(this, oracleId),
|
|
54
|
-
extendOracle: this.extendOracleTtl.bind(this, oracleId),
|
|
55
|
-
getQuery: this.getQueryObject.bind(this, oracleId)
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Poll for oracle queries
|
|
61
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/oracle
|
|
62
|
-
* @instance
|
|
63
|
-
* @function
|
|
64
|
-
* @param {String} oracleId Oracle public key
|
|
65
|
-
* @param {Function} onQuery OnQuery callback
|
|
66
|
-
* @param {Object} [options] Options object
|
|
67
|
-
* @param {Number} [options.interval] Poll interval(default: 5000)
|
|
68
|
-
* @return {Function} stopPolling - Stop polling function
|
|
69
|
-
*/
|
|
70
|
-
function pollForQueries (
|
|
71
|
-
oracleId,
|
|
72
|
-
onQuery,
|
|
73
|
-
{ interval = this._getPollInterval('microblock') } = {}
|
|
74
|
-
) {
|
|
75
|
-
const knownQueryIds = new Set()
|
|
76
|
-
const checkNewQueries = async () => {
|
|
77
|
-
const queries = ((await this.api.getOracleQueriesByPubkey(oracleId)).oracleQueries || [])
|
|
78
|
-
.filter(({ id }) => !knownQueryIds.has(id))
|
|
79
|
-
queries.forEach(({ id }) => knownQueryIds.add(id))
|
|
80
|
-
if (queries.length) onQuery(queries)
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
let stopped
|
|
84
|
-
(async () => {
|
|
85
|
-
while (!stopped) { // eslint-disable-line no-unmodified-loop-condition
|
|
86
|
-
// TODO: allow to handle this error somehow
|
|
87
|
-
await checkNewQueries().catch(console.error)
|
|
88
|
-
await pause(interval)
|
|
89
|
-
}
|
|
90
|
-
})()
|
|
91
|
-
return () => { stopped = true }
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Constructor for OracleQuery Object (helper object for using OracleQuery)
|
|
96
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/oracle
|
|
97
|
-
* @instance
|
|
98
|
-
* @function
|
|
99
|
-
* @category async
|
|
100
|
-
* @param {String} oracleId Oracle public key
|
|
101
|
-
* @param {String} queryId Oracle Query id
|
|
102
|
-
* @return {Promise<Object>} OracleQuery object
|
|
103
|
-
*/
|
|
104
|
-
async function getQueryObject (oracleId, queryId) {
|
|
105
|
-
const q = await this.api.getOracleQueryByPubkeyAndQueryId(oracleId, queryId)
|
|
106
|
-
return {
|
|
107
|
-
...q,
|
|
108
|
-
decodedQuery: decode(q.query).toString(),
|
|
109
|
-
decodedResponse: decode(q.response).toString(),
|
|
110
|
-
respond: this.respondToQuery.bind(this, oracleId, queryId),
|
|
111
|
-
pollForResponse: this.pollForQueryResponse.bind(this, oracleId, queryId),
|
|
112
|
-
/**
|
|
113
|
-
* @deprecated use TxBuilderHelper.decode instead
|
|
114
|
-
* @param data
|
|
115
|
-
* @returns {Buffer}
|
|
116
|
-
*/
|
|
117
|
-
decode: (data) => decode(data)
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* Poll for oracle query response
|
|
123
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/oracle
|
|
124
|
-
* @instance
|
|
125
|
-
* @function
|
|
126
|
-
* @category async
|
|
127
|
-
* @param {String} oracleId Oracle public key
|
|
128
|
-
* @param {String} queryId Oracle Query id
|
|
129
|
-
* @param {Object} [options] Options object
|
|
130
|
-
* @param {Object} [options.attempts] Poll attempt's(default: 20)
|
|
131
|
-
* @param {Object} [options.interval] Poll interval(default: 5000)
|
|
132
|
-
* @return {Promise<Object>} OracleQuery object
|
|
133
|
-
*/
|
|
134
|
-
export async function pollForQueryResponse (
|
|
135
|
-
oracleId,
|
|
136
|
-
queryId,
|
|
137
|
-
{ attempts = 20, interval = this._getPollInterval('microblock') } = {}
|
|
138
|
-
) {
|
|
139
|
-
for (let i = 0; i < attempts; i++) {
|
|
140
|
-
if (i) await pause(interval)
|
|
141
|
-
const { response } = await this.api.getOracleQueryByPubkeyAndQueryId(oracleId, queryId)
|
|
142
|
-
const responseBuffer = decode(response, 'or')
|
|
143
|
-
if (responseBuffer.length) {
|
|
144
|
-
return String(responseBuffer)
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
throw new RequestTimedOutError((attempts - 1) * interval)
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
/**
|
|
151
|
-
* Register oracle
|
|
152
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/oracle
|
|
153
|
-
* @instance
|
|
154
|
-
* @function
|
|
155
|
-
* @category async
|
|
156
|
-
* @param {String} queryFormat Format of query
|
|
157
|
-
* @param {String} responseFormat Format of query response
|
|
158
|
-
* @param {Object} [options={}] Options
|
|
159
|
-
* @param {String|Number} [options.queryFee] Oracle query Fee
|
|
160
|
-
* @param {Object} [options.oracleTtl] OracleTtl object {type: 'delta|block', value: 'number'}
|
|
161
|
-
* @param {Number} [options.abiVersion] Always 0 (do not use virtual machine)
|
|
162
|
-
* @param {Number|String} [options.fee] Transaction fee
|
|
163
|
-
* @param {Number|String} [options.ttl] Transaction time to leave
|
|
164
|
-
* @return {Promise<Object>} Oracle object
|
|
165
|
-
*/
|
|
166
|
-
async function registerOracle (queryFormat, responseFormat, options = {}) {
|
|
167
|
-
const opt = { ...this.Ae.defaults, ...options } // Preset VmVersion for oracle
|
|
168
|
-
const accountId = await this.address(opt)
|
|
169
|
-
|
|
170
|
-
const oracleRegisterTx = await this.oracleRegisterTx({
|
|
171
|
-
...opt,
|
|
172
|
-
accountId,
|
|
173
|
-
queryFormat,
|
|
174
|
-
responseFormat
|
|
175
|
-
})
|
|
176
|
-
return {
|
|
177
|
-
...await this.send(oracleRegisterTx, opt),
|
|
178
|
-
...await this.getOracleObject(`ok_${accountId.slice(3)}`)
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
/**
|
|
183
|
-
* Post query to oracle
|
|
184
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/oracle
|
|
185
|
-
* @instance
|
|
186
|
-
* @function
|
|
187
|
-
* @category async
|
|
188
|
-
* @param {String} oracleId Oracle public key
|
|
189
|
-
* @param {String} query Oracle query object
|
|
190
|
-
* @param {Object} [options={}]
|
|
191
|
-
* @param {String|Number} [options.queryTtl] queryTtl Oracle query time to leave
|
|
192
|
-
* @param {String|Number} [options.responseTtl] queryFee Oracle query response time to leave
|
|
193
|
-
* @param {String|Number} [options.queryFee] queryFee Oracle query fee
|
|
194
|
-
* @param {Number} [options.fee] fee Transaction fee
|
|
195
|
-
* @param {Number} [options.ttl] Transaction time to leave
|
|
196
|
-
* @return {Promise<Object>} Query object
|
|
197
|
-
*/
|
|
198
|
-
async function postQueryToOracle (oracleId, query, options = {}) {
|
|
199
|
-
const queryFee = options.queryFee || (await this.api.getOracleByPubkey(oracleId)).queryFee
|
|
200
|
-
const opt = { ...this.Ae.defaults, queryFee, ...options }
|
|
201
|
-
const senderId = await this.address(opt)
|
|
202
|
-
|
|
203
|
-
const oracleRegisterTx = await this.oraclePostQueryTx({
|
|
204
|
-
...opt,
|
|
205
|
-
oracleId,
|
|
206
|
-
senderId,
|
|
207
|
-
query
|
|
208
|
-
})
|
|
209
|
-
const queryId = oracleQueryId(senderId, unpackTx(oracleRegisterTx).tx.nonce, oracleId)
|
|
210
|
-
return {
|
|
211
|
-
...await this.send(oracleRegisterTx, opt),
|
|
212
|
-
...await this.getQueryObject(oracleId, queryId)
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
/**
|
|
217
|
-
* Extend oracle ttl
|
|
218
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/oracle
|
|
219
|
-
* @instance
|
|
220
|
-
* @function
|
|
221
|
-
* @category async
|
|
222
|
-
* @param {String} oracleId Oracle public key
|
|
223
|
-
* @param {String} oracleTtl Oracle time to leave for extend
|
|
224
|
-
* @param {Object} [options={}]
|
|
225
|
-
* @param {Number} [options.fee] fee Transaction fee
|
|
226
|
-
* @param {Number} [options.ttl] Transaction time to leave
|
|
227
|
-
* @return {Promise<Object>} Oracle object
|
|
228
|
-
*/
|
|
229
|
-
async function extendOracleTtl (oracleId, oracleTtl, options = {}) {
|
|
230
|
-
const opt = { ...this.Ae.defaults, ...options }
|
|
231
|
-
const callerId = await this.address(opt)
|
|
232
|
-
|
|
233
|
-
const oracleExtendTx = await this.oracleExtendTx({
|
|
234
|
-
...opt,
|
|
235
|
-
oracleId,
|
|
236
|
-
callerId,
|
|
237
|
-
oracleTtl
|
|
238
|
-
})
|
|
239
|
-
return {
|
|
240
|
-
...await this.send(oracleExtendTx, opt),
|
|
241
|
-
...await this.getOracleObject(oracleId)
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
|
|
245
|
-
/**
|
|
246
|
-
* Extend oracle ttl
|
|
247
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/oracle
|
|
248
|
-
* @instance
|
|
249
|
-
* @function
|
|
250
|
-
* @category async
|
|
251
|
-
* @param {String} oracleId Oracle public key
|
|
252
|
-
* @param {String} queryId Oracle query id
|
|
253
|
-
* @param {String} response Oracle query response
|
|
254
|
-
* @param {Object} [options={}]
|
|
255
|
-
* @param {Number} [options.responseTtl] responseTtl Query response time to leave
|
|
256
|
-
* @param {Number} [options.fee] Transaction fee
|
|
257
|
-
* @param {Number} [options.ttl] Transaction time to leave
|
|
258
|
-
* @return {Promise<Object>} Oracle object
|
|
259
|
-
*/
|
|
260
|
-
async function respondToQuery (oracleId, queryId, response, options = {}) {
|
|
261
|
-
const opt = { ...this.Ae.defaults, ...options }
|
|
262
|
-
const callerId = await this.address(opt)
|
|
263
|
-
|
|
264
|
-
const oracleRespondTx = await this.oracleRespondTx({
|
|
265
|
-
...opt,
|
|
266
|
-
oracleId,
|
|
267
|
-
queryId,
|
|
268
|
-
callerId,
|
|
269
|
-
response
|
|
270
|
-
})
|
|
271
|
-
return {
|
|
272
|
-
...await this.send(oracleRespondTx, opt),
|
|
273
|
-
...await this.getOracleObject(oracleId)
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
|
|
277
|
-
/**
|
|
278
|
-
* Oracle Stamp
|
|
279
|
-
*
|
|
280
|
-
* Oracle provides oracle-system related methods atop
|
|
281
|
-
* {@link module:@aeternity/aepp-sdk/es/ae--Ae} clients.
|
|
282
|
-
* @function
|
|
283
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/oracle
|
|
284
|
-
* @rtype Stamp
|
|
285
|
-
* @param {Object} [options={}] - Initializer object
|
|
286
|
-
* @return {Object} Oracle instance
|
|
287
|
-
*/
|
|
288
|
-
const Oracle = Ae.compose({
|
|
289
|
-
methods: {
|
|
290
|
-
registerOracle,
|
|
291
|
-
respondToQuery,
|
|
292
|
-
extendOracleTtl,
|
|
293
|
-
postQueryToOracle,
|
|
294
|
-
pollForQueryResponse,
|
|
295
|
-
pollForQueries,
|
|
296
|
-
getOracleObject,
|
|
297
|
-
getQueryObject
|
|
298
|
-
},
|
|
299
|
-
deepProps: {
|
|
300
|
-
Ae: {
|
|
301
|
-
defaults: {
|
|
302
|
-
queryFee: QUERY_FEE,
|
|
303
|
-
oracleTtl: ORACLE_TTL,
|
|
304
|
-
queryTtl: QUERY_TTL,
|
|
305
|
-
responseTtl: RESPONSE_TTL
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
})
|
|
310
|
-
|
|
311
|
-
export default Oracle
|
package/src/ae/universal.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* ISC License (ISC)
|
|
3
|
-
* Copyright (c) 2018 aeternity developers
|
|
4
|
-
*
|
|
5
|
-
* Permission to use, copy, modify, and/or distribute this software for any
|
|
6
|
-
* purpose with or without fee is hereby granted, provided that the above
|
|
7
|
-
* copyright notice and this permission notice appear in all copies.
|
|
8
|
-
*
|
|
9
|
-
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
10
|
-
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
11
|
-
* AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
12
|
-
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
13
|
-
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
14
|
-
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
15
|
-
* PERFORMANCE OF THIS SOFTWARE.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Universal module
|
|
20
|
-
* @module @aeternity/aepp-sdk/es/ae/universal
|
|
21
|
-
* @export Universal
|
|
22
|
-
* @example import { Universal } from '@aeternity/aepp-sdk'
|
|
23
|
-
*/
|
|
24
|
-
|
|
25
|
-
import Ae from './'
|
|
26
|
-
import Chain from '../chain/node'
|
|
27
|
-
import Aens from './aens'
|
|
28
|
-
import Transaction from '../tx/tx'
|
|
29
|
-
import Oracle from './oracle'
|
|
30
|
-
import GeneralizedAccount from '../contract/ga'
|
|
31
|
-
import AccountMultiple from '../account/multiple'
|
|
32
|
-
import Contract from './contract'
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Universal Stamp
|
|
36
|
-
*
|
|
37
|
-
* Universal provides Ae base functionality with Contract and Aens
|
|
38
|
-
* {@link module:@aeternity/aepp-sdk/es/ae--Ae} clients.
|
|
39
|
-
* @function
|
|
40
|
-
* @alias module:@aeternity/aepp-sdk/es/ae/universal
|
|
41
|
-
* @rtype Stamp
|
|
42
|
-
* @param {Object} [options={}] - Initializer object
|
|
43
|
-
* @return {Object} Universal instance
|
|
44
|
-
*/
|
|
45
|
-
export default Ae.compose(
|
|
46
|
-
AccountMultiple, Chain, Transaction, Aens, Contract, Oracle, GeneralizedAccount
|
|
47
|
-
)
|