@aeternity/aepp-sdk 12.1.3 → 13.0.0-alpha.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/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.map +1 -1
- package/dist/aepp-sdk.browser.js +1 -1
- package/dist/aepp-sdk.browser.js.map +1 -1
- package/dist/aepp-sdk.js +6580 -8859
- package/dist/aepp-sdk.js.map +1 -1
- package/es/AeSdk.d.ts +7 -3
- package/es/AeSdk.mjs +17 -22
- package/es/AeSdk.mjs.map +1 -1
- package/es/AeSdkAepp.d.ts +6 -5
- package/es/AeSdkAepp.mjs +7 -30
- package/es/AeSdkAepp.mjs.map +1 -1
- package/es/AeSdkBase.d.ts +18 -140
- package/es/AeSdkBase.mjs +27 -185
- package/es/AeSdkBase.mjs.map +1 -1
- package/es/AeSdkMethods.d.ts +124 -0
- package/es/AeSdkMethods.mjs +122 -0
- package/es/AeSdkMethods.mjs.map +1 -0
- package/es/AeSdkWallet.d.ts +7 -21
- package/es/AeSdkWallet.mjs +38 -86
- package/es/AeSdkWallet.mjs.map +1 -1
- package/es/Node.d.ts +7 -12
- package/es/Node.mjs +34 -47
- package/es/Node.mjs.map +1 -1
- package/es/account/Base.d.ts +24 -40
- package/es/account/Base.mjs +1 -101
- package/es/account/Base.mjs.map +1 -1
- package/es/account/Generalized.d.ts +16 -0
- package/es/account/Generalized.mjs +111 -0
- package/es/account/Generalized.mjs.map +1 -0
- package/es/account/Ledger.d.ts +28 -0
- package/es/account/Ledger.mjs +101 -0
- package/es/account/Ledger.mjs.map +1 -0
- package/es/account/LedgerFactory.d.ts +39 -0
- package/es/account/LedgerFactory.mjs +81 -0
- package/es/account/LedgerFactory.mjs.map +1 -0
- package/es/account/Memory.d.ts +13 -17
- package/es/account/Memory.mjs +43 -65
- package/es/account/Memory.mjs.map +1 -1
- package/es/account/Rpc.d.ts +6 -8
- package/es/account/Rpc.mjs +14 -32
- package/es/account/Rpc.mjs.map +1 -1
- package/es/aens.d.ts +3 -3
- package/es/aens.mjs +42 -41
- package/es/aens.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/Browser.mjs +9 -13
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +3 -7
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +1 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -31
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection-proxy.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +3 -3
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +4 -41
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/types.d.ts +7 -1
- package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
- package/es/aepp-wallet-communication/schema.mjs +14 -68
- package/es/aepp-wallet-communication/schema.mjs.map +1 -1
- package/es/aepp-wallet-communication/wallet-detector.mjs +0 -3
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
- package/es/apis/compiler/compiler.d.ts +23 -29
- package/es/apis/compiler/compiler.mjs +128 -189
- package/es/apis/compiler/compiler.mjs.map +1 -1
- package/es/apis/compiler/index.mjs.map +1 -1
- package/es/apis/compiler/models/index.d.ts +82 -135
- package/es/apis/compiler/models/index.mjs +1 -47
- package/es/apis/compiler/models/index.mjs.map +1 -1
- package/es/apis/compiler/models/mappers.d.ts +8 -8
- package/es/apis/compiler/models/mappers.mjs +165 -183
- package/es/apis/compiler/models/mappers.mjs.map +1 -1
- package/es/apis/compiler/models/parameters.d.ts +0 -1
- package/es/apis/compiler/models/parameters.mjs +5 -9
- package/es/apis/compiler/models/parameters.mjs.map +1 -1
- package/es/apis/node/index.mjs.map +1 -1
- package/es/apis/node/models/index.d.ts +48 -48
- package/es/apis/node/models/mappers.mjs +12 -6
- package/es/apis/node/models/mappers.mjs.map +1 -1
- package/es/apis/node/models/parameters.mjs.map +1 -1
- package/es/apis/node/node.mjs +43 -84
- package/es/apis/node/node.mjs.map +1 -1
- package/es/chain.d.ts +1 -1
- package/es/chain.mjs +33 -58
- package/es/chain.mjs.map +1 -1
- package/es/channel/Base.d.ts +195 -0
- package/es/channel/Base.mjs +290 -0
- package/es/channel/Base.mjs.map +1 -0
- package/es/channel/Contract.d.ts +247 -0
- package/es/channel/Contract.mjs +420 -0
- package/es/channel/Contract.mjs.map +1 -0
- package/es/channel/Spend.d.ts +217 -0
- package/es/channel/Spend.mjs +383 -0
- package/es/channel/Spend.mjs.map +1 -0
- package/es/channel/handlers.d.ts +8 -21
- package/es/channel/handlers.mjs +141 -891
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/internal.d.ts +27 -21
- package/es/channel/internal.mjs +98 -190
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/{Compiler.d.ts → CompilerHttp.d.ts} +3 -3
- package/es/contract/{Compiler.mjs → CompilerHttp.mjs} +8 -13
- package/es/contract/CompilerHttp.mjs.map +1 -0
- package/es/contract/Contract.d.ts +235 -0
- package/es/contract/Contract.mjs +534 -0
- package/es/contract/Contract.mjs.map +1 -0
- package/es/contract/ga.d.ts +7 -33
- package/es/contract/ga.mjs +20 -112
- package/es/contract/ga.mjs.map +1 -1
- package/es/index.d.ts +9 -6
- package/es/index.mjs +8 -6
- package/es/index.mjs.map +1 -1
- package/es/oracle.d.ts +5 -5
- package/es/oracle.mjs +33 -39
- package/es/oracle.mjs.map +1 -1
- package/es/spend.d.ts +3 -3
- package/es/spend.mjs +17 -20
- package/es/spend.mjs.map +1 -1
- package/es/tx/builder/constants.d.ts +2 -1
- package/es/tx/builder/constants.mjs +12 -12
- package/es/tx/builder/constants.mjs.map +1 -1
- package/es/tx/builder/field-types/address.d.ts +15 -0
- package/es/tx/builder/field-types/address.mjs +42 -0
- package/es/tx/builder/field-types/address.mjs.map +1 -0
- package/es/tx/builder/field-types/addresses.d.ts +6 -0
- package/es/tx/builder/field-types/addresses.mjs +13 -0
- package/es/tx/builder/field-types/addresses.mjs.map +1 -0
- package/es/tx/builder/field-types/coin-amount.d.ts +1 -2
- package/es/tx/builder/field-types/coin-amount.mjs +4 -12
- package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
- package/es/tx/builder/field-types/deposit.d.ts +0 -1
- package/es/tx/builder/field-types/deposit.mjs +2 -4
- package/es/tx/builder/field-types/deposit.mjs.map +1 -1
- package/es/tx/builder/field-types/enumeration.d.ts +5 -0
- package/es/tx/builder/field-types/enumeration.mjs +21 -0
- package/es/tx/builder/field-types/enumeration.mjs.map +1 -0
- package/es/tx/builder/field-types/fee.d.ts +1 -9
- package/es/tx/builder/field-types/fee.mjs +9 -25
- package/es/tx/builder/field-types/fee.mjs.map +1 -1
- package/es/tx/builder/field-types/field.mjs +0 -2
- package/es/tx/builder/field-types/field.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-limit.mjs +4 -9
- package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-price.d.ts +1 -2
- package/es/tx/builder/field-types/gas-price.mjs +3 -7
- package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
- package/es/tx/builder/field-types/index.d.ts +23 -11
- package/es/tx/builder/field-types/index.mjs +10 -3
- package/es/tx/builder/field-types/index.mjs.map +1 -1
- package/es/tx/builder/field-types/name-fee.d.ts +0 -1
- package/es/tx/builder/field-types/name-fee.mjs +3 -5
- package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
- package/es/tx/builder/field-types/name-id.d.ts +1 -4
- package/es/tx/builder/field-types/name-id.mjs +4 -10
- package/es/tx/builder/field-types/name-id.mjs.map +1 -1
- package/es/tx/builder/field-types/name.mjs +0 -2
- package/es/tx/builder/field-types/name.mjs.map +1 -1
- package/es/tx/builder/field-types/pointers.d.ts +23 -0
- package/es/tx/builder/field-types/pointers.mjs +36 -0
- package/es/tx/builder/field-types/pointers.mjs.map +1 -0
- package/es/tx/builder/field-types/short-u-int.mjs +0 -2
- package/es/tx/builder/field-types/short-u-int.mjs.map +1 -1
- package/es/tx/builder/field-types/u-int.d.ts +1 -1
- package/es/tx/builder/field-types/u-int.mjs +3 -4
- package/es/tx/builder/field-types/u-int.mjs.map +1 -1
- package/es/tx/builder/helpers.d.ts +2 -32
- package/es/tx/builder/helpers.mjs +19 -71
- package/es/tx/builder/helpers.mjs.map +1 -1
- package/es/tx/builder/index.d.ts +1 -21
- package/es/tx/builder/index.mjs +29 -148
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +336 -176
- package/es/tx/builder/schema.mjs +71 -78
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/tx/index.d.ts +3 -33
- package/es/tx/index.mjs +26 -43
- package/es/tx/index.mjs.map +1 -1
- package/es/tx/validator.d.ts +2 -2
- package/es/tx/validator.mjs +86 -59
- package/es/tx/validator.mjs.map +1 -1
- package/es/typings/{@aeternity__argon2-browser → @aeternity__aepp-calldata}/index.d.mjs +0 -0
- package/es/typings/@aeternity__aepp-calldata/index.d.mjs.map +1 -0
- package/es/utils/amount-formatter.mjs +4 -10
- package/es/utils/amount-formatter.mjs.map +1 -1
- package/es/utils/autorest.d.ts +1 -0
- package/es/utils/autorest.mjs +17 -19
- package/es/utils/autorest.mjs.map +1 -1
- package/es/utils/bignumber.mjs +4 -7
- package/es/utils/bignumber.mjs.map +1 -1
- package/es/utils/bytes.d.ts +0 -17
- package/es/utils/bytes.mjs +6 -35
- package/es/utils/bytes.mjs.map +1 -1
- package/es/utils/crypto.d.ts +15 -8
- package/es/utils/crypto.mjs +40 -40
- package/es/utils/crypto.mjs.map +1 -1
- package/es/utils/encoder-types.d.ts +28 -28
- package/es/utils/encoder-types.mjs +0 -1
- package/es/utils/encoder-types.mjs.map +1 -1
- package/es/utils/encoder.d.ts +0 -1
- package/es/utils/encoder.mjs +7 -15
- package/es/utils/encoder.mjs.map +1 -1
- package/es/utils/errors.d.ts +12 -6
- package/es/utils/errors.mjs +87 -163
- package/es/utils/errors.mjs.map +1 -1
- package/es/utils/hd-wallet.d.ts +27 -19
- package/es/utils/hd-wallet.mjs +42 -26
- package/es/utils/hd-wallet.mjs.map +1 -1
- package/es/utils/json-big.mjs +0 -8
- package/es/utils/json-big.mjs.map +1 -1
- package/es/utils/keystore.d.ts +2 -0
- package/es/utils/keystore.mjs +37 -36
- package/es/utils/keystore.mjs.map +1 -1
- package/es/utils/mptree.d.ts +1 -1
- package/es/utils/mptree.mjs +4 -26
- package/es/utils/mptree.mjs.map +1 -1
- package/es/utils/other.d.ts +3 -1
- package/es/utils/other.mjs +11 -7
- package/es/utils/other.mjs.map +1 -1
- package/es/utils/semver-satisfies.mjs +0 -3
- package/es/utils/semver-satisfies.mjs.map +1 -1
- package/es/utils/string.d.ts +0 -12
- package/es/utils/string.mjs +1 -21
- package/es/utils/string.mjs.map +1 -1
- package/package.json +86 -47
- package/src/AeSdk.ts +15 -11
- package/src/AeSdkAepp.ts +9 -7
- package/src/AeSdkBase.ts +28 -202
- package/src/AeSdkMethods.ts +170 -0
- package/src/AeSdkWallet.ts +16 -47
- package/src/Node.ts +11 -15
- package/src/account/Base.ts +29 -75
- package/src/account/Generalized.ts +98 -0
- package/src/account/Ledger.ts +131 -0
- package/src/account/LedgerFactory.ts +86 -0
- package/src/account/Memory.ts +46 -60
- package/src/account/Rpc.ts +17 -26
- package/src/aens.ts +10 -9
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +5 -4
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +3 -3
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +2 -2
- package/src/aepp-wallet-communication/rpc/types.ts +11 -1
- package/src/aepp-wallet-communication/schema.ts +18 -18
- package/src/apis/compiler/code-model-v4.yaml +681 -888
- package/src/apis/compiler/compiler.ts +113 -154
- package/src/apis/compiler/models/index.ts +80 -140
- package/src/apis/compiler/models/mappers.ts +165 -183
- package/src/apis/compiler/models/parameters.ts +6 -12
- package/src/chain.ts +6 -3
- package/src/channel/Base.ts +327 -0
- package/src/channel/Contract.ts +487 -0
- package/src/channel/Spend.ts +403 -0
- package/src/channel/handlers.ts +154 -573
- package/src/channel/internal.ts +113 -142
- package/src/contract/{Compiler.ts → CompilerHttp.ts} +5 -5
- package/src/contract/Contract.ts +620 -0
- package/src/contract/ga.ts +18 -104
- package/src/index.ts +9 -8
- package/src/oracle.ts +7 -7
- package/src/spend.ts +5 -13
- package/src/tx/builder/constants.ts +1 -0
- package/src/tx/builder/field-types/address.ts +52 -0
- package/src/tx/builder/field-types/addresses.ts +18 -0
- package/src/tx/builder/field-types/coin-amount.ts +2 -8
- package/src/tx/builder/field-types/enumeration.ts +21 -0
- package/src/tx/builder/field-types/fee.ts +1 -3
- package/src/tx/builder/field-types/gas-limit.ts +2 -2
- package/src/tx/builder/field-types/gas-price.ts +0 -2
- package/src/tx/builder/field-types/index.ts +16 -6
- package/src/tx/builder/field-types/name-fee.ts +1 -1
- package/src/tx/builder/field-types/name-id.ts +7 -10
- package/src/tx/builder/field-types/pointers.ts +41 -0
- package/src/tx/builder/field-types/u-int.ts +3 -2
- package/src/tx/builder/helpers.ts +10 -60
- package/src/tx/builder/index.ts +6 -65
- package/src/tx/builder/schema.ts +89 -100
- package/src/tx/index.ts +19 -15
- package/src/tx/validator.ts +36 -18
- package/src/typings/@aeternity__aepp-calldata/index.d.ts +20 -0
- package/src/utils/autorest.ts +16 -1
- package/src/utils/bytes.ts +5 -33
- package/src/utils/crypto.ts +23 -16
- package/src/utils/encoder.ts +0 -1
- package/src/utils/errors.ts +18 -12
- package/src/utils/hd-wallet.ts +30 -9
- package/src/utils/keystore.ts +24 -21
- package/src/utils/other.ts +16 -1
- package/src/utils/string.ts +0 -20
- package/types-legacy/ts4.2/AeSdk.d.ts +41 -0
- package/types-legacy/ts4.2/AeSdkAepp.d.ts +71 -0
- package/types-legacy/ts4.2/AeSdkBase.d.ts +91 -0
- package/types-legacy/ts4.2/AeSdkMethods.d.ts +141 -0
- package/types-legacy/ts4.2/AeSdkWallet.d.ts +90 -0
- package/types-legacy/ts4.2/Node.d.ts +78 -0
- package/types-legacy/ts4.2/account/Base.d.ts +52 -0
- package/types-legacy/ts4.2/account/Generalized.d.ts +16 -0
- package/types-legacy/ts4.2/account/Ledger.d.ts +28 -0
- package/types-legacy/ts4.2/account/LedgerFactory.d.ts +39 -0
- package/types-legacy/ts4.2/account/Memory.d.ts +22 -0
- package/types-legacy/ts4.2/account/Rpc.d.ts +25 -0
- package/types-legacy/ts4.2/aens.d.ts +222 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/Browser.d.ts +33 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/connection-proxy.d.ts +11 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +83 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +133 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +25 -0
- package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +86 -0
- package/types-legacy/ts4.2/apis/compiler/index.d.ts +2 -0
- package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +195 -0
- package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +23 -0
- package/types-legacy/ts4.2/apis/compiler/models/parameters.d.ts +12 -0
- package/types-legacy/ts4.2/apis/node/index.d.ts +2 -0
- package/types-legacy/ts4.2/apis/node/models/index.d.ts +1065 -0
- package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +95 -0
- package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +17 -0
- package/types-legacy/ts4.2/apis/node/node.d.ts +215 -0
- package/types-legacy/ts4.2/chain.d.ts +248 -0
- package/types-legacy/ts4.2/channel/Base.d.ts +194 -0
- package/types-legacy/ts4.2/channel/Contract.d.ts +247 -0
- package/types-legacy/ts4.2/channel/Spend.d.ts +217 -0
- package/types-legacy/ts4.2/channel/handlers.d.ts +21 -0
- package/types-legacy/ts4.2/channel/internal.d.ts +107 -0
- package/types-legacy/ts4.2/contract/CompilerHttp.d.ts +18 -0
- package/types-legacy/ts4.2/contract/Contract.d.ts +237 -0
- package/types-legacy/ts4.2/contract/ga.d.ts +43 -0
- package/types-legacy/ts4.2/globals.d.ts +16 -0
- package/types-legacy/ts4.2/index.d.ts +39 -0
- package/types-legacy/ts4.2/oracle.d.ts +161 -0
- package/types-legacy/ts4.2/spend.d.ts +62 -0
- package/types-legacy/ts4.2/tx/builder/constants.d.ts +71 -0
- package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +22 -0
- package/types-legacy/ts4.2/tx/builder/field-types/addresses.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +12 -0
- package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +14 -0
- package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +5 -0
- package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +17 -0
- package/types-legacy/ts4.2/tx/builder/field-types/field.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +12 -0
- package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +85 -0
- package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +19 -0
- package/types-legacy/ts4.2/tx/builder/field-types/name-id.d.ts +11 -0
- package/types-legacy/ts4.2/tx/builder/field-types/name.d.ts +13 -0
- package/types-legacy/ts4.2/tx/builder/field-types/pointers.d.ts +26 -0
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +8 -0
- package/types-legacy/ts4.2/tx/builder/helpers.d.ts +112 -0
- package/types-legacy/ts4.2/tx/builder/index.d.ts +68 -0
- package/types-legacy/ts4.2/tx/builder/schema.d.ts +2963 -0
- package/types-legacy/ts4.2/tx/index.d.ts +34 -0
- package/types-legacy/ts4.2/tx/validator.d.ts +20 -0
- package/types-legacy/ts4.2/utils/amount-formatter.d.ts +42 -0
- package/types-legacy/ts4.2/utils/autorest.d.ts +7 -0
- package/types-legacy/ts4.2/utils/bignumber.d.ts +13 -0
- package/types-legacy/ts4.2/utils/bytes.d.ts +9 -0
- package/types-legacy/ts4.2/utils/crypto.d.ts +95 -0
- package/types-legacy/ts4.2/utils/encoder-types.d.ts +61 -0
- package/types-legacy/ts4.2/utils/encoder.d.ts +24 -0
- package/types-legacy/ts4.2/utils/errors.d.ts +480 -0
- package/types-legacy/ts4.2/utils/hd-wallet.d.ts +65 -0
- package/types-legacy/ts4.2/utils/json-big.d.ts +5 -0
- package/types-legacy/ts4.2/utils/keystore.d.ts +53 -0
- package/types-legacy/ts4.2/utils/mptree.d.ts +32 -0
- package/types-legacy/ts4.2/utils/other.d.ts +31 -0
- package/types-legacy/ts4.2/utils/semver-satisfies.d.ts +1 -0
- package/types-legacy/ts4.2/utils/string.d.ts +12 -0
- package/types-legacy/ts4.5/AeSdk.d.ts +41 -0
- package/types-legacy/ts4.5/AeSdkAepp.d.ts +71 -0
- package/types-legacy/ts4.5/AeSdkBase.d.ts +91 -0
- package/types-legacy/ts4.5/AeSdkMethods.d.ts +141 -0
- package/types-legacy/ts4.5/AeSdkWallet.d.ts +90 -0
- package/types-legacy/ts4.5/Node.d.ts +78 -0
- package/types-legacy/ts4.5/account/Base.d.ts +52 -0
- package/types-legacy/ts4.5/account/Generalized.d.ts +16 -0
- package/types-legacy/ts4.5/account/Ledger.d.ts +28 -0
- package/types-legacy/ts4.5/account/LedgerFactory.d.ts +39 -0
- package/types-legacy/ts4.5/account/Memory.d.ts +22 -0
- package/types-legacy/ts4.5/account/Rpc.d.ts +25 -0
- package/types-legacy/ts4.5/aens.d.ts +222 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/Browser.d.ts +33 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +18 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +36 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/connection-proxy.d.ts +11 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/RpcClient.d.ts +34 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +83 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +133 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +25 -0
- package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +86 -0
- package/types-legacy/ts4.5/apis/compiler/index.d.ts +2 -0
- package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +195 -0
- package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +23 -0
- package/types-legacy/ts4.5/apis/compiler/models/parameters.d.ts +12 -0
- package/types-legacy/ts4.5/apis/node/index.d.ts +2 -0
- package/types-legacy/ts4.5/apis/node/models/index.d.ts +1065 -0
- package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +95 -0
- package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +17 -0
- package/types-legacy/ts4.5/apis/node/node.d.ts +215 -0
- package/types-legacy/ts4.5/chain.d.ts +248 -0
- package/types-legacy/ts4.5/channel/Base.d.ts +194 -0
- package/types-legacy/ts4.5/channel/Contract.d.ts +247 -0
- package/types-legacy/ts4.5/channel/Spend.d.ts +217 -0
- package/types-legacy/ts4.5/channel/handlers.d.ts +21 -0
- package/types-legacy/ts4.5/channel/internal.d.ts +107 -0
- package/types-legacy/ts4.5/contract/CompilerHttp.d.ts +18 -0
- package/types-legacy/ts4.5/contract/Contract.d.ts +237 -0
- package/types-legacy/ts4.5/contract/ga.d.ts +43 -0
- package/types-legacy/ts4.5/index.d.ts +38 -0
- package/types-legacy/ts4.5/oracle.d.ts +161 -0
- package/types-legacy/ts4.5/spend.d.ts +62 -0
- package/types-legacy/ts4.5/tx/builder/constants.d.ts +71 -0
- package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +22 -0
- package/types-legacy/ts4.5/tx/builder/field-types/addresses.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +12 -0
- package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +14 -0
- package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +5 -0
- package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +17 -0
- package/types-legacy/ts4.5/tx/builder/field-types/field.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +12 -0
- package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +85 -0
- package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +19 -0
- package/types-legacy/ts4.5/tx/builder/field-types/name-id.d.ts +11 -0
- package/types-legacy/ts4.5/tx/builder/field-types/name.d.ts +13 -0
- package/types-legacy/ts4.5/tx/builder/field-types/pointers.d.ts +26 -0
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +8 -0
- package/types-legacy/ts4.5/tx/builder/helpers.d.ts +112 -0
- package/types-legacy/ts4.5/tx/builder/index.d.ts +68 -0
- package/types-legacy/ts4.5/tx/builder/schema.d.ts +2963 -0
- package/types-legacy/ts4.5/tx/index.d.ts +34 -0
- package/types-legacy/ts4.5/tx/validator.d.ts +20 -0
- package/types-legacy/ts4.5/utils/amount-formatter.d.ts +42 -0
- package/types-legacy/ts4.5/utils/autorest.d.ts +7 -0
- package/types-legacy/ts4.5/utils/bignumber.d.ts +13 -0
- package/types-legacy/ts4.5/utils/bytes.d.ts +9 -0
- package/types-legacy/ts4.5/utils/crypto.d.ts +95 -0
- package/types-legacy/ts4.5/utils/encoder-types.d.ts +61 -0
- package/types-legacy/ts4.5/utils/encoder.d.ts +24 -0
- package/types-legacy/ts4.5/utils/errors.d.ts +480 -0
- package/types-legacy/ts4.5/utils/hd-wallet.d.ts +65 -0
- package/types-legacy/ts4.5/utils/json-big.d.ts +5 -0
- package/types-legacy/ts4.5/utils/keystore.d.ts +53 -0
- package/types-legacy/ts4.5/utils/mptree.d.ts +32 -0
- package/types-legacy/ts4.5/utils/other.d.ts +31 -0
- package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +1 -0
- package/types-legacy/ts4.5/utils/string.d.ts +12 -0
- package/es/channel/index.d.ts +0 -625
- package/es/channel/index.mjs +0 -975
- package/es/channel/index.mjs.map +0 -1
- package/es/contract/Compiler.mjs.map +0 -1
- package/es/contract/aci.d.ts +0 -127
- package/es/contract/aci.mjs +0 -508
- package/es/contract/aci.mjs.map +0 -1
- package/es/contract/methods.d.ts +0 -71
- package/es/contract/methods.mjs +0 -104
- package/es/contract/methods.mjs.map +0 -1
- package/es/deprecated/index.d.ts +0 -143
- package/es/deprecated/index.mjs +0 -162
- package/es/deprecated/index.mjs.map +0 -1
- package/es/deprecated/methods.d.ts +0 -18
- package/es/deprecated/methods.mjs +0 -26
- package/es/deprecated/methods.mjs.map +0 -1
- package/es/tx/builder/address.d.ts +0 -25
- package/es/tx/builder/address.mjs +0 -45
- package/es/tx/builder/address.mjs.map +0 -1
- package/es/typings/@aeternity__argon2-browser/index.d.mjs.map +0 -1
- package/src/channel/index.ts +0 -1025
- package/src/contract/aci.ts +0 -537
- package/src/contract/methods.ts +0 -123
- package/src/deprecated/index.ts +0 -172
- package/src/deprecated/methods.ts +0 -25
- package/src/tx/builder/address.ts +0 -50
- package/src/typings/@aeternity__argon2-browser/index.d.ts +0 -3
package/src/channel/internal.ts
CHANGED
|
@@ -16,44 +16,62 @@
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import { w3cwebsocket as W3CWebSocket } from 'websocket';
|
|
19
|
-
import { EventEmitter } from 'events';
|
|
20
19
|
import BigNumber from 'bignumber.js';
|
|
21
|
-
import type Channel from '
|
|
20
|
+
import type Channel from './Base';
|
|
22
21
|
import JsonBig from '../utils/json-big';
|
|
23
22
|
import { pascalToSnake } from '../utils/string';
|
|
24
23
|
import { Encoded } from '../utils/encoder';
|
|
25
24
|
import {
|
|
26
|
-
BaseError,
|
|
25
|
+
BaseError,
|
|
26
|
+
ChannelCallError,
|
|
27
|
+
ChannelPingTimedOutError,
|
|
28
|
+
UnexpectedTsError,
|
|
29
|
+
UnknownChannelStateError,
|
|
30
|
+
ChannelIncomingMessageError,
|
|
31
|
+
ChannelError,
|
|
27
32
|
} from '../utils/errors';
|
|
28
33
|
|
|
29
|
-
interface ChannelAction {
|
|
34
|
+
export interface ChannelAction {
|
|
30
35
|
guard: (channel: Channel, state?: ChannelFsm) => boolean;
|
|
31
36
|
action: (channel: Channel, state?: ChannelFsm) => ChannelFsm;
|
|
32
37
|
}
|
|
33
38
|
|
|
34
|
-
|
|
39
|
+
interface SignOptions {
|
|
40
|
+
updates?: any[];
|
|
41
|
+
[k: string]: any;
|
|
42
|
+
}
|
|
43
|
+
export type SignTxWithTag = (tag: string, tx: Encoded.Transaction, options?: SignOptions) => (
|
|
35
44
|
Promise<Encoded.Transaction>
|
|
36
45
|
);
|
|
37
46
|
// TODO: SignTx shouldn't return number or null
|
|
38
|
-
export type SignTx = (tx: Encoded.Transaction, options?:
|
|
47
|
+
export type SignTx = (tx: Encoded.Transaction, options?: SignOptions) => (
|
|
39
48
|
Promise<Encoded.Transaction | number | null>
|
|
40
49
|
);
|
|
41
50
|
|
|
42
51
|
export interface ChannelOptions {
|
|
43
|
-
existingFsmId?:
|
|
52
|
+
existingFsmId?: Encoded.Bytearray;
|
|
44
53
|
url: string;
|
|
45
|
-
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* @see {@link https://github.com/aeternity/protocol/blob/6734de2e4c7cce7e5e626caa8305fb535785131d/node/api/channels_api_usage.md#channel-establishing-parameters}
|
|
57
|
+
*/
|
|
46
58
|
initiatorId: Encoded.AccountAddress;
|
|
47
59
|
responderId: Encoded.AccountAddress;
|
|
60
|
+
lockPeriod: number;
|
|
48
61
|
pushAmount: number;
|
|
49
62
|
initiatorAmount: BigNumber;
|
|
50
63
|
responderAmount: BigNumber;
|
|
51
64
|
channelReserve?: BigNumber | number;
|
|
52
|
-
signedTx?: string;
|
|
53
65
|
ttl?: number;
|
|
54
66
|
host: string;
|
|
55
67
|
port: number;
|
|
56
|
-
|
|
68
|
+
role: 'initiator' | 'responder';
|
|
69
|
+
minimumDepthStrategy?: 'txfee' | 'plain';
|
|
70
|
+
minimumDepth?: number;
|
|
71
|
+
fee?: BigNumber | number;
|
|
72
|
+
gasPrice?: BigNumber | number;
|
|
73
|
+
|
|
74
|
+
signedTx?: string;
|
|
57
75
|
existingChannelId?: string;
|
|
58
76
|
offChainTx?: string;
|
|
59
77
|
reconnectTx?: string;
|
|
@@ -76,7 +94,7 @@ export interface ChannelHandler extends Function {
|
|
|
76
94
|
}
|
|
77
95
|
|
|
78
96
|
export interface ChannelState {
|
|
79
|
-
signedTx:
|
|
97
|
+
signedTx: Encoded.Transaction;
|
|
80
98
|
resolve: (r?: any) => void;
|
|
81
99
|
reject: (e: BaseError) => void;
|
|
82
100
|
sign: SignTx;
|
|
@@ -99,7 +117,6 @@ export interface ChannelFsm {
|
|
|
99
117
|
|
|
100
118
|
export interface ChannelMessage {
|
|
101
119
|
id?: number;
|
|
102
|
-
jsonrpc: string;
|
|
103
120
|
method: string;
|
|
104
121
|
params: any;
|
|
105
122
|
payload?: any;
|
|
@@ -119,37 +136,19 @@ interface ChannelMessageError {
|
|
|
119
136
|
|
|
120
137
|
// Send ping message every 10 seconds
|
|
121
138
|
const PING_TIMEOUT_MS = 10000;
|
|
122
|
-
// Close connection if pong message is not received within
|
|
123
|
-
const PONG_TIMEOUT_MS =
|
|
124
|
-
|
|
125
|
-
// TODO: move to Channel instance to avoid is-null checks and for easier debugging
|
|
126
|
-
export const options = new WeakMap<Channel, ChannelOptions>();
|
|
127
|
-
export const status = new WeakMap<Channel, string>();
|
|
128
|
-
export const state = new WeakMap<Channel, Encoded.Transaction>();
|
|
129
|
-
const fsm = new WeakMap<Channel, ChannelFsm>();
|
|
130
|
-
const websockets = new WeakMap<Channel, W3CWebSocket>();
|
|
131
|
-
export const eventEmitters = new WeakMap<Channel, EventEmitter>();
|
|
132
|
-
const messageQueue = new WeakMap<Channel, string[]>();
|
|
133
|
-
const messageQueueLocked = new WeakMap<Channel, boolean>();
|
|
134
|
-
const actionQueue = new WeakMap<Channel, ChannelAction[]>();
|
|
135
|
-
const actionQueueLocked = new WeakMap<Channel, boolean>();
|
|
136
|
-
const sequence = new WeakMap<Channel, number>();
|
|
137
|
-
export const channelId = new WeakMap<Channel, string>();
|
|
138
|
-
const rpcCallbacks = new WeakMap<Channel, Map<number, Function>>();
|
|
139
|
-
const pingTimeoutId = new WeakMap<Channel, NodeJS.Timeout>();
|
|
140
|
-
const pongTimeoutId = new WeakMap<Channel, NodeJS.Timeout>();
|
|
141
|
-
export const fsmId = new WeakMap<Channel, string>();
|
|
139
|
+
// Close connection if pong message is not received within 15 seconds
|
|
140
|
+
const PONG_TIMEOUT_MS = 15000;
|
|
142
141
|
|
|
143
142
|
export function emit(channel: Channel, ...args: any[]): void {
|
|
144
143
|
const [eventName, ...rest] = args;
|
|
145
|
-
|
|
144
|
+
channel._eventEmitter.emit(eventName, ...rest);
|
|
146
145
|
}
|
|
147
146
|
|
|
148
147
|
function enterState(channel: Channel, nextState: ChannelFsm): void {
|
|
149
148
|
if (nextState == null) {
|
|
150
149
|
throw new UnknownChannelStateError();
|
|
151
150
|
}
|
|
152
|
-
|
|
151
|
+
channel._fsm = nextState;
|
|
153
152
|
if (nextState?.handler?.enter != null) {
|
|
154
153
|
nextState.handler.enter(channel);
|
|
155
154
|
}
|
|
@@ -157,122 +156,110 @@ function enterState(channel: Channel, nextState: ChannelFsm): void {
|
|
|
157
156
|
void dequeueAction(channel);
|
|
158
157
|
}
|
|
159
158
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
159
|
+
// TODO: rewrite to enum
|
|
160
|
+
export type ChannelStatus = 'connecting' | 'connected' | 'accepted' | 'halfSigned' | 'signed'
|
|
161
|
+
| 'open' | 'closing' | 'closed' | 'died' | 'disconnected';
|
|
162
|
+
|
|
163
|
+
export function changeStatus(channel: Channel, newStatus: ChannelStatus): void {
|
|
164
|
+
if (newStatus === channel._status) return;
|
|
165
|
+
channel._status = newStatus;
|
|
166
|
+
emit(channel, 'statusChanged', newStatus);
|
|
166
167
|
}
|
|
167
168
|
|
|
168
169
|
export function changeState(channel: Channel, newState: Encoded.Transaction): void {
|
|
169
|
-
|
|
170
|
+
channel._state = newState;
|
|
170
171
|
emit(channel, 'stateChanged', newState);
|
|
171
172
|
}
|
|
172
173
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
174
|
+
function send(channel: Channel, message: ChannelMessage): void {
|
|
175
|
+
if (channel._options.debug) console.log('Send message: ', message);
|
|
176
|
+
channel._websocket.send(JsonBig.stringify({ jsonrpc: '2.0', ...message }));
|
|
177
|
+
}
|
|
176
178
|
|
|
177
|
-
|
|
179
|
+
export function notify(channel: Channel, method: string, params: object = {}): void {
|
|
180
|
+
send(channel, { method, params });
|
|
178
181
|
}
|
|
179
182
|
|
|
180
183
|
async function dequeueAction(channel: Channel): Promise<void> {
|
|
181
|
-
|
|
182
|
-
const queue =
|
|
183
|
-
if (
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
const
|
|
189
|
-
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
actionQueue.set(channel, queue.filter((_: ChannelAction, i: number) => index !== i));
|
|
193
|
-
actionQueueLocked.set(channel, true);
|
|
194
|
-
const nextState: ChannelFsm = await Promise.resolve(queue[index].action(channel, singleFsm));
|
|
195
|
-
actionQueueLocked.set(channel, false);
|
|
184
|
+
if (channel._isActionQueueLocked) return;
|
|
185
|
+
const queue = channel._actionQueue;
|
|
186
|
+
if (queue.length === 0) return;
|
|
187
|
+
const index = queue.findIndex((action) => action.guard(channel, channel._fsm));
|
|
188
|
+
if (index === -1) return;
|
|
189
|
+
channel._actionQueue = queue.filter((_, i) => index !== i);
|
|
190
|
+
channel._isActionQueueLocked = true;
|
|
191
|
+
const nextState: ChannelFsm = await queue[index].action(channel, channel._fsm);
|
|
192
|
+
channel._isActionQueueLocked = false;
|
|
196
193
|
enterState(channel, nextState);
|
|
197
194
|
}
|
|
198
195
|
|
|
199
|
-
export function enqueueAction(
|
|
196
|
+
export async function enqueueAction(
|
|
200
197
|
channel: Channel,
|
|
201
198
|
guard: ChannelAction['guard'],
|
|
202
|
-
action:
|
|
203
|
-
):
|
|
204
|
-
const
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
199
|
+
action: () => { handler: ChannelHandler; state?: Partial<ChannelState> },
|
|
200
|
+
): Promise<any> {
|
|
201
|
+
const promise = new Promise((resolve, reject) => {
|
|
202
|
+
channel._actionQueue.push({
|
|
203
|
+
guard,
|
|
204
|
+
action() {
|
|
205
|
+
const res = action();
|
|
206
|
+
return { ...res, state: { ...res.state, resolve, reject } };
|
|
207
|
+
},
|
|
208
|
+
});
|
|
209
|
+
});
|
|
209
210
|
void dequeueAction(channel);
|
|
211
|
+
return promise;
|
|
210
212
|
}
|
|
211
213
|
|
|
212
|
-
async function handleMessage(channel: Channel, message:
|
|
213
|
-
const
|
|
214
|
-
if (fsmState == null) throw new UnknownChannelStateError();
|
|
215
|
-
const { handler, state: st } = fsmState;
|
|
214
|
+
async function handleMessage(channel: Channel, message: object): Promise<void> {
|
|
215
|
+
const { handler, state: st } = channel._fsm;
|
|
216
216
|
enterState(channel, await Promise.resolve(handler(channel, message, st)));
|
|
217
217
|
}
|
|
218
218
|
|
|
219
219
|
async function dequeueMessage(channel: Channel): Promise<void> {
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
while (messages.length > 0) {
|
|
226
|
-
const message: string = messages.shift() ?? '';
|
|
220
|
+
if (channel._isMessageQueueLocked) return;
|
|
221
|
+
channel._isMessageQueueLocked = true;
|
|
222
|
+
while (channel._messageQueue.length > 0) {
|
|
223
|
+
const message = channel._messageQueue.shift();
|
|
224
|
+
if (message == null) throw new UnexpectedTsError();
|
|
227
225
|
try {
|
|
228
226
|
await handleMessage(channel, message);
|
|
229
227
|
} catch (error) {
|
|
230
|
-
|
|
231
|
-
console.error(message);
|
|
232
|
-
console.error(error);
|
|
228
|
+
emit(channel, 'error', new ChannelIncomingMessageError(error, message));
|
|
233
229
|
}
|
|
234
230
|
}
|
|
235
|
-
|
|
231
|
+
channel._isMessageQueueLocked = false;
|
|
236
232
|
}
|
|
237
233
|
|
|
238
234
|
export function disconnect(channel: Channel): void {
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
const pongTimeoutIdValue = pongTimeoutId.get(channel);
|
|
242
|
-
if (pingTimeoutIdValue != null) clearTimeout(pingTimeoutIdValue);
|
|
243
|
-
if (pongTimeoutIdValue != null) clearTimeout(pongTimeoutIdValue);
|
|
235
|
+
channel._websocket.close();
|
|
236
|
+
clearTimeout(channel._pingTimeoutId);
|
|
244
237
|
}
|
|
245
238
|
|
|
246
239
|
function ping(channel: Channel): void {
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
pingTimeoutId.set(channel, setTimeout(() => {
|
|
252
|
-
send(channel, {
|
|
253
|
-
jsonrpc: '2.0',
|
|
254
|
-
method: 'channels.system',
|
|
255
|
-
params: {
|
|
256
|
-
action: 'ping',
|
|
257
|
-
},
|
|
258
|
-
});
|
|
259
|
-
pongTimeoutId.set(channel, setTimeout(() => {
|
|
240
|
+
clearTimeout(channel._pingTimeoutId);
|
|
241
|
+
channel._pingTimeoutId = setTimeout(() => {
|
|
242
|
+
notify(channel, 'channels.system', { action: 'ping' });
|
|
243
|
+
channel._pingTimeoutId = setTimeout(() => {
|
|
260
244
|
disconnect(channel);
|
|
261
245
|
emit(channel, 'error', new ChannelPingTimedOutError());
|
|
262
|
-
}, PONG_TIMEOUT_MS)
|
|
263
|
-
}, PING_TIMEOUT_MS)
|
|
246
|
+
}, PONG_TIMEOUT_MS);
|
|
247
|
+
}, PING_TIMEOUT_MS);
|
|
264
248
|
}
|
|
265
249
|
|
|
266
250
|
function onMessage(channel: Channel, data: string): void {
|
|
267
251
|
const message = JsonBig.parse(data);
|
|
268
|
-
|
|
269
|
-
if (debug) console.log('Receive message: ', message);
|
|
252
|
+
if (channel._options.debug) console.log('Receive message: ', message);
|
|
270
253
|
if (message.id != null) {
|
|
271
|
-
const callback =
|
|
254
|
+
const callback = channel._rpcCallbacks.get(message.id);
|
|
255
|
+
if (callback == null) {
|
|
256
|
+
emit(channel, 'error', new ChannelError(`Can't find callback by id: ${message.id}`));
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
272
259
|
try {
|
|
273
|
-
callback
|
|
260
|
+
callback(message);
|
|
274
261
|
} finally {
|
|
275
|
-
|
|
262
|
+
channel._rpcCallbacks.delete(message.id);
|
|
276
263
|
}
|
|
277
264
|
return;
|
|
278
265
|
}
|
|
@@ -281,36 +268,28 @@ function onMessage(channel: Channel, data: string): void {
|
|
|
281
268
|
return;
|
|
282
269
|
}
|
|
283
270
|
if (message.method === 'channels.system.pong') {
|
|
284
|
-
if (
|
|
285
|
-
(message.params.channel_id === channelId.get(channel))
|
|
286
|
-
// Skip channelId check if channelId is not known yet
|
|
287
|
-
|| (channelId.get(channel) == null)
|
|
288
|
-
) {
|
|
271
|
+
if (message.params.channel_id === channel._channelId || channel._channelId == null) {
|
|
289
272
|
ping(channel);
|
|
290
273
|
}
|
|
291
274
|
return;
|
|
292
275
|
}
|
|
293
|
-
|
|
276
|
+
channel._messageQueue.push(message);
|
|
294
277
|
void dequeueMessage(channel);
|
|
295
278
|
}
|
|
296
279
|
|
|
297
280
|
export async function call(channel: Channel, method: string, params: any): Promise<any> {
|
|
298
281
|
return new Promise((resolve, reject) => {
|
|
299
|
-
const
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
return resolve(message.result);
|
|
309
|
-
},
|
|
310
|
-
);
|
|
311
|
-
send(channel, {
|
|
312
|
-
jsonrpc: '2.0', method, id, params,
|
|
282
|
+
const id = channel._nextRpcMessageId;
|
|
283
|
+
channel._nextRpcMessageId += 1;
|
|
284
|
+
channel._rpcCallbacks.set(id, (
|
|
285
|
+
message: { result: PromiseLike<any>; error?: ChannelMessageError },
|
|
286
|
+
) => {
|
|
287
|
+
if (message.error != null) {
|
|
288
|
+
const details = message.error.data[0].message ?? '';
|
|
289
|
+
reject(new ChannelCallError(message.error.message + details));
|
|
290
|
+
} else resolve(message.result);
|
|
313
291
|
});
|
|
292
|
+
send(channel, { method, id, params });
|
|
314
293
|
});
|
|
315
294
|
}
|
|
316
295
|
|
|
@@ -320,22 +299,18 @@ export async function initialize(
|
|
|
320
299
|
openHandler: Function,
|
|
321
300
|
{ url, ...channelOptions }: ChannelOptions,
|
|
322
301
|
): Promise<void> {
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
eventEmitters.set(channel, new EventEmitter());
|
|
326
|
-
sequence.set(channel, 0);
|
|
327
|
-
rpcCallbacks.set(channel, new Map());
|
|
328
|
-
messageQueue.set(channel, []);
|
|
302
|
+
channel._options = { url, ...channelOptions };
|
|
303
|
+
channel._fsm = { handler: connectionHandler };
|
|
329
304
|
|
|
330
305
|
const wsUrl = new URL(url);
|
|
331
306
|
Object.entries(channelOptions)
|
|
332
307
|
.filter(([key]) => !['sign', 'debug'].includes(key))
|
|
333
|
-
.forEach(([key, value]) => wsUrl.searchParams.set(pascalToSnake(key), value));
|
|
308
|
+
.forEach(([key, value]) => wsUrl.searchParams.set(pascalToSnake(key), value.toString()));
|
|
334
309
|
wsUrl.searchParams.set('protocol', 'json-rpc');
|
|
335
310
|
changeStatus(channel, 'connecting');
|
|
336
|
-
|
|
311
|
+
channel._websocket = new W3CWebSocket(wsUrl.toString());
|
|
337
312
|
await new Promise<void>((resolve, reject) => {
|
|
338
|
-
Object.assign(
|
|
313
|
+
Object.assign(channel._websocket, {
|
|
339
314
|
onerror: reject,
|
|
340
315
|
onopen: async () => {
|
|
341
316
|
resolve();
|
|
@@ -349,13 +324,9 @@ export async function initialize(
|
|
|
349
324
|
},
|
|
350
325
|
onclose: () => {
|
|
351
326
|
changeStatus(channel, 'disconnected');
|
|
352
|
-
|
|
353
|
-
const pongTimeoutIdValue = pongTimeoutId.get(channel);
|
|
354
|
-
if (pingTimeoutIdValue != null) clearTimeout(pingTimeoutIdValue);
|
|
355
|
-
if (pongTimeoutIdValue != null) clearTimeout(pongTimeoutIdValue);
|
|
327
|
+
clearTimeout(channel._pingTimeoutId);
|
|
356
328
|
},
|
|
357
329
|
onmessage: ({ data }: { data: string }) => onMessage(channel, data),
|
|
358
330
|
});
|
|
359
331
|
});
|
|
360
|
-
websockets.set(channel, ws);
|
|
361
332
|
}
|
|
@@ -23,13 +23,13 @@ type GeneralCompilerError = ErrorModel & {
|
|
|
23
23
|
};
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
* Contract Compiler
|
|
26
|
+
* Contract Compiler over HTTP
|
|
27
27
|
*
|
|
28
28
|
* This class include api call's related to contract compiler functionality.
|
|
29
29
|
* @category contract
|
|
30
|
-
* @example
|
|
30
|
+
* @example CompilerHttp('COMPILER_URL')
|
|
31
31
|
*/
|
|
32
|
-
export default class
|
|
32
|
+
export default class CompilerHttp extends CompilerApi {
|
|
33
33
|
/**
|
|
34
34
|
* @param compilerUrl - Url for compiler API
|
|
35
35
|
* @param options - Options
|
|
@@ -58,9 +58,9 @@ export default class Compiler extends CompilerApi {
|
|
|
58
58
|
],
|
|
59
59
|
});
|
|
60
60
|
if (ignoreVersion !== true) {
|
|
61
|
-
const versionPromise = this.
|
|
61
|
+
const versionPromise = this.apiVersion().then(({ apiVersion }) => apiVersion);
|
|
62
62
|
this.pipeline.addPolicy(
|
|
63
|
-
genVersionCheckPolicy('compiler', '/api-version', versionPromise, '
|
|
63
|
+
genVersionCheckPolicy('compiler', '/api-version', versionPromise, '7.0.1', '8.0.0'),
|
|
64
64
|
);
|
|
65
65
|
}
|
|
66
66
|
}
|