@aeternity/aepp-sdk 13.2.1 → 13.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/bin/aesophia_cli +0 -0
- package/bin/aesophia_cli_8 +0 -0
- package/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.map +1 -1
- package/dist/aepp-sdk.browser.js +1 -1
- package/dist/aepp-sdk.browser.js.map +1 -1
- package/dist/aepp-sdk.js +7288 -9464
- package/dist/aepp-sdk.js.map +1 -1
- package/es/AeSdk.d.ts +3 -0
- package/es/AeSdk.mjs +12 -12
- package/es/AeSdk.mjs.map +1 -1
- package/es/AeSdkAepp.d.ts +0 -1
- package/es/AeSdkAepp.mjs +12 -16
- package/es/AeSdkAepp.mjs.map +1 -1
- package/es/AeSdkBase.d.ts +61 -6
- package/es/AeSdkBase.mjs +150 -69
- package/es/AeSdkBase.mjs.map +1 -1
- package/es/AeSdkMethods.d.ts +19 -7
- package/es/AeSdkMethods.mjs +39 -38
- package/es/AeSdkMethods.mjs.map +1 -1
- package/es/AeSdkWallet.mjs +86 -55
- package/es/AeSdkWallet.mjs.map +1 -1
- package/es/Middleware.d.ts +1 -1
- package/es/Middleware.mjs +32 -28
- package/es/Middleware.mjs.map +1 -1
- package/es/MiddlewareSubscriber.mjs +5 -14
- package/es/MiddlewareSubscriber.mjs.map +1 -1
- package/es/Node.d.ts +11 -3
- package/es/Node.mjs +65 -57
- package/es/Node.mjs.map +1 -1
- package/es/account/Base.d.ts +39 -3
- package/es/account/Base.mjs +35 -1
- package/es/account/Base.mjs.map +1 -1
- package/es/account/Generalized.d.ts +2 -0
- package/es/account/Generalized.mjs +15 -6
- package/es/account/Generalized.mjs.map +1 -1
- package/es/account/Ledger.d.ts +2 -0
- package/es/account/Ledger.mjs +14 -5
- package/es/account/Ledger.mjs.map +1 -1
- package/es/account/LedgerFactory.mjs +4 -6
- package/es/account/LedgerFactory.mjs.map +1 -1
- package/es/account/Memory.d.ts +15 -4
- package/es/account/Memory.mjs +96 -31
- package/es/account/Memory.mjs.map +1 -1
- package/es/account/Rpc.d.ts +16 -5
- package/es/account/Rpc.mjs +94 -21
- package/es/account/Rpc.mjs.map +1 -1
- package/es/aens.d.ts +17 -44
- package/es/aens.mjs +32 -71
- package/es/aens.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/Browser.mjs +3 -4
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +3 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +7 -5
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +8 -9
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +7 -7
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/types.d.ts +14 -0
- package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
- package/es/aepp-wallet-communication/schema.d.ts +2 -0
- package/es/aepp-wallet-communication/schema.mjs +2 -0
- package/es/aepp-wallet-communication/schema.mjs.map +1 -1
- package/es/aepp-wallet-communication/wallet-detector.d.ts +2 -5
- package/es/aepp-wallet-communication/wallet-detector.mjs +13 -9
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
- package/es/apis/compiler/compiler.mjs.map +1 -1
- package/es/apis/compiler/models/index.d.ts +1 -0
- package/es/apis/compiler/models/index.mjs.map +1 -1
- package/es/apis/compiler/models/mappers.mjs +13 -0
- package/es/apis/compiler/models/mappers.mjs.map +1 -1
- package/es/apis/compiler/models/parameters.mjs.map +1 -1
- package/es/apis/middleware/middleware.d.ts +23 -5
- package/es/apis/middleware/middleware.mjs +114 -18
- package/es/apis/middleware/middleware.mjs.map +1 -1
- package/es/apis/middleware/models/index.d.ts +164 -15
- package/es/apis/middleware/models/index.mjs +53 -3
- package/es/apis/middleware/models/index.mjs.map +1 -1
- package/es/apis/middleware/models/mappers.d.ts +8 -1
- package/es/apis/middleware/models/mappers.mjs +376 -3
- package/es/apis/middleware/models/mappers.mjs.map +1 -1
- package/es/apis/middleware/models/parameters.d.ts +6 -3
- package/es/apis/middleware/models/parameters.mjs +38 -11
- package/es/apis/middleware/models/parameters.mjs.map +1 -1
- package/es/apis/node/models/index.d.ts +66 -2
- package/es/apis/node/models/index.mjs.map +1 -1
- package/es/apis/node/models/mappers.d.ts +5 -1
- package/es/apis/node/models/mappers.mjs +229 -7
- package/es/apis/node/models/mappers.mjs.map +1 -1
- package/es/apis/node/models/parameters.d.ts +2 -2
- package/es/apis/node/models/parameters.mjs +2 -2
- package/es/apis/node/models/parameters.mjs.map +1 -1
- package/es/apis/node/node.d.ts +24 -3
- package/es/apis/node/node.mjs +135 -3
- package/es/apis/node/node.mjs.map +1 -1
- package/es/chain.d.ts +14 -44
- package/es/chain.mjs +125 -219
- package/es/chain.mjs.map +1 -1
- package/es/channel/Base.d.ts +3 -47
- package/es/channel/Base.mjs +21 -54
- package/es/channel/Base.mjs.map +1 -1
- package/es/channel/Contract.d.ts +16 -25
- package/es/channel/Contract.mjs +39 -63
- package/es/channel/Contract.mjs.map +1 -1
- package/es/channel/Spend.d.ts +0 -8
- package/es/channel/Spend.mjs +17 -29
- package/es/channel/Spend.mjs.map +1 -1
- package/es/channel/handlers.mjs +1 -1
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/internal.d.ts +104 -5
- package/es/channel/internal.mjs +26 -34
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/Contract.d.ts +10 -2
- package/es/contract/Contract.mjs +83 -79
- package/es/contract/Contract.mjs.map +1 -1
- package/es/contract/compiler/Base.d.ts +14 -8
- package/es/contract/compiler/Base.mjs.map +1 -1
- package/es/contract/compiler/Cli.d.ts +12 -11
- package/es/contract/compiler/Cli.mjs +52 -25
- package/es/contract/compiler/Cli.mjs.map +1 -1
- package/es/contract/compiler/Cli8.d.ts +13 -0
- package/es/contract/compiler/Cli8.mjs +22 -0
- package/es/contract/compiler/Cli8.mjs.map +1 -0
- package/es/contract/compiler/Http.d.ts +3 -9
- package/es/contract/compiler/Http.mjs +28 -16
- package/es/contract/compiler/Http.mjs.map +1 -1
- package/es/contract/compiler/HttpNode.d.ts +2 -5
- package/es/contract/compiler/HttpNode.mjs.map +1 -1
- package/es/contract/delegation-signature.d.ts +2 -1
- package/es/contract/delegation-signature.mjs +18 -14
- package/es/contract/delegation-signature.mjs.map +1 -1
- package/es/contract/ga.d.ts +1 -2
- package/es/contract/ga.mjs +23 -25
- package/es/contract/ga.mjs.map +1 -1
- package/es/deprecated.d.ts +48 -0
- package/es/deprecated.mjs +66 -1
- package/es/deprecated.mjs.map +1 -1
- package/es/index-browser.d.ts +11 -6
- package/es/index-browser.mjs +10 -6
- package/es/index-browser.mjs.map +1 -1
- package/es/index.d.ts +1 -0
- package/es/index.mjs +1 -0
- package/es/index.mjs.map +1 -1
- package/es/oracle.d.ts +6 -37
- package/es/oracle.mjs +32 -66
- package/es/oracle.mjs.map +1 -1
- package/es/send-transaction.d.ts +53 -0
- package/es/send-transaction.mjs +109 -0
- package/es/send-transaction.mjs.map +1 -0
- package/es/spend.d.ts +4 -3
- package/es/spend.mjs +6 -1
- package/es/spend.mjs.map +1 -1
- package/es/tx/builder/common.d.ts +29 -0
- package/es/tx/builder/common.mjs +42 -0
- package/es/tx/builder/common.mjs.map +1 -0
- package/es/tx/builder/constants.d.ts +6 -5
- package/es/tx/builder/constants.mjs +7 -15
- package/es/tx/builder/constants.mjs.map +1 -1
- package/es/tx/builder/delegation/index.d.ts +20 -0
- package/es/tx/builder/delegation/index.mjs +24 -0
- package/es/tx/builder/delegation/index.mjs.map +1 -0
- package/es/tx/builder/delegation/schema.d.ts +130 -0
- package/es/tx/builder/delegation/schema.generated.d.ts +141 -0
- package/es/tx/builder/delegation/schema.generated.mjs +2 -0
- package/es/tx/builder/delegation/schema.generated.mjs.map +1 -0
- package/es/tx/builder/delegation/schema.mjs +54 -0
- package/es/tx/builder/delegation/schema.mjs.map +1 -0
- package/es/tx/builder/field-types/abi-version.mjs +8 -11
- package/es/tx/builder/field-types/abi-version.mjs.map +1 -1
- package/es/tx/builder/field-types/address.mjs +1 -4
- package/es/tx/builder/field-types/address.mjs.map +1 -1
- package/es/tx/builder/field-types/coin-amount.d.ts +2 -2
- package/es/tx/builder/field-types/coin-amount.mjs +6 -6
- package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
- package/es/tx/builder/field-types/ct-version.d.ts +1 -1
- package/es/tx/builder/field-types/ct-version.mjs +4 -5
- package/es/tx/builder/field-types/ct-version.mjs.map +1 -1
- package/es/tx/builder/field-types/entry.mjs +7 -13
- package/es/tx/builder/field-types/entry.mjs.map +1 -1
- package/es/tx/builder/field-types/fee.d.ts +19 -11
- package/es/tx/builder/field-types/fee.mjs +57 -39
- package/es/tx/builder/field-types/fee.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-limit.mjs +13 -15
- package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-price.d.ts +10 -2
- package/es/tx/builder/field-types/gas-price.mjs +53 -4
- package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
- package/es/tx/builder/field-types/index.d.ts +31 -29
- package/es/tx/builder/field-types/index.mjs +31 -29
- package/es/tx/builder/field-types/index.mjs.map +1 -1
- package/es/tx/builder/field-types/map.mjs +20 -31
- package/es/tx/builder/field-types/map.mjs.map +1 -1
- package/es/tx/builder/field-types/mptree.mjs +14 -29
- package/es/tx/builder/field-types/mptree.mjs.map +1 -1
- package/es/tx/builder/field-types/name-fee.d.ts +1 -1
- package/es/tx/builder/field-types/name-fee.mjs +1 -1
- package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
- package/es/tx/builder/field-types/nonce.d.ts +1 -0
- package/es/tx/builder/field-types/nonce.mjs +2 -0
- package/es/tx/builder/field-types/nonce.mjs.map +1 -1
- package/es/tx/builder/field-types/pointers.mjs +4 -7
- package/es/tx/builder/field-types/pointers.mjs.map +1 -1
- package/es/tx/builder/field-types/pointers2.d.ts +23 -0
- package/es/tx/builder/field-types/pointers2.mjs +65 -0
- package/es/tx/builder/field-types/pointers2.mjs.map +1 -0
- package/es/tx/builder/field-types/query-fee.d.ts +19 -0
- package/es/tx/builder/field-types/query-fee.mjs +20 -0
- package/es/tx/builder/field-types/query-fee.mjs.map +1 -0
- package/es/tx/builder/field-types/ttl.d.ts +9 -1
- package/es/tx/builder/field-types/ttl.mjs +19 -8
- package/es/tx/builder/field-types/ttl.mjs.map +1 -1
- package/es/tx/builder/field-types/with-default.d.ts +7 -0
- package/es/tx/builder/field-types/with-default.mjs +9 -0
- package/es/tx/builder/field-types/with-default.mjs.map +1 -0
- package/es/tx/builder/field-types/with-formatting.d.ts +7 -0
- package/es/tx/builder/field-types/with-formatting.mjs +9 -0
- package/es/tx/builder/field-types/with-formatting.mjs.map +1 -0
- package/es/tx/builder/field-types/wrapped.mjs +6 -8
- package/es/tx/builder/field-types/wrapped.mjs.map +1 -1
- package/es/tx/builder/helpers.d.ts +2 -2
- package/es/tx/builder/helpers.mjs +12 -21
- package/es/tx/builder/helpers.mjs.map +1 -1
- package/es/tx/builder/index.d.ts +17 -10
- package/es/tx/builder/index.mjs +39 -65
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +478 -257
- package/es/tx/builder/schema.generated.d.ts +39 -3
- package/es/tx/builder/schema.generated.mjs.map +1 -1
- package/es/tx/builder/schema.mjs +48 -36
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/tx/execution-cost.d.ts +6 -5
- package/es/tx/execution-cost.mjs +16 -17
- package/es/tx/execution-cost.mjs.map +1 -1
- package/es/tx/transaction-signer.mjs +1 -4
- package/es/tx/transaction-signer.mjs.map +1 -1
- package/es/tx/validator.mjs +61 -42
- package/es/tx/validator.mjs.map +1 -1
- package/es/utils/amount-formatter.mjs +15 -22
- package/es/utils/amount-formatter.mjs.map +1 -1
- package/es/utils/autorest.d.ts +2 -3
- package/es/utils/autorest.mjs +41 -25
- package/es/utils/autorest.mjs.map +1 -1
- package/es/utils/bytes.mjs +1 -2
- package/es/utils/bytes.mjs.map +1 -1
- package/es/utils/crypto.d.ts +9 -5
- package/es/utils/crypto.mjs +18 -14
- package/es/utils/crypto.mjs.map +1 -1
- package/es/utils/errors.d.ts +6 -0
- package/es/utils/errors.mjs +12 -6
- package/es/utils/errors.mjs.map +1 -1
- package/es/utils/hd-wallet.d.ts +2 -0
- package/es/utils/hd-wallet.mjs +6 -5
- package/es/utils/hd-wallet.mjs.map +1 -1
- package/es/utils/json-big.mjs +2 -10
- package/es/utils/json-big.mjs.map +1 -1
- package/es/utils/jwt.d.ts +53 -0
- package/es/utils/jwt.mjs +120 -0
- package/es/utils/jwt.mjs.map +1 -0
- package/es/utils/keystore.d.ts +6 -2
- package/es/utils/keystore.mjs +8 -16
- package/es/utils/keystore.mjs.map +1 -1
- package/es/utils/typed-data.d.ts +0 -2
- package/es/utils/typed-data.mjs +8 -23
- package/es/utils/typed-data.mjs.map +1 -1
- package/es/utils/wrap-proxy.d.ts +2 -0
- package/es/utils/wrap-proxy.mjs +15 -0
- package/es/utils/wrap-proxy.mjs.map +1 -0
- package/package.json +57 -51
- package/src/AeSdk.ts +3 -0
- package/src/AeSdkAepp.ts +0 -1
- package/src/AeSdkBase.ts +97 -10
- package/src/AeSdkMethods.ts +37 -33
- package/src/AeSdkWallet.ts +22 -3
- package/src/Middleware.ts +17 -9
- package/src/MiddlewareSubscriber.ts +1 -1
- package/src/Node.ts +51 -21
- package/src/account/Base.ts +62 -3
- package/src/account/Generalized.ts +10 -0
- package/src/account/Ledger.ts +10 -0
- package/src/account/Memory.ts +83 -9
- package/src/account/Rpc.ts +69 -6
- package/src/aens.ts +35 -56
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +3 -0
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +2 -2
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +4 -2
- package/src/aepp-wallet-communication/rpc/types.ts +14 -1
- package/src/aepp-wallet-communication/schema.ts +2 -0
- package/src/aepp-wallet-communication/wallet-detector.ts +10 -10
- package/src/apis/compiler/compiler.ts +93 -93
- package/src/apis/compiler/models/index.ts +1 -0
- package/src/apis/compiler/models/mappers.ts +178 -165
- package/src/apis/compiler/models/parameters.ts +18 -18
- package/src/apis/middleware/middleware.ts +462 -341
- package/src/apis/middleware/models/index.ts +258 -56
- package/src/apis/middleware/models/mappers.ts +2357 -1919
- package/src/apis/middleware/models/parameters.ts +172 -142
- package/src/apis/node/models/index.ts +79 -2
- package/src/apis/node/models/mappers.ts +1529 -1302
- package/src/apis/node/models/parameters.ts +51 -51
- package/src/apis/node/node.ts +420 -275
- package/src/chain.ts +42 -128
- package/src/channel/Base.ts +14 -47
- package/src/channel/Contract.ts +18 -26
- package/src/channel/Spend.ts +0 -8
- package/src/channel/internal.ts +115 -13
- package/src/contract/Contract.ts +36 -12
- package/src/contract/compiler/Base.ts +15 -8
- package/src/contract/compiler/Cli.ts +44 -23
- package/src/contract/compiler/Cli8.ts +17 -0
- package/src/contract/compiler/Http.ts +24 -14
- package/src/contract/compiler/HttpNode.ts +2 -2
- package/src/contract/delegation-signature.ts +11 -5
- package/src/contract/ga.ts +4 -3
- package/src/deprecated.ts +55 -1
- package/src/index-browser.ts +18 -11
- package/src/index.ts +1 -0
- package/src/oracle.ts +11 -54
- package/src/send-transaction.ts +136 -0
- package/src/spend.ts +25 -11
- package/src/tx/builder/common.ts +74 -0
- package/src/tx/builder/constants.ts +7 -9
- package/src/tx/builder/delegation/index.ts +28 -0
- package/src/tx/builder/delegation/schema.generated.ts +143 -0
- package/src/tx/builder/delegation/schema.ts +61 -0
- package/src/tx/builder/field-types/coin-amount.ts +3 -2
- package/src/tx/builder/field-types/ct-version.ts +1 -1
- package/src/tx/builder/field-types/entry.ts +1 -4
- package/src/tx/builder/field-types/fee.ts +72 -44
- package/src/tx/builder/field-types/gas-limit.ts +4 -4
- package/src/tx/builder/field-types/gas-price.ts +59 -3
- package/src/tx/builder/field-types/index.ts +31 -59
- package/src/tx/builder/field-types/name-fee.ts +1 -1
- package/src/tx/builder/field-types/nonce.ts +7 -1
- package/src/tx/builder/field-types/pointers2.ts +62 -0
- package/src/tx/builder/field-types/query-fee.ts +25 -0
- package/src/tx/builder/field-types/ttl.ts +13 -3
- package/src/tx/builder/field-types/with-default.ts +18 -0
- package/src/tx/builder/field-types/with-formatting.ts +18 -0
- package/src/tx/builder/helpers.ts +2 -2
- package/src/tx/builder/index.ts +42 -59
- package/src/tx/builder/schema.generated.ts +39 -3
- package/src/tx/builder/schema.ts +55 -29
- package/src/tx/execution-cost.ts +6 -5
- package/src/tx/validator.ts +31 -5
- package/src/utils/autorest.ts +37 -28
- package/src/utils/crypto.ts +24 -14
- package/src/utils/errors.ts +10 -0
- package/src/utils/hd-wallet.ts +2 -0
- package/src/utils/jwt.ts +126 -0
- package/src/utils/keystore.ts +6 -2
- package/src/utils/typed-data.ts +4 -30
- package/src/utils/wrap-proxy.ts +24 -0
- package/types-legacy/ts4.2/AeSdk.d.ts +3 -0
- package/types-legacy/ts4.2/AeSdkAepp.d.ts +0 -1
- package/types-legacy/ts4.2/AeSdkBase.d.ts +61 -6
- package/types-legacy/ts4.2/AeSdkMethods.d.ts +19 -7
- package/types-legacy/ts4.2/Middleware.d.ts +1 -1
- package/types-legacy/ts4.2/Node.d.ts +15 -2
- package/types-legacy/ts4.2/account/Base.d.ts +39 -3
- package/types-legacy/ts4.2/account/Generalized.d.ts +2 -0
- package/types-legacy/ts4.2/account/Ledger.d.ts +2 -0
- package/types-legacy/ts4.2/account/Memory.d.ts +15 -4
- package/types-legacy/ts4.2/account/Rpc.d.ts +16 -5
- package/types-legacy/ts4.2/aens.d.ts +17 -44
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +3 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +14 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +2 -0
- package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +2 -5
- package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +1 -0
- package/types-legacy/ts4.2/apis/middleware/middleware.d.ts +23 -5
- package/types-legacy/ts4.2/apis/middleware/models/index.d.ts +164 -15
- package/types-legacy/ts4.2/apis/middleware/models/mappers.d.ts +8 -1
- package/types-legacy/ts4.2/apis/middleware/models/parameters.d.ts +6 -3
- package/types-legacy/ts4.2/apis/node/models/index.d.ts +66 -2
- package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +5 -1
- package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +2 -2
- package/types-legacy/ts4.2/apis/node/node.d.ts +24 -3
- package/types-legacy/ts4.2/chain.d.ts +14 -44
- package/types-legacy/ts4.2/channel/Base.d.ts +3 -47
- package/types-legacy/ts4.2/channel/Contract.d.ts +16 -25
- package/types-legacy/ts4.2/channel/Spend.d.ts +0 -8
- package/types-legacy/ts4.2/channel/internal.d.ts +104 -5
- package/types-legacy/ts4.2/contract/Contract.d.ts +10 -2
- package/types-legacy/ts4.2/contract/compiler/Base.d.ts +14 -8
- package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +12 -11
- package/types-legacy/ts4.2/contract/compiler/Cli8.d.ts +13 -0
- package/types-legacy/ts4.2/contract/compiler/Http.d.ts +3 -9
- package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +2 -5
- package/types-legacy/ts4.2/contract/delegation-signature.d.ts +2 -1
- package/types-legacy/ts4.2/contract/ga.d.ts +1 -2
- package/types-legacy/ts4.2/deprecated.d.ts +48 -0
- package/types-legacy/ts4.2/index-browser.d.ts +11 -6
- package/types-legacy/ts4.2/index.d.ts +1 -0
- package/types-legacy/ts4.2/oracle.d.ts +6 -37
- package/types-legacy/ts4.2/send-transaction.d.ts +53 -0
- package/types-legacy/ts4.2/spend.d.ts +4 -3
- package/types-legacy/ts4.2/tx/builder/common.d.ts +32 -0
- package/types-legacy/ts4.2/tx/builder/constants.d.ts +6 -5
- package/types-legacy/ts4.2/tx/builder/delegation/index.d.ts +20 -0
- package/types-legacy/ts4.2/tx/builder/delegation/schema.d.ts +136 -0
- package/types-legacy/ts4.2/tx/builder/delegation/schema.generated.d.ts +141 -0
- package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +2 -2
- package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +1 -1
- package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +19 -11
- package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +10 -2
- package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +31 -29
- package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +1 -1
- package/types-legacy/ts4.2/tx/builder/field-types/nonce.d.ts +1 -0
- package/types-legacy/ts4.2/tx/builder/field-types/pointers2.d.ts +26 -0
- package/types-legacy/ts4.2/tx/builder/field-types/query-fee.d.ts +19 -0
- package/types-legacy/ts4.2/tx/builder/field-types/ttl.d.ts +9 -1
- package/types-legacy/ts4.2/tx/builder/field-types/with-default.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/field-types/with-formatting.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/helpers.d.ts +2 -2
- package/types-legacy/ts4.2/tx/builder/index.d.ts +17 -10
- package/types-legacy/ts4.2/tx/builder/schema.d.ts +482 -257
- package/types-legacy/ts4.2/tx/builder/schema.generated.d.ts +39 -3
- package/types-legacy/ts4.2/tx/execution-cost.d.ts +6 -5
- package/types-legacy/ts4.2/utils/autorest.d.ts +2 -3
- package/types-legacy/ts4.2/utils/crypto.d.ts +9 -5
- package/types-legacy/ts4.2/utils/errors.d.ts +6 -0
- package/types-legacy/ts4.2/utils/hd-wallet.d.ts +2 -0
- package/types-legacy/ts4.2/utils/jwt.d.ts +53 -0
- package/types-legacy/ts4.2/utils/keystore.d.ts +6 -2
- package/types-legacy/ts4.2/utils/typed-data.d.ts +0 -2
- package/types-legacy/ts4.2/utils/wrap-proxy.d.ts +2 -0
- package/types-legacy/ts4.5/AeSdk.d.ts +3 -0
- package/types-legacy/ts4.5/AeSdkAepp.d.ts +0 -1
- package/types-legacy/ts4.5/AeSdkBase.d.ts +61 -6
- package/types-legacy/ts4.5/AeSdkMethods.d.ts +19 -7
- package/types-legacy/ts4.5/Middleware.d.ts +1 -1
- package/types-legacy/ts4.5/Node.d.ts +15 -2
- package/types-legacy/ts4.5/account/Base.d.ts +39 -3
- package/types-legacy/ts4.5/account/Generalized.d.ts +2 -0
- package/types-legacy/ts4.5/account/Ledger.d.ts +2 -0
- package/types-legacy/ts4.5/account/Memory.d.ts +15 -4
- package/types-legacy/ts4.5/account/Rpc.d.ts +16 -5
- package/types-legacy/ts4.5/aens.d.ts +17 -44
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +3 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +14 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +2 -0
- package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +2 -5
- package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +1 -0
- package/types-legacy/ts4.5/apis/middleware/middleware.d.ts +23 -5
- package/types-legacy/ts4.5/apis/middleware/models/index.d.ts +164 -15
- package/types-legacy/ts4.5/apis/middleware/models/mappers.d.ts +8 -1
- package/types-legacy/ts4.5/apis/middleware/models/parameters.d.ts +6 -3
- package/types-legacy/ts4.5/apis/node/models/index.d.ts +66 -2
- package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +5 -1
- package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +2 -2
- package/types-legacy/ts4.5/apis/node/node.d.ts +24 -3
- package/types-legacy/ts4.5/chain.d.ts +14 -44
- package/types-legacy/ts4.5/channel/Base.d.ts +3 -47
- package/types-legacy/ts4.5/channel/Contract.d.ts +16 -25
- package/types-legacy/ts4.5/channel/Spend.d.ts +0 -8
- package/types-legacy/ts4.5/channel/internal.d.ts +104 -5
- package/types-legacy/ts4.5/contract/Contract.d.ts +10 -2
- package/types-legacy/ts4.5/contract/compiler/Base.d.ts +14 -8
- package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +12 -11
- package/types-legacy/ts4.5/contract/compiler/Cli8.d.ts +13 -0
- package/types-legacy/ts4.5/contract/compiler/Http.d.ts +3 -9
- package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +2 -5
- package/types-legacy/ts4.5/contract/delegation-signature.d.ts +2 -1
- package/types-legacy/ts4.5/contract/ga.d.ts +1 -2
- package/types-legacy/ts4.5/deprecated.d.ts +48 -0
- package/types-legacy/ts4.5/index-browser.d.ts +11 -6
- package/types-legacy/ts4.5/index.d.ts +1 -0
- package/types-legacy/ts4.5/oracle.d.ts +6 -37
- package/types-legacy/ts4.5/send-transaction.d.ts +53 -0
- package/types-legacy/ts4.5/spend.d.ts +4 -3
- package/types-legacy/ts4.5/tx/builder/common.d.ts +32 -0
- package/types-legacy/ts4.5/tx/builder/constants.d.ts +6 -5
- package/types-legacy/ts4.5/tx/builder/delegation/index.d.ts +20 -0
- package/types-legacy/ts4.5/tx/builder/delegation/schema.d.ts +136 -0
- package/types-legacy/ts4.5/tx/builder/delegation/schema.generated.d.ts +141 -0
- package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +2 -2
- package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +1 -1
- package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +19 -11
- package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +10 -2
- package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +31 -29
- package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +1 -1
- package/types-legacy/ts4.5/tx/builder/field-types/nonce.d.ts +1 -0
- package/types-legacy/ts4.5/tx/builder/field-types/pointers2.d.ts +26 -0
- package/types-legacy/ts4.5/tx/builder/field-types/query-fee.d.ts +19 -0
- package/types-legacy/ts4.5/tx/builder/field-types/ttl.d.ts +9 -1
- package/types-legacy/ts4.5/tx/builder/field-types/with-default.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/field-types/with-formatting.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/helpers.d.ts +2 -2
- package/types-legacy/ts4.5/tx/builder/index.d.ts +17 -10
- package/types-legacy/ts4.5/tx/builder/schema.d.ts +482 -257
- package/types-legacy/ts4.5/tx/builder/schema.generated.d.ts +39 -3
- package/types-legacy/ts4.5/tx/execution-cost.d.ts +6 -5
- package/types-legacy/ts4.5/utils/autorest.d.ts +2 -3
- package/types-legacy/ts4.5/utils/crypto.d.ts +9 -5
- package/types-legacy/ts4.5/utils/errors.d.ts +6 -0
- package/types-legacy/ts4.5/utils/hd-wallet.d.ts +2 -0
- package/types-legacy/ts4.5/utils/jwt.d.ts +53 -0
- package/types-legacy/ts4.5/utils/keystore.d.ts +6 -2
- package/types-legacy/ts4.5/utils/typed-data.d.ts +0 -2
- package/types-legacy/ts4.5/utils/wrap-proxy.d.ts +2 -0
- package/es/tx/builder/field-types/deposit.d.ts +0 -15
- package/es/tx/builder/field-types/deposit.mjs +0 -18
- package/es/tx/builder/field-types/deposit.mjs.map +0 -1
- package/src/tx/builder/field-types/deposit.ts +0 -23
- package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +0 -15
- package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +0 -15
package/es/AeSdkWallet.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AeSdkWallet.mjs","names":["v4","uuid","AeSdk","verifyTransaction","RpcClient","METHODS","RPC_STATUS","SUBSCRIPTION_TYPES","RpcInvalidTransactionError","RpcNotAuthorizeError","RpcPermissionDenyError","RpcUnsupportedProtocolError","InternalError","UnknownRpcClientError","RPC_VERSION","jsonBig","AeSdkWallet","constructor","_ref","name","id","type","onConnection","onSubscription","onDisconnect","onAskAccounts","options","_defineProperty","Map","_type","_getAccountsForClient","_ref2","addressSubscription","current","connected","getAccounts","has","_pushAccountsToApps","_clients","Array","from","keys","filter","clientId","_isRpcClientConnected","map","_getClient","client","size","forEach","rpc","notify","updateAddress","selectAccount","address","addAccount","account","_getNode","ensureNodeConnected","node","url","api","$host","selectedNodeName","selectNode","networkId","getNetworkId","updateNetwork","connectNode","get","CONNECTED","status","connection","isConnected","_disconnectRpcClient","disconnect","DISCONNECTED","Set","removeRpcClient","delete","addRpcClient","clientConnection","disconnectParams","WAITING_FOR_CONNECTION_REQUEST","closeConnection","params","connect","_ref3","origin","version","icons","getWalletInfo","subscribeAddress","_ref4","value","subscribe","add","unsubscribe","subscription","addresses","sign","_ref5","tx","onAccount","returnSigned","innerTx","includes","parameters","aeppOrigin","aeppRpcClientId","signedTransaction","signTransaction","parse","stringify","transactionHash","sendTransaction","verify","error","validation","length","signMessage","_ref6","message","signature","_Buffer","toString","signTypedData","_ref7","domain","aci","data","signDelegationToContract","_ref8","_ref9","_ref10","contractAddress","oracleQueryId","signNameDelegationToContract","signOracleQueryDelegationToContract","set","shareWalletInfo","readyToConnect","window","location","selectedAddress","a","reduce","acc"],"sources":["../src/AeSdkWallet.ts"],"sourcesContent":["import { v4 as uuid } from '@aeternity/uuid';\nimport AeSdk from './AeSdk';\nimport verifyTransaction from './tx/validator';\nimport RpcClient from './aepp-wallet-communication/rpc/RpcClient';\nimport {\n METHODS, RPC_STATUS, SUBSCRIPTION_TYPES, WALLET_TYPE,\n RpcInvalidTransactionError,\n RpcNotAuthorizeError, RpcPermissionDenyError, RpcUnsupportedProtocolError,\n} from './aepp-wallet-communication/schema';\nimport { InternalError, UnknownRpcClientError } from './utils/errors';\nimport AccountBase from './account/Base';\nimport BrowserConnection from './aepp-wallet-communication/connection/Browser';\nimport {\n Accounts,\n AeppApi,\n Network,\n RPC_VERSION,\n WalletApi,\n WalletInfo,\n} from './aepp-wallet-communication/rpc/types';\nimport { Encoded } from './utils/encoder';\nimport jsonBig from './utils/json-big';\n\ntype RpcClientWallet = RpcClient<AeppApi, WalletApi>;\n\ntype OnConnection = (\n clientId: string, params: Omit<Parameters<WalletApi[METHODS.connect]>[0], 'version'>, origin: string\n) => void;\n\ntype OnSubscription = (\n clientId: string, params: Parameters<WalletApi[METHODS.subscribeAddress]>[0], origin: string\n) => void;\n\ntype OnDisconnect = (\n clientId: string, params: Parameters<WalletApi[METHODS.closeConnection]>[0]\n) => void;\n\ntype OnAskAccounts = (\n clientId: string, params: undefined, origin: string\n) => void;\n\ninterface RpcClientsInfo {\n id: string;\n status: RPC_STATUS;\n connectNode: boolean;\n addressSubscription: Set<'connected' | 'current'>;\n rpc: RpcClientWallet;\n}\n\n/**\n * Contain functionality for aepp interaction and managing multiple aepps\n * @category aepp wallet communication\n */\nexport default class AeSdkWallet extends AeSdk {\n id: string;\n\n _type: WALLET_TYPE;\n\n name: string;\n\n _clients = new Map<string, RpcClientsInfo>();\n\n onConnection: OnConnection;\n\n onSubscription: OnSubscription;\n\n onDisconnect: OnDisconnect;\n\n onAskAccounts: OnAskAccounts;\n\n /**\n * @param options - Options\n * @param options.name - Wallet name\n * @param options.id - Wallet id\n * @param options.type - Wallet type\n * @param options.onConnection - Call-back function for incoming AEPP connection\n * @param options.onSubscription - Call-back function for incoming AEPP account subscription\n * @param options.onAskAccounts - Call-back function for incoming AEPP get address request\n * @param options.onDisconnect - Call-back function for disconnect event\n */\n constructor({\n name,\n id,\n type,\n onConnection,\n onSubscription,\n onDisconnect,\n onAskAccounts,\n ...options\n }: {\n id: string;\n type: WALLET_TYPE;\n name: string;\n onConnection: OnConnection;\n onSubscription: OnSubscription;\n onDisconnect: OnDisconnect;\n onAskAccounts: OnAskAccounts;\n } & ConstructorParameters<typeof AeSdk>[0]) {\n super(options);\n this.onConnection = onConnection;\n this.onSubscription = onSubscription;\n this.onDisconnect = onDisconnect;\n this.onAskAccounts = onAskAccounts;\n this.name = name;\n this.id = id;\n this._type = type;\n }\n\n _getAccountsForClient({ addressSubscription }: RpcClientsInfo): Accounts {\n const { current, connected } = this.getAccounts();\n return {\n current: addressSubscription.has('current') || addressSubscription.has('connected')\n ? current : {},\n connected: addressSubscription.has('connected') ? connected : {},\n };\n }\n\n _pushAccountsToApps(): void {\n if (this._clients == null) return;\n Array.from(this._clients.keys())\n .filter((clientId) => this._isRpcClientConnected(clientId))\n .map((clientId) => this._getClient(clientId))\n .filter((client) => client.addressSubscription.size !== 0)\n .forEach((client) => client.rpc\n .notify(METHODS.updateAddress, this._getAccountsForClient(client)));\n }\n\n override selectAccount(address: Encoded.AccountAddress): void {\n super.selectAccount(address);\n this._pushAccountsToApps();\n }\n\n override addAccount(account: AccountBase, options?: Parameters<AeSdk['addAccount']>[1]): void {\n super.addAccount(account, options);\n this._pushAccountsToApps();\n }\n\n _getNode(): { node: Network['node'] } {\n this.ensureNodeConnected();\n return { node: { url: this.api.$host, name: this.selectedNodeName } };\n }\n\n override async selectNode(name: string): Promise<void> {\n super.selectNode(name);\n const networkId = await this.api.getNetworkId();\n Array.from(this._clients.keys())\n .filter((clientId) => this._isRpcClientConnected(clientId))\n .map((clientId) => this._getClient(clientId))\n .forEach((client) => {\n client.rpc.notify(METHODS.updateNetwork, {\n networkId,\n ...client.connectNode && this._getNode(),\n });\n });\n }\n\n _getClient(clientId: string): RpcClientsInfo {\n const client = this._clients.get(clientId);\n if (client == null) throw new UnknownRpcClientError(clientId);\n return client;\n }\n\n _isRpcClientConnected(clientId: string): boolean {\n return RPC_STATUS.CONNECTED === this._getClient(clientId).status\n && this._getClient(clientId).rpc.connection.isConnected();\n }\n\n _disconnectRpcClient(clientId: string): void {\n const client = this._getClient(clientId);\n client.rpc.connection.disconnect();\n client.status = RPC_STATUS.DISCONNECTED;\n client.addressSubscription = new Set();\n }\n\n /**\n * Remove specific RpcClient by ID\n * @param id - Client ID\n */\n removeRpcClient(id: string): void {\n this._disconnectRpcClient(id);\n this._clients.delete(id);\n }\n\n /**\n * Add new client by AEPP connection\n * @param clientConnection - AEPP connection object\n * @returns Client ID\n */\n addRpcClient(clientConnection: BrowserConnection): string {\n // @TODO detect if aepp has some history based on origin????\n // if yes use this instance for connection\n const id = uuid();\n let disconnectParams: any;\n const client: RpcClientsInfo = {\n id,\n status: RPC_STATUS.WAITING_FOR_CONNECTION_REQUEST,\n addressSubscription: new Set(),\n connectNode: false,\n rpc: new RpcClient<AeppApi, WalletApi>(\n clientConnection,\n () => {\n this._clients.delete(id);\n this.onDisconnect(id, disconnectParams); // also related info\n },\n {\n [METHODS.closeConnection]: (params) => {\n disconnectParams = params;\n this._disconnectRpcClient(id);\n },\n // Store client info and prepare two fn for each client `connect` and `denyConnection`\n // which automatically prepare and send response for that client\n [METHODS.connect]: async ({\n name, version, icons, connectNode,\n }, origin) => {\n if (version !== RPC_VERSION) throw new RpcUnsupportedProtocolError();\n\n await this.onConnection(id, { name, icons, connectNode }, origin);\n client.status = RPC_STATUS.CONNECTED;\n client.connectNode = connectNode;\n return {\n ...await this.getWalletInfo(),\n ...connectNode && this._getNode(),\n };\n },\n [METHODS.subscribeAddress]: async ({ type, value }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n\n switch (type) {\n case SUBSCRIPTION_TYPES.subscribe:\n // TODO: remove `type` as it always subscribe\n await this.onSubscription(id, { type, value }, origin);\n client.addressSubscription.add(value);\n break;\n case SUBSCRIPTION_TYPES.unsubscribe:\n client.addressSubscription.delete(value);\n break;\n default:\n throw new InternalError(`Unknown subscription type: ${type}`);\n }\n\n return {\n subscription: Array.from(client.addressSubscription),\n address: this._getAccountsForClient(client),\n };\n },\n [METHODS.address]: async (params, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n await this.onAskAccounts(id, params, origin);\n return this.addresses();\n },\n [METHODS.sign]: async (\n {\n tx, onAccount = this.address, returnSigned, innerTx,\n },\n origin,\n ) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n if (!this.addresses().includes(onAccount)) {\n throw new RpcPermissionDenyError(onAccount);\n }\n\n const parameters = {\n onAccount, aeppOrigin: origin, aeppRpcClientId: id, innerTx,\n };\n if (returnSigned || innerTx === true) {\n return { signedTransaction: await this.signTransaction(tx, parameters) };\n }\n try {\n return jsonBig.parse(jsonBig.stringify({\n transactionHash: await this.sendTransaction(tx, { ...parameters, verify: false }),\n }));\n } catch (error) {\n const validation = await verifyTransaction(tx, this.api);\n if (validation.length > 0) throw new RpcInvalidTransactionError(validation);\n throw error;\n }\n },\n [METHODS.signMessage]: async ({ message, onAccount = this.address }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n if (!this.addresses().includes(onAccount)) {\n throw new RpcPermissionDenyError(onAccount);\n }\n\n const parameters = { onAccount, aeppOrigin: origin, aeppRpcClientId: id };\n return {\n signature: Buffer.from(await this.signMessage(message, parameters)).toString('hex'),\n };\n },\n [METHODS.signTypedData]: async ({\n domain, aci, data, onAccount = this.address,\n }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n if (!this.addresses().includes(onAccount)) {\n throw new RpcPermissionDenyError(onAccount);\n }\n\n const parameters = {\n ...domain, onAccount, aeppOrigin: origin, aeppRpcClientId: id,\n };\n return {\n signature: await this.signTypedData(data, aci, parameters),\n };\n },\n [METHODS.signDelegationToContract]: async ({\n contractAddress, name, oracleQueryId, onAccount = this.address,\n }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n if (!this.addresses().includes(onAccount)) {\n throw new RpcPermissionDenyError(onAccount);\n }\n\n const parameters = { onAccount, aeppOrigin: origin, aeppRpcClientId: id };\n const signature = await (\n (name == null ? null : this\n .signNameDelegationToContract(contractAddress, name, parameters))\n ?? (oracleQueryId == null ? null : this\n .signOracleQueryDelegationToContract(contractAddress, oracleQueryId, parameters))\n ?? this.signDelegationToContract(contractAddress, parameters)\n );\n return { signature };\n },\n },\n ),\n };\n this._clients.set(id, client);\n return id;\n }\n\n /**\n * Send shareWalletInfo message to notify AEPP about wallet\n * @param clientId - ID of RPC client send message to\n */\n async shareWalletInfo(clientId: string): Promise<void> {\n this._getClient(clientId).rpc.notify(METHODS.readyToConnect, await this.getWalletInfo());\n }\n\n /**\n * Get Wallet info object\n * @returns Object with wallet information\n */\n async getWalletInfo(): Promise<WalletInfo> {\n return {\n id: this.id,\n name: this.name,\n networkId: await this.api.getNetworkId(),\n origin: window.location.origin,\n type: this._type,\n };\n }\n\n /**\n * Get Wallet accounts\n * @returns Object with accounts information (\\{ connected: Object, current: Object \\})\n */\n getAccounts(): Accounts {\n return {\n current: this.selectedAddress != null ? { [this.selectedAddress]: {} } : {},\n connected: this.addresses()\n .filter((a) => a !== this.selectedAddress)\n .reduce((acc, a) => ({ ...acc, [a]: {} }), {}),\n };\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AeSdkWallet.mjs","names":["v4","uuid","AeSdk","verifyTransaction","RpcClient","METHODS","RPC_STATUS","SUBSCRIPTION_TYPES","RpcInvalidTransactionError","RpcNotAuthorizeError","RpcPermissionDenyError","RpcUnsupportedProtocolError","InternalError","UnknownRpcClientError","RPC_VERSION","Encoding","encode","decode","jsonBig","AeSdkWallet","constructor","name","id","type","onConnection","onSubscription","onDisconnect","onAskAccounts","options","_defineProperty","Map","_type","_getAccountsForClient","addressSubscription","current","connected","getAccounts","has","_pushAccountsToApps","_clients","Array","from","keys","filter","clientId","_isRpcClientConnected","map","_getClient","client","size","forEach","rpc","notify","updateAddress","selectAccount","address","addAccount","account","_getNode","ensureNodeConnected","node","url","api","$host","selectedNodeName","selectNode","networkId","getNetworkId","updateNetwork","connectNode","get","CONNECTED","status","connection","isConnected","_disconnectRpcClient","disconnect","DISCONNECTED","Set","removeRpcClient","delete","addRpcClient","clientConnection","disconnectParams","WAITING_FOR_CONNECTION_REQUEST","closeConnection","params","connect","version","icons","origin","getWalletInfo","subscribeAddress","value","subscribe","add","unsubscribe","subscription","addresses","sign","tx","onAccount","returnSigned","innerTx","includes","parameters","aeppOrigin","aeppRpcClientId","signedTransaction","signTransaction","parse","stringify","transactionHash","sendTransaction","verify","error","validation","length","signMessage","message","signature","_Buffer","toString","signTypedData","domain","aci","data","signDelegationToContract","contractAddress","oracleQueryId","allNames","isOracle","_isOracle","_ref","_ref2","_ref3","signNameDelegationToContract","signOracleQueryDelegationToContract","signAllNamesDelegationToContract","unsafeSign","Signature","signDelegation","delegation","set","shareWalletInfo","readyToConnect","window","location","selectedAddress","a","reduce","acc"],"sources":["../src/AeSdkWallet.ts"],"sourcesContent":["import { v4 as uuid } from '@aeternity/uuid';\nimport AeSdk from './AeSdk';\nimport verifyTransaction from './tx/validator';\nimport RpcClient from './aepp-wallet-communication/rpc/RpcClient';\nimport {\n METHODS, RPC_STATUS, SUBSCRIPTION_TYPES, WALLET_TYPE,\n RpcInvalidTransactionError,\n RpcNotAuthorizeError, RpcPermissionDenyError, RpcUnsupportedProtocolError,\n} from './aepp-wallet-communication/schema';\nimport { InternalError, UnknownRpcClientError } from './utils/errors';\nimport AccountBase from './account/Base';\nimport BrowserConnection from './aepp-wallet-communication/connection/Browser';\nimport {\n Accounts,\n AeppApi,\n Network,\n RPC_VERSION,\n WalletApi,\n WalletInfo,\n} from './aepp-wallet-communication/rpc/types';\nimport {\n Encoded, Encoding, encode, decode,\n} from './utils/encoder';\nimport jsonBig from './utils/json-big';\n\ntype RpcClientWallet = RpcClient<AeppApi, WalletApi>;\n\ntype OnConnection = (\n clientId: string, params: Omit<Parameters<WalletApi[METHODS.connect]>[0], 'version'>, origin: string\n) => void;\n\ntype OnSubscription = (\n clientId: string, params: Parameters<WalletApi[METHODS.subscribeAddress]>[0], origin: string\n) => void;\n\ntype OnDisconnect = (\n clientId: string, params: Parameters<WalletApi[METHODS.closeConnection]>[0]\n) => void;\n\ntype OnAskAccounts = (\n clientId: string, params: undefined, origin: string\n) => void;\n\ninterface RpcClientsInfo {\n id: string;\n status: RPC_STATUS;\n connectNode: boolean;\n addressSubscription: Set<'connected' | 'current'>;\n rpc: RpcClientWallet;\n}\n\n/**\n * Contain functionality for aepp interaction and managing multiple aepps\n * @category aepp wallet communication\n */\nexport default class AeSdkWallet extends AeSdk {\n id: string;\n\n _type: WALLET_TYPE;\n\n name: string;\n\n _clients = new Map<string, RpcClientsInfo>();\n\n onConnection: OnConnection;\n\n onSubscription: OnSubscription;\n\n onDisconnect: OnDisconnect;\n\n onAskAccounts: OnAskAccounts;\n\n /**\n * @param options - Options\n * @param options.name - Wallet name\n * @param options.id - Wallet id\n * @param options.type - Wallet type\n * @param options.onConnection - Call-back function for incoming AEPP connection\n * @param options.onSubscription - Call-back function for incoming AEPP account subscription\n * @param options.onAskAccounts - Call-back function for incoming AEPP get address request\n * @param options.onDisconnect - Call-back function for disconnect event\n */\n constructor({\n name,\n id,\n type,\n onConnection,\n onSubscription,\n onDisconnect,\n onAskAccounts,\n ...options\n }: {\n id: string;\n type: WALLET_TYPE;\n name: string;\n onConnection: OnConnection;\n onSubscription: OnSubscription;\n onDisconnect: OnDisconnect;\n onAskAccounts: OnAskAccounts;\n } & ConstructorParameters<typeof AeSdk>[0]) {\n super(options);\n this.onConnection = onConnection;\n this.onSubscription = onSubscription;\n this.onDisconnect = onDisconnect;\n this.onAskAccounts = onAskAccounts;\n this.name = name;\n this.id = id;\n this._type = type;\n }\n\n _getAccountsForClient({ addressSubscription }: RpcClientsInfo): Accounts {\n const { current, connected } = this.getAccounts();\n return {\n current: addressSubscription.has('current') || addressSubscription.has('connected')\n ? current : {},\n connected: addressSubscription.has('connected') ? connected : {},\n };\n }\n\n _pushAccountsToApps(): void {\n if (this._clients == null) return;\n Array.from(this._clients.keys())\n .filter((clientId) => this._isRpcClientConnected(clientId))\n .map((clientId) => this._getClient(clientId))\n .filter((client) => client.addressSubscription.size !== 0)\n .forEach((client) => client.rpc\n .notify(METHODS.updateAddress, this._getAccountsForClient(client)));\n }\n\n override selectAccount(address: Encoded.AccountAddress): void {\n super.selectAccount(address);\n this._pushAccountsToApps();\n }\n\n override addAccount(account: AccountBase, options?: Parameters<AeSdk['addAccount']>[1]): void {\n super.addAccount(account, options);\n this._pushAccountsToApps();\n }\n\n _getNode(): { node: Network['node'] } {\n this.ensureNodeConnected();\n return { node: { url: this.api.$host, name: this.selectedNodeName } };\n }\n\n override async selectNode(name: string): Promise<void> {\n super.selectNode(name);\n const networkId = await this.api.getNetworkId();\n Array.from(this._clients.keys())\n .filter((clientId) => this._isRpcClientConnected(clientId))\n .map((clientId) => this._getClient(clientId))\n .forEach((client) => {\n client.rpc.notify(METHODS.updateNetwork, {\n networkId,\n ...client.connectNode && this._getNode(),\n });\n });\n }\n\n _getClient(clientId: string): RpcClientsInfo {\n const client = this._clients.get(clientId);\n if (client == null) throw new UnknownRpcClientError(clientId);\n return client;\n }\n\n _isRpcClientConnected(clientId: string): boolean {\n return RPC_STATUS.CONNECTED === this._getClient(clientId).status\n && this._getClient(clientId).rpc.connection.isConnected();\n }\n\n _disconnectRpcClient(clientId: string): void {\n const client = this._getClient(clientId);\n client.rpc.connection.disconnect();\n client.status = RPC_STATUS.DISCONNECTED;\n client.addressSubscription = new Set();\n }\n\n /**\n * Remove specific RpcClient by ID\n * @param id - Client ID\n */\n removeRpcClient(id: string): void {\n this._disconnectRpcClient(id);\n this._clients.delete(id);\n }\n\n /**\n * Add new client by AEPP connection\n * @param clientConnection - AEPP connection object\n * @returns Client ID\n */\n addRpcClient(clientConnection: BrowserConnection): string {\n // @TODO detect if aepp has some history based on origin????\n // if yes use this instance for connection\n const id = uuid();\n let disconnectParams: any;\n const client: RpcClientsInfo = {\n id,\n status: RPC_STATUS.WAITING_FOR_CONNECTION_REQUEST,\n addressSubscription: new Set(),\n connectNode: false,\n rpc: new RpcClient<AeppApi, WalletApi>(\n clientConnection,\n () => {\n this._clients.delete(id);\n this.onDisconnect(id, disconnectParams); // also related info\n },\n {\n [METHODS.closeConnection]: (params) => {\n disconnectParams = params;\n this._disconnectRpcClient(id);\n },\n // Store client info and prepare two fn for each client `connect` and `denyConnection`\n // which automatically prepare and send response for that client\n [METHODS.connect]: async ({\n name, version, icons, connectNode,\n }, origin) => {\n if (version !== RPC_VERSION) throw new RpcUnsupportedProtocolError();\n\n await this.onConnection(id, { name, icons, connectNode }, origin);\n client.status = RPC_STATUS.CONNECTED;\n client.connectNode = connectNode;\n return {\n ...await this.getWalletInfo(),\n ...connectNode && this._getNode(),\n };\n },\n [METHODS.subscribeAddress]: async ({ type, value }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n\n switch (type) {\n case SUBSCRIPTION_TYPES.subscribe:\n // TODO: remove `type` as it always subscribe\n await this.onSubscription(id, { type, value }, origin);\n client.addressSubscription.add(value);\n break;\n case SUBSCRIPTION_TYPES.unsubscribe:\n client.addressSubscription.delete(value);\n break;\n default:\n throw new InternalError(`Unknown subscription type: ${type}`);\n }\n\n return {\n subscription: Array.from(client.addressSubscription),\n address: this._getAccountsForClient(client),\n };\n },\n [METHODS.address]: async (params, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n await this.onAskAccounts(id, params, origin);\n return this.addresses();\n },\n [METHODS.sign]: async (\n {\n tx, onAccount = this.address, returnSigned, innerTx,\n },\n origin,\n ) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n if (!this.addresses().includes(onAccount)) {\n throw new RpcPermissionDenyError(onAccount);\n }\n\n const parameters = {\n onAccount, aeppOrigin: origin, aeppRpcClientId: id, innerTx,\n };\n if (returnSigned || innerTx === true) {\n return { signedTransaction: await this.signTransaction(tx, parameters) };\n }\n try {\n return jsonBig.parse(jsonBig.stringify({\n transactionHash: await this.sendTransaction(tx, { ...parameters, verify: false }),\n }));\n } catch (error) {\n const validation = await verifyTransaction(tx, this.api);\n if (validation.length > 0) throw new RpcInvalidTransactionError(validation);\n throw error;\n }\n },\n [METHODS.signMessage]: async ({ message, onAccount = this.address }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n if (!this.addresses().includes(onAccount)) {\n throw new RpcPermissionDenyError(onAccount);\n }\n\n const parameters = { onAccount, aeppOrigin: origin, aeppRpcClientId: id };\n return {\n signature: Buffer.from(await this.signMessage(message, parameters)).toString('hex'),\n };\n },\n [METHODS.signTypedData]: async ({\n domain, aci, data, onAccount = this.address,\n }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n if (!this.addresses().includes(onAccount)) {\n throw new RpcPermissionDenyError(onAccount);\n }\n\n const parameters = {\n ...domain, onAccount, aeppOrigin: origin, aeppRpcClientId: id,\n };\n return {\n signature: await this.signTypedData(data, aci, parameters),\n };\n },\n [METHODS.signDelegationToContract]: async ({\n contractAddress, name, oracleQueryId, allNames, onAccount = this.address, isOracle,\n }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n if (!this.addresses().includes(onAccount)) {\n throw new RpcPermissionDenyError(onAccount);\n }\n\n isOracle ??= false;\n const parameters = { onAccount, aeppOrigin: origin, aeppRpcClientId: id };\n const signature = await (\n (name == null ? null : this\n .signNameDelegationToContract(contractAddress, name, parameters))\n ?? (oracleQueryId == null ? null : this\n .signOracleQueryDelegationToContract(contractAddress, oracleQueryId, parameters))\n ?? (allNames !== true ? null : this\n .signAllNamesDelegationToContract(contractAddress, parameters))\n ?? this.signDelegationToContract(contractAddress, { ...parameters, isOracle })\n );\n return { signature };\n },\n [METHODS.unsafeSign]: async ({ data, onAccount = this.address }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n if (!this.addresses().includes(onAccount)) throw new RpcPermissionDenyError(onAccount);\n const parameters = { onAccount, aeppOrigin: origin, aeppRpcClientId: id };\n const signature = encode(await this.sign(decode(data), parameters), Encoding.Signature);\n return { signature };\n },\n [METHODS.signDelegation]: async ({ delegation, onAccount = this.address }, origin) => {\n if (!this._isRpcClientConnected(id)) throw new RpcNotAuthorizeError();\n if (!this.addresses().includes(onAccount)) throw new RpcPermissionDenyError(onAccount);\n const parameters = { onAccount, aeppOrigin: origin, aeppRpcClientId: id };\n const signature = await this.signDelegation(delegation, parameters);\n return { signature };\n },\n },\n ),\n };\n this._clients.set(id, client);\n return id;\n }\n\n /**\n * Send shareWalletInfo message to notify AEPP about wallet\n * @param clientId - ID of RPC client send message to\n */\n async shareWalletInfo(clientId: string): Promise<void> {\n this._getClient(clientId).rpc.notify(METHODS.readyToConnect, await this.getWalletInfo());\n }\n\n /**\n * Get Wallet info object\n * @returns Object with wallet information\n */\n async getWalletInfo(): Promise<WalletInfo> {\n return {\n id: this.id,\n name: this.name,\n networkId: await this.api.getNetworkId(),\n origin: window.location.origin,\n type: this._type,\n };\n }\n\n /**\n * Get Wallet accounts\n * @returns Object with accounts information (\\{ connected: Object, current: Object \\})\n */\n getAccounts(): Accounts {\n return {\n current: this.selectedAddress != null ? { [this.selectedAddress]: {} } : {},\n connected: this.addresses()\n .filter((a) => a !== this.selectedAddress)\n .reduce((acc, a) => ({ ...acc, [a]: {} }), {}),\n };\n }\n}\n"],"mappings":"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"}
|
package/es/Middleware.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export default class Middleware extends Middleware_base {
|
|
|
25
25
|
/**
|
|
26
26
|
* @param url - Url for middleware API
|
|
27
27
|
* @param options - Options
|
|
28
|
-
* @param options.ignoreVersion - Don't
|
|
28
|
+
* @param options.ignoreVersion - Don't ensure that the middleware is supported
|
|
29
29
|
* @param options.retryCount - Amount of extra requests to do in case of failure
|
|
30
30
|
* @param options.retryOverallDelay - Time in ms to wait between all retries
|
|
31
31
|
*/
|
package/es/Middleware.mjs
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
|
2
2
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
|
3
|
-
function _classPrivateMethodGet(receiver, privateSet, fn) {
|
|
3
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { _assertClassBrand(privateSet, receiver); return fn; }
|
|
4
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
4
5
|
// eslint-disable-next-line max-classes-per-file
|
|
5
6
|
import BigNumber from 'bignumber.js';
|
|
7
|
+
import { userAgentPolicyName, setClientRequestIdPolicyName } from '@azure/core-rest-pipeline';
|
|
6
8
|
import { genRequestQueuesPolicy, genCombineGetRequestsPolicy, genErrorFormatterPolicy, genVersionCheckPolicy, genRetryOnFailurePolicy } from "./utils/autorest.mjs";
|
|
7
9
|
import { Middleware as MiddlewareApi } from "./apis/middleware/index.mjs";
|
|
8
10
|
import { mapObject } from "./utils/other.mjs";
|
|
@@ -12,25 +14,21 @@ var _mapData = /*#__PURE__*/new WeakSet();
|
|
|
12
14
|
var _encodeArg = /*#__PURE__*/new WeakSet();
|
|
13
15
|
var _decodeRes = /*#__PURE__*/new WeakSet();
|
|
14
16
|
class MiddlewareTransformed extends MiddlewareApi {
|
|
15
|
-
constructor() {
|
|
16
|
-
super(...
|
|
17
|
+
constructor(...args) {
|
|
18
|
+
super(...args);
|
|
17
19
|
_classPrivateMethodInitSpec(this, _decodeRes);
|
|
18
20
|
_classPrivateMethodInitSpec(this, _encodeArg);
|
|
19
21
|
_classPrivateMethodInitSpec(this, _mapData);
|
|
20
22
|
}
|
|
21
23
|
async sendOperationRequest(operationArguments, operationSpec) {
|
|
22
|
-
const args = mapObject(operationArguments,
|
|
23
|
-
let [key, value] = _ref;
|
|
24
|
-
return [key, _classPrivateMethodGet(this, _encodeArg, _encodeArg2).call(this, value)];
|
|
25
|
-
});
|
|
24
|
+
const args = mapObject(operationArguments, ([key, value]) => [key, _classPrivateMethodGet(this, _encodeArg, _encodeArg2).call(this, value)]);
|
|
26
25
|
return _classPrivateMethodGet(this, _decodeRes, _decodeRes2).call(this, await super.sendOperationRequest(args, operationSpec));
|
|
27
26
|
}
|
|
28
27
|
}
|
|
29
28
|
function _mapData2(data, transform) {
|
|
30
29
|
if (Array.isArray(data)) return data.map(d => _classPrivateMethodGet(this, _mapData, _mapData2).call(this, d, transform));
|
|
31
30
|
if (data != null && typeof data === 'object') {
|
|
32
|
-
return mapObject(data,
|
|
33
|
-
let [key, value] = _ref3;
|
|
31
|
+
return mapObject(data, ([key, value]) => {
|
|
34
32
|
if (value == null) return [key, value];
|
|
35
33
|
if (bigIntPropertyNames.some(k => k === key)) return [key, transform.bigInt(value)];
|
|
36
34
|
if (numberPropertyNames.some(k => k === key)) return [key, transform.number(value)];
|
|
@@ -58,33 +56,39 @@ export default class Middleware extends MiddlewareTransformed {
|
|
|
58
56
|
/**
|
|
59
57
|
* @param url - Url for middleware API
|
|
60
58
|
* @param options - Options
|
|
61
|
-
* @param options.ignoreVersion - Don't
|
|
59
|
+
* @param options.ignoreVersion - Don't ensure that the middleware is supported
|
|
62
60
|
* @param options.retryCount - Amount of extra requests to do in case of failure
|
|
63
61
|
* @param options.retryOverallDelay - Time in ms to wait between all retries
|
|
64
62
|
*/
|
|
65
|
-
constructor(url
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
63
|
+
constructor(url, {
|
|
64
|
+
ignoreVersion = false,
|
|
65
|
+
retryCount = 3,
|
|
66
|
+
retryOverallDelay = 800,
|
|
67
|
+
...options
|
|
68
|
+
} = {}) {
|
|
69
|
+
let version;
|
|
70
|
+
const getVersion = async opts => {
|
|
71
|
+
if (version != null) return version;
|
|
72
|
+
version = (await this.getStatus(opts)).mdwVersion;
|
|
73
|
+
return version;
|
|
74
|
+
};
|
|
75
|
+
|
|
72
76
|
// eslint-disable-next-line constructor-super
|
|
73
77
|
super(url, {
|
|
74
78
|
allowInsecureConnection: true,
|
|
75
|
-
additionalPolicies: [genRequestQueuesPolicy(), genCombineGetRequestsPolicy(), genRetryOnFailurePolicy(retryCount, retryOverallDelay), genErrorFormatterPolicy(body => ` ${body.error}`)],
|
|
79
|
+
additionalPolicies: [...(ignoreVersion ? [] : [genVersionCheckPolicy('middleware', getVersion, '1.47.0', '2.0.0')]), genRequestQueuesPolicy(), genCombineGetRequestsPolicy(), genRetryOnFailurePolicy(retryCount, retryOverallDelay), genErrorFormatterPolicy(body => ` ${body.error}`)],
|
|
76
80
|
...options
|
|
77
81
|
});
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
82
|
+
this.pipeline.removePolicy({
|
|
83
|
+
name: userAgentPolicyName
|
|
84
|
+
});
|
|
85
|
+
this.pipeline.removePolicy({
|
|
86
|
+
name: setClientRequestIdPolicyName
|
|
87
|
+
});
|
|
88
|
+
// TODO: use instead our retry policy
|
|
89
|
+
this.pipeline.removePolicy({
|
|
90
|
+
name: 'defaultRetryPolicy'
|
|
91
|
+
});
|
|
88
92
|
}
|
|
89
93
|
}
|
|
90
94
|
//# sourceMappingURL=Middleware.mjs.map
|
package/es/Middleware.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Middleware.mjs","names":["BigNumber","genRequestQueuesPolicy","genCombineGetRequestsPolicy","genErrorFormatterPolicy","genVersionCheckPolicy","genRetryOnFailurePolicy","Middleware","MiddlewareApi","mapObject","bigIntPropertyNames","numberPropertyNames","_mapData","WeakSet","_encodeArg","_decodeRes","MiddlewareTransformed","constructor","arguments","_classPrivateMethodInitSpec","sendOperationRequest","operationArguments","operationSpec","args","_ref","key","value","_classPrivateMethodGet","_encodeArg2","call","_decodeRes2","_mapData2","data","transform","Array","isArray","map","d","_ref3","some","k","bigInt","number","toFixed","toString","BigInt","url","ignoreVersion","retryCount","retryOverallDelay","options","length","undefined","allowInsecureConnection","additionalPolicies","body","error","statusPromise","getStatus","versionPromise","then","_ref2","mdwVersion","pipeline","addPolicy"],"sources":["../src/Middleware.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport BigNumber from 'bignumber.js';\nimport { OperationArguments, OperationSpec } from '@azure/core-client';\nimport {\n genRequestQueuesPolicy, genCombineGetRequestsPolicy, genErrorFormatterPolicy,\n genVersionCheckPolicy, genRetryOnFailurePolicy,\n} from './utils/autorest';\nimport { Middleware as MiddlewareApi, MiddlewareOptionalParams, ErrorResponse } from './apis/middleware';\nimport { mapObject } from './utils/other';\nimport { Encoded } from './utils/encoder';\nimport { ConsensusProtocolVersion } from './tx/builder/constants';\n\nconst bigIntPropertyNames = [] as const;\n\nconst numberPropertyNames = [] as const;\n\nclass MiddlewareTransformed extends MiddlewareApi {\n override async sendOperationRequest(\n operationArguments: OperationArguments,\n operationSpec: OperationSpec,\n ): Promise<any> {\n const args = mapObject(\n operationArguments,\n ([key, value]) => [key, this.#encodeArg(value)],\n ) as OperationArguments;\n return this.#decodeRes(await super.sendOperationRequest(args, operationSpec));\n }\n\n #mapData(data: any, transform: {\n bigInt: (v: any) => any;\n number: (v: any) => any;\n }): unknown {\n if (Array.isArray(data)) return data.map((d) => this.#mapData(d, transform));\n if (data != null && typeof data === 'object') {\n return mapObject(data, ([key, value]) => {\n if (value == null) return [key, value];\n if (bigIntPropertyNames.some((k) => k === key)) return [key, transform.bigInt(value)];\n if (numberPropertyNames.some((k) => k === key)) return [key, transform.number(value)];\n return [key, this.#mapData(value, transform)];\n });\n }\n return data;\n }\n\n #encodeArg(data: any): any {\n return this.#mapData(data, {\n bigInt: (value) => {\n if (value instanceof BigNumber) return value.toFixed();\n return value.toString();\n },\n number: (value) => value.toString(),\n });\n }\n\n #decodeRes(data: any): any {\n return this.#mapData(data, {\n bigInt: (value) => BigInt(value),\n number: (value) => +value,\n });\n }\n}\n\ntype BigIntPropertyNames = typeof bigIntPropertyNames[number];\ntype NumberPropertyNames = typeof numberPropertyNames[number];\ntype PreserveOptional<NewType, OrigType> =\n OrigType extends undefined ? NewType | undefined : NewType;\nexport type TransformMiddlewareType<Type> =\n Type extends (...args: infer Args) => infer Ret\n ? (...args: TransformMiddlewareType<Args>) => TransformMiddlewareType<Ret>\n : Type extends [infer Item, ...infer Rest]\n ? [TransformMiddlewareType<Item>, ...TransformMiddlewareType<Rest>]\n : Type extends Array<infer Item>\n ? Array<TransformMiddlewareType<Item>>\n : Type extends Promise<infer T>\n ? Promise<TransformMiddlewareType<T>>\n : Type extends { [P in any]: any }\n ? {\n [Property in keyof Type]:\n Property extends BigIntPropertyNames\n ? PreserveOptional<bigint, Type[Property]>\n : Property extends NumberPropertyNames\n ? PreserveOptional<number, Type[Property]>\n : Property extends 'txHash'\n ? PreserveOptional<Encoded.TxHash, Type[Property]>\n : Property extends 'bytecode'\n ? PreserveOptional<Encoded.ContractBytearray, Type[Property]>\n : TransformMiddlewareType<Type[Property]>\n }\n : Type;\ntype MiddlewareTransformedApi = new (...args: ConstructorParameters<typeof MiddlewareApi>) => {\n [Name in keyof InstanceType<typeof MiddlewareApi>]:\n Name extends 'pipeline' | 'sendRequest' | 'sendOperationRequest'\n ? MiddlewareApi[Name] : TransformMiddlewareType<MiddlewareApi[Name]>\n};\n\nexport interface MiddlewareInfo {\n url: string;\n nodeNetworkId: string;\n version: string;\n consensusProtocolVersion: ConsensusProtocolVersion;\n}\n\nexport default class Middleware\n extends (MiddlewareTransformed as unknown as MiddlewareTransformedApi) {\n /**\n * @param url - Url for middleware API\n * @param options - Options\n * @param options.ignoreVersion - Don't check node version\n * @param options.retryCount - Amount of extra requests to do in case of failure\n * @param options.retryOverallDelay - Time in ms to wait between all retries\n */\n constructor(\n url: string,\n {\n ignoreVersion = false, retryCount = 3, retryOverallDelay = 800, ...options\n }: MiddlewareOptionalParams & {\n ignoreVersion?: boolean;\n retryCount?: number;\n retryOverallDelay?: number;\n } = {},\n ) {\n // eslint-disable-next-line constructor-super\n super(url, {\n allowInsecureConnection: true,\n additionalPolicies: [\n genRequestQueuesPolicy(),\n genCombineGetRequestsPolicy(),\n genRetryOnFailurePolicy(retryCount, retryOverallDelay),\n genErrorFormatterPolicy((body: ErrorResponse) => ` ${body.error}`),\n ],\n ...options,\n });\n if (!ignoreVersion) {\n const statusPromise = this.getStatus();\n const versionPromise = statusPromise.then(({ mdwVersion }) => mdwVersion, (error) => error);\n this.pipeline.addPolicy(\n genVersionCheckPolicy('middleware', '/v2/status', versionPromise, '1.47.0', '2.0.0'),\n );\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Middleware.mjs","names":["BigNumber","userAgentPolicyName","setClientRequestIdPolicyName","genRequestQueuesPolicy","genCombineGetRequestsPolicy","genErrorFormatterPolicy","genVersionCheckPolicy","genRetryOnFailurePolicy","Middleware","MiddlewareApi","mapObject","bigIntPropertyNames","numberPropertyNames","_mapData","WeakSet","_encodeArg","_decodeRes","MiddlewareTransformed","constructor","args","_classPrivateMethodInitSpec","sendOperationRequest","operationArguments","operationSpec","key","value","_classPrivateMethodGet","_encodeArg2","call","_decodeRes2","_mapData2","data","transform","Array","isArray","map","d","some","k","bigInt","number","toFixed","toString","BigInt","url","ignoreVersion","retryCount","retryOverallDelay","options","version","getVersion","opts","getStatus","mdwVersion","allowInsecureConnection","additionalPolicies","body","error","pipeline","removePolicy","name"],"sources":["../src/Middleware.ts"],"sourcesContent":["// eslint-disable-next-line max-classes-per-file\nimport BigNumber from 'bignumber.js';\nimport { OperationArguments, OperationOptions, OperationSpec } from '@azure/core-client';\nimport { userAgentPolicyName, setClientRequestIdPolicyName } from '@azure/core-rest-pipeline';\nimport {\n genRequestQueuesPolicy, genCombineGetRequestsPolicy, genErrorFormatterPolicy,\n genVersionCheckPolicy, genRetryOnFailurePolicy,\n} from './utils/autorest';\nimport { Middleware as MiddlewareApi, MiddlewareOptionalParams, ErrorResponse } from './apis/middleware';\nimport { mapObject } from './utils/other';\nimport { Encoded } from './utils/encoder';\nimport { ConsensusProtocolVersion } from './tx/builder/constants';\n\nconst bigIntPropertyNames = [] as const;\n\nconst numberPropertyNames = [] as const;\n\nclass MiddlewareTransformed extends MiddlewareApi {\n override async sendOperationRequest(\n operationArguments: OperationArguments,\n operationSpec: OperationSpec,\n ): Promise<any> {\n const args = mapObject(\n operationArguments,\n ([key, value]) => [key, this.#encodeArg(value)],\n ) as OperationArguments;\n return this.#decodeRes(await super.sendOperationRequest(args, operationSpec));\n }\n\n #mapData(data: any, transform: {\n bigInt: (v: any) => any;\n number: (v: any) => any;\n }): unknown {\n if (Array.isArray(data)) return data.map((d) => this.#mapData(d, transform));\n if (data != null && typeof data === 'object') {\n return mapObject(data, ([key, value]) => {\n if (value == null) return [key, value];\n if (bigIntPropertyNames.some((k) => k === key)) return [key, transform.bigInt(value)];\n if (numberPropertyNames.some((k) => k === key)) return [key, transform.number(value)];\n return [key, this.#mapData(value, transform)];\n });\n }\n return data;\n }\n\n #encodeArg(data: any): any {\n return this.#mapData(data, {\n bigInt: (value) => {\n if (value instanceof BigNumber) return value.toFixed();\n return value.toString();\n },\n number: (value) => value.toString(),\n });\n }\n\n #decodeRes(data: any): any {\n return this.#mapData(data, {\n bigInt: (value) => BigInt(value),\n number: (value) => +value,\n });\n }\n}\n\ntype BigIntPropertyNames = typeof bigIntPropertyNames[number];\ntype NumberPropertyNames = typeof numberPropertyNames[number];\ntype PreserveOptional<NewType, OrigType> =\n OrigType extends undefined ? NewType | undefined : NewType;\nexport type TransformMiddlewareType<Type> =\n Type extends (...args: infer Args) => infer Ret\n ? (...args: TransformMiddlewareType<Args>) => TransformMiddlewareType<Ret>\n : Type extends [infer Item, ...infer Rest]\n ? [TransformMiddlewareType<Item>, ...TransformMiddlewareType<Rest>]\n : Type extends Array<infer Item>\n ? Array<TransformMiddlewareType<Item>>\n : Type extends Promise<infer T>\n ? Promise<TransformMiddlewareType<T>>\n : Type extends { [P in any]: any }\n ? {\n [Property in keyof Type]:\n Property extends BigIntPropertyNames\n ? PreserveOptional<bigint, Type[Property]>\n : Property extends NumberPropertyNames\n ? PreserveOptional<number, Type[Property]>\n : Property extends 'txHash'\n ? PreserveOptional<Encoded.TxHash, Type[Property]>\n : Property extends 'bytecode'\n ? PreserveOptional<Encoded.ContractBytearray, Type[Property]>\n : TransformMiddlewareType<Type[Property]>\n }\n : Type;\ntype MiddlewareTransformedApi = new (...args: ConstructorParameters<typeof MiddlewareApi>) => {\n [Name in keyof InstanceType<typeof MiddlewareApi>]:\n Name extends 'pipeline' | 'sendRequest' | 'sendOperationRequest'\n ? MiddlewareApi[Name] : TransformMiddlewareType<MiddlewareApi[Name]>\n};\n\nexport interface MiddlewareInfo {\n url: string;\n nodeNetworkId: string;\n version: string;\n consensusProtocolVersion: ConsensusProtocolVersion;\n}\n\nexport default class Middleware\n extends (MiddlewareTransformed as unknown as MiddlewareTransformedApi) {\n /**\n * @param url - Url for middleware API\n * @param options - Options\n * @param options.ignoreVersion - Don't ensure that the middleware is supported\n * @param options.retryCount - Amount of extra requests to do in case of failure\n * @param options.retryOverallDelay - Time in ms to wait between all retries\n */\n constructor(\n url: string,\n {\n ignoreVersion = false, retryCount = 3, retryOverallDelay = 800, ...options\n }: MiddlewareOptionalParams & {\n ignoreVersion?: boolean;\n retryCount?: number;\n retryOverallDelay?: number;\n } = {},\n ) {\n let version: string | undefined;\n const getVersion = async (opts: OperationOptions): Promise<string> => {\n if (version != null) return version;\n version = (await this.getStatus(opts)).mdwVersion;\n return version;\n };\n\n // eslint-disable-next-line constructor-super\n super(url, {\n allowInsecureConnection: true,\n additionalPolicies: [\n ...ignoreVersion ? [] : [\n genVersionCheckPolicy('middleware', getVersion, '1.47.0', '2.0.0'),\n ],\n genRequestQueuesPolicy(),\n genCombineGetRequestsPolicy(),\n genRetryOnFailurePolicy(retryCount, retryOverallDelay),\n genErrorFormatterPolicy((body: ErrorResponse) => ` ${body.error}`),\n ],\n ...options,\n });\n this.pipeline.removePolicy({ name: userAgentPolicyName });\n this.pipeline.removePolicy({ name: setClientRequestIdPolicyName });\n // TODO: use instead our retry policy\n this.pipeline.removePolicy({ name: 'defaultRetryPolicy' });\n }\n}\n"],"mappings":"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"}
|
|
@@ -3,7 +3,8 @@ import _classPrivateFieldGet from "@babel/runtime-corejs3/helpers/classPrivateFi
|
|
|
3
3
|
function _classPrivateMethodInitSpec(obj, privateSet) { _checkPrivateRedeclaration(obj, privateSet); privateSet.add(obj); }
|
|
4
4
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
|
5
5
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
|
6
|
-
function _classPrivateMethodGet(receiver, privateSet, fn) {
|
|
6
|
+
function _classPrivateMethodGet(receiver, privateSet, fn) { _assertClassBrand(privateSet, receiver); return fn; }
|
|
7
|
+
function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
|
|
7
8
|
/* eslint-disable max-classes-per-file */
|
|
8
9
|
import WebSocket from 'isomorphic-ws';
|
|
9
10
|
import { BaseError, UnexpectedTsError, InternalError } from "./utils/errors.mjs";
|
|
@@ -128,10 +129,7 @@ export default class MiddlewareSubscriber {
|
|
|
128
129
|
}
|
|
129
130
|
}
|
|
130
131
|
function _get_targets() {
|
|
131
|
-
return new Set(_classPrivateFieldGet(this, _subscriptions).map(
|
|
132
|
-
let [target] = _ref;
|
|
133
|
-
return target;
|
|
134
|
-
}));
|
|
132
|
+
return new Set(_classPrivateFieldGet(this, _subscriptions).map(([target]) => target));
|
|
135
133
|
}
|
|
136
134
|
function _sendMessage2(message) {
|
|
137
135
|
if (_classPrivateFieldGet(this, _webSocket) == null) throw new UnexpectedTsError();
|
|
@@ -150,16 +148,9 @@ function _sendSubscribe2(isSubscribe, target) {
|
|
|
150
148
|
_classPrivateFieldGet(this, _requestQueue).push([isSubscribe, target]);
|
|
151
149
|
}
|
|
152
150
|
function _emit2(condition, p, e) {
|
|
153
|
-
_classPrivateFieldGet(this, _subscriptions).filter(
|
|
154
|
-
let [target, source] = _ref2;
|
|
155
|
-
return condition(target, source);
|
|
156
|
-
}).forEach(_ref3 => {
|
|
157
|
-
let [,, cb] = _ref3;
|
|
158
|
-
return cb(p, e);
|
|
159
|
-
});
|
|
151
|
+
_classPrivateFieldGet(this, _subscriptions).filter(([target, source]) => condition(target, source)).forEach(([,, cb]) => cb(p, e));
|
|
160
152
|
}
|
|
161
|
-
function _disconnect2() {
|
|
162
|
-
let onlyReset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
153
|
+
function _disconnect2(onlyReset = false) {
|
|
163
154
|
if (_classPrivateFieldGet(this, _webSocket) == null) return;
|
|
164
155
|
if (!onlyReset) _classPrivateFieldGet(this, _webSocket).close();
|
|
165
156
|
Object.assign(_classPrivateFieldGet(this, _webSocket), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MiddlewareSubscriber.mjs","names":["WebSocket","BaseError","UnexpectedTsError","InternalError","Source","MiddlewareSubscriberError","constructor","message","name","MiddlewareSubscriberDisconnected","closeEvent","_subscriptions","WeakMap","_requestQueue","_webSocket","_targets","_sendMessage","WeakSet","_sendSubscribe","_emit","_disconnect","_messageHandler","_subscribe","MiddlewareSubscriber","webSocket","_classPrivateFieldGet","url","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","get","_get_targets","set","writable","value","reconnect","_classPrivateMethodGet","_disconnect2","call","_classPrivateFieldSet","Promise","resolve","Object","assign","onopen","onerror","errorEvent","_emit2","undefined","error","onmessage","event","data","_messageHandler2","JSON","parse","onclose","all","map","target","_sendSubscribe2","subscribeKeyBlocks","cb","_subscribe2","Middleware","subscribeKeyBlocksNode","Node","subscribeKeyBlocksAll","All","subscribeMicroBlocks","subscribeMicroBlocksNode","subscribeMicroBlocksAll","subscribeTransactions","subscribeTransactionsNode","subscribeTransactionsAll","subscribeObject","subscribeObjectNode","subscribeObjectAll","Set","_ref","_sendMessage2","send","stringify","isSubscribe","payload","includes","op","push","condition","p","e","filter","_ref2","source","forEach","_ref3","onlyReset","arguments","length","close","Array","isArray","request","shift","t","subscription","size","has","item"],"sources":["../src/MiddlewareSubscriber.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport WebSocket from 'isomorphic-ws';\nimport { BaseError, UnexpectedTsError, InternalError } from './utils/errors';\nimport { Encoded } from './utils/encoder';\n\ninterface Message {\n payload: Object;\n source: Source.Middleware | Source.Node;\n subscription: 'KeyBlocks' | 'MicroBlocks' | 'Transactions' | 'Object';\n target?: string;\n}\n\nenum Source {\n Middleware = 'mdw',\n Node = 'node',\n All = 'all',\n}\n\nexport class MiddlewareSubscriberError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'MiddlewareSubscriberError';\n }\n}\n\nexport class MiddlewareSubscriberDisconnected extends MiddlewareSubscriberError {\n constructor(readonly closeEvent: WebSocket.CloseEvent) {\n super('Connection closed');\n this.name = 'MiddlewareSubscriberDisconnected';\n }\n}\n\nexport default class MiddlewareSubscriber {\n #subscriptions: Array<\n readonly [target: string, s: Source, cb: (p?: Object, e?: Error) => void]\n > = [];\n\n #requestQueue: Array<[isSubscribe: boolean, target: string]> = [];\n\n #webSocket?: WebSocket;\n\n get webSocket(): WebSocket | undefined {\n return this.#webSocket;\n }\n\n get #targets(): Set<string> {\n return new Set(this.#subscriptions.map(([target]) => target));\n }\n\n #sendMessage(message: any): void {\n if (this.#webSocket == null) throw new UnexpectedTsError();\n this.#webSocket.send(JSON.stringify(message));\n }\n\n #sendSubscribe(isSubscribe: boolean, target: string): void {\n if (this.#webSocket == null) return;\n const payload = ['KeyBlocks', 'MicroBlocks', 'Transactions'].includes(target)\n ? target : 'Object';\n this.#sendMessage({\n op: isSubscribe ? 'Subscribe' : 'Unsubscribe',\n payload,\n ...payload === 'Object' && { target },\n });\n this.#requestQueue.push([isSubscribe, target]);\n }\n\n #emit(condition: (target: string, source: Source) => boolean, p?: Object, e?: Error): void {\n this.#subscriptions\n .filter(([target, source]) => condition(target, source))\n .forEach(([, , cb]) => cb(p, e));\n }\n\n constructor(readonly url: string) {\n }\n\n #disconnect(onlyReset = false): void {\n if (this.#webSocket == null) return;\n if (!onlyReset) this.#webSocket.close();\n Object.assign(this.#webSocket, {\n onopen: undefined,\n onerror: undefined,\n onmessage: undefined,\n });\n this.#webSocket = undefined;\n }\n\n async reconnect(): Promise<void> {\n this.#disconnect();\n this.#webSocket = await new Promise((resolve) => {\n const webSocket = new WebSocket(this.url);\n Object.assign(webSocket, {\n onopen: () => resolve(webSocket),\n onerror: (errorEvent: WebSocket.ErrorEvent) => {\n this.#emit(() => true, undefined, errorEvent.error);\n },\n onmessage: (event: WebSocket.MessageEvent) => {\n if (typeof event.data !== 'string') {\n throw new InternalError(`Unknown incoming message type: ${typeof event.data}`);\n }\n this.#messageHandler(JSON.parse(event.data));\n },\n onclose: (event: WebSocket.CloseEvent) => {\n this.#emit(() => true, undefined, new MiddlewareSubscriberDisconnected(event));\n this.#disconnect(true);\n },\n });\n });\n await Promise.all([...this.#targets].map((target) => this.#sendSubscribe(true, target)));\n }\n\n #messageHandler(message: string | string[] | Message): void {\n if (typeof message === 'string' || Array.isArray(message)) {\n const request = this.#requestQueue.shift();\n if (request == null) throw new InternalError('Request queue is empty');\n const [isSubscribe, target] = request;\n let error;\n if (typeof message === 'string') error = new MiddlewareSubscriberError(message);\n if (message.includes(target) !== isSubscribe) {\n error = new InternalError(`Expected ${target} to be${isSubscribe ? '' : ' not'} included into ${message}`);\n }\n if (error != null) this.#emit((t) => target === t, undefined, error);\n return;\n }\n this.#emit(\n (target, source) => (target === message.subscription || target === message.target)\n && (source === message.source || source === Source.All),\n message.payload,\n );\n }\n\n #subscribe(target: string, source: Source, cb: (p?: Object, e?: Error) => void): () => void {\n const subscription = [target, source, cb] as const;\n if (this.#targets.size === 0) this.reconnect();\n if (!this.#targets.has(target)) this.#sendSubscribe(true, target);\n this.#subscriptions.push(subscription);\n return () => {\n this.#subscriptions = this.#subscriptions.filter((item) => item !== subscription);\n if (!this.#targets.has(target)) this.#sendSubscribe(false, target);\n if (this.#targets.size === 0) this.#disconnect();\n };\n }\n\n // TODO: replace p?: any with a proper type definition\n\n subscribeKeyBlocks(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('KeyBlocks', Source.Middleware, cb);\n }\n\n subscribeKeyBlocksNode(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('KeyBlocks', Source.Node, cb);\n }\n\n subscribeKeyBlocksAll(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('KeyBlocks', Source.All, cb);\n }\n\n subscribeMicroBlocks(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('MicroBlocks', Source.Middleware, cb);\n }\n\n subscribeMicroBlocksNode(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('MicroBlocks', Source.Node, cb);\n }\n\n subscribeMicroBlocksAll(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('MicroBlocks', Source.All, cb);\n }\n\n subscribeTransactions(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('Transactions', Source.Middleware, cb);\n }\n\n subscribeTransactionsNode(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('Transactions', Source.Node, cb);\n }\n\n subscribeTransactionsAll(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('Transactions', Source.All, cb);\n }\n\n subscribeObject(\n target: Encoded.KeyBlockHash | Encoded.Channel | Encoded.ContractAddress\n | Encoded.OracleAddress | Encoded.OracleQueryId | Encoded.AccountAddress\n | Encoded.Name | `${string}.chain`,\n cb: (p?: any, e?: Error) => void,\n ): () => void {\n return this.#subscribe(target, Source.Middleware, cb);\n }\n\n subscribeObjectNode(\n target: Encoded.KeyBlockHash | Encoded.Channel | Encoded.ContractAddress\n | Encoded.OracleAddress | Encoded.OracleQueryId | Encoded.AccountAddress\n | Encoded.Name | `${string}.chain`,\n cb: (p?: any, e?: Error) => void,\n ): () => void {\n return this.#subscribe(target, Source.Node, cb);\n }\n\n subscribeObjectAll(\n target: Encoded.KeyBlockHash | Encoded.Channel | Encoded.ContractAddress\n | Encoded.OracleAddress | Encoded.OracleQueryId | Encoded.AccountAddress\n | Encoded.Name | `${string}.chain`,\n cb: (p?: any, e?: Error) => void,\n ): () => void {\n return this.#subscribe(target, Source.All, cb);\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MiddlewareSubscriber.mjs","names":["WebSocket","BaseError","UnexpectedTsError","InternalError","Source","MiddlewareSubscriberError","constructor","message","name","MiddlewareSubscriberDisconnected","closeEvent","_subscriptions","WeakMap","_requestQueue","_webSocket","_targets","_sendMessage","WeakSet","_sendSubscribe","_emit","_disconnect","_messageHandler","_subscribe","MiddlewareSubscriber","webSocket","_classPrivateFieldGet","url","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","get","_get_targets","set","writable","value","reconnect","_classPrivateMethodGet","_disconnect2","call","_classPrivateFieldSet","Promise","resolve","Object","assign","onopen","onerror","errorEvent","_emit2","undefined","error","onmessage","event","data","_messageHandler2","JSON","parse","onclose","all","map","target","_sendSubscribe2","subscribeKeyBlocks","cb","_subscribe2","Middleware","subscribeKeyBlocksNode","Node","subscribeKeyBlocksAll","All","subscribeMicroBlocks","subscribeMicroBlocksNode","subscribeMicroBlocksAll","subscribeTransactions","subscribeTransactionsNode","subscribeTransactionsAll","subscribeObject","subscribeObjectNode","subscribeObjectAll","Set","_sendMessage2","send","stringify","isSubscribe","payload","includes","op","push","condition","p","e","filter","source","forEach","onlyReset","close","Array","isArray","request","shift","t","subscription","size","has","item"],"sources":["../src/MiddlewareSubscriber.ts"],"sourcesContent":["/* eslint-disable max-classes-per-file */\nimport WebSocket from 'isomorphic-ws';\nimport { BaseError, UnexpectedTsError, InternalError } from './utils/errors';\nimport { Encoded } from './utils/encoder';\n\ninterface Message {\n payload: Object;\n source: Source.Middleware | Source.Node;\n subscription: 'KeyBlocks' | 'MicroBlocks' | 'Transactions' | 'Object';\n target?: string;\n}\n\nenum Source {\n Middleware = 'mdw',\n Node = 'node',\n All = 'all',\n}\n\nexport class MiddlewareSubscriberError extends BaseError {\n constructor(message: string) {\n super(message);\n this.name = 'MiddlewareSubscriberError';\n }\n}\n\nexport class MiddlewareSubscriberDisconnected extends MiddlewareSubscriberError {\n constructor(readonly closeEvent: WebSocket.CloseEvent) {\n super('Connection closed');\n this.name = 'MiddlewareSubscriberDisconnected';\n }\n}\n\nexport default class MiddlewareSubscriber {\n #subscriptions: Array<\n readonly [target: string, s: Source, cb: (p?: Object, e?: Error) => void]\n > = [];\n\n readonly #requestQueue: Array<[isSubscribe: boolean, target: string]> = [];\n\n #webSocket?: WebSocket;\n\n get webSocket(): WebSocket | undefined {\n return this.#webSocket;\n }\n\n get #targets(): Set<string> {\n return new Set(this.#subscriptions.map(([target]) => target));\n }\n\n #sendMessage(message: any): void {\n if (this.#webSocket == null) throw new UnexpectedTsError();\n this.#webSocket.send(JSON.stringify(message));\n }\n\n #sendSubscribe(isSubscribe: boolean, target: string): void {\n if (this.#webSocket == null) return;\n const payload = ['KeyBlocks', 'MicroBlocks', 'Transactions'].includes(target)\n ? target : 'Object';\n this.#sendMessage({\n op: isSubscribe ? 'Subscribe' : 'Unsubscribe',\n payload,\n ...payload === 'Object' && { target },\n });\n this.#requestQueue.push([isSubscribe, target]);\n }\n\n #emit(condition: (target: string, source: Source) => boolean, p?: Object, e?: Error): void {\n this.#subscriptions\n .filter(([target, source]) => condition(target, source))\n .forEach(([, , cb]) => cb(p, e));\n }\n\n constructor(readonly url: string) {\n }\n\n #disconnect(onlyReset = false): void {\n if (this.#webSocket == null) return;\n if (!onlyReset) this.#webSocket.close();\n Object.assign(this.#webSocket, {\n onopen: undefined,\n onerror: undefined,\n onmessage: undefined,\n });\n this.#webSocket = undefined;\n }\n\n async reconnect(): Promise<void> {\n this.#disconnect();\n this.#webSocket = await new Promise((resolve) => {\n const webSocket = new WebSocket(this.url);\n Object.assign(webSocket, {\n onopen: () => resolve(webSocket),\n onerror: (errorEvent: WebSocket.ErrorEvent) => {\n this.#emit(() => true, undefined, errorEvent.error);\n },\n onmessage: (event: WebSocket.MessageEvent) => {\n if (typeof event.data !== 'string') {\n throw new InternalError(`Unknown incoming message type: ${typeof event.data}`);\n }\n this.#messageHandler(JSON.parse(event.data));\n },\n onclose: (event: WebSocket.CloseEvent) => {\n this.#emit(() => true, undefined, new MiddlewareSubscriberDisconnected(event));\n this.#disconnect(true);\n },\n });\n });\n await Promise.all([...this.#targets].map((target) => this.#sendSubscribe(true, target)));\n }\n\n #messageHandler(message: string | string[] | Message): void {\n if (typeof message === 'string' || Array.isArray(message)) {\n const request = this.#requestQueue.shift();\n if (request == null) throw new InternalError('Request queue is empty');\n const [isSubscribe, target] = request;\n let error;\n if (typeof message === 'string') error = new MiddlewareSubscriberError(message);\n if (message.includes(target) !== isSubscribe) {\n error = new InternalError(`Expected ${target} to be${isSubscribe ? '' : ' not'} included into ${message}`);\n }\n if (error != null) this.#emit((t) => target === t, undefined, error);\n return;\n }\n this.#emit(\n (target, source) => (target === message.subscription || target === message.target)\n && (source === message.source || source === Source.All),\n message.payload,\n );\n }\n\n #subscribe(target: string, source: Source, cb: (p?: Object, e?: Error) => void): () => void {\n const subscription = [target, source, cb] as const;\n if (this.#targets.size === 0) this.reconnect();\n if (!this.#targets.has(target)) this.#sendSubscribe(true, target);\n this.#subscriptions.push(subscription);\n return () => {\n this.#subscriptions = this.#subscriptions.filter((item) => item !== subscription);\n if (!this.#targets.has(target)) this.#sendSubscribe(false, target);\n if (this.#targets.size === 0) this.#disconnect();\n };\n }\n\n // TODO: replace p?: any with a proper type definition\n\n subscribeKeyBlocks(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('KeyBlocks', Source.Middleware, cb);\n }\n\n subscribeKeyBlocksNode(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('KeyBlocks', Source.Node, cb);\n }\n\n subscribeKeyBlocksAll(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('KeyBlocks', Source.All, cb);\n }\n\n subscribeMicroBlocks(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('MicroBlocks', Source.Middleware, cb);\n }\n\n subscribeMicroBlocksNode(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('MicroBlocks', Source.Node, cb);\n }\n\n subscribeMicroBlocksAll(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('MicroBlocks', Source.All, cb);\n }\n\n subscribeTransactions(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('Transactions', Source.Middleware, cb);\n }\n\n subscribeTransactionsNode(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('Transactions', Source.Node, cb);\n }\n\n subscribeTransactionsAll(cb: (p?: any, e?: Error) => void): () => void {\n return this.#subscribe('Transactions', Source.All, cb);\n }\n\n subscribeObject(\n target: Encoded.KeyBlockHash | Encoded.Channel | Encoded.ContractAddress\n | Encoded.OracleAddress | Encoded.OracleQueryId | Encoded.AccountAddress\n | Encoded.Name | `${string}.chain`,\n cb: (p?: any, e?: Error) => void,\n ): () => void {\n return this.#subscribe(target, Source.Middleware, cb);\n }\n\n subscribeObjectNode(\n target: Encoded.KeyBlockHash | Encoded.Channel | Encoded.ContractAddress\n | Encoded.OracleAddress | Encoded.OracleQueryId | Encoded.AccountAddress\n | Encoded.Name | `${string}.chain`,\n cb: (p?: any, e?: Error) => void,\n ): () => void {\n return this.#subscribe(target, Source.Node, cb);\n }\n\n subscribeObjectAll(\n target: Encoded.KeyBlockHash | Encoded.Channel | Encoded.ContractAddress\n | Encoded.OracleAddress | Encoded.OracleQueryId | Encoded.AccountAddress\n | Encoded.Name | `${string}.chain`,\n cb: (p?: any, e?: Error) => void,\n ): () => void {\n return this.#subscribe(target, Source.All, cb);\n }\n}\n"],"mappings":"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"}
|
package/es/Node.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import { OperationOptions } from '@azure/core-client';
|
|
1
2
|
import { Node as NodeApi, NodeOptionalParams } from './apis/node';
|
|
2
3
|
import { Encoded } from './utils/encoder';
|
|
3
4
|
import { ConsensusProtocolVersion } from './tx/builder/constants';
|
|
4
|
-
declare const bigIntPropertyNames: readonly ["balance", "queryFee", "fee", "amount", "nameFee", "channelAmount", "initiatorAmount", "responderAmount", "channelReserve", "initiatorAmountFinal", "responderAmountFinal", "gasPrice", "deposit"];
|
|
5
|
-
declare const numberPropertyNames: readonly ["time", "gas", "gasUsed", "nameSalt", "nonce", "nextNonce", "height", "blockHeight", "topBlockHeight", "ttl", "nameTtl", "clientTtl", "inbound", "outbound", "peerCount", "pendingTransactionsCount", "effectiveAtHeight", "version", "solutions", "round"];
|
|
5
|
+
declare const bigIntPropertyNames: readonly ["balance", "queryFee", "fee", "amount", "nameFee", "channelAmount", "initiatorAmount", "responderAmount", "channelReserve", "initiatorAmountFinal", "responderAmountFinal", "gasPrice", "minGasPrice", "deposit"];
|
|
6
|
+
declare const numberPropertyNames: readonly ["time", "gas", "gasUsed", "nameSalt", "nonce", "nextNonce", "height", "blockHeight", "topBlockHeight", "ttl", "nameTtl", "clientTtl", "inbound", "outbound", "peerCount", "pendingTransactionsCount", "effectiveAtHeight", "version", "solutions", "round", "minutes", "utilization", "difficulty", "hashrate"];
|
|
6
7
|
type BigIntPropertyNames = typeof bigIntPropertyNames[number];
|
|
7
8
|
type NumberPropertyNames = typeof numberPropertyNames[number];
|
|
8
9
|
type PreserveOptional<NewType, OrigType> = OrigType extends undefined ? NewType | undefined : NewType;
|
|
@@ -26,7 +27,7 @@ export default class Node extends Node_base {
|
|
|
26
27
|
/**
|
|
27
28
|
* @param url - Url for node API
|
|
28
29
|
* @param options - Options
|
|
29
|
-
* @param options.ignoreVersion - Don't
|
|
30
|
+
* @param options.ignoreVersion - Don't ensure that the node is supported
|
|
30
31
|
* @param options.retryCount - Amount of extra requests to do in case of failure
|
|
31
32
|
* @param options.retryOverallDelay - Time in ms to wait between all retries
|
|
32
33
|
*/
|
|
@@ -35,6 +36,13 @@ export default class Node extends Node_base {
|
|
|
35
36
|
retryCount?: number;
|
|
36
37
|
retryOverallDelay?: number;
|
|
37
38
|
});
|
|
39
|
+
_getCachedStatus(options?: OperationOptions): ReturnType<Node['getStatus']>;
|
|
40
|
+
/** @ts-expect-error use code generation to create node class? */
|
|
41
|
+
getStatus(...args: Parameters<InstanceType<NodeTransformedApi>['getStatus']>): ReturnType<InstanceType<NodeTransformedApi>['getStatus']>;
|
|
42
|
+
/**
|
|
43
|
+
* Returns network ID provided by node.
|
|
44
|
+
* This method won't do extra requests on subsequent calls.
|
|
45
|
+
*/
|
|
38
46
|
getNetworkId(): Promise<string>;
|
|
39
47
|
getNodeInfo(): Promise<NodeInfo>;
|
|
40
48
|
}
|