@aeternity/aepp-sdk 13.3.3 → 14.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +15 -21
- package/bin/aesophia_cli +0 -0
- package/dist/aepp-sdk.browser-script.cjs +3 -0
- package/dist/aepp-sdk.browser-script.cjs.LICENSE.txt +12 -0
- package/dist/aepp-sdk.browser-script.cjs.map +1 -0
- package/dist/aepp-sdk.browser.cjs +3 -0
- package/dist/aepp-sdk.browser.cjs.map +1 -0
- package/dist/aepp-sdk.cjs +38244 -0
- package/dist/aepp-sdk.cjs.map +1 -0
- package/es/AeSdk.d.ts +4 -4
- package/es/AeSdk.js +76 -0
- package/es/AeSdk.js.map +1 -0
- package/es/AeSdkAepp.d.ts +13 -8
- package/es/AeSdkAepp.js +153 -0
- package/es/AeSdkAepp.js.map +1 -0
- package/es/AeSdkBase.d.ts +15 -41
- package/es/AeSdkBase.js +235 -0
- package/es/AeSdkBase.js.map +1 -0
- package/es/AeSdkMethods.d.ts +11 -34
- package/es/AeSdkMethods.js +81 -0
- package/es/AeSdkMethods.js.map +1 -0
- package/es/AeSdkWallet.d.ts +13 -8
- package/es/AeSdkWallet.js +347 -0
- package/es/AeSdkWallet.js.map +1 -0
- package/es/Middleware.d.ts +14 -26
- package/es/Middleware.js +102 -0
- package/es/Middleware.js.map +1 -0
- package/es/MiddlewareSubscriber.d.ts +5 -3
- package/es/MiddlewareSubscriber.js +169 -0
- package/es/MiddlewareSubscriber.js.map +1 -0
- package/es/Node.d.ts +11 -22
- package/es/Node.js +121 -0
- package/es/Node.js.map +1 -0
- package/es/account/Base.d.ts +14 -66
- package/es/account/Base.js +7 -0
- package/es/account/Base.js.map +1 -0
- package/es/account/BaseFactory.d.ts +20 -0
- package/es/account/BaseFactory.js +29 -0
- package/es/account/BaseFactory.js.map +1 -0
- package/es/account/Generalized.d.ts +7 -6
- package/es/account/Generalized.js +117 -0
- package/es/account/Generalized.js.map +1 -0
- package/es/account/Ledger.d.ts +8 -7
- package/es/account/Ledger.js +116 -0
- package/es/account/Ledger.js.map +1 -0
- package/es/account/LedgerFactory.d.ts +18 -16
- package/es/account/LedgerFactory.js +86 -0
- package/es/account/LedgerFactory.js.map +1 -0
- package/es/account/Memory.d.ts +11 -22
- package/es/account/Memory.js +106 -0
- package/es/account/Memory.js.map +1 -0
- package/es/account/Metamask.d.ts +34 -0
- package/es/account/Metamask.js +89 -0
- package/es/account/Metamask.js.map +1 -0
- package/es/account/MetamaskFactory.d.ts +58 -0
- package/es/account/MetamaskFactory.js +164 -0
- package/es/account/MetamaskFactory.js.map +1 -0
- package/es/account/MnemonicFactory.d.ts +45 -0
- package/es/account/MnemonicFactory.js +112 -0
- package/es/account/MnemonicFactory.js.map +1 -0
- package/es/account/Rpc.d.ts +10 -19
- package/es/account/Rpc.js +94 -0
- package/es/account/Rpc.js.map +1 -0
- package/es/aens.d.ts +144 -165
- package/es/aens.js +292 -0
- package/es/aens.js.map +1 -0
- package/es/aepp-wallet-communication/WalletConnectorFrame.d.ts +25 -0
- package/es/aepp-wallet-communication/WalletConnectorFrame.js +39 -0
- package/es/aepp-wallet-communication/WalletConnectorFrame.js.map +1 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameBase.d.ts +43 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameBase.js +110 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameBase.js.map +1 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameWithNode.d.ts +27 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameWithNode.js +43 -0
- package/es/aepp-wallet-communication/WalletConnectorFrameWithNode.js.map +1 -0
- package/es/aepp-wallet-communication/connection/Browser.js +53 -0
- package/es/aepp-wallet-communication/connection/Browser.js.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +2 -2
- package/es/aepp-wallet-communication/connection/BrowserRuntime.js +54 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.js.map +1 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +2 -2
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.js +90 -0
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.js.map +1 -0
- package/es/aepp-wallet-communication/connection-proxy.d.ts +2 -2
- package/es/aepp-wallet-communication/connection-proxy.js +17 -0
- package/es/aepp-wallet-communication/connection-proxy.js.map +1 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.d.ts +1 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.js +119 -0
- package/es/aepp-wallet-communication/rpc/RpcClient.js.map +1 -0
- package/es/aepp-wallet-communication/rpc/types.d.ts +13 -19
- package/es/aepp-wallet-communication/rpc/types.js +3 -0
- package/es/aepp-wallet-communication/rpc/types.js.map +1 -0
- package/es/aepp-wallet-communication/schema.d.ts +10 -3
- package/es/aepp-wallet-communication/schema.js +202 -0
- package/es/aepp-wallet-communication/schema.js.map +1 -0
- package/es/aepp-wallet-communication/wallet-detector.d.ts +4 -4
- package/es/aepp-wallet-communication/wallet-detector.js +44 -0
- package/es/aepp-wallet-communication/wallet-detector.js.map +1 -0
- package/es/apis/compiler/compiler.d.ts +2 -2
- package/es/apis/compiler/compiler.js +513 -0
- package/es/apis/compiler/compiler.js.map +1 -0
- package/es/apis/compiler/index.d.ts +2 -2
- package/es/apis/compiler/index.js +3 -0
- package/es/apis/compiler/index.js.map +1 -0
- package/es/apis/compiler/models/index.js +2 -0
- package/es/apis/compiler/models/index.js.map +1 -0
- package/es/apis/compiler/models/mappers.js +554 -0
- package/es/apis/compiler/models/mappers.js.map +1 -0
- package/es/apis/compiler/models/parameters.js +67 -0
- package/es/apis/compiler/models/parameters.js.map +1 -0
- package/es/apis/middleware/index.d.ts +2 -2
- package/es/apis/middleware/index.js +3 -0
- package/es/apis/middleware/index.js.map +1 -0
- package/es/apis/middleware/middleware.d.ts +222 -124
- package/es/apis/middleware/middleware.js +2146 -0
- package/es/apis/middleware/middleware.js.map +1 -0
- package/es/apis/middleware/models/index.d.ts +2062 -1198
- package/es/apis/middleware/models/index.js +2 -0
- package/es/apis/middleware/models/index.js.map +1 -0
- package/es/apis/middleware/models/mappers.d.ts +206 -81
- package/es/apis/middleware/models/mappers.js +9315 -0
- package/es/apis/middleware/models/mappers.js.map +1 -0
- package/es/apis/middleware/models/parameters.d.ts +78 -13
- package/es/apis/middleware/models/parameters.js +1164 -0
- package/es/apis/middleware/models/parameters.js.map +1 -0
- package/es/apis/node/index.d.ts +2 -2
- package/es/apis/node/index.js +3 -0
- package/es/apis/node/index.js.map +1 -0
- package/es/apis/node/models/index.d.ts +683 -631
- package/es/apis/node/models/index.js +2 -0
- package/es/apis/node/models/index.js.map +1 -0
- package/es/apis/node/models/mappers.d.ts +58 -55
- package/es/apis/node/models/mappers.js +5450 -0
- package/es/apis/node/models/mappers.js.map +1 -0
- package/es/apis/node/models/parameters.d.ts +5 -5
- package/es/apis/node/models/parameters.js +165 -0
- package/es/apis/node/models/parameters.js.map +1 -0
- package/es/apis/node/node.d.ts +113 -96
- package/es/apis/node/node.js +1292 -0
- package/es/apis/node/node.js.map +1 -0
- package/es/chain.d.ts +39 -26
- package/es/chain.js +448 -0
- package/es/chain.js.map +1 -0
- package/es/channel/Base.d.ts +12 -14
- package/es/channel/Base.js +246 -0
- package/es/channel/Base.js.map +1 -0
- package/es/channel/Contract.d.ts +12 -9
- package/es/channel/Contract.js +385 -0
- package/es/channel/Contract.js.map +1 -0
- package/es/channel/Spend.d.ts +10 -10
- package/es/channel/Spend.js +357 -0
- package/es/channel/Spend.js.map +1 -0
- package/es/channel/handlers.d.ts +4 -3
- package/es/channel/handlers.js +394 -0
- package/es/channel/handlers.js.map +1 -0
- package/es/channel/internal.d.ts +11 -10
- package/es/channel/internal.js +224 -0
- package/es/channel/internal.js.map +1 -0
- package/es/contract/Contract.d.ts +30 -21
- package/es/contract/Contract.js +535 -0
- package/es/contract/Contract.js.map +1 -0
- package/es/contract/compiler/Base.d.ts +2 -1
- package/es/contract/compiler/Base.js +6 -0
- package/es/contract/compiler/Base.js.map +1 -0
- package/es/contract/compiler/Cli.d.ts +4 -3
- package/es/contract/compiler/Cli.js +169 -0
- package/es/contract/compiler/Cli.js.map +1 -0
- package/es/contract/compiler/Http.d.ts +5 -4
- package/es/contract/compiler/Http.js +125 -0
- package/es/contract/compiler/Http.js.map +1 -0
- package/es/contract/compiler/HttpNode.d.ts +3 -3
- package/es/contract/compiler/HttpNode.js +29 -0
- package/es/contract/compiler/HttpNode.js.map +1 -0
- package/es/contract/compiler/getFileSystem.d.ts +1 -0
- package/es/contract/compiler/getFileSystem.js +33 -0
- package/es/contract/compiler/getFileSystem.js.map +1 -0
- package/es/contract/ga.d.ts +11 -15
- package/es/contract/ga.js +136 -0
- package/es/contract/ga.js.map +1 -0
- package/es/index-browser.d.ts +86 -51
- package/es/index-browser.js +85 -0
- package/es/index-browser.js.map +1 -0
- package/es/index.d.ts +4 -5
- package/es/index.js +5 -0
- package/es/index.js.map +1 -0
- package/es/oracle/Oracle.d.ts +79 -0
- package/es/oracle/Oracle.js +183 -0
- package/es/oracle/Oracle.js.map +1 -0
- package/es/oracle/OracleBase.d.ts +54 -0
- package/es/oracle/OracleBase.js +74 -0
- package/es/oracle/OracleBase.js.map +1 -0
- package/es/oracle/OracleClient.d.ts +60 -0
- package/es/oracle/OracleClient.js +105 -0
- package/es/oracle/OracleClient.js.map +1 -0
- package/es/send-transaction.d.ts +8 -8
- package/es/send-transaction.js +110 -0
- package/es/send-transaction.js.map +1 -0
- package/es/spend.d.ts +8 -13
- package/es/spend.js +93 -0
- package/es/spend.js.map +1 -0
- package/es/tx/builder/SchemaTypes.d.ts +3 -3
- package/es/tx/builder/SchemaTypes.js +2 -0
- package/es/tx/builder/SchemaTypes.js.map +1 -0
- package/es/tx/builder/common.d.ts +2 -2
- package/es/tx/builder/common.js +41 -0
- package/es/tx/builder/common.js.map +1 -0
- package/es/tx/builder/constants.d.ts +53 -27
- package/es/tx/builder/constants.js +170 -0
- package/es/tx/builder/constants.js.map +1 -0
- package/es/tx/builder/delegation/index.d.ts +3 -3
- package/es/tx/builder/delegation/index.js +24 -0
- package/es/tx/builder/delegation/index.js.map +1 -0
- package/es/tx/builder/delegation/schema.d.ts +21 -4
- package/es/tx/builder/delegation/schema.generated.d.ts +2 -2
- package/es/tx/builder/delegation/schema.generated.js +2 -0
- package/es/tx/builder/delegation/schema.generated.js.map +1 -0
- package/es/tx/builder/delegation/schema.js +83 -0
- package/es/tx/builder/delegation/schema.js.map +1 -0
- package/es/tx/builder/entry/constants.d.ts +35 -0
- package/es/tx/builder/entry/constants.js +45 -0
- package/es/tx/builder/entry/constants.js.map +1 -0
- package/es/tx/builder/entry/index.d.ts +38 -0
- package/es/tx/builder/entry/index.js +36 -0
- package/es/tx/builder/entry/index.js.map +1 -0
- package/es/tx/builder/entry/schema.d.ts +1030 -0
- package/es/tx/builder/entry/schema.generated.d.ts +607 -0
- package/es/tx/builder/entry/schema.generated.js +2 -0
- package/es/tx/builder/entry/schema.generated.js.map +1 -0
- package/es/tx/builder/entry/schema.js +204 -0
- package/es/tx/builder/entry/schema.js.map +1 -0
- package/es/tx/builder/field-types/abi-version.d.ts +4 -5
- package/es/tx/builder/field-types/abi-version.js +34 -0
- package/es/tx/builder/field-types/abi-version.js.map +1 -0
- package/es/tx/builder/field-types/address.d.ts +2 -3
- package/es/tx/builder/field-types/address.js +46 -0
- package/es/tx/builder/field-types/address.js.map +1 -0
- package/es/tx/builder/field-types/array.js +11 -0
- package/es/tx/builder/field-types/array.js.map +1 -0
- package/es/tx/builder/field-types/boolean.d.ts +0 -1
- package/es/tx/builder/field-types/boolean.js +10 -0
- package/es/tx/builder/field-types/boolean.js.map +1 -0
- package/es/tx/builder/field-types/coin-amount.d.ts +3 -4
- package/es/tx/builder/field-types/coin-amount.js +18 -0
- package/es/tx/builder/field-types/coin-amount.js.map +1 -0
- package/es/tx/builder/field-types/ct-version.d.ts +4 -19
- package/es/tx/builder/field-types/ct-version.js +57 -0
- package/es/tx/builder/field-types/ct-version.js.map +1 -0
- package/es/tx/builder/field-types/encoded.d.ts +1 -2
- package/es/tx/builder/field-types/encoded.js +18 -0
- package/es/tx/builder/field-types/encoded.js.map +1 -0
- package/es/tx/builder/field-types/entry.d.ts +5 -6
- package/es/tx/builder/field-types/entry.js +26 -0
- package/es/tx/builder/field-types/entry.js.map +1 -0
- package/es/tx/builder/field-types/enumeration.d.ts +0 -1
- package/es/tx/builder/field-types/enumeration.js +27 -0
- package/es/tx/builder/field-types/enumeration.js.map +1 -0
- package/es/tx/builder/field-types/fee.d.ts +8 -9
- package/es/tx/builder/field-types/fee.js +160 -0
- package/es/tx/builder/field-types/fee.js.map +1 -0
- package/es/tx/builder/field-types/field.d.ts +0 -1
- package/es/tx/builder/field-types/field.js +10 -0
- package/es/tx/builder/field-types/field.js.map +1 -0
- package/es/tx/builder/field-types/gas-limit.d.ts +4 -5
- package/es/tx/builder/field-types/gas-limit.js +31 -0
- package/es/tx/builder/field-types/gas-limit.js.map +1 -0
- package/es/tx/builder/field-types/gas-price.d.ts +10 -8
- package/es/tx/builder/field-types/gas-price.js +53 -0
- package/es/tx/builder/field-types/gas-price.js.map +1 -0
- package/es/tx/builder/field-types/interface.d.ts +7 -0
- package/es/tx/builder/field-types/interface.js +2 -0
- package/es/tx/builder/field-types/interface.js.map +1 -0
- package/es/tx/builder/field-types/map.d.ts +6 -7
- package/es/tx/builder/field-types/map.js +38 -0
- package/es/tx/builder/field-types/map.js.map +1 -0
- package/es/tx/builder/field-types/mptree.d.ts +12 -13
- package/es/tx/builder/field-types/mptree.js +223 -0
- package/es/tx/builder/field-types/mptree.js.map +1 -0
- package/es/tx/builder/field-types/name-fee.d.ts +3 -4
- package/es/tx/builder/field-types/name-fee.js +22 -0
- package/es/tx/builder/field-types/name-fee.js.map +1 -0
- package/es/tx/builder/field-types/name-id.d.ts +2 -3
- package/es/tx/builder/field-types/name-id.js +14 -0
- package/es/tx/builder/field-types/name-id.js.map +1 -0
- package/es/tx/builder/field-types/name.d.ts +1 -2
- package/es/tx/builder/field-types/name.js +16 -0
- package/es/tx/builder/field-types/name.js.map +1 -0
- package/es/tx/builder/field-types/nonce.d.ts +6 -4
- package/es/tx/builder/field-types/nonce.js +40 -0
- package/es/tx/builder/field-types/nonce.js.map +1 -0
- package/es/tx/builder/field-types/pointers.d.ts +9 -18
- package/es/tx/builder/field-types/pointers.js +69 -0
- package/es/tx/builder/field-types/pointers.js.map +1 -0
- package/es/tx/builder/field-types/query-fee.d.ts +4 -5
- package/es/tx/builder/field-types/query-fee.js +21 -0
- package/es/tx/builder/field-types/query-fee.js.map +1 -0
- package/es/tx/builder/field-types/raw.d.ts +0 -1
- package/es/tx/builder/field-types/raw.js +10 -0
- package/es/tx/builder/field-types/raw.js.map +1 -0
- package/es/tx/builder/field-types/short-u-int-const.d.ts +0 -1
- package/es/tx/builder/field-types/short-u-int-const.js +20 -0
- package/es/tx/builder/field-types/short-u-int-const.js.map +1 -0
- package/es/tx/builder/field-types/short-u-int.d.ts +0 -1
- package/es/tx/builder/field-types/short-u-int.js +10 -0
- package/es/tx/builder/field-types/short-u-int.js.map +1 -0
- package/es/tx/builder/field-types/string.d.ts +0 -1
- package/es/tx/builder/field-types/string.js +10 -0
- package/es/tx/builder/field-types/string.js.map +1 -0
- package/es/tx/builder/field-types/transaction.d.ts +10 -0
- package/es/tx/builder/field-types/transaction.js +26 -0
- package/es/tx/builder/field-types/transaction.js.map +1 -0
- package/es/tx/builder/field-types/ttl.d.ts +6 -11
- package/es/tx/builder/field-types/ttl.js +32 -0
- package/es/tx/builder/field-types/ttl.js.map +1 -0
- package/es/tx/builder/field-types/u-int.d.ts +1 -2
- package/es/tx/builder/field-types/u-int.js +13 -0
- package/es/tx/builder/field-types/u-int.js.map +1 -0
- package/es/tx/builder/field-types/with-default.js +9 -0
- package/es/tx/builder/field-types/with-default.js.map +1 -0
- package/es/tx/builder/field-types/with-formatting.js +9 -0
- package/es/tx/builder/field-types/with-formatting.js.map +1 -0
- package/es/tx/builder/field-types/wrapped.d.ts +5 -6
- package/es/tx/builder/field-types/wrapped.js +20 -0
- package/es/tx/builder/field-types/wrapped.js.map +1 -0
- package/es/tx/builder/helpers.d.ts +21 -16
- package/es/tx/builder/helpers.js +215 -0
- package/es/tx/builder/helpers.js.map +1 -0
- package/es/tx/builder/index.d.ts +4 -13
- package/es/tx/builder/index.js +91 -0
- package/es/tx/builder/index.js.map +1 -0
- package/es/tx/builder/schema.d.ts +587 -1724
- package/es/tx/builder/schema.generated.d.ts +45 -1001
- package/es/tx/builder/schema.generated.js +2 -0
- package/es/tx/builder/schema.generated.js.map +1 -0
- package/es/tx/builder/schema.js +357 -0
- package/es/tx/builder/schema.js.map +1 -0
- package/es/tx/execution-cost.d.ts +5 -2
- package/es/tx/execution-cost.js +143 -0
- package/es/tx/execution-cost.js.map +1 -0
- package/es/tx/transaction-signer.d.ts +2 -1
- package/es/tx/transaction-signer.js +25 -0
- package/es/tx/transaction-signer.js.map +1 -0
- package/es/tx/validator.d.ts +2 -2
- package/es/tx/validator.js +207 -0
- package/es/tx/validator.js.map +1 -0
- package/es/typings/blakejs/index.d.js +2 -0
- package/es/typings/blakejs/index.d.js.map +1 -0
- package/es/typings/sha-js/index.d.js +2 -0
- package/es/typings/sha-js/index.d.js.map +1 -0
- package/es/typings/tweetnacl-auth/index.d.js +2 -0
- package/es/typings/tweetnacl-auth/index.d.js.map +1 -0
- package/es/utils/MiddlewarePage.d.ts +37 -0
- package/es/utils/MiddlewarePage.js +57 -0
- package/es/utils/MiddlewarePage.js.map +1 -0
- package/es/utils/amount-formatter.d.ts +19 -5
- package/es/utils/amount-formatter.js +113 -0
- package/es/utils/amount-formatter.js.map +1 -0
- package/es/utils/autorest.d.ts +7 -2
- package/es/utils/autorest.js +212 -0
- package/es/utils/autorest.js.map +1 -0
- package/es/utils/bignumber.js +21 -0
- package/es/utils/bignumber.js.map +1 -0
- package/es/utils/bytes.d.ts +2 -1
- package/es/utils/bytes.js +32 -0
- package/es/utils/bytes.js.map +1 -0
- package/es/utils/crypto.d.ts +48 -59
- package/es/utils/crypto.js +162 -0
- package/es/utils/crypto.js.map +1 -0
- package/es/utils/encoder-types.d.ts +3 -1
- package/es/utils/encoder-types.js +36 -0
- package/es/utils/encoder-types.js.map +1 -0
- package/es/utils/encoder.d.ts +4 -3
- package/es/utils/encoder.js +106 -0
- package/es/utils/encoder.js.map +1 -0
- package/es/utils/errors.d.ts +4 -10
- package/es/utils/errors.js +746 -0
- package/es/utils/errors.js.map +1 -0
- package/es/utils/json-big.d.ts +1 -1
- package/es/utils/json-big.js +25 -0
- package/es/utils/json-big.js.map +1 -0
- package/es/utils/jwt.d.ts +2 -2
- package/es/utils/jwt.js +112 -0
- package/es/utils/jwt.js.map +1 -0
- package/es/utils/other.d.ts +4 -4
- package/es/utils/other.js +48 -0
- package/es/utils/other.js.map +1 -0
- package/es/utils/semver-satisfies.js +12 -0
- package/es/utils/semver-satisfies.js.map +1 -0
- package/es/utils/string.js +18 -0
- package/es/utils/string.js.map +1 -0
- package/es/utils/typed-data.d.ts +6 -2
- package/es/utils/typed-data.js +58 -0
- package/es/utils/typed-data.js.map +1 -0
- package/es/utils/wrap-proxy.js +15 -0
- package/es/utils/wrap-proxy.js.map +1 -0
- package/package.json +91 -113
- package/bin/aesophia_cli_8 +0 -0
- package/dist/aepp-sdk.browser-script.js +0 -3
- package/dist/aepp-sdk.browser-script.js.LICENSE.txt +0 -12
- package/dist/aepp-sdk.browser-script.js.map +0 -1
- package/dist/aepp-sdk.browser.js +0 -3
- package/dist/aepp-sdk.browser.js.map +0 -1
- package/dist/aepp-sdk.js +0 -30486
- package/dist/aepp-sdk.js.map +0 -1
- package/es/AeSdk.mjs +0 -76
- package/es/AeSdk.mjs.map +0 -1
- package/es/AeSdkAepp.mjs +0 -145
- package/es/AeSdkAepp.mjs.map +0 -1
- package/es/AeSdkBase.mjs +0 -289
- package/es/AeSdkBase.mjs.map +0 -1
- package/es/AeSdkMethods.mjs +0 -92
- package/es/AeSdkMethods.mjs.map +0 -1
- package/es/AeSdkWallet.mjs +0 -368
- package/es/AeSdkWallet.mjs.map +0 -1
- package/es/Middleware.mjs +0 -94
- package/es/Middleware.mjs.map +0 -1
- package/es/MiddlewareSubscriber.mjs +0 -189
- package/es/MiddlewareSubscriber.mjs.map +0 -1
- package/es/Node.mjs +0 -148
- package/es/Node.mjs.map +0 -1
- package/es/account/Base.mjs +0 -134
- package/es/account/Base.mjs.map +0 -1
- package/es/account/Generalized.mjs +0 -129
- package/es/account/Generalized.mjs.map +0 -1
- package/es/account/Ledger.mjs +0 -131
- package/es/account/Ledger.mjs.map +0 -1
- package/es/account/LedgerFactory.mjs +0 -79
- package/es/account/LedgerFactory.mjs.map +0 -1
- package/es/account/Memory.mjs +0 -187
- package/es/account/Memory.mjs.map +0 -1
- package/es/account/Rpc.mjs +0 -178
- package/es/account/Rpc.mjs.map +0 -1
- package/es/aens.mjs +0 -290
- package/es/aens.mjs.map +0 -1
- package/es/aepp-wallet-communication/connection/Browser.mjs +0 -52
- package/es/aepp-wallet-communication/connection/Browser.mjs.map +0 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +0 -55
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +0 -1
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs +0 -98
- package/es/aepp-wallet-communication/connection/BrowserWindowMessage.mjs.map +0 -1
- package/es/aepp-wallet-communication/connection-proxy.mjs +0 -17
- package/es/aepp-wallet-communication/connection-proxy.mjs.map +0 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +0 -134
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +0 -1
- package/es/aepp-wallet-communication/rpc/types.mjs +0 -3
- package/es/aepp-wallet-communication/rpc/types.mjs.map +0 -1
- package/es/aepp-wallet-communication/schema.mjs +0 -187
- package/es/aepp-wallet-communication/schema.mjs.map +0 -1
- package/es/aepp-wallet-communication/wallet-detector.mjs +0 -44
- package/es/aepp-wallet-communication/wallet-detector.mjs.map +0 -1
- package/es/apis/compiler/compiler.mjs +0 -513
- package/es/apis/compiler/compiler.mjs.map +0 -1
- package/es/apis/compiler/index.mjs +0 -3
- package/es/apis/compiler/index.mjs.map +0 -1
- package/es/apis/compiler/models/index.mjs +0 -2
- package/es/apis/compiler/models/index.mjs.map +0 -1
- package/es/apis/compiler/models/mappers.mjs +0 -554
- package/es/apis/compiler/models/mappers.mjs.map +0 -1
- package/es/apis/compiler/models/parameters.mjs +0 -67
- package/es/apis/compiler/models/parameters.mjs.map +0 -1
- package/es/apis/middleware/index.mjs +0 -3
- package/es/apis/middleware/index.mjs.map +0 -1
- package/es/apis/middleware/middleware.mjs +0 -1623
- package/es/apis/middleware/middleware.mjs.map +0 -1
- package/es/apis/middleware/models/index.mjs +0 -630
- package/es/apis/middleware/models/index.mjs.map +0 -1
- package/es/apis/middleware/models/mappers.mjs +0 -3707
- package/es/apis/middleware/models/mappers.mjs.map +0 -1
- package/es/apis/middleware/models/parameters.mjs +0 -444
- package/es/apis/middleware/models/parameters.mjs.map +0 -1
- package/es/apis/node/index.mjs +0 -3
- package/es/apis/node/index.mjs.map +0 -1
- package/es/apis/node/models/index.mjs +0 -2
- package/es/apis/node/models/index.mjs.map +0 -1
- package/es/apis/node/models/mappers.mjs +0 -4395
- package/es/apis/node/models/mappers.mjs.map +0 -1
- package/es/apis/node/models/parameters.mjs +0 -165
- package/es/apis/node/models/parameters.mjs.map +0 -1
- package/es/apis/node/node.mjs +0 -1240
- package/es/apis/node/node.mjs.map +0 -1
- package/es/chain.mjs +0 -441
- package/es/chain.mjs.map +0 -1
- package/es/channel/Base.mjs +0 -254
- package/es/channel/Base.mjs.map +0 -1
- package/es/channel/Contract.mjs +0 -383
- package/es/channel/Contract.mjs.map +0 -1
- package/es/channel/Spend.mjs +0 -357
- package/es/channel/Spend.mjs.map +0 -1
- package/es/channel/handlers.mjs +0 -383
- package/es/channel/handlers.mjs.map +0 -1
- package/es/channel/internal.mjs +0 -237
- package/es/channel/internal.mjs.map +0 -1
- package/es/contract/Contract.mjs +0 -540
- package/es/contract/Contract.mjs.map +0 -1
- package/es/contract/compiler/Base.mjs +0 -5
- package/es/contract/compiler/Base.mjs.map +0 -1
- package/es/contract/compiler/Cli.mjs +0 -197
- package/es/contract/compiler/Cli.mjs.map +0 -1
- package/es/contract/compiler/Cli8.d.ts +0 -13
- package/es/contract/compiler/Cli8.mjs +0 -22
- package/es/contract/compiler/Cli8.mjs.map +0 -1
- package/es/contract/compiler/Http.mjs +0 -126
- package/es/contract/compiler/Http.mjs.map +0 -1
- package/es/contract/compiler/HttpNode.mjs +0 -31
- package/es/contract/compiler/HttpNode.mjs.map +0 -1
- package/es/contract/compiler/getFileSystem.mjs +0 -40
- package/es/contract/compiler/getFileSystem.mjs.map +0 -1
- package/es/contract/delegation-signature.d.ts +0 -45
- package/es/contract/delegation-signature.mjs +0 -80
- package/es/contract/delegation-signature.mjs.map +0 -1
- package/es/contract/ga.mjs +0 -135
- package/es/contract/ga.mjs.map +0 -1
- package/es/deprecated.d.ts +0 -62
- package/es/deprecated.mjs +0 -87
- package/es/deprecated.mjs.map +0 -1
- package/es/index-browser.mjs +0 -49
- package/es/index-browser.mjs.map +0 -1
- package/es/index.mjs +0 -6
- package/es/index.mjs.map +0 -1
- package/es/oracle.d.ts +0 -125
- package/es/oracle.mjs +0 -242
- package/es/oracle.mjs.map +0 -1
- package/es/send-transaction.mjs +0 -109
- package/es/send-transaction.mjs.map +0 -1
- package/es/spend.mjs +0 -90
- package/es/spend.mjs.map +0 -1
- package/es/tx/builder/SchemaTypes.mjs +0 -2
- package/es/tx/builder/SchemaTypes.mjs.map +0 -1
- package/es/tx/builder/common.mjs +0 -42
- package/es/tx/builder/common.mjs.map +0 -1
- package/es/tx/builder/constants.mjs +0 -147
- package/es/tx/builder/constants.mjs.map +0 -1
- package/es/tx/builder/delegation/index.mjs +0 -24
- package/es/tx/builder/delegation/index.mjs.map +0 -1
- package/es/tx/builder/delegation/schema.generated.mjs +0 -2
- package/es/tx/builder/delegation/schema.generated.mjs.map +0 -1
- package/es/tx/builder/delegation/schema.mjs +0 -54
- package/es/tx/builder/delegation/schema.mjs.map +0 -1
- package/es/tx/builder/field-types/abi-version.mjs +0 -37
- package/es/tx/builder/field-types/abi-version.mjs.map +0 -1
- package/es/tx/builder/field-types/address.mjs +0 -48
- package/es/tx/builder/field-types/address.mjs.map +0 -1
- package/es/tx/builder/field-types/array.mjs +0 -11
- package/es/tx/builder/field-types/array.mjs.map +0 -1
- package/es/tx/builder/field-types/boolean.mjs +0 -13
- package/es/tx/builder/field-types/boolean.mjs.map +0 -1
- package/es/tx/builder/field-types/coin-amount.mjs +0 -18
- package/es/tx/builder/field-types/coin-amount.mjs.map +0 -1
- package/es/tx/builder/field-types/ct-version.mjs +0 -75
- package/es/tx/builder/field-types/ct-version.mjs.map +0 -1
- package/es/tx/builder/field-types/encoded.mjs +0 -21
- package/es/tx/builder/field-types/encoded.mjs.map +0 -1
- package/es/tx/builder/field-types/entry.mjs +0 -29
- package/es/tx/builder/field-types/entry.mjs.map +0 -1
- package/es/tx/builder/field-types/enumeration.mjs +0 -30
- package/es/tx/builder/field-types/enumeration.mjs.map +0 -1
- package/es/tx/builder/field-types/fee.mjs +0 -160
- package/es/tx/builder/field-types/fee.mjs.map +0 -1
- package/es/tx/builder/field-types/field.mjs +0 -13
- package/es/tx/builder/field-types/field.mjs.map +0 -1
- package/es/tx/builder/field-types/gas-limit.mjs +0 -31
- package/es/tx/builder/field-types/gas-limit.mjs.map +0 -1
- package/es/tx/builder/field-types/gas-price.mjs +0 -60
- package/es/tx/builder/field-types/gas-price.mjs.map +0 -1
- package/es/tx/builder/field-types/index.d.ts +0 -39
- package/es/tx/builder/field-types/index.mjs +0 -32
- package/es/tx/builder/field-types/index.mjs.map +0 -1
- package/es/tx/builder/field-types/map.mjs +0 -38
- package/es/tx/builder/field-types/map.mjs.map +0 -1
- package/es/tx/builder/field-types/mptree.mjs +0 -251
- package/es/tx/builder/field-types/mptree.mjs.map +0 -1
- package/es/tx/builder/field-types/name-fee.mjs +0 -22
- package/es/tx/builder/field-types/name-fee.mjs.map +0 -1
- package/es/tx/builder/field-types/name-id.mjs +0 -14
- package/es/tx/builder/field-types/name-id.mjs.map +0 -1
- package/es/tx/builder/field-types/name.mjs +0 -16
- package/es/tx/builder/field-types/name.mjs.map +0 -1
- package/es/tx/builder/field-types/nonce.mjs +0 -31
- package/es/tx/builder/field-types/nonce.mjs.map +0 -1
- package/es/tx/builder/field-types/pointers.mjs +0 -33
- package/es/tx/builder/field-types/pointers.mjs.map +0 -1
- package/es/tx/builder/field-types/pointers2.d.ts +0 -23
- package/es/tx/builder/field-types/pointers2.mjs +0 -65
- package/es/tx/builder/field-types/pointers2.mjs.map +0 -1
- package/es/tx/builder/field-types/query-fee.mjs +0 -20
- package/es/tx/builder/field-types/query-fee.mjs.map +0 -1
- package/es/tx/builder/field-types/raw.mjs +0 -13
- package/es/tx/builder/field-types/raw.mjs.map +0 -1
- package/es/tx/builder/field-types/short-u-int-const.mjs +0 -20
- package/es/tx/builder/field-types/short-u-int-const.mjs.map +0 -1
- package/es/tx/builder/field-types/short-u-int.mjs +0 -10
- package/es/tx/builder/field-types/short-u-int.mjs.map +0 -1
- package/es/tx/builder/field-types/string.mjs +0 -10
- package/es/tx/builder/field-types/string.mjs.map +0 -1
- package/es/tx/builder/field-types/ttl.mjs +0 -32
- package/es/tx/builder/field-types/ttl.mjs.map +0 -1
- package/es/tx/builder/field-types/u-int.mjs +0 -13
- package/es/tx/builder/field-types/u-int.mjs.map +0 -1
- package/es/tx/builder/field-types/with-default.mjs +0 -9
- package/es/tx/builder/field-types/with-default.mjs.map +0 -1
- package/es/tx/builder/field-types/with-formatting.mjs +0 -9
- package/es/tx/builder/field-types/with-formatting.mjs.map +0 -1
- package/es/tx/builder/field-types/wrapped.mjs +0 -20
- package/es/tx/builder/field-types/wrapped.mjs.map +0 -1
- package/es/tx/builder/helpers.mjs +0 -209
- package/es/tx/builder/helpers.mjs.map +0 -1
- package/es/tx/builder/index.mjs +0 -98
- package/es/tx/builder/index.mjs.map +0 -1
- package/es/tx/builder/schema.generated.mjs +0 -2
- package/es/tx/builder/schema.generated.mjs.map +0 -1
- package/es/tx/builder/schema.mjs +0 -513
- package/es/tx/builder/schema.mjs.map +0 -1
- package/es/tx/execution-cost.mjs +0 -139
- package/es/tx/execution-cost.mjs.map +0 -1
- package/es/tx/transaction-signer.mjs +0 -24
- package/es/tx/transaction-signer.mjs.map +0 -1
- package/es/tx/validator.mjs +0 -214
- package/es/tx/validator.mjs.map +0 -1
- package/es/typings/@aeternity__uuid/index.d.mjs +0 -2
- package/es/typings/@aeternity__uuid/index.d.mjs.map +0 -1
- package/es/typings/bip32-path/index.d.mjs +0 -2
- package/es/typings/bip32-path/index.d.mjs.map +0 -1
- package/es/typings/blakejs/index.d.mjs +0 -2
- package/es/typings/blakejs/index.d.mjs.map +0 -1
- package/es/typings/sha-js/index.d.mjs +0 -2
- package/es/typings/sha-js/index.d.mjs.map +0 -1
- package/es/typings/tweetnacl-auth/index.d.mjs +0 -2
- package/es/typings/tweetnacl-auth/index.d.mjs.map +0 -1
- package/es/utils/amount-formatter.mjs +0 -97
- package/es/utils/amount-formatter.mjs.map +0 -1
- package/es/utils/autorest.mjs +0 -141
- package/es/utils/autorest.mjs.map +0 -1
- package/es/utils/bignumber.mjs +0 -21
- package/es/utils/bignumber.mjs.map +0 -1
- package/es/utils/bytes.mjs +0 -32
- package/es/utils/bytes.mjs.map +0 -1
- package/es/utils/crypto.mjs +0 -193
- package/es/utils/crypto.mjs.map +0 -1
- package/es/utils/encoder-types.mjs +0 -35
- package/es/utils/encoder-types.mjs.map +0 -1
- package/es/utils/encoder.mjs +0 -110
- package/es/utils/encoder.mjs.map +0 -1
- package/es/utils/errors.mjs +0 -756
- package/es/utils/errors.mjs.map +0 -1
- package/es/utils/hd-wallet.d.ts +0 -61
- package/es/utils/hd-wallet.mjs +0 -169
- package/es/utils/hd-wallet.mjs.map +0 -1
- package/es/utils/json-big.mjs +0 -25
- package/es/utils/json-big.mjs.map +0 -1
- package/es/utils/jwt.mjs +0 -120
- package/es/utils/jwt.mjs.map +0 -1
- package/es/utils/keystore.d.ts +0 -57
- package/es/utils/keystore.mjs +0 -140
- package/es/utils/keystore.mjs.map +0 -1
- package/es/utils/other.mjs +0 -49
- package/es/utils/other.mjs.map +0 -1
- package/es/utils/semver-satisfies.mjs +0 -12
- package/es/utils/semver-satisfies.mjs.map +0 -1
- package/es/utils/string.mjs +0 -18
- package/es/utils/string.mjs.map +0 -1
- package/es/utils/typed-data.mjs +0 -55
- package/es/utils/typed-data.mjs.map +0 -1
- package/es/utils/wrap-proxy.mjs +0 -15
- package/es/utils/wrap-proxy.mjs.map +0 -1
- package/src/AeSdk.ts +0 -75
- package/src/AeSdkAepp.ts +0 -179
- package/src/AeSdkBase.ts +0 -315
- package/src/AeSdkMethods.ts +0 -149
- package/src/AeSdkWallet.ts +0 -383
- package/src/Middleware.ts +0 -149
- package/src/MiddlewareSubscriber.ts +0 -207
- package/src/Node.ts +0 -213
- package/src/account/Base.ts +0 -224
- package/src/account/Generalized.ts +0 -113
- package/src/account/Ledger.ts +0 -161
- package/src/account/LedgerFactory.ts +0 -86
- package/src/account/Memory.ts +0 -218
- package/src/account/Rpc.ts +0 -170
- package/src/aens.ts +0 -372
- package/src/aepp-wallet-communication/connection/Browser.ts +0 -54
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +0 -57
- package/src/aepp-wallet-communication/connection/BrowserWindowMessage.ts +0 -105
- package/src/aepp-wallet-communication/connection-proxy.ts +0 -19
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +0 -153
- package/src/aepp-wallet-communication/rpc/types.ts +0 -115
- package/src/aepp-wallet-communication/schema.ts +0 -212
- package/src/aepp-wallet-communication/wallet-detector.ts +0 -54
- package/src/apis/compiler/compiler.ts +0 -527
- package/src/apis/compiler/index.ts +0 -2
- package/src/apis/compiler/models/index.ts +0 -236
- package/src/apis/compiler/models/mappers.ts +0 -555
- package/src/apis/compiler/models/parameters.ts +0 -87
- package/src/apis/middleware/index.ts +0 -2
- package/src/apis/middleware/middleware.ts +0 -1928
- package/src/apis/middleware/models/index.ts +0 -1949
- package/src/apis/middleware/models/mappers.ts +0 -3808
- package/src/apis/middleware/models/parameters.ts +0 -493
- package/src/apis/node/index.ts +0 -2
- package/src/apis/node/models/index.ts +0 -1335
- package/src/apis/node/models/mappers.ts +0 -4508
- package/src/apis/node/models/parameters.ts +0 -188
- package/src/apis/node/node.ts +0 -1420
- package/src/chain.ts +0 -433
- package/src/channel/Base.ts +0 -302
- package/src/channel/Contract.ts +0 -465
- package/src/channel/Spend.ts +0 -385
- package/src/channel/handlers.ts +0 -386
- package/src/channel/internal.ts +0 -461
- package/src/contract/Contract.ts +0 -629
- package/src/contract/compiler/Base.ts +0 -123
- package/src/contract/compiler/Cli.ts +0 -173
- package/src/contract/compiler/Cli8.ts +0 -17
- package/src/contract/compiler/Http.ts +0 -134
- package/src/contract/compiler/HttpNode.ts +0 -32
- package/src/contract/compiler/getFileSystem.ts +0 -42
- package/src/contract/delegation-signature.ts +0 -88
- package/src/contract/ga.ts +0 -138
- package/src/deprecated.ts +0 -77
- package/src/index-browser.ts +0 -121
- package/src/index.ts +0 -6
- package/src/oracle.ts +0 -311
- package/src/send-transaction.ts +0 -136
- package/src/spend.ts +0 -136
- package/src/tx/builder/SchemaTypes.ts +0 -79
- package/src/tx/builder/common.ts +0 -74
- package/src/tx/builder/constants.ts +0 -155
- package/src/tx/builder/delegation/index.ts +0 -28
- package/src/tx/builder/delegation/schema.generated.ts +0 -143
- package/src/tx/builder/delegation/schema.ts +0 -61
- package/src/tx/builder/field-types/abi-version.ts +0 -44
- package/src/tx/builder/field-types/address.ts +0 -62
- package/src/tx/builder/field-types/array.ts +0 -19
- package/src/tx/builder/field-types/boolean.ts +0 -9
- package/src/tx/builder/field-types/coin-amount.ts +0 -26
- package/src/tx/builder/field-types/ct-version.ts +0 -83
- package/src/tx/builder/field-types/encoded.ts +0 -27
- package/src/tx/builder/field-types/entry.ts +0 -33
- package/src/tx/builder/field-types/enumeration.ts +0 -32
- package/src/tx/builder/field-types/fee.ts +0 -191
- package/src/tx/builder/field-types/field.ts +0 -9
- package/src/tx/builder/field-types/gas-limit.ts +0 -46
- package/src/tx/builder/field-types/gas-price.ts +0 -67
- package/src/tx/builder/field-types/index.ts +0 -40
- package/src/tx/builder/field-types/map.ts +0 -45
- package/src/tx/builder/field-types/mptree.ts +0 -243
- package/src/tx/builder/field-types/name-fee.ts +0 -32
- package/src/tx/builder/field-types/name-id.ts +0 -17
- package/src/tx/builder/field-types/name.ts +0 -18
- package/src/tx/builder/field-types/nonce.ts +0 -46
- package/src/tx/builder/field-types/pointers.ts +0 -41
- package/src/tx/builder/field-types/pointers2.ts +0 -62
- package/src/tx/builder/field-types/query-fee.ts +0 -25
- package/src/tx/builder/field-types/raw.ts +0 -9
- package/src/tx/builder/field-types/short-u-int-const.ts +0 -30
- package/src/tx/builder/field-types/short-u-int.ts +0 -11
- package/src/tx/builder/field-types/string.ts +0 -11
- package/src/tx/builder/field-types/ttl.ts +0 -34
- package/src/tx/builder/field-types/u-int.ts +0 -15
- package/src/tx/builder/field-types/with-default.ts +0 -18
- package/src/tx/builder/field-types/with-formatting.ts +0 -18
- package/src/tx/builder/field-types/wrapped.ts +0 -32
- package/src/tx/builder/helpers.ts +0 -252
- package/src/tx/builder/index.ts +0 -123
- package/src/tx/builder/schema.generated.ts +0 -2049
- package/src/tx/builder/schema.ts +0 -612
- package/src/tx/execution-cost.ts +0 -164
- package/src/tx/transaction-signer.ts +0 -27
- package/src/tx/validator.ts +0 -222
- package/src/typings/@aeternity__uuid/index.d.ts +0 -5
- package/src/typings/bip32-path/index.d.ts +0 -33
- package/src/typings/blakejs/index.d.ts +0 -5
- package/src/typings/sha-js/index.d.ts +0 -5
- package/src/typings/tweetnacl-auth/index.d.ts +0 -14
- package/src/utils/amount-formatter.ts +0 -98
- package/src/utils/autorest.ts +0 -153
- package/src/utils/bignumber.ts +0 -21
- package/src/utils/bytes.ts +0 -28
- package/src/utils/crypto.ts +0 -216
- package/src/utils/encoder-types.ts +0 -63
- package/src/utils/encoder.ts +0 -145
- package/src/utils/errors.ts +0 -777
- package/src/utils/hd-wallet.ts +0 -191
- package/src/utils/json-big.ts +0 -27
- package/src/utils/jwt.ts +0 -126
- package/src/utils/keystore.ts +0 -189
- package/src/utils/other.ts +0 -64
- package/src/utils/semver-satisfies.ts +0 -22
- package/src/utils/string.ts +0 -17
- package/src/utils/typed-data.ts +0 -69
- package/src/utils/wrap-proxy.ts +0 -24
- package/types-legacy/ts4.2/AeSdk.d.ts +0 -44
- package/types-legacy/ts4.2/AeSdkAepp.d.ts +0 -71
- package/types-legacy/ts4.2/AeSdkBase.d.ts +0 -164
- package/types-legacy/ts4.2/AeSdkMethods.d.ts +0 -146
- package/types-legacy/ts4.2/AeSdkWallet.d.ts +0 -90
- package/types-legacy/ts4.2/Middleware.d.ts +0 -46
- package/types-legacy/ts4.2/MiddlewareSubscriber.d.ts +0 -30
- package/types-legacy/ts4.2/Node.d.ts +0 -95
- package/types-legacy/ts4.2/account/Base.d.ts +0 -147
- package/types-legacy/ts4.2/account/Generalized.d.ts +0 -22
- package/types-legacy/ts4.2/account/Ledger.d.ts +0 -34
- package/types-legacy/ts4.2/account/LedgerFactory.d.ts +0 -39
- package/types-legacy/ts4.2/account/Memory.d.ts +0 -46
- package/types-legacy/ts4.2/account/Rpc.d.ts +0 -35
- package/types-legacy/ts4.2/aens.d.ts +0 -193
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/Browser.d.ts +0 -33
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +0 -22
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +0 -36
- package/types-legacy/ts4.2/aepp-wallet-communication/connection-proxy.d.ts +0 -11
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/RpcClient.d.ts +0 -34
- package/types-legacy/ts4.2/aepp-wallet-communication/rpc/types.d.ts +0 -120
- package/types-legacy/ts4.2/aepp-wallet-communication/schema.d.ts +0 -129
- package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +0 -22
- package/types-legacy/ts4.2/apis/compiler/compiler.d.ts +0 -86
- package/types-legacy/ts4.2/apis/compiler/index.d.ts +0 -2
- package/types-legacy/ts4.2/apis/compiler/models/index.d.ts +0 -191
- package/types-legacy/ts4.2/apis/compiler/models/mappers.d.ts +0 -22
- package/types-legacy/ts4.2/apis/compiler/models/parameters.d.ts +0 -12
- package/types-legacy/ts4.2/apis/middleware/index.d.ts +0 -2
- package/types-legacy/ts4.2/apis/middleware/middleware.d.ts +0 -327
- package/types-legacy/ts4.2/apis/middleware/models/index.d.ts +0 -1645
- package/types-legacy/ts4.2/apis/middleware/models/mappers.d.ts +0 -109
- package/types-legacy/ts4.2/apis/middleware/models/parameters.d.ts +0 -46
- package/types-legacy/ts4.2/apis/node/index.d.ts +0 -2
- package/types-legacy/ts4.2/apis/node/models/index.d.ts +0 -1129
- package/types-legacy/ts4.2/apis/node/models/mappers.d.ts +0 -99
- package/types-legacy/ts4.2/apis/node/models/parameters.d.ts +0 -17
- package/types-legacy/ts4.2/apis/node/node.d.ts +0 -236
- package/types-legacy/ts4.2/chain.d.ts +0 -227
- package/types-legacy/ts4.2/channel/Base.d.ts +0 -168
- package/types-legacy/ts4.2/channel/Contract.d.ts +0 -239
- package/types-legacy/ts4.2/channel/Spend.d.ts +0 -213
- package/types-legacy/ts4.2/channel/handlers.d.ts +0 -21
- package/types-legacy/ts4.2/channel/internal.d.ts +0 -232
- package/types-legacy/ts4.2/contract/Contract.d.ts +0 -164
- package/types-legacy/ts4.2/contract/compiler/Base.d.ts +0 -104
- package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +0 -26
- package/types-legacy/ts4.2/contract/compiler/Cli8.d.ts +0 -13
- package/types-legacy/ts4.2/contract/compiler/Http.d.ts +0 -28
- package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +0 -15
- package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +0 -6
- package/types-legacy/ts4.2/contract/delegation-signature.d.ts +0 -45
- package/types-legacy/ts4.2/contract/ga.d.ts +0 -59
- package/types-legacy/ts4.2/deprecated.d.ts +0 -62
- package/types-legacy/ts4.2/globals.d.ts +0 -16
- package/types-legacy/ts4.2/index-browser.d.ts +0 -51
- package/types-legacy/ts4.2/index.d.ts +0 -6
- package/types-legacy/ts4.2/oracle.d.ts +0 -125
- package/types-legacy/ts4.2/send-transaction.d.ts +0 -53
- package/types-legacy/ts4.2/spend.d.ts +0 -56
- package/types-legacy/ts4.2/tx/builder/SchemaTypes.d.ts +0 -37
- package/types-legacy/ts4.2/tx/builder/common.d.ts +0 -32
- package/types-legacy/ts4.2/tx/builder/constants.d.ts +0 -100
- package/types-legacy/ts4.2/tx/builder/delegation/index.d.ts +0 -20
- package/types-legacy/ts4.2/tx/builder/delegation/schema.d.ts +0 -136
- package/types-legacy/ts4.2/tx/builder/delegation/schema.generated.d.ts +0 -141
- package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +0 -19
- package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +0 -21
- package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +0 -11
- package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +0 -72
- package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +0 -11
- package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +0 -30
- package/types-legacy/ts4.2/tx/builder/field-types/field.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +0 -16
- package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +0 -17
- package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +0 -45
- package/types-legacy/ts4.2/tx/builder/field-types/map.d.ts +0 -13
- package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +0 -48
- package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +0 -18
- package/types-legacy/ts4.2/tx/builder/field-types/name-id.d.ts +0 -11
- package/types-legacy/ts4.2/tx/builder/field-types/name.d.ts +0 -13
- package/types-legacy/ts4.2/tx/builder/field-types/nonce.d.ts +0 -15
- package/types-legacy/ts4.2/tx/builder/field-types/pointers.d.ts +0 -26
- package/types-legacy/ts4.2/tx/builder/field-types/pointers2.d.ts +0 -26
- package/types-legacy/ts4.2/tx/builder/field-types/query-fee.d.ts +0 -19
- package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +0 -6
- package/types-legacy/ts4.2/tx/builder/field-types/ttl.d.ts +0 -20
- package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/with-default.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/with-formatting.d.ts +0 -7
- package/types-legacy/ts4.2/tx/builder/field-types/wrapped.d.ts +0 -14
- package/types-legacy/ts4.2/tx/builder/helpers.d.ts +0 -119
- package/types-legacy/ts4.2/tx/builder/index.d.ts +0 -62
- package/types-legacy/ts4.2/tx/builder/schema.d.ts +0 -3256
- package/types-legacy/ts4.2/tx/builder/schema.generated.d.ts +0 -2047
- package/types-legacy/ts4.2/tx/execution-cost.d.ts +0 -53
- package/types-legacy/ts4.2/tx/transaction-signer.d.ts +0 -6
- package/types-legacy/ts4.2/tx/validator.d.ts +0 -18
- package/types-legacy/ts4.2/utils/amount-formatter.d.ts +0 -41
- package/types-legacy/ts4.2/utils/autorest.d.ts +0 -7
- package/types-legacy/ts4.2/utils/bignumber.d.ts +0 -13
- package/types-legacy/ts4.2/utils/bytes.d.ts +0 -9
- package/types-legacy/ts4.2/utils/crypto.d.ts +0 -100
- package/types-legacy/ts4.2/utils/encoder-types.d.ts +0 -61
- package/types-legacy/ts4.2/utils/encoder.d.ts +0 -24
- package/types-legacy/ts4.2/utils/errors.d.ts +0 -464
- package/types-legacy/ts4.2/utils/hd-wallet.d.ts +0 -68
- package/types-legacy/ts4.2/utils/json-big.d.ts +0 -5
- package/types-legacy/ts4.2/utils/jwt.d.ts +0 -53
- package/types-legacy/ts4.2/utils/keystore.d.ts +0 -57
- package/types-legacy/ts4.2/utils/other.d.ts +0 -32
- package/types-legacy/ts4.2/utils/semver-satisfies.d.ts +0 -1
- package/types-legacy/ts4.2/utils/string.d.ts +0 -12
- package/types-legacy/ts4.2/utils/typed-data.d.ts +0 -58
- package/types-legacy/ts4.2/utils/wrap-proxy.d.ts +0 -2
- package/types-legacy/ts4.5/AeSdk.d.ts +0 -44
- package/types-legacy/ts4.5/AeSdkAepp.d.ts +0 -71
- package/types-legacy/ts4.5/AeSdkBase.d.ts +0 -164
- package/types-legacy/ts4.5/AeSdkMethods.d.ts +0 -146
- package/types-legacy/ts4.5/AeSdkWallet.d.ts +0 -90
- package/types-legacy/ts4.5/Middleware.d.ts +0 -46
- package/types-legacy/ts4.5/MiddlewareSubscriber.d.ts +0 -30
- package/types-legacy/ts4.5/Node.d.ts +0 -95
- package/types-legacy/ts4.5/account/Base.d.ts +0 -147
- package/types-legacy/ts4.5/account/Generalized.d.ts +0 -22
- package/types-legacy/ts4.5/account/Ledger.d.ts +0 -34
- package/types-legacy/ts4.5/account/LedgerFactory.d.ts +0 -39
- package/types-legacy/ts4.5/account/Memory.d.ts +0 -46
- package/types-legacy/ts4.5/account/Rpc.d.ts +0 -35
- package/types-legacy/ts4.5/aens.d.ts +0 -193
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/Browser.d.ts +0 -33
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +0 -22
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserWindowMessage.d.ts +0 -36
- package/types-legacy/ts4.5/aepp-wallet-communication/connection-proxy.d.ts +0 -11
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/RpcClient.d.ts +0 -34
- package/types-legacy/ts4.5/aepp-wallet-communication/rpc/types.d.ts +0 -120
- package/types-legacy/ts4.5/aepp-wallet-communication/schema.d.ts +0 -129
- package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +0 -22
- package/types-legacy/ts4.5/apis/compiler/compiler.d.ts +0 -86
- package/types-legacy/ts4.5/apis/compiler/index.d.ts +0 -2
- package/types-legacy/ts4.5/apis/compiler/models/index.d.ts +0 -191
- package/types-legacy/ts4.5/apis/compiler/models/mappers.d.ts +0 -22
- package/types-legacy/ts4.5/apis/compiler/models/parameters.d.ts +0 -12
- package/types-legacy/ts4.5/apis/middleware/index.d.ts +0 -2
- package/types-legacy/ts4.5/apis/middleware/middleware.d.ts +0 -327
- package/types-legacy/ts4.5/apis/middleware/models/index.d.ts +0 -1645
- package/types-legacy/ts4.5/apis/middleware/models/mappers.d.ts +0 -109
- package/types-legacy/ts4.5/apis/middleware/models/parameters.d.ts +0 -46
- package/types-legacy/ts4.5/apis/node/index.d.ts +0 -2
- package/types-legacy/ts4.5/apis/node/models/index.d.ts +0 -1129
- package/types-legacy/ts4.5/apis/node/models/mappers.d.ts +0 -99
- package/types-legacy/ts4.5/apis/node/models/parameters.d.ts +0 -17
- package/types-legacy/ts4.5/apis/node/node.d.ts +0 -236
- package/types-legacy/ts4.5/chain.d.ts +0 -227
- package/types-legacy/ts4.5/channel/Base.d.ts +0 -168
- package/types-legacy/ts4.5/channel/Contract.d.ts +0 -239
- package/types-legacy/ts4.5/channel/Spend.d.ts +0 -213
- package/types-legacy/ts4.5/channel/handlers.d.ts +0 -21
- package/types-legacy/ts4.5/channel/internal.d.ts +0 -232
- package/types-legacy/ts4.5/contract/Contract.d.ts +0 -164
- package/types-legacy/ts4.5/contract/compiler/Base.d.ts +0 -104
- package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +0 -26
- package/types-legacy/ts4.5/contract/compiler/Cli8.d.ts +0 -13
- package/types-legacy/ts4.5/contract/compiler/Http.d.ts +0 -28
- package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +0 -15
- package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +0 -6
- package/types-legacy/ts4.5/contract/delegation-signature.d.ts +0 -45
- package/types-legacy/ts4.5/contract/ga.d.ts +0 -59
- package/types-legacy/ts4.5/deprecated.d.ts +0 -62
- package/types-legacy/ts4.5/index-browser.d.ts +0 -51
- package/types-legacy/ts4.5/index.d.ts +0 -5
- package/types-legacy/ts4.5/oracle.d.ts +0 -125
- package/types-legacy/ts4.5/send-transaction.d.ts +0 -53
- package/types-legacy/ts4.5/spend.d.ts +0 -56
- package/types-legacy/ts4.5/tx/builder/SchemaTypes.d.ts +0 -37
- package/types-legacy/ts4.5/tx/builder/common.d.ts +0 -32
- package/types-legacy/ts4.5/tx/builder/constants.d.ts +0 -100
- package/types-legacy/ts4.5/tx/builder/delegation/index.d.ts +0 -20
- package/types-legacy/ts4.5/tx/builder/delegation/schema.d.ts +0 -136
- package/types-legacy/ts4.5/tx/builder/delegation/schema.generated.d.ts +0 -141
- package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +0 -19
- package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +0 -21
- package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +0 -11
- package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +0 -72
- package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +0 -11
- package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +0 -30
- package/types-legacy/ts4.5/tx/builder/field-types/field.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +0 -16
- package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +0 -17
- package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +0 -45
- package/types-legacy/ts4.5/tx/builder/field-types/map.d.ts +0 -13
- package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +0 -48
- package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +0 -18
- package/types-legacy/ts4.5/tx/builder/field-types/name-id.d.ts +0 -11
- package/types-legacy/ts4.5/tx/builder/field-types/name.d.ts +0 -13
- package/types-legacy/ts4.5/tx/builder/field-types/nonce.d.ts +0 -15
- package/types-legacy/ts4.5/tx/builder/field-types/pointers.d.ts +0 -26
- package/types-legacy/ts4.5/tx/builder/field-types/pointers2.d.ts +0 -26
- package/types-legacy/ts4.5/tx/builder/field-types/query-fee.d.ts +0 -19
- package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +0 -6
- package/types-legacy/ts4.5/tx/builder/field-types/ttl.d.ts +0 -20
- package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/with-default.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/with-formatting.d.ts +0 -7
- package/types-legacy/ts4.5/tx/builder/field-types/wrapped.d.ts +0 -14
- package/types-legacy/ts4.5/tx/builder/helpers.d.ts +0 -119
- package/types-legacy/ts4.5/tx/builder/index.d.ts +0 -62
- package/types-legacy/ts4.5/tx/builder/schema.d.ts +0 -3256
- package/types-legacy/ts4.5/tx/builder/schema.generated.d.ts +0 -2047
- package/types-legacy/ts4.5/tx/execution-cost.d.ts +0 -53
- package/types-legacy/ts4.5/tx/transaction-signer.d.ts +0 -6
- package/types-legacy/ts4.5/tx/validator.d.ts +0 -18
- package/types-legacy/ts4.5/utils/amount-formatter.d.ts +0 -41
- package/types-legacy/ts4.5/utils/autorest.d.ts +0 -7
- package/types-legacy/ts4.5/utils/bignumber.d.ts +0 -13
- package/types-legacy/ts4.5/utils/bytes.d.ts +0 -9
- package/types-legacy/ts4.5/utils/crypto.d.ts +0 -100
- package/types-legacy/ts4.5/utils/encoder-types.d.ts +0 -61
- package/types-legacy/ts4.5/utils/encoder.d.ts +0 -24
- package/types-legacy/ts4.5/utils/errors.d.ts +0 -464
- package/types-legacy/ts4.5/utils/hd-wallet.d.ts +0 -68
- package/types-legacy/ts4.5/utils/json-big.d.ts +0 -5
- package/types-legacy/ts4.5/utils/jwt.d.ts +0 -53
- package/types-legacy/ts4.5/utils/keystore.d.ts +0 -57
- package/types-legacy/ts4.5/utils/other.d.ts +0 -32
- package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +0 -1
- package/types-legacy/ts4.5/utils/string.d.ts +0 -12
- package/types-legacy/ts4.5/utils/typed-data.d.ts +0 -58
- package/types-legacy/ts4.5/utils/wrap-proxy.d.ts +0 -2
- /package/dist/{aepp-sdk.browser.js.LICENSE.txt → aepp-sdk.browser.cjs.LICENSE.txt} +0 -0
package/src/tx/execution-cost.ts
DELETED
|
@@ -1,164 +0,0 @@
|
|
|
1
|
-
import { Encoded } from '../utils/encoder';
|
|
2
|
-
import { buildTx, buildTxHash, unpackTx } from './builder';
|
|
3
|
-
import { Tag } from './builder/constants';
|
|
4
|
-
import { verify } from '../utils/crypto';
|
|
5
|
-
import { getBufferToSign } from '../account/Memory';
|
|
6
|
-
import { IllegalArgumentError, InternalError, TransactionError } from '../utils/errors';
|
|
7
|
-
import Node from '../Node';
|
|
8
|
-
import getTransactionSignerAddress from './transaction-signer';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Calculates the cost of transaction execution
|
|
12
|
-
* Provides an upper cost of contract-call-related transactions because of `gasLimit`.
|
|
13
|
-
* Also assumes that oracle query fee is 0 unless it is provided in options.
|
|
14
|
-
*
|
|
15
|
-
* The idea is that if you need to show transaction details with some accuracy you can define
|
|
16
|
-
* expense fields that you want to show separately. And to show `getExecutionCost` result as a fee,
|
|
17
|
-
* subtracting all fields shown separately.
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```vue
|
|
21
|
-
* <template>
|
|
22
|
-
* Amount: {{ txUnpacked.amount }}
|
|
23
|
-
* Name fee: {{ txUnpacked.nameFee }}
|
|
24
|
-
* Other fees: {{ getExecutionCost(txEncoded) - txUnpacked.amount - txUnpacked.nameFee }}
|
|
25
|
-
* </template>
|
|
26
|
-
* ```
|
|
27
|
-
*
|
|
28
|
-
* Doing this way you won't worry to show wrong fee for a transaction you may not support. Because
|
|
29
|
-
* the SDK calculates the overall price of any transaction on its side.
|
|
30
|
-
*
|
|
31
|
-
* @param transaction - Transaction to calculate the cost of
|
|
32
|
-
* @param options - Options
|
|
33
|
-
* @param options.innerTx - Should be provided if transaction wrapped with Tag.PayingForTx
|
|
34
|
-
* @param options.gasUsed - Amount of gas actually used to make calculation more accurate
|
|
35
|
-
* @param options.queryFee - Oracle query fee
|
|
36
|
-
* @param options.isInitiator - Is transaction signer an initiator of state channel
|
|
37
|
-
*/
|
|
38
|
-
export function getExecutionCost(
|
|
39
|
-
transaction: Encoded.Transaction,
|
|
40
|
-
{
|
|
41
|
-
innerTx, gasUsed, queryFee, isInitiator,
|
|
42
|
-
}: {
|
|
43
|
-
innerTx?: 'fee-payer' | 'freeloader';
|
|
44
|
-
gasUsed?: number;
|
|
45
|
-
queryFee?: string;
|
|
46
|
-
isInitiator?: boolean;
|
|
47
|
-
} = {},
|
|
48
|
-
): bigint {
|
|
49
|
-
const params = unpackTx(transaction);
|
|
50
|
-
if (params.tag === Tag.SignedTx) {
|
|
51
|
-
throw new IllegalArgumentError('Transaction shouldn\'t be a SignedTx, use `getExecutionCostBySignedTx` instead');
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
let res = 0n;
|
|
55
|
-
if ('fee' in params && innerTx !== 'freeloader') {
|
|
56
|
-
res += BigInt(params.fee);
|
|
57
|
-
}
|
|
58
|
-
if (params.tag === Tag.NameClaimTx) {
|
|
59
|
-
res += BigInt(params.nameFee);
|
|
60
|
-
}
|
|
61
|
-
if (params.tag === Tag.OracleQueryTx) {
|
|
62
|
-
res += BigInt(params.queryFee);
|
|
63
|
-
}
|
|
64
|
-
if (params.tag === Tag.OracleResponseTx) {
|
|
65
|
-
res -= BigInt(queryFee ?? 0);
|
|
66
|
-
}
|
|
67
|
-
if (params.tag === Tag.ChannelSettleTx) {
|
|
68
|
-
if (isInitiator === true) res -= BigInt(params.initiatorAmountFinal);
|
|
69
|
-
if (isInitiator === false) res -= BigInt(params.responderAmountFinal);
|
|
70
|
-
}
|
|
71
|
-
if (
|
|
72
|
-
((params.tag === Tag.SpendTx && params.senderId !== params.recipientId)
|
|
73
|
-
|| params.tag === Tag.ContractCreateTx || params.tag === Tag.ContractCallTx
|
|
74
|
-
|| params.tag === Tag.ChannelDepositTx) && innerTx !== 'fee-payer'
|
|
75
|
-
) {
|
|
76
|
-
res += BigInt(params.amount);
|
|
77
|
-
}
|
|
78
|
-
if (params.tag === Tag.ContractCreateTx) res += BigInt(params.deposit);
|
|
79
|
-
if (
|
|
80
|
-
(params.tag === Tag.ContractCreateTx || params.tag === Tag.ContractCallTx
|
|
81
|
-
|| params.tag === Tag.GaAttachTx || params.tag === Tag.GaMetaTx)
|
|
82
|
-
&& innerTx !== 'freeloader'
|
|
83
|
-
) {
|
|
84
|
-
res += BigInt(params.gasPrice) * BigInt(gasUsed ?? params.gasLimit);
|
|
85
|
-
}
|
|
86
|
-
if (params.tag === Tag.GaMetaTx || params.tag === Tag.PayingForTx) {
|
|
87
|
-
res += getExecutionCost(
|
|
88
|
-
buildTx(params.tx.encodedTx),
|
|
89
|
-
params.tag === Tag.PayingForTx ? { innerTx: 'fee-payer' } : {},
|
|
90
|
-
);
|
|
91
|
-
}
|
|
92
|
-
return res;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Calculates the cost of signed transaction execution
|
|
97
|
-
* @param transaction - Transaction to calculate the cost of
|
|
98
|
-
* @param networkId - Network id used to sign the transaction
|
|
99
|
-
* @param options - Options
|
|
100
|
-
*/
|
|
101
|
-
export function getExecutionCostBySignedTx(
|
|
102
|
-
transaction: Encoded.Transaction,
|
|
103
|
-
networkId: string,
|
|
104
|
-
options?: Omit<Parameters<typeof getExecutionCost>[1], 'innerTx'>,
|
|
105
|
-
): bigint {
|
|
106
|
-
const params = unpackTx(transaction, Tag.SignedTx);
|
|
107
|
-
if (params.encodedTx.tag === Tag.GaMetaTx) {
|
|
108
|
-
return getExecutionCost(buildTx(params.encodedTx), options);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
const tx = buildTx(params.encodedTx);
|
|
112
|
-
const address = getTransactionSignerAddress(tx);
|
|
113
|
-
const [isInnerTx, isNotInnerTx] = [true, false]
|
|
114
|
-
.map((f) => verify(getBufferToSign(tx, networkId, f), params.signatures[0], address));
|
|
115
|
-
if (!isInnerTx && !isNotInnerTx) throw new TransactionError('Can\'t verify signature');
|
|
116
|
-
return getExecutionCost(
|
|
117
|
-
buildTx(params.encodedTx),
|
|
118
|
-
{ ...isInnerTx && { innerTx: 'freeloader' }, ...options },
|
|
119
|
-
);
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Calculates the cost of signed and not signed transaction execution using node
|
|
124
|
-
* @param transaction - Transaction to calculate the cost of
|
|
125
|
-
* @param node - Node to use
|
|
126
|
-
* @param options - Options
|
|
127
|
-
* @param options.isMined - Is transaction already mined or not
|
|
128
|
-
*/
|
|
129
|
-
export async function getExecutionCostUsingNode(
|
|
130
|
-
transaction: Encoded.Transaction,
|
|
131
|
-
node: Node,
|
|
132
|
-
{ isMined, ...options }: { isMined?: boolean } & Parameters<typeof getExecutionCost>[1] = {},
|
|
133
|
-
): Promise<bigint> {
|
|
134
|
-
let params = unpackTx(transaction);
|
|
135
|
-
const isSignedTx = params.tag === Tag.SignedTx;
|
|
136
|
-
const txHash = isSignedTx && isMined === true && buildTxHash(transaction);
|
|
137
|
-
if (params.tag === Tag.SignedTx) params = params.encodedTx;
|
|
138
|
-
|
|
139
|
-
// TODO: set gasUsed for PayingForTx after solving https://github.com/aeternity/aeternity/issues/4087
|
|
140
|
-
if (
|
|
141
|
-
options.gasUsed == null && txHash !== false
|
|
142
|
-
&& [Tag.ContractCreateTx, Tag.ContractCallTx, Tag.GaAttachTx, Tag.GaMetaTx].includes(params.tag)
|
|
143
|
-
) {
|
|
144
|
-
const { callInfo, gaInfo } = await node.getTransactionInfoByHash(txHash);
|
|
145
|
-
const combinedInfo = callInfo ?? gaInfo;
|
|
146
|
-
if (combinedInfo == null) {
|
|
147
|
-
throw new InternalError(`callInfo and gaInfo is not available for transaction ${txHash}`);
|
|
148
|
-
}
|
|
149
|
-
options.gasUsed = combinedInfo.gasUsed;
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
if (options.queryFee == null && Tag.OracleResponseTx === params.tag) {
|
|
153
|
-
options.queryFee = (await node.getOracleByPubkey(params.oracleId)).queryFee.toString();
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
if (options.isInitiator == null && Tag.ChannelSettleTx === params.tag && isMined !== true) {
|
|
157
|
-
const { initiatorId } = await node.getChannelByPubkey(params.channelId);
|
|
158
|
-
options.isInitiator = params.fromId === initiatorId;
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
return isSignedTx
|
|
162
|
-
? getExecutionCostBySignedTx(transaction, await node.getNetworkId(), options)
|
|
163
|
-
: getExecutionCost(transaction, options);
|
|
164
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Encoded } from '../utils/encoder';
|
|
2
|
-
import { buildTx, getSchema, unpackTx } from './builder';
|
|
3
|
-
import { Tag } from './builder/constants';
|
|
4
|
-
import { TransactionError, UnexpectedTsError } from '../utils/errors';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Returns account address that signed a transaction
|
|
8
|
-
* @param transaction - transaction to get a signer of
|
|
9
|
-
*/
|
|
10
|
-
export default function getTransactionSignerAddress(
|
|
11
|
-
transaction: Encoded.Transaction,
|
|
12
|
-
): Encoded.AccountAddress {
|
|
13
|
-
const params = unpackTx(transaction);
|
|
14
|
-
switch (params.tag) {
|
|
15
|
-
case Tag.SignedTx:
|
|
16
|
-
return getTransactionSignerAddress(buildTx(params.encodedTx));
|
|
17
|
-
case Tag.GaMetaTx:
|
|
18
|
-
return params.gaId;
|
|
19
|
-
default:
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const nonce = getSchema(params.tag, params.version).find(([name]) => name === 'nonce')?.[1];
|
|
23
|
-
if (nonce == null) throw new TransactionError(`Transaction doesn't have nonce: ${Tag[params.tag]}`);
|
|
24
|
-
if (!('senderKey' in nonce)) throw new UnexpectedTsError();
|
|
25
|
-
const address = params[nonce.senderKey as keyof typeof params] as unknown as string;
|
|
26
|
-
return address.replace(/^ok_/, 'ak_') as Encoded.AccountAddress;
|
|
27
|
-
}
|
package/src/tx/validator.ts
DELETED
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
import { RestError } from '@azure/core-rest-pipeline';
|
|
2
|
-
import { hash, isAddressValid, verify } from '../utils/crypto';
|
|
3
|
-
import { TxUnpacked } from './builder/schema.generated';
|
|
4
|
-
import { CtVersion, ProtocolToVmAbi } from './builder/field-types/ct-version';
|
|
5
|
-
import { Tag, ConsensusProtocolVersion } from './builder/constants';
|
|
6
|
-
import { buildTx, unpackTx } from './builder';
|
|
7
|
-
import { concatBuffers, isAccountNotFoundError } from '../utils/other';
|
|
8
|
-
import { Encoded, Encoding, decode } from '../utils/encoder';
|
|
9
|
-
import Node, { TransformNodeType } from '../Node';
|
|
10
|
-
import { Account } from '../apis/node';
|
|
11
|
-
import { genAggressiveCacheGetResponsesPolicy } from '../utils/autorest';
|
|
12
|
-
import { UnexpectedTsError } from '../utils/errors';
|
|
13
|
-
import getTransactionSignerAddress from './transaction-signer';
|
|
14
|
-
import { getExecutionCostUsingNode } from './execution-cost';
|
|
15
|
-
|
|
16
|
-
export interface ValidatorResult {
|
|
17
|
-
message: string;
|
|
18
|
-
key: string;
|
|
19
|
-
checkedKeys: string[];
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
type Validator = (
|
|
23
|
-
tx: TxUnpacked,
|
|
24
|
-
options: {
|
|
25
|
-
// TODO: remove after fixing node types
|
|
26
|
-
account: TransformNodeType<Account> & { id: Encoded.AccountAddress };
|
|
27
|
-
nodeNetworkId: string;
|
|
28
|
-
parentTxTypes: Tag[];
|
|
29
|
-
node: Node;
|
|
30
|
-
height: number;
|
|
31
|
-
consensusProtocolVersion: ConsensusProtocolVersion;
|
|
32
|
-
}
|
|
33
|
-
) => ValidatorResult[] | Promise<ValidatorResult[]>;
|
|
34
|
-
|
|
35
|
-
const validators: Validator[] = [];
|
|
36
|
-
|
|
37
|
-
async function verifyTransactionInternal(
|
|
38
|
-
tx: TxUnpacked,
|
|
39
|
-
node: Node,
|
|
40
|
-
parentTxTypes: Tag[],
|
|
41
|
-
): Promise<ValidatorResult[]> {
|
|
42
|
-
const address = getTransactionSignerAddress(buildTx(tx));
|
|
43
|
-
const [account, { height }, { consensusProtocolVersion, nodeNetworkId }] = await Promise.all([
|
|
44
|
-
node.getAccountByPubkey(address)
|
|
45
|
-
.catch((error) => {
|
|
46
|
-
if (!isAccountNotFoundError(error)) throw error;
|
|
47
|
-
return { id: address, balance: 0n, nonce: 0 };
|
|
48
|
-
})
|
|
49
|
-
// TODO: remove after fixing https://github.com/aeternity/aepp-sdk-js/issues/1537
|
|
50
|
-
.then((acc) => ({ ...acc, id: acc.id as Encoded.AccountAddress })),
|
|
51
|
-
node.getCurrentKeyBlockHeight(), // TODO: don't request height on each validation, use caching
|
|
52
|
-
node.getNodeInfo(),
|
|
53
|
-
]);
|
|
54
|
-
|
|
55
|
-
return (await Promise.all(
|
|
56
|
-
validators.map(async (v) => v(
|
|
57
|
-
tx,
|
|
58
|
-
{
|
|
59
|
-
node, account, height, consensusProtocolVersion, nodeNetworkId, parentTxTypes,
|
|
60
|
-
},
|
|
61
|
-
)),
|
|
62
|
-
)).flat();
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Transaction Validator
|
|
67
|
-
* This function validates some transaction properties,
|
|
68
|
-
* to make sure it can be posted it to the chain
|
|
69
|
-
* @category transaction builder
|
|
70
|
-
* @param transaction - Base64Check-encoded transaction
|
|
71
|
-
* @param nodeNotCached - Node to validate transaction against
|
|
72
|
-
* @returns Array with verification errors
|
|
73
|
-
* @example const errors = await verifyTransaction(transaction, node)
|
|
74
|
-
*/
|
|
75
|
-
export default async function verifyTransaction(
|
|
76
|
-
transaction: Parameters<typeof unpackTx>[0],
|
|
77
|
-
nodeNotCached: Node,
|
|
78
|
-
): Promise<ValidatorResult[]> {
|
|
79
|
-
const node = new Node(nodeNotCached.$host, {
|
|
80
|
-
ignoreVersion: true,
|
|
81
|
-
pipeline: nodeNotCached.pipeline.clone(),
|
|
82
|
-
additionalPolicies: [genAggressiveCacheGetResponsesPolicy()],
|
|
83
|
-
});
|
|
84
|
-
return verifyTransactionInternal(unpackTx(transaction), node, []);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
validators.push(
|
|
88
|
-
(tx, { account, nodeNetworkId, parentTxTypes }) => {
|
|
89
|
-
if (tx.tag !== Tag.SignedTx) return [];
|
|
90
|
-
const { encodedTx, signatures } = tx;
|
|
91
|
-
if ((encodedTx ?? signatures) == null) return [];
|
|
92
|
-
if (signatures.length !== 1) return []; // TODO: Support multisignature like in state channels
|
|
93
|
-
const prefix = Buffer.from([
|
|
94
|
-
nodeNetworkId,
|
|
95
|
-
...parentTxTypes.includes(Tag.PayingForTx) ? ['inner_tx'] : [],
|
|
96
|
-
].join('-'));
|
|
97
|
-
const txBinary = decode(buildTx(encodedTx));
|
|
98
|
-
const txWithNetworkId = concatBuffers([prefix, txBinary]);
|
|
99
|
-
const txHashWithNetworkId = concatBuffers([prefix, hash(txBinary)]);
|
|
100
|
-
if (verify(txWithNetworkId, signatures[0], account.id)
|
|
101
|
-
|| verify(txHashWithNetworkId, signatures[0], account.id)) return [];
|
|
102
|
-
return [{
|
|
103
|
-
message: 'Signature cannot be verified, please ensure that you transaction have'
|
|
104
|
-
+ ' the correct prefix and the correct private key for the sender address',
|
|
105
|
-
key: 'InvalidSignature',
|
|
106
|
-
checkedKeys: ['encodedTx', 'signatures'],
|
|
107
|
-
}];
|
|
108
|
-
},
|
|
109
|
-
async (tx, { node, parentTxTypes }) => {
|
|
110
|
-
let nestedTx;
|
|
111
|
-
if ('encodedTx' in tx) nestedTx = tx.encodedTx;
|
|
112
|
-
if ('tx' in tx) nestedTx = tx.tx;
|
|
113
|
-
if (nestedTx == null) return [];
|
|
114
|
-
return verifyTransactionInternal(nestedTx, node, [...parentTxTypes, tx.tag]);
|
|
115
|
-
},
|
|
116
|
-
(tx, { height }) => {
|
|
117
|
-
if (!('ttl' in tx)) return [];
|
|
118
|
-
if (tx.ttl === 0 || tx.ttl > height) return [];
|
|
119
|
-
return [{
|
|
120
|
-
message: `TTL ${tx.ttl} is already expired, current height is ${height}`,
|
|
121
|
-
key: 'ExpiredTTL',
|
|
122
|
-
checkedKeys: ['ttl'],
|
|
123
|
-
}];
|
|
124
|
-
},
|
|
125
|
-
async (tx, { account, parentTxTypes, node }) => {
|
|
126
|
-
if (parentTxTypes.length !== 0) return [];
|
|
127
|
-
const cost = await getExecutionCostUsingNode(buildTx(tx), node).catch(() => 0n);
|
|
128
|
-
if (cost <= account.balance) return [];
|
|
129
|
-
return [{
|
|
130
|
-
message: `Account balance ${account.balance} is not enough to execute the transaction that costs ${cost}`,
|
|
131
|
-
key: 'InsufficientBalance',
|
|
132
|
-
checkedKeys: ['amount', 'fee', 'nameFee', 'gasLimit', 'gasPrice'],
|
|
133
|
-
}];
|
|
134
|
-
},
|
|
135
|
-
async (tx, { node }) => {
|
|
136
|
-
if (tx.tag !== Tag.SpendTx || isAddressValid(tx.recipientId, Encoding.Name)) return [];
|
|
137
|
-
const recipient = await node.getAccountByPubkey(tx.recipientId).catch((error) => {
|
|
138
|
-
if (!isAccountNotFoundError(error)) throw error;
|
|
139
|
-
return null;
|
|
140
|
-
});
|
|
141
|
-
if (recipient == null || recipient.payable === true) return [];
|
|
142
|
-
return [{
|
|
143
|
-
message: 'Recipient account is not payable',
|
|
144
|
-
key: 'RecipientAccountNotPayable',
|
|
145
|
-
checkedKeys: ['recipientId'],
|
|
146
|
-
}];
|
|
147
|
-
},
|
|
148
|
-
(tx, { account }) => {
|
|
149
|
-
let message;
|
|
150
|
-
if (tx.tag === Tag.SignedTx && account.kind === 'generalized' && tx.signatures.length !== 0) {
|
|
151
|
-
message = 'Generalized account can\'t be used to generate SignedTx with signatures';
|
|
152
|
-
}
|
|
153
|
-
if (tx.tag === Tag.GaMetaTx && account.kind === 'basic') {
|
|
154
|
-
message = 'Basic account can\'t be used to generate GaMetaTx';
|
|
155
|
-
}
|
|
156
|
-
if (message == null) return [];
|
|
157
|
-
return [{ message, key: 'InvalidAccountType', checkedKeys: ['tag'] }];
|
|
158
|
-
},
|
|
159
|
-
// TODO: revert nonce check
|
|
160
|
-
// TODO: ensure nonce valid when paying for own tx
|
|
161
|
-
(tx, { consensusProtocolVersion }) => {
|
|
162
|
-
const oracleCall = Tag.OracleRegisterTx === tx.tag;
|
|
163
|
-
const contractCreate = Tag.ContractCreateTx === tx.tag || Tag.GaAttachTx === tx.tag;
|
|
164
|
-
const contractCall = Tag.ContractCallTx === tx.tag || Tag.GaMetaTx === tx.tag;
|
|
165
|
-
const type = (oracleCall ? 'oracle-call' : null)
|
|
166
|
-
?? (contractCreate ? 'contract-create' : null)
|
|
167
|
-
?? (contractCall ? 'contract-call' : null);
|
|
168
|
-
if (type == null) return [];
|
|
169
|
-
const protocol = ProtocolToVmAbi[consensusProtocolVersion][type] as {
|
|
170
|
-
abiVersion: readonly any[];
|
|
171
|
-
vmVersion: readonly any[];
|
|
172
|
-
};
|
|
173
|
-
|
|
174
|
-
let ctVersion: Partial<CtVersion> | undefined;
|
|
175
|
-
if ('abiVersion' in tx) ctVersion = { abiVersion: tx.abiVersion };
|
|
176
|
-
if ('ctVersion' in tx) ctVersion = tx.ctVersion;
|
|
177
|
-
if (ctVersion == null) throw new UnexpectedTsError();
|
|
178
|
-
if (
|
|
179
|
-
!protocol.abiVersion.includes(ctVersion.abiVersion)
|
|
180
|
-
|| (contractCreate && !protocol.vmVersion.includes(ctVersion.vmVersion))
|
|
181
|
-
) {
|
|
182
|
-
return [{
|
|
183
|
-
message: `ABI/VM version ${JSON.stringify(ctVersion)} is wrong, supported is: ${JSON.stringify(protocol)}`,
|
|
184
|
-
key: 'VmAndAbiVersionMismatch',
|
|
185
|
-
checkedKeys: ['ctVersion', 'abiVersion'],
|
|
186
|
-
}];
|
|
187
|
-
}
|
|
188
|
-
return [];
|
|
189
|
-
},
|
|
190
|
-
async (tx, { node }) => {
|
|
191
|
-
if (Tag.ContractCallTx !== tx.tag) return [];
|
|
192
|
-
// TODO: remove after solving https://github.com/aeternity/aeternity/issues/3669
|
|
193
|
-
if (tx.contractId.startsWith('nm_')) return [];
|
|
194
|
-
try {
|
|
195
|
-
const { active } = await node.getContract(tx.contractId);
|
|
196
|
-
if (active) return [];
|
|
197
|
-
return [{
|
|
198
|
-
message: `Contract ${tx.contractId} is not active`,
|
|
199
|
-
key: 'ContractNotActive',
|
|
200
|
-
checkedKeys: ['contractId'],
|
|
201
|
-
}];
|
|
202
|
-
} catch (error) {
|
|
203
|
-
if (!(error instanceof RestError) || error.response?.bodyAsText == null) throw error;
|
|
204
|
-
return [{
|
|
205
|
-
message: JSON.parse(error.response.bodyAsText).reason, // TODO: use parsedBody instead
|
|
206
|
-
key: 'ContractNotFound',
|
|
207
|
-
checkedKeys: ['contractId'],
|
|
208
|
-
}];
|
|
209
|
-
}
|
|
210
|
-
},
|
|
211
|
-
// TODO: move to fee field of tx builder after dropping Iris
|
|
212
|
-
(tx, { consensusProtocolVersion }) => ((
|
|
213
|
-
Tag.GaAttachTx === tx.tag
|
|
214
|
-
&& ConsensusProtocolVersion.Ceres === consensusProtocolVersion
|
|
215
|
-
&& tx.nonce !== 1
|
|
216
|
-
) ? [{
|
|
217
|
-
message: `Account ${tx.ownerId} can't become generalized because it is already used`,
|
|
218
|
-
key: 'AccountUsed',
|
|
219
|
-
checkedKeys: ['nonce'],
|
|
220
|
-
}]
|
|
221
|
-
: []),
|
|
222
|
-
);
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
// TODO: remove after solving https://github.com/axic/bip32-path/issues/5
|
|
2
|
-
|
|
3
|
-
declare module 'bip32-path' {
|
|
4
|
-
interface BipPath {
|
|
5
|
-
toPathArray: () => number[];
|
|
6
|
-
/**
|
|
7
|
-
* returns a text encoded path. Set to noRoot to true to omit the m/ prefix.
|
|
8
|
-
* Set oldStyle true to use h instead of ' for marking hardened nodes.
|
|
9
|
-
*/
|
|
10
|
-
toString: (noRoot: boolean, oldStyle: boolean) => string;
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* returns true if the input is a valid path string
|
|
14
|
-
*/
|
|
15
|
-
validateString: (path: string) => boolean;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* returns true if the input is a valid binary path array
|
|
19
|
-
*/
|
|
20
|
-
validatePathArray: (path: string) => boolean;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* creates an instance from a path written as text.
|
|
25
|
-
* Set reqRoot to true if the m/ prefix is mandatory.
|
|
26
|
-
*/
|
|
27
|
-
export const fromString: (text: string, reqRoot?: boolean) => BipPath;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* creates an instance from a binary path array
|
|
31
|
-
*/
|
|
32
|
-
export const fromPathArray: (path: string) => BipPath;
|
|
33
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
// TODO: remove after solving https://github.com/dchest/tweetnacl-auth-js/issues/3
|
|
2
|
-
|
|
3
|
-
declare module 'tweetnacl-auth' {
|
|
4
|
-
/**
|
|
5
|
-
* Authenticates the given message with the secret key.
|
|
6
|
-
* (In other words, returns HMAC-SHA-512-256 of the message under the key.)
|
|
7
|
-
*/
|
|
8
|
-
export default function (message: Uint8Array, key: Uint8Array): Uint8Array;
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Returns HMAC-SHA-512 (without truncation) of the message under the key
|
|
12
|
-
*/
|
|
13
|
-
export const full: (message: Uint8Array, key: Uint8Array) => Uint8Array;
|
|
14
|
-
}
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import BigNumber from 'bignumber.js';
|
|
2
|
-
import { isBigNumber } from './bignumber';
|
|
3
|
-
import { ArgumentError } from './errors';
|
|
4
|
-
|
|
5
|
-
export enum AE_AMOUNT_FORMATS {
|
|
6
|
-
AE = 'ae',
|
|
7
|
-
MILI_AE = 'miliAE',
|
|
8
|
-
MICRO_AE = 'microAE',
|
|
9
|
-
NANO_AE = 'nanoAE',
|
|
10
|
-
PICO_AE = 'picoAE',
|
|
11
|
-
FEMTO_AE = 'femtoAE',
|
|
12
|
-
AETTOS = 'aettos',
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* DENOMINATION_MAGNITUDE
|
|
17
|
-
*/
|
|
18
|
-
const DENOMINATION_MAGNITUDE = {
|
|
19
|
-
[AE_AMOUNT_FORMATS.AE]: 0,
|
|
20
|
-
[AE_AMOUNT_FORMATS.MILI_AE]: -3,
|
|
21
|
-
[AE_AMOUNT_FORMATS.MICRO_AE]: -6,
|
|
22
|
-
[AE_AMOUNT_FORMATS.NANO_AE]: -9,
|
|
23
|
-
[AE_AMOUNT_FORMATS.PICO_AE]: -12,
|
|
24
|
-
[AE_AMOUNT_FORMATS.FEMTO_AE]: -15,
|
|
25
|
-
[AE_AMOUNT_FORMATS.AETTOS]: -18,
|
|
26
|
-
} as const;
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Convert amount from one to other denomination
|
|
30
|
-
* @param value - amount to convert
|
|
31
|
-
* @param options - options
|
|
32
|
-
* @param options.denomination - denomination of amount, can be ['ae', 'aettos']
|
|
33
|
-
* @param options.targetDenomination - target denomination,
|
|
34
|
-
* can be ['ae', 'aettos']
|
|
35
|
-
*/
|
|
36
|
-
export const formatAmount = (
|
|
37
|
-
value: string | number | bigint | BigNumber,
|
|
38
|
-
{ denomination = AE_AMOUNT_FORMATS.AETTOS, targetDenomination = AE_AMOUNT_FORMATS.AETTOS }:
|
|
39
|
-
{ denomination?: AE_AMOUNT_FORMATS; targetDenomination?: AE_AMOUNT_FORMATS },
|
|
40
|
-
): string => {
|
|
41
|
-
if (!isBigNumber(value)) throw new ArgumentError('value', 'a number', value);
|
|
42
|
-
|
|
43
|
-
return new BigNumber(typeof value === 'bigint' ? value.toString() : value)
|
|
44
|
-
.shiftedBy(DENOMINATION_MAGNITUDE[denomination] - DENOMINATION_MAGNITUDE[targetDenomination])
|
|
45
|
-
.toFixed();
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Convert amount to AE
|
|
50
|
-
* @param value - amount to convert
|
|
51
|
-
* @param options - options
|
|
52
|
-
* @param options.denomination - denomination of amount, can be ['ae', 'aettos']
|
|
53
|
-
*/
|
|
54
|
-
export const toAe = (
|
|
55
|
-
value: string | number | BigNumber,
|
|
56
|
-
{ denomination = AE_AMOUNT_FORMATS.AETTOS }: { denomination?: AE_AMOUNT_FORMATS } = {},
|
|
57
|
-
): string => formatAmount(value, { denomination, targetDenomination: AE_AMOUNT_FORMATS.AE });
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Convert amount to aettos
|
|
61
|
-
* @param value - amount to convert
|
|
62
|
-
* @param options - options
|
|
63
|
-
* @param options.denomination - denomination of amount, can be ['ae', 'aettos']
|
|
64
|
-
*/
|
|
65
|
-
export const toAettos = (
|
|
66
|
-
value: string | number | BigNumber,
|
|
67
|
-
{ denomination = AE_AMOUNT_FORMATS.AE }: { denomination?: AE_AMOUNT_FORMATS } = {},
|
|
68
|
-
): string => formatAmount(value, { denomination });
|
|
69
|
-
|
|
70
|
-
interface Prefix {
|
|
71
|
-
name: string;
|
|
72
|
-
magnitude: number;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
const prefixes: Prefix[] = [
|
|
76
|
-
{ name: 'exa', magnitude: 18 },
|
|
77
|
-
{ name: 'giga', magnitude: 9 },
|
|
78
|
-
{ name: '', magnitude: 0 },
|
|
79
|
-
{ name: 'pico', magnitude: -12 },
|
|
80
|
-
];
|
|
81
|
-
|
|
82
|
-
const getNearestPrefix = (exponent: number): Prefix => prefixes.reduce((p, n) => (
|
|
83
|
-
Math.abs(n.magnitude - exponent) < Math.abs(p.magnitude - exponent) ? n : p));
|
|
84
|
-
|
|
85
|
-
const getLowerBoundPrefix = (exponent: number): Prefix => prefixes
|
|
86
|
-
.find((p) => p.magnitude <= exponent) ?? prefixes[prefixes.length - 1];
|
|
87
|
-
|
|
88
|
-
export const prefixedAmount = (rawValue: string | number | BigNumber): string => {
|
|
89
|
-
const value: BigNumber = new BigNumber(rawValue);
|
|
90
|
-
|
|
91
|
-
const exp = value.e ?? 0;
|
|
92
|
-
const { name, magnitude } = (exp < 0 ? getNearestPrefix : getLowerBoundPrefix)(exp);
|
|
93
|
-
const v = value
|
|
94
|
-
.shiftedBy(-magnitude)
|
|
95
|
-
.precision(9 + Math.min(exp - magnitude, 0))
|
|
96
|
-
.toFixed();
|
|
97
|
-
return `${v}${name !== '' ? ' ' : ''}${name}`;
|
|
98
|
-
};
|