@aeternity/aepp-sdk 13.3.2 → 14.0.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/README.md +4 -2
- package/bin/aesophia_cli +0 -0
- package/dist/aepp-sdk.browser-script.cjs +3 -0
- package/dist/aepp-sdk.browser-script.cjs.LICENSE.txt +10 -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 +33535 -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 +5 -40
- package/es/AeSdkBase.js +225 -0
- package/es/AeSdkBase.js.map +1 -0
- package/es/AeSdkMethods.d.ts +10 -33
- 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 +9 -25
- package/es/Middleware.js +97 -0
- package/es/Middleware.js.map +1 -0
- package/es/MiddlewareSubscriber.d.ts +2 -3
- package/es/MiddlewareSubscriber.js +165 -0
- package/es/MiddlewareSubscriber.js.map +1 -0
- package/es/Node.d.ts +5 -21
- package/es/Node.js +97 -0
- package/es/Node.js.map +1 -0
- package/es/account/Base.d.ts +7 -71
- package/es/account/Base.js +6 -0
- package/es/account/Base.js.map +1 -0
- package/es/account/BaseFactory.d.ts +19 -0
- package/es/account/BaseFactory.js +28 -0
- package/es/account/BaseFactory.js.map +1 -0
- package/es/account/Generalized.d.ts +2 -6
- package/es/account/Generalized.js +108 -0
- package/es/account/Generalized.js.map +1 -0
- package/es/account/Ledger.d.ts +3 -7
- package/es/account/Ledger.js +107 -0
- package/es/account/Ledger.js.map +1 -0
- package/es/account/LedgerFactory.d.ts +16 -16
- package/es/account/LedgerFactory.js +80 -0
- package/es/account/LedgerFactory.js.map +1 -0
- package/es/account/Memory.d.ts +6 -22
- package/es/account/Memory.js +97 -0
- package/es/account/Memory.js.map +1 -0
- package/es/account/Metamask.d.ts +26 -0
- package/es/account/Metamask.js +76 -0
- package/es/account/Metamask.js.map +1 -0
- package/es/account/MetamaskFactory.d.ts +40 -0
- package/es/account/MetamaskFactory.js +110 -0
- package/es/account/MetamaskFactory.js.map +1 -0
- package/es/account/MnemonicFactory.d.ts +35 -0
- package/es/account/MnemonicFactory.js +88 -0
- package/es/account/MnemonicFactory.js.map +1 -0
- package/es/account/Rpc.d.ts +5 -19
- package/es/account/Rpc.js +86 -0
- package/es/account/Rpc.js.map +1 -0
- package/es/aens.d.ts +125 -166
- package/es/aens.js +258 -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 +1 -1
- 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 +142 -134
- package/es/apis/middleware/middleware.js +1677 -0
- package/es/apis/middleware/middleware.js.map +1 -0
- package/es/apis/middleware/models/index.d.ts +1998 -819
- package/es/apis/middleware/models/index.js +1364 -0
- package/es/apis/middleware/models/index.js.map +1 -0
- package/es/apis/middleware/models/mappers.d.ts +135 -80
- package/es/apis/middleware/models/mappers.js +6054 -0
- package/es/apis/middleware/models/mappers.js.map +1 -0
- package/es/apis/middleware/models/parameters.d.ts +58 -14
- package/es/apis/middleware/models/parameters.js +909 -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 +643 -636
- 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 +55 -55
- package/es/apis/node/models/mappers.js +5322 -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 +101 -96
- package/es/apis/node/node.js +1238 -0
- package/es/apis/node/node.js.map +1 -0
- package/es/chain.d.ts +21 -21
- package/es/chain.js +442 -0
- package/es/chain.js.map +1 -0
- package/es/channel/Base.d.ts +13 -15
- package/es/channel/Base.js +246 -0
- package/es/channel/Base.js.map +1 -0
- package/es/channel/Contract.d.ts +9 -9
- package/es/channel/Contract.js +382 -0
- package/es/channel/Contract.js.map +1 -0
- package/es/channel/Spend.d.ts +11 -11
- 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 +395 -0
- package/es/channel/handlers.js.map +1 -0
- package/es/channel/internal.d.ts +32 -25
- package/es/channel/internal.js +224 -0
- package/es/channel/internal.js.map +1 -0
- package/es/contract/Contract.d.ts +17 -19
- package/es/contract/Contract.js +525 -0
- package/es/contract/Contract.js.map +1 -0
- package/es/contract/compiler/Base.d.ts +1 -1
- package/es/contract/compiler/Base.js +5 -0
- package/es/contract/compiler/Base.js.map +1 -0
- package/es/contract/compiler/Cli.d.ts +2 -2
- package/es/contract/compiler/Cli.js +167 -0
- package/es/contract/compiler/Cli.js.map +1 -0
- package/es/contract/compiler/Http.d.ts +3 -3
- package/es/contract/compiler/Http.js +124 -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.js +32 -0
- package/es/contract/compiler/getFileSystem.js.map +1 -0
- package/es/contract/ga.d.ts +8 -12
- package/es/contract/ga.js +136 -0
- package/es/contract/ga.js.map +1 -0
- package/es/index-browser.d.ts +56 -51
- package/es/index-browser.js +55 -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 +70 -0
- package/es/oracle/Oracle.js +173 -0
- package/es/oracle/Oracle.js.map +1 -0
- package/es/oracle/OracleBase.d.ts +41 -0
- package/es/oracle/OracleBase.js +52 -0
- package/es/oracle/OracleBase.js.map +1 -0
- package/es/oracle/OracleClient.d.ts +57 -0
- package/es/oracle/OracleClient.js +100 -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 +38 -0
- package/es/tx/builder/common.js.map +1 -0
- package/es/tx/builder/constants.d.ts +2 -26
- package/es/tx/builder/constants.js +120 -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 +68 -0
- package/es/tx/builder/delegation/schema.js.map +1 -0
- package/es/tx/builder/entry/constants.d.ts +32 -0
- package/es/tx/builder/entry/constants.js +36 -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 +37 -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 +58 -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 +9 -10
- 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 +7 -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 +33 -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 +5 -6
- package/es/tx/builder/helpers.js +207 -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 +583 -1723
- package/es/tx/builder/schema.generated.d.ts +36 -992
- 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 +355 -0
- package/es/tx/builder/schema.js.map +1 -0
- package/es/tx/execution-cost.d.ts +2 -2
- package/es/tx/execution-cost.js +140 -0
- package/es/tx/execution-cost.js.map +1 -0
- package/es/tx/transaction-signer.d.ts +1 -1
- package/es/tx/transaction-signer.js +24 -0
- package/es/tx/transaction-signer.js.map +1 -0
- package/es/tx/validator.d.ts +2 -2
- package/es/tx/validator.js +206 -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 +36 -0
- package/es/utils/MiddlewarePage.js +57 -0
- package/es/utils/MiddlewarePage.js.map +1 -0
- package/es/utils/amount-formatter.d.ts +6 -6
- package/es/utils/amount-formatter.js +97 -0
- package/es/utils/amount-formatter.js.map +1 -0
- package/es/utils/autorest.d.ts +6 -1
- package/es/utils/autorest.js +206 -0
- package/es/utils/autorest.js.map +1 -0
- package/es/utils/bignumber.d.ts +1 -1
- package/es/utils/bignumber.js +21 -0
- package/es/utils/bignumber.js.map +1 -0
- package/es/utils/bytes.d.ts +1 -2
- package/es/utils/bytes.js +30 -0
- package/es/utils/bytes.js.map +1 -0
- package/es/utils/crypto.d.ts +2 -46
- package/es/utils/crypto.js +111 -0
- package/es/utils/crypto.js.map +1 -0
- package/es/utils/encoder-types.d.ts +2 -0
- package/es/utils/encoder-types.js +36 -0
- package/es/utils/encoder-types.js.map +1 -0
- package/es/utils/encoder.d.ts +2 -3
- package/es/utils/encoder.js +104 -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 +1 -2
- package/es/utils/typed-data.js +52 -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 +85 -105
- 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 -30474
- 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 -365
- 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 -200
- 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 -60
- 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 -382
- 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 -454
- 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 -243
- 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 -189
- 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 -226
- 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 -67
- 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 -226
- 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 -67
- package/types-legacy/ts4.5/utils/json-big.d.ts +0 -5
- package/types-legacy/ts4.5/utils/jwt.d.ts +0 -53
- package/types-legacy/ts4.5/utils/keystore.d.ts +0 -57
- package/types-legacy/ts4.5/utils/other.d.ts +0 -32
- package/types-legacy/ts4.5/utils/semver-satisfies.d.ts +0 -1
- package/types-legacy/ts4.5/utils/string.d.ts +0 -12
- package/types-legacy/ts4.5/utils/typed-data.d.ts +0 -58
- package/types-legacy/ts4.5/utils/wrap-proxy.d.ts +0 -2
- /package/dist/{aepp-sdk.browser.js.LICENSE.txt → aepp-sdk.browser.cjs.LICENSE.txt} +0 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
function _classPrivateMethodInitSpec(e, a) { _checkPrivateRedeclaration(e, a), a.add(e); }
|
|
2
|
+
function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
|
|
3
|
+
function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
|
|
4
|
+
function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
|
|
5
|
+
function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
|
|
6
|
+
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
|
+
import { execFile } from 'child_process';
|
|
8
|
+
import { tmpdir } from 'os';
|
|
9
|
+
import { resolve, dirname, basename } from 'path';
|
|
10
|
+
import { mkdir, writeFile, rm } from 'fs/promises';
|
|
11
|
+
import { fileURLToPath } from 'url';
|
|
12
|
+
import CompilerBase from './Base.js';
|
|
13
|
+
import { CompilerError, InternalError, UnsupportedVersionError } from '../../utils/errors.js';
|
|
14
|
+
import semverSatisfies from '../../utils/semver-satisfies.js';
|
|
15
|
+
import { ensureError } from '../../utils/other.js';
|
|
16
|
+
export const getPackagePath = () => {
|
|
17
|
+
const path = dirname(fileURLToPath(import.meta.url));
|
|
18
|
+
if (basename(path) === 'dist') return resolve(path, '..');
|
|
19
|
+
if (basename(path) === 'compiler') return resolve(path, '../../..');
|
|
20
|
+
throw new InternalError("Can't get package path");
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* A wrapper around aesophia_cli, available only in Node.js.
|
|
25
|
+
* Requires Erlang installed, assumes that `escript` is available in PATH.
|
|
26
|
+
* @category contract
|
|
27
|
+
*/
|
|
28
|
+
var _path = /*#__PURE__*/new WeakMap();
|
|
29
|
+
var _ensureCompatibleVersion = /*#__PURE__*/new WeakMap();
|
|
30
|
+
var _CompilerCli_brand = /*#__PURE__*/new WeakSet();
|
|
31
|
+
export default class CompilerCli extends CompilerBase {
|
|
32
|
+
/**
|
|
33
|
+
* @param compilerPath - A path to aesophia_cli binary, by default uses the integrated one
|
|
34
|
+
* @param options - Options
|
|
35
|
+
* @param options.ignoreVersion - Don't ensure that the compiler is supported
|
|
36
|
+
*/
|
|
37
|
+
constructor(compilerPath = resolve(getPackagePath(), './bin/aesophia_cli'), {
|
|
38
|
+
ignoreVersion
|
|
39
|
+
} = {}) {
|
|
40
|
+
super();
|
|
41
|
+
_classPrivateMethodInitSpec(this, _CompilerCli_brand);
|
|
42
|
+
_classPrivateFieldInitSpec(this, _path, void 0);
|
|
43
|
+
_classPrivateFieldInitSpec(this, _ensureCompatibleVersion, Promise.resolve());
|
|
44
|
+
_classPrivateFieldSet(_path, this, compilerPath);
|
|
45
|
+
if (ignoreVersion !== true) {
|
|
46
|
+
_classPrivateFieldSet(_ensureCompatibleVersion, this, this.version().then(version => {
|
|
47
|
+
const versions = [version, '8.0.0', '9.0.0'];
|
|
48
|
+
if (!semverSatisfies(...versions)) throw new UnsupportedVersionError('compiler', ...versions);
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async compile(path) {
|
|
53
|
+
await _classPrivateFieldGet(_ensureCompatibleVersion, this);
|
|
54
|
+
try {
|
|
55
|
+
const [compileRes, aci] = await Promise.all([_assertClassBrand(_CompilerCli_brand, this, _runWithStderr).call(this, path), this.generateAci(path)]);
|
|
56
|
+
return {
|
|
57
|
+
bytecode: compileRes.stdout.trimEnd(),
|
|
58
|
+
aci,
|
|
59
|
+
warnings: compileRes.stderr.split('Warning in ').slice(1).map(warning => {
|
|
60
|
+
const reg = /^'(.+)' at line (\d+), col (\d+):\n(.+)$/s;
|
|
61
|
+
const match = warning.match(reg);
|
|
62
|
+
if (match == null) throw new InternalError(`Can't parse compiler output: "${warning}"`);
|
|
63
|
+
return {
|
|
64
|
+
message: match[4].trimEnd(),
|
|
65
|
+
pos: {
|
|
66
|
+
...(match[1] !== path && {
|
|
67
|
+
file: match[1]
|
|
68
|
+
}),
|
|
69
|
+
line: +match[2],
|
|
70
|
+
col: +match[3]
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
})
|
|
74
|
+
};
|
|
75
|
+
} catch (error) {
|
|
76
|
+
ensureError(error);
|
|
77
|
+
throw new CompilerError(error.message);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
async compileBySourceCode(sourceCode, fileSystem) {
|
|
81
|
+
const tmp = await _saveContractToTmpDir.call(CompilerCli, sourceCode, fileSystem);
|
|
82
|
+
try {
|
|
83
|
+
return await this.compile(tmp);
|
|
84
|
+
} finally {
|
|
85
|
+
await rm(dirname(tmp), {
|
|
86
|
+
recursive: true
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
async generateAci(path) {
|
|
91
|
+
await _classPrivateFieldGet(_ensureCompatibleVersion, this);
|
|
92
|
+
try {
|
|
93
|
+
return JSON.parse(await _assertClassBrand(_CompilerCli_brand, this, _run).call(this, '--no_code', '--create_json_aci', path));
|
|
94
|
+
} catch (error) {
|
|
95
|
+
ensureError(error);
|
|
96
|
+
throw new CompilerError(error.message);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
async generateAciBySourceCode(sourceCode, fileSystem) {
|
|
100
|
+
const tmp = await _saveContractToTmpDir.call(CompilerCli, sourceCode, fileSystem);
|
|
101
|
+
try {
|
|
102
|
+
return await this.generateAci(tmp);
|
|
103
|
+
} finally {
|
|
104
|
+
await rm(dirname(tmp), {
|
|
105
|
+
recursive: true
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
async validate(bytecode, path) {
|
|
110
|
+
await _classPrivateFieldGet(_ensureCompatibleVersion, this);
|
|
111
|
+
try {
|
|
112
|
+
return (await _assertClassBrand(_CompilerCli_brand, this, _run).call(this, path, '--validate', bytecode)).includes('Validation successful.');
|
|
113
|
+
} catch (error) {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
async validateBySourceCode(bytecode, sourceCode, fileSystem) {
|
|
118
|
+
const tmp = await _saveContractToTmpDir.call(CompilerCli, sourceCode, fileSystem);
|
|
119
|
+
try {
|
|
120
|
+
return await this.validate(bytecode, tmp);
|
|
121
|
+
} finally {
|
|
122
|
+
await rm(dirname(tmp), {
|
|
123
|
+
recursive: true
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
async version() {
|
|
128
|
+
const verMessage = await _assertClassBrand(_CompilerCli_brand, this, _run).call(this, '--version');
|
|
129
|
+
const ver = verMessage.match(/Sophia compiler version ([\d.]+.*)\n/)?.[1];
|
|
130
|
+
if (ver == null) throw new CompilerError("Can't get compiler version");
|
|
131
|
+
return ver;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
async function _runWithStderr(...parameters) {
|
|
135
|
+
return new Promise((pResolve, pReject) => {
|
|
136
|
+
execFile('escript', [_classPrivateFieldGet(_path, this), ...parameters], (error, stdout, stderr) => {
|
|
137
|
+
if (error != null) pReject(error);else pResolve({
|
|
138
|
+
stdout,
|
|
139
|
+
stderr
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
async function _run(...parameters) {
|
|
145
|
+
const {
|
|
146
|
+
stderr,
|
|
147
|
+
stdout
|
|
148
|
+
} = await _assertClassBrand(_CompilerCli_brand, this, _runWithStderr).call(this, ...parameters);
|
|
149
|
+
if (stderr !== '') throw new CompilerError(stderr);
|
|
150
|
+
return stdout;
|
|
151
|
+
}
|
|
152
|
+
async function _saveContractToTmpDir(sourceCode, fileSystem = {}) {
|
|
153
|
+
const randomName = () => Math.random().toString(36).slice(2);
|
|
154
|
+
const path = resolve(tmpdir(), `aepp-sdk-js-${randomName()}`);
|
|
155
|
+
await mkdir(path);
|
|
156
|
+
const sourceCodePath = resolve(path, `${randomName()}.aes`);
|
|
157
|
+
await writeFile(sourceCodePath, sourceCode);
|
|
158
|
+
await Promise.all(Object.entries(fileSystem).map(async ([name, src]) => {
|
|
159
|
+
const p = resolve(path, name);
|
|
160
|
+
await mkdir(dirname(p), {
|
|
161
|
+
recursive: true
|
|
162
|
+
});
|
|
163
|
+
return writeFile(p, src);
|
|
164
|
+
}));
|
|
165
|
+
return sourceCodePath;
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=Cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cli.js","names":["execFile","tmpdir","resolve","dirname","basename","mkdir","writeFile","rm","fileURLToPath","CompilerBase","CompilerError","InternalError","UnsupportedVersionError","semverSatisfies","ensureError","getPackagePath","path","import","meta","url","_path","WeakMap","_ensureCompatibleVersion","_CompilerCli_brand","WeakSet","CompilerCli","constructor","compilerPath","ignoreVersion","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","Promise","_classPrivateFieldSet","version","then","versions","compile","_classPrivateFieldGet","compileRes","aci","all","_assertClassBrand","_runWithStderr","call","generateAci","bytecode","stdout","trimEnd","warnings","stderr","split","slice","map","warning","reg","match","message","pos","file","line","col","error","compileBySourceCode","sourceCode","fileSystem","tmp","_saveContractToTmpDir","recursive","JSON","parse","_run","generateAciBySourceCode","validate","includes","validateBySourceCode","verMessage","ver","parameters","pResolve","pReject","randomName","Math","random","toString","sourceCodePath","Object","entries","name","src","p"],"sources":["../../../src/contract/compiler/Cli.ts"],"sourcesContent":["import { execFile } from 'child_process';\nimport { tmpdir } from 'os';\nimport { resolve, dirname, basename } from 'path';\nimport { mkdir, writeFile, rm } from 'fs/promises';\nimport { fileURLToPath } from 'url';\nimport CompilerBase, { Aci, CompileResult } from './Base.js';\nimport { Encoded } from '../../utils/encoder.js';\nimport { CompilerError, InternalError, UnsupportedVersionError } from '../../utils/errors.js';\nimport semverSatisfies from '../../utils/semver-satisfies.js';\nimport { ensureError } from '../../utils/other.js';\n\nexport const getPackagePath = (): string => {\n const path = dirname(fileURLToPath(import.meta.url));\n if (basename(path) === 'dist') return resolve(path, '..');\n if (basename(path) === 'compiler') return resolve(path, '../../..');\n throw new InternalError(\"Can't get package path\");\n};\n\n/**\n * A wrapper around aesophia_cli, available only in Node.js.\n * Requires Erlang installed, assumes that `escript` is available in PATH.\n * @category contract\n */\nexport default class CompilerCli extends CompilerBase {\n readonly #path: string;\n\n readonly #ensureCompatibleVersion = Promise.resolve();\n\n /**\n * @param compilerPath - A path to aesophia_cli binary, by default uses the integrated one\n * @param options - Options\n * @param options.ignoreVersion - Don't ensure that the compiler is supported\n */\n constructor(\n compilerPath = resolve(getPackagePath(), './bin/aesophia_cli'),\n { ignoreVersion }: { ignoreVersion?: boolean } = {},\n ) {\n super();\n this.#path = compilerPath;\n if (ignoreVersion !== true) {\n this.#ensureCompatibleVersion = this.version().then((version) => {\n const versions = [version, '8.0.0', '9.0.0'] as const;\n if (!semverSatisfies(...versions))\n throw new UnsupportedVersionError('compiler', ...versions);\n });\n }\n }\n\n async #runWithStderr(...parameters: string[]): Promise<{ stderr: string; stdout: string }> {\n return new Promise((pResolve, pReject) => {\n execFile('escript', [this.#path, ...parameters], (error, stdout, stderr) => {\n if (error != null) pReject(error);\n else pResolve({ stdout, stderr });\n });\n });\n }\n\n async #run(...parameters: string[]): Promise<string> {\n const { stderr, stdout } = await this.#runWithStderr(...parameters);\n if (stderr !== '') throw new CompilerError(stderr);\n return stdout;\n }\n\n static async #saveContractToTmpDir(\n sourceCode: string,\n fileSystem: Record<string, string> = {},\n ): Promise<string> {\n const randomName = (): string => Math.random().toString(36).slice(2);\n const path = resolve(tmpdir(), `aepp-sdk-js-${randomName()}`);\n await mkdir(path);\n const sourceCodePath = resolve(path, `${randomName()}.aes`);\n await writeFile(sourceCodePath, sourceCode);\n await Promise.all(\n Object.entries(fileSystem).map(async ([name, src]) => {\n const p = resolve(path, name);\n await mkdir(dirname(p), { recursive: true });\n return writeFile(p, src);\n }),\n );\n return sourceCodePath;\n }\n\n async compile(path: string): CompileResult {\n await this.#ensureCompatibleVersion;\n try {\n const [compileRes, aci] = await Promise.all([\n this.#runWithStderr(path),\n this.generateAci(path),\n ]);\n return {\n bytecode: compileRes.stdout.trimEnd() as Encoded.ContractBytearray,\n aci,\n warnings: compileRes.stderr\n .split('Warning in ')\n .slice(1)\n .map((warning) => {\n const reg = /^'(.+)' at line (\\d+), col (\\d+):\\n(.+)$/s;\n const match = warning.match(reg);\n if (match == null) throw new InternalError(`Can't parse compiler output: \"${warning}\"`);\n return {\n message: match[4].trimEnd(),\n pos: {\n ...(match[1] !== path && { file: match[1] }),\n line: +match[2],\n col: +match[3],\n },\n };\n }),\n };\n } catch (error) {\n ensureError(error);\n throw new CompilerError(error.message);\n }\n }\n\n async compileBySourceCode(\n sourceCode: string,\n fileSystem?: Record<string, string>,\n ): CompileResult {\n const tmp = await CompilerCli.#saveContractToTmpDir(sourceCode, fileSystem);\n try {\n return await this.compile(tmp);\n } finally {\n await rm(dirname(tmp), { recursive: true });\n }\n }\n\n async generateAci(path: string): Promise<Aci> {\n await this.#ensureCompatibleVersion;\n try {\n return JSON.parse(await this.#run('--no_code', '--create_json_aci', path));\n } catch (error) {\n ensureError(error);\n throw new CompilerError(error.message);\n }\n }\n\n async generateAciBySourceCode(\n sourceCode: string,\n fileSystem?: Record<string, string>,\n ): Promise<Aci> {\n const tmp = await CompilerCli.#saveContractToTmpDir(sourceCode, fileSystem);\n try {\n return await this.generateAci(tmp);\n } finally {\n await rm(dirname(tmp), { recursive: true });\n }\n }\n\n async validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean> {\n await this.#ensureCompatibleVersion;\n try {\n return (await this.#run(path, '--validate', bytecode)).includes('Validation successful.');\n } catch (error) {\n return false;\n }\n }\n\n async validateBySourceCode(\n bytecode: Encoded.ContractBytearray,\n sourceCode: string,\n fileSystem?: Record<string, string>,\n ): Promise<boolean> {\n const tmp = await CompilerCli.#saveContractToTmpDir(sourceCode, fileSystem);\n try {\n return await this.validate(bytecode, tmp);\n } finally {\n await rm(dirname(tmp), { recursive: true });\n }\n }\n\n async version(): Promise<string> {\n const verMessage = await this.#run('--version');\n const ver = verMessage.match(/Sophia compiler version ([\\d.]+.*)\\n/)?.[1];\n if (ver == null) throw new CompilerError(\"Can't get compiler version\");\n return ver;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Compiler as CompilerApi } from '../../apis/compiler';
|
|
2
|
-
import CompilerBase, { Aci, CompileResult } from './Base';
|
|
3
|
-
import { Encoded } from '../../utils/encoder';
|
|
1
|
+
import { Compiler as CompilerApi } from '../../apis/compiler/index.js';
|
|
2
|
+
import CompilerBase, { Aci, CompileResult } from './Base.js';
|
|
3
|
+
import { Encoded } from '../../utils/encoder.js';
|
|
4
4
|
/**
|
|
5
5
|
* Contract Compiler over HTTP
|
|
6
6
|
*
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { RestError, userAgentPolicyName, setClientRequestIdPolicyName } from '@azure/core-rest-pipeline';
|
|
2
|
+
import { Compiler as CompilerApi } from '../../apis/compiler/index.js';
|
|
3
|
+
import { genErrorFormatterPolicy, genVersionCheckPolicy } from '../../utils/autorest.js';
|
|
4
|
+
import CompilerBase from './Base.js';
|
|
5
|
+
import { CompilerError, NotImplementedError } from '../../utils/errors.js';
|
|
6
|
+
/**
|
|
7
|
+
* Contract Compiler over HTTP
|
|
8
|
+
*
|
|
9
|
+
* This class include api call's related to contract compiler functionality.
|
|
10
|
+
* @category contract
|
|
11
|
+
* @example CompilerHttp('COMPILER_URL')
|
|
12
|
+
*/
|
|
13
|
+
export default class CompilerHttp extends CompilerBase {
|
|
14
|
+
/**
|
|
15
|
+
* @param compilerUrl - Url for compiler API
|
|
16
|
+
* @param options - Options
|
|
17
|
+
* @param options.ignoreVersion - Don't check compiler version
|
|
18
|
+
*/
|
|
19
|
+
constructor(compilerUrl, {
|
|
20
|
+
ignoreVersion = false
|
|
21
|
+
} = {}) {
|
|
22
|
+
super();
|
|
23
|
+
let version;
|
|
24
|
+
const getVersion = async opts => {
|
|
25
|
+
if (version != null) return version;
|
|
26
|
+
version = (await this.api.apiVersion(opts)).apiVersion;
|
|
27
|
+
return version;
|
|
28
|
+
};
|
|
29
|
+
this.api = new CompilerApi(compilerUrl, {
|
|
30
|
+
allowInsecureConnection: true,
|
|
31
|
+
additionalPolicies: [...(ignoreVersion ? [] : [genVersionCheckPolicy('compiler', getVersion, '8.0.0', '9.0.0')]), genErrorFormatterPolicy(body => {
|
|
32
|
+
let message = '';
|
|
33
|
+
if ('reason' in body) {
|
|
34
|
+
message += ` ${body.reason}${body.parameter != null ? ` in ${body.parameter}` : ''
|
|
35
|
+
// TODO: revising after improving documentation https://github.com/aeternity/aesophia_http/issues/78
|
|
36
|
+
}${body.info != null ? ` (${JSON.stringify(body.info)})` : ''}`;
|
|
37
|
+
}
|
|
38
|
+
if (Array.isArray(body)) {
|
|
39
|
+
message += `\n${body.map(e => `${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context != null ? ` (${e.context})` : ''}`).join('\n')}`;
|
|
40
|
+
}
|
|
41
|
+
return message;
|
|
42
|
+
})]
|
|
43
|
+
});
|
|
44
|
+
this.api.pipeline.removePolicy({
|
|
45
|
+
name: userAgentPolicyName
|
|
46
|
+
});
|
|
47
|
+
this.api.pipeline.removePolicy({
|
|
48
|
+
name: setClientRequestIdPolicyName
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
async compileBySourceCode(sourceCode, fileSystem) {
|
|
52
|
+
try {
|
|
53
|
+
const cmpOut = await this.api.compileContract({
|
|
54
|
+
code: sourceCode,
|
|
55
|
+
options: {
|
|
56
|
+
fileSystem
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
const warnings = cmpOut.warnings.map(({
|
|
60
|
+
type,
|
|
61
|
+
...warning
|
|
62
|
+
}) => warning);
|
|
63
|
+
const res = {
|
|
64
|
+
...cmpOut,
|
|
65
|
+
warnings
|
|
66
|
+
};
|
|
67
|
+
// TODO: should be fixed when the compiledAci interface gets updated
|
|
68
|
+
return res;
|
|
69
|
+
} catch (error) {
|
|
70
|
+
if (error instanceof RestError && error.statusCode === 400) {
|
|
71
|
+
throw new CompilerError(error.message);
|
|
72
|
+
}
|
|
73
|
+
throw error;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars
|
|
78
|
+
async compile(path) {
|
|
79
|
+
throw new NotImplementedError('File system access, use CompilerHttpNode instead');
|
|
80
|
+
}
|
|
81
|
+
async generateAciBySourceCode(sourceCode, fileSystem) {
|
|
82
|
+
try {
|
|
83
|
+
return await this.api.generateACI({
|
|
84
|
+
code: sourceCode,
|
|
85
|
+
options: {
|
|
86
|
+
fileSystem
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
} catch (error) {
|
|
90
|
+
if (error instanceof RestError && error.statusCode === 400) {
|
|
91
|
+
throw new CompilerError(error.message);
|
|
92
|
+
}
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
// eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars
|
|
98
|
+
async generateAci(path) {
|
|
99
|
+
throw new NotImplementedError('File system access, use CompilerHttpNode instead');
|
|
100
|
+
}
|
|
101
|
+
async validateBySourceCode(bytecode, sourceCode, fileSystem) {
|
|
102
|
+
try {
|
|
103
|
+
await this.api.validateByteCode({
|
|
104
|
+
bytecode,
|
|
105
|
+
source: sourceCode,
|
|
106
|
+
options: {
|
|
107
|
+
fileSystem
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
return true;
|
|
111
|
+
} catch {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars
|
|
117
|
+
async validate(bytecode, path) {
|
|
118
|
+
throw new NotImplementedError('File system access, use CompilerHttpNode instead');
|
|
119
|
+
}
|
|
120
|
+
async version() {
|
|
121
|
+
return (await this.api.version()).version;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=Http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Http.js","names":["RestError","userAgentPolicyName","setClientRequestIdPolicyName","Compiler","CompilerApi","genErrorFormatterPolicy","genVersionCheckPolicy","CompilerBase","CompilerError","NotImplementedError","CompilerHttp","constructor","compilerUrl","ignoreVersion","version","getVersion","opts","api","apiVersion","allowInsecureConnection","additionalPolicies","body","message","reason","parameter","info","JSON","stringify","Array","isArray","map","e","type","pos","line","col","context","join","pipeline","removePolicy","name","compileBySourceCode","sourceCode","fileSystem","cmpOut","compileContract","code","options","warnings","warning","res","error","statusCode","compile","path","generateAciBySourceCode","generateACI","generateAci","validateBySourceCode","bytecode","validateByteCode","source","validate"],"sources":["../../../src/contract/compiler/Http.ts"],"sourcesContent":["import {\n RestError,\n userAgentPolicyName,\n setClientRequestIdPolicyName,\n} from '@azure/core-rest-pipeline';\nimport { OperationOptions } from '@azure/core-client';\nimport {\n Compiler as CompilerApi,\n ErrorModel,\n CompilerError as CompilerErrorApi,\n} from '../../apis/compiler/index.js';\nimport { genErrorFormatterPolicy, genVersionCheckPolicy } from '../../utils/autorest.js';\nimport CompilerBase, { Aci, CompileResult } from './Base.js';\nimport { Encoded } from '../../utils/encoder.js';\nimport { CompilerError, NotImplementedError } from '../../utils/errors.js';\n\ntype GeneralCompilerError = ErrorModel & {\n info?: object;\n parameter?: string;\n};\n\n/**\n * Contract Compiler over HTTP\n *\n * This class include api call's related to contract compiler functionality.\n * @category contract\n * @example CompilerHttp('COMPILER_URL')\n */\nexport default class CompilerHttp extends CompilerBase {\n readonly api: CompilerApi;\n\n /**\n * @param compilerUrl - Url for compiler API\n * @param options - Options\n * @param options.ignoreVersion - Don't check compiler version\n */\n constructor(compilerUrl: string, { ignoreVersion = false }: { ignoreVersion?: boolean } = {}) {\n super();\n\n let version: string | undefined;\n const getVersion = async (opts: OperationOptions): Promise<string> => {\n if (version != null) return version;\n version = (await this.api.apiVersion(opts)).apiVersion;\n return version;\n };\n\n this.api = new CompilerApi(compilerUrl, {\n allowInsecureConnection: true,\n additionalPolicies: [\n ...(ignoreVersion ? [] : [genVersionCheckPolicy('compiler', getVersion, '8.0.0', '9.0.0')]),\n genErrorFormatterPolicy((body: GeneralCompilerError | CompilerErrorApi[]) => {\n let message = '';\n if ('reason' in body) {\n message += ` ${body.reason}${\n body.parameter != null ? ` in ${body.parameter}` : ''\n // TODO: revising after improving documentation https://github.com/aeternity/aesophia_http/issues/78\n }${body.info != null ? ` (${JSON.stringify(body.info)})` : ''}`;\n }\n if (Array.isArray(body)) {\n message += `\\n${body\n .map(\n (e) =>\n `${e.type}:${e.pos.line}:${e.pos.col}: ${e.message}${e.context != null ? ` (${e.context})` : ''}`,\n )\n .join('\\n')}`;\n }\n return message;\n }),\n ],\n });\n this.api.pipeline.removePolicy({ name: userAgentPolicyName });\n this.api.pipeline.removePolicy({ name: setClientRequestIdPolicyName });\n }\n\n async compileBySourceCode(\n sourceCode: string,\n fileSystem?: Record<string, string>,\n ): CompileResult {\n try {\n const cmpOut = await this.api.compileContract({ code: sourceCode, options: { fileSystem } });\n const warnings = cmpOut.warnings.map(({ type, ...warning }) => warning);\n const res = { ...cmpOut, warnings };\n // TODO: should be fixed when the compiledAci interface gets updated\n return res as Awaited<CompileResult>;\n } catch (error) {\n if (error instanceof RestError && error.statusCode === 400) {\n throw new CompilerError(error.message);\n }\n throw error;\n }\n }\n\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars\n async compile(path: string): CompileResult {\n throw new NotImplementedError('File system access, use CompilerHttpNode instead');\n }\n\n async generateAciBySourceCode(\n sourceCode: string,\n fileSystem?: Record<string, string>,\n ): Promise<Aci> {\n try {\n return await this.api.generateACI({ code: sourceCode, options: { fileSystem } });\n } catch (error) {\n if (error instanceof RestError && error.statusCode === 400) {\n throw new CompilerError(error.message);\n }\n throw error;\n }\n }\n\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars\n async generateAci(path: string): Promise<Aci> {\n throw new NotImplementedError('File system access, use CompilerHttpNode instead');\n }\n\n async validateBySourceCode(\n bytecode: Encoded.ContractBytearray,\n sourceCode: string,\n fileSystem?: Record<string, string>,\n ): Promise<boolean> {\n try {\n await this.api.validateByteCode({ bytecode, source: sourceCode, options: { fileSystem } });\n return true;\n } catch {\n return false;\n }\n }\n\n // eslint-disable-next-line class-methods-use-this, @typescript-eslint/no-unused-vars\n async validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean> {\n throw new NotImplementedError('File system access, use CompilerHttpNode instead');\n }\n\n async version(): Promise<string> {\n return (await this.api.version()).version;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import HttpBrowser from './Http';
|
|
2
|
-
import { Aci, CompileResult } from './Base';
|
|
3
|
-
import { Encoded } from '../../utils/encoder';
|
|
1
|
+
import HttpBrowser from './Http.js';
|
|
2
|
+
import { Aci, CompileResult } from './Base.js';
|
|
3
|
+
import { Encoded } from '../../utils/encoder.js';
|
|
4
4
|
/**
|
|
5
5
|
* Contract Compiler over HTTP for Nodejs
|
|
6
6
|
*
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { readFile } from 'fs/promises';
|
|
2
|
+
import HttpBrowser from './Http.js';
|
|
3
|
+
import getFileSystem from './getFileSystem.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Contract Compiler over HTTP for Nodejs
|
|
7
|
+
*
|
|
8
|
+
* Inherits CompilerHttp and implements `compile`, `validate` methods
|
|
9
|
+
* @category contract
|
|
10
|
+
* @example CompilerHttpNode('COMPILER_URL')
|
|
11
|
+
*/
|
|
12
|
+
export default class CompilerHttpNode extends HttpBrowser {
|
|
13
|
+
async compile(path) {
|
|
14
|
+
const fileSystem = await getFileSystem(path);
|
|
15
|
+
const sourceCode = await readFile(path, 'utf8');
|
|
16
|
+
return this.compileBySourceCode(sourceCode, fileSystem);
|
|
17
|
+
}
|
|
18
|
+
async generateAci(path) {
|
|
19
|
+
const fileSystem = await getFileSystem(path);
|
|
20
|
+
const sourceCode = await readFile(path, 'utf8');
|
|
21
|
+
return this.generateAciBySourceCode(sourceCode, fileSystem);
|
|
22
|
+
}
|
|
23
|
+
async validate(bytecode, path) {
|
|
24
|
+
const fileSystem = await getFileSystem(path);
|
|
25
|
+
const sourceCode = await readFile(path, 'utf8');
|
|
26
|
+
return this.validateBySourceCode(bytecode, sourceCode, fileSystem);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=HttpNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HttpNode.js","names":["readFile","HttpBrowser","getFileSystem","CompilerHttpNode","compile","path","fileSystem","sourceCode","compileBySourceCode","generateAci","generateAciBySourceCode","validate","bytecode","validateBySourceCode"],"sources":["../../../src/contract/compiler/HttpNode.ts"],"sourcesContent":["import { readFile } from 'fs/promises';\nimport HttpBrowser from './Http.js';\nimport { Aci, CompileResult } from './Base.js';\nimport { Encoded } from '../../utils/encoder.js';\nimport getFileSystem from './getFileSystem.js';\n\n/**\n * Contract Compiler over HTTP for Nodejs\n *\n * Inherits CompilerHttp and implements `compile`, `validate` methods\n * @category contract\n * @example CompilerHttpNode('COMPILER_URL')\n */\nexport default class CompilerHttpNode extends HttpBrowser {\n override async compile(path: string): CompileResult {\n const fileSystem = await getFileSystem(path);\n const sourceCode = await readFile(path, 'utf8');\n return this.compileBySourceCode(sourceCode, fileSystem);\n }\n\n override async generateAci(path: string): Promise<Aci> {\n const fileSystem = await getFileSystem(path);\n const sourceCode = await readFile(path, 'utf8');\n return this.generateAciBySourceCode(sourceCode, fileSystem);\n }\n\n override async validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean> {\n const fileSystem = await getFileSystem(path);\n const sourceCode = await readFile(path, 'utf8');\n return this.validateBySourceCode(bytecode, sourceCode, fileSystem);\n }\n}\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,aAAa;AACtC,OAAOC,WAAW,MAAM,WAAW;AAGnC,OAAOC,aAAa,MAAM,oBAAoB;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,MAAMC,gBAAgB,SAASF,WAAW,CAAC;EACxD,MAAeG,OAAOA,CAACC,IAAY,EAAiB;IAClD,MAAMC,UAAU,GAAG,MAAMJ,aAAa,CAACG,IAAI,CAAC;IAC5C,MAAME,UAAU,GAAG,MAAMP,QAAQ,CAACK,IAAI,EAAE,MAAM,CAAC;IAC/C,OAAO,IAAI,CAACG,mBAAmB,CAACD,UAAU,EAAED,UAAU,CAAC;EACzD;EAEA,MAAeG,WAAWA,CAACJ,IAAY,EAAgB;IACrD,MAAMC,UAAU,GAAG,MAAMJ,aAAa,CAACG,IAAI,CAAC;IAC5C,MAAME,UAAU,GAAG,MAAMP,QAAQ,CAACK,IAAI,EAAE,MAAM,CAAC;IAC/C,OAAO,IAAI,CAACK,uBAAuB,CAACH,UAAU,EAAED,UAAU,CAAC;EAC7D;EAEA,MAAeK,QAAQA,CAACC,QAAmC,EAAEP,IAAY,EAAoB;IAC3F,MAAMC,UAAU,GAAG,MAAMJ,aAAa,CAACG,IAAI,CAAC;IAC5C,MAAME,UAAU,GAAG,MAAMP,QAAQ,CAACK,IAAI,EAAE,MAAM,CAAC;IAC/C,OAAO,IAAI,CAACQ,oBAAoB,CAACD,QAAQ,EAAEL,UAAU,EAAED,UAAU,CAAC;EACpE;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import _flagsInstanceProperty from "@babel/runtime-corejs3/core-js-stable/instance/flags";
|
|
2
|
+
import { readFile } from 'fs/promises';
|
|
3
|
+
import { dirname, resolve, basename } from 'path';
|
|
4
|
+
import { InternalError } from '../../utils/errors.js';
|
|
5
|
+
const defaultIncludes = ['List.aes', 'Option.aes', 'String.aes', 'Func.aes', 'Pair.aes', 'Triple.aes', 'BLS12_381.aes', 'Frac.aes', 'Set.aes', 'Bitwise.aes'];
|
|
6
|
+
const includeRegExp = /^include\s*"([\w/.-]+)"/im;
|
|
7
|
+
const includesRegExp = new RegExp(includeRegExp.source, `${_flagsInstanceProperty(includeRegExp)}g`);
|
|
8
|
+
async function getFileSystemRec(root, relative) {
|
|
9
|
+
var _sourceCode$match;
|
|
10
|
+
const sourceCode = await readFile(resolve(root, relative), 'utf8');
|
|
11
|
+
const filesystem = {};
|
|
12
|
+
await Promise.all(((_sourceCode$match = sourceCode.match(includesRegExp)) !== null && _sourceCode$match !== void 0 ? _sourceCode$match : []).map(include => {
|
|
13
|
+
const m = include.match(includeRegExp);
|
|
14
|
+
if (m?.length !== 2) throw new InternalError('Unexpected match length');
|
|
15
|
+
return m[1];
|
|
16
|
+
}).filter(include => !defaultIncludes.includes(include)).map(async include => {
|
|
17
|
+
const includePath = resolve(root, include);
|
|
18
|
+
filesystem[include] = await readFile(includePath, 'utf8');
|
|
19
|
+
Object.assign(filesystem, await getFileSystemRec(root, include));
|
|
20
|
+
}));
|
|
21
|
+
return filesystem;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Reads all files included in the provided contract
|
|
26
|
+
* Available only in Node.js
|
|
27
|
+
* @param path - a path to the main contract source code
|
|
28
|
+
*/
|
|
29
|
+
export default async function getFileSystem(path) {
|
|
30
|
+
return getFileSystemRec(dirname(path), basename(path));
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=getFileSystem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getFileSystem.js","names":["readFile","dirname","resolve","basename","InternalError","defaultIncludes","includeRegExp","includesRegExp","RegExp","source","_flagsInstanceProperty","getFileSystemRec","root","relative","_sourceCode$match","sourceCode","filesystem","Promise","all","match","map","include","m","length","filter","includes","includePath","Object","assign","getFileSystem","path"],"sources":["../../../src/contract/compiler/getFileSystem.ts"],"sourcesContent":["import { readFile } from 'fs/promises';\nimport { dirname, resolve, basename } from 'path';\nimport { InternalError } from '../../utils/errors.js';\n\nconst defaultIncludes = [\n 'List.aes',\n 'Option.aes',\n 'String.aes',\n 'Func.aes',\n 'Pair.aes',\n 'Triple.aes',\n 'BLS12_381.aes',\n 'Frac.aes',\n 'Set.aes',\n 'Bitwise.aes',\n];\nconst includeRegExp = /^include\\s*\"([\\w/.-]+)\"/im;\nconst includesRegExp = new RegExp(includeRegExp.source, `${includeRegExp.flags}g`);\n\nasync function getFileSystemRec(root: string, relative: string): Promise<Record<string, string>> {\n const sourceCode = await readFile(resolve(root, relative), 'utf8');\n const filesystem: Record<string, string> = {};\n await Promise.all(\n (sourceCode.match(includesRegExp) ?? [])\n .map((include) => {\n const m = include.match(includeRegExp);\n if (m?.length !== 2) throw new InternalError('Unexpected match length');\n return m[1];\n })\n .filter((include) => !defaultIncludes.includes(include))\n .map(async (include) => {\n const includePath = resolve(root, include);\n filesystem[include] = await readFile(includePath, 'utf8');\n Object.assign(filesystem, await getFileSystemRec(root, include));\n }),\n );\n return filesystem;\n}\n\n/**\n * Reads all files included in the provided contract\n * Available only in Node.js\n * @param path - a path to the main contract source code\n */\nexport default async function getFileSystem(path: string): Promise<Record<string, string>> {\n return getFileSystemRec(dirname(path), basename(path));\n}\n"],"mappings":";AAAA,SAASA,QAAQ,QAAQ,aAAa;AACtC,SAASC,OAAO,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,MAAM;AACjD,SAASC,aAAa,QAAQ,uBAAuB;AAErD,MAAMC,eAAe,GAAG,CACtB,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,UAAU,EACV,YAAY,EACZ,eAAe,EACf,UAAU,EACV,SAAS,EACT,aAAa,CACd;AACD,MAAMC,aAAa,GAAG,2BAA2B;AACjD,MAAMC,cAAc,GAAG,IAAIC,MAAM,CAACF,aAAa,CAACG,MAAM,EAAE,GAAAC,sBAAA,CAAGJ,aAAa,IAAS,CAAC;AAElF,eAAeK,gBAAgBA,CAACC,IAAY,EAAEC,QAAgB,EAAmC;EAAA,IAAAC,iBAAA;EAC/F,MAAMC,UAAU,GAAG,MAAMf,QAAQ,CAACE,OAAO,CAACU,IAAI,EAAEC,QAAQ,CAAC,EAAE,MAAM,CAAC;EAClE,MAAMG,UAAkC,GAAG,CAAC,CAAC;EAC7C,MAAMC,OAAO,CAACC,GAAG,CACf,EAAAJ,iBAAA,GAACC,UAAU,CAACI,KAAK,CAACZ,cAAc,CAAC,cAAAO,iBAAA,cAAAA,iBAAA,GAAI,EAAE,EACpCM,GAAG,CAAEC,OAAO,IAAK;IAChB,MAAMC,CAAC,GAAGD,OAAO,CAACF,KAAK,CAACb,aAAa,CAAC;IACtC,IAAIgB,CAAC,EAAEC,MAAM,KAAK,CAAC,EAAE,MAAM,IAAInB,aAAa,CAAC,yBAAyB,CAAC;IACvE,OAAOkB,CAAC,CAAC,CAAC,CAAC;EACb,CAAC,CAAC,CACDE,MAAM,CAAEH,OAAO,IAAK,CAAChB,eAAe,CAACoB,QAAQ,CAACJ,OAAO,CAAC,CAAC,CACvDD,GAAG,CAAC,MAAOC,OAAO,IAAK;IACtB,MAAMK,WAAW,GAAGxB,OAAO,CAACU,IAAI,EAAES,OAAO,CAAC;IAC1CL,UAAU,CAACK,OAAO,CAAC,GAAG,MAAMrB,QAAQ,CAAC0B,WAAW,EAAE,MAAM,CAAC;IACzDC,MAAM,CAACC,MAAM,CAACZ,UAAU,EAAE,MAAML,gBAAgB,CAACC,IAAI,EAAES,OAAO,CAAC,CAAC;EAClE,CAAC,CACL,CAAC;EACD,OAAOL,UAAU;AACnB;;AAEA;AACA;AACA;AACA;AACA;AACA,eAAe,eAAea,aAAaA,CAACC,IAAY,EAAmC;EACzF,OAAOnB,gBAAgB,CAACV,OAAO,CAAC6B,IAAI,CAAC,EAAE3B,QAAQ,CAAC2B,IAAI,CAAC,CAAC;AACxD","ignoreList":[]}
|
package/es/contract/ga.d.ts
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Generalized Account module - routines to use generalized account
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import { SendTransactionOptions } from '../send-transaction';
|
|
12
|
-
import CompilerBase from './compiler/Base';
|
|
4
|
+
import { Int, Tag } from '../tx/builder/constants.js';
|
|
5
|
+
import { BuildTxOptions } from '../tx/builder/index.js';
|
|
6
|
+
import { Encoded } from '../utils/encoder.js';
|
|
7
|
+
import Contract from './Contract.js';
|
|
8
|
+
import Node from '../Node.js';
|
|
9
|
+
import { SendTransactionOptions } from '../send-transaction.js';
|
|
10
|
+
import CompilerBase from './compiler/Base.js';
|
|
13
11
|
/**
|
|
14
12
|
* Convert current account to GA
|
|
15
13
|
* @category contract
|
|
@@ -24,10 +22,8 @@ export declare function createGeneralizedAccount(authFnName: string, args: any[]
|
|
|
24
22
|
rawTx: Encoded.Transaction;
|
|
25
23
|
gaContractId: Encoded.ContractAddress;
|
|
26
24
|
}>>;
|
|
27
|
-
interface CreateGeneralizedAccountOptions extends BuildTxOptions<Tag.GaAttachTx, 'authFun' | 'callData' | 'code' | 'ownerId' | 'gasLimit'>, SendTransactionOptions, Pick<Parameters<typeof Contract.initialize>[0], 'bytecode' | 'aci' | 'sourceCodePath' | 'sourceCode' | 'fileSystem'> {
|
|
28
|
-
onAccount: AccountBase;
|
|
25
|
+
interface CreateGeneralizedAccountOptions extends BuildTxOptions<Tag.GaAttachTx, 'authFun' | 'callData' | 'code' | 'ownerId' | 'gasLimit' | 'onNode'>, SendTransactionOptions, Pick<Parameters<typeof Contract.initialize>[0], 'bytecode' | 'aci' | 'sourceCodePath' | 'sourceCode' | 'fileSystem'> {
|
|
29
26
|
onCompiler: CompilerBase;
|
|
30
|
-
onNode: Node;
|
|
31
27
|
gasLimit?: number;
|
|
32
28
|
}
|
|
33
29
|
/**
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { Buffer as _Buffer } from "buffer";
|
|
2
|
+
/**
|
|
3
|
+
* Generalized Account module - routines to use generalized account
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { ConsensusProtocolVersion, Tag } from '../tx/builder/constants.js';
|
|
7
|
+
import { buildContractIdByContractTx, buildTx, buildTxAsync, unpackTx } from '../tx/builder/index.js';
|
|
8
|
+
import { hash } from '../utils/crypto.js';
|
|
9
|
+
import { decode, encode, Encoding } from '../utils/encoder.js';
|
|
10
|
+
import { ArgumentError, IllegalArgumentError } from '../utils/errors.js';
|
|
11
|
+
import { concatBuffers } from '../utils/other.js';
|
|
12
|
+
import Contract from './Contract.js';
|
|
13
|
+
import { getAccount } from '../chain.js';
|
|
14
|
+
import { sendTransaction } from '../send-transaction.js';
|
|
15
|
+
import { packEntry } from '../tx/builder/entry/index.js';
|
|
16
|
+
import { EntryTag } from '../tx/builder/entry/constants.js';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Convert current account to GA
|
|
20
|
+
* @category contract
|
|
21
|
+
* @param authFnName - Authorization function name
|
|
22
|
+
* @param args - init arguments
|
|
23
|
+
* @param options - Options
|
|
24
|
+
* @returns General Account Object
|
|
25
|
+
*/
|
|
26
|
+
export async function createGeneralizedAccount(authFnName, args, {
|
|
27
|
+
onAccount,
|
|
28
|
+
onCompiler,
|
|
29
|
+
onNode,
|
|
30
|
+
bytecode,
|
|
31
|
+
aci,
|
|
32
|
+
sourceCodePath,
|
|
33
|
+
sourceCode,
|
|
34
|
+
fileSystem,
|
|
35
|
+
...options
|
|
36
|
+
}) {
|
|
37
|
+
var _options$gasLimit;
|
|
38
|
+
const ownerId = onAccount.address;
|
|
39
|
+
if ((await getAccount(ownerId, {
|
|
40
|
+
onNode
|
|
41
|
+
})).kind === 'generalized') {
|
|
42
|
+
throw new IllegalArgumentError(`Account ${ownerId} is already GA`);
|
|
43
|
+
}
|
|
44
|
+
const contract = await Contract.initialize({
|
|
45
|
+
onAccount,
|
|
46
|
+
onCompiler,
|
|
47
|
+
onNode,
|
|
48
|
+
bytecode,
|
|
49
|
+
aci,
|
|
50
|
+
sourceCodePath,
|
|
51
|
+
sourceCode,
|
|
52
|
+
fileSystem
|
|
53
|
+
});
|
|
54
|
+
const tx = await buildTxAsync({
|
|
55
|
+
_isInternalBuild: true,
|
|
56
|
+
...options,
|
|
57
|
+
tag: Tag.GaAttachTx,
|
|
58
|
+
onNode,
|
|
59
|
+
code: await contract.$compile(),
|
|
60
|
+
gasLimit: (_options$gasLimit = options.gasLimit) !== null && _options$gasLimit !== void 0 ? _options$gasLimit : await contract._estimateGas('init', args, options),
|
|
61
|
+
ownerId,
|
|
62
|
+
callData: contract._calldata.encode(contract._name, 'init', args),
|
|
63
|
+
authFun: hash(authFnName)
|
|
64
|
+
});
|
|
65
|
+
const {
|
|
66
|
+
hash: transaction,
|
|
67
|
+
rawTx
|
|
68
|
+
} = await sendTransaction(tx, {
|
|
69
|
+
onNode,
|
|
70
|
+
onAccount,
|
|
71
|
+
onCompiler,
|
|
72
|
+
...options
|
|
73
|
+
});
|
|
74
|
+
const contractId = buildContractIdByContractTx(rawTx);
|
|
75
|
+
return Object.freeze({
|
|
76
|
+
owner: ownerId,
|
|
77
|
+
transaction,
|
|
78
|
+
rawTx,
|
|
79
|
+
gaContractId: contractId
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx payload
|
|
84
|
+
* @category contract
|
|
85
|
+
* @param transaction - tx-encoded transaction
|
|
86
|
+
* @param options - Options
|
|
87
|
+
* @param options.fee - GaMetaTx fee, required in Ceres
|
|
88
|
+
* @param options.gasPrice - GaMetaTx gasPrice, required in Ceres
|
|
89
|
+
* @param options.onNode - Node to use
|
|
90
|
+
* @returns Transaction hash
|
|
91
|
+
*/
|
|
92
|
+
export async function buildAuthTxHash(transaction, {
|
|
93
|
+
fee,
|
|
94
|
+
gasPrice,
|
|
95
|
+
onNode
|
|
96
|
+
}) {
|
|
97
|
+
const {
|
|
98
|
+
nodeNetworkId,
|
|
99
|
+
consensusProtocolVersion
|
|
100
|
+
} = await onNode.getNodeInfo();
|
|
101
|
+
let payload = hash(concatBuffers([_Buffer.from(nodeNetworkId), decode(transaction)]));
|
|
102
|
+
if (consensusProtocolVersion === ConsensusProtocolVersion.Ceres) {
|
|
103
|
+
if (fee == null) throw new ArgumentError('fee', 'provided (in Ceres)', fee);
|
|
104
|
+
if (gasPrice == null) throw new ArgumentError('gasPrice', 'provided (in Ceres)', gasPrice);
|
|
105
|
+
payload = hash(decode(packEntry({
|
|
106
|
+
tag: EntryTag.GaMetaTxAuthData,
|
|
107
|
+
fee,
|
|
108
|
+
gasPrice,
|
|
109
|
+
txHash: encode(payload, Encoding.TxHash)
|
|
110
|
+
})));
|
|
111
|
+
}
|
|
112
|
+
return payload;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx
|
|
117
|
+
* @category contract
|
|
118
|
+
* @param transaction - tx-encoded signed GaMeta transaction
|
|
119
|
+
* @param options - Options
|
|
120
|
+
* @param options.onNode - Node to use
|
|
121
|
+
* @returns Transaction hash
|
|
122
|
+
*/
|
|
123
|
+
export async function buildAuthTxHashByGaMetaTx(transaction, {
|
|
124
|
+
onNode
|
|
125
|
+
}) {
|
|
126
|
+
const txParams = unpackTx(transaction, Tag.SignedTx);
|
|
127
|
+
if (txParams.encodedTx.tag !== Tag.GaMetaTx) {
|
|
128
|
+
throw new ArgumentError('transaction', 'to include GaMetaTx', Tag[txParams.encodedTx.tag]);
|
|
129
|
+
}
|
|
130
|
+
return buildAuthTxHash(buildTx(txParams.encodedTx.tx.encodedTx), {
|
|
131
|
+
fee: txParams.encodedTx.fee,
|
|
132
|
+
gasPrice: txParams.encodedTx.gasPrice,
|
|
133
|
+
onNode
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=ga.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ga.js","names":["ConsensusProtocolVersion","Tag","buildContractIdByContractTx","buildTx","buildTxAsync","unpackTx","hash","decode","encode","Encoding","ArgumentError","IllegalArgumentError","concatBuffers","Contract","getAccount","sendTransaction","packEntry","EntryTag","createGeneralizedAccount","authFnName","args","onAccount","onCompiler","onNode","bytecode","aci","sourceCodePath","sourceCode","fileSystem","options","_options$gasLimit","ownerId","address","kind","contract","initialize","tx","_isInternalBuild","tag","GaAttachTx","code","$compile","gasLimit","_estimateGas","callData","_calldata","_name","authFun","transaction","rawTx","contractId","Object","freeze","owner","gaContractId","buildAuthTxHash","fee","gasPrice","nodeNetworkId","consensusProtocolVersion","getNodeInfo","payload","_Buffer","from","Ceres","GaMetaTxAuthData","txHash","TxHash","buildAuthTxHashByGaMetaTx","txParams","SignedTx","encodedTx","GaMetaTx"],"sources":["../../src/contract/ga.ts"],"sourcesContent":["/**\n * Generalized Account module - routines to use generalized account\n */\n\nimport { ConsensusProtocolVersion, Int, Tag } from '../tx/builder/constants.js';\nimport {\n buildContractIdByContractTx,\n buildTx,\n buildTxAsync,\n BuildTxOptions,\n unpackTx,\n} from '../tx/builder/index.js';\nimport { hash } from '../utils/crypto.js';\nimport { decode, encode, Encoded, Encoding } from '../utils/encoder.js';\nimport { ArgumentError, IllegalArgumentError } from '../utils/errors.js';\nimport { concatBuffers } from '../utils/other.js';\nimport Contract from './Contract.js';\nimport Node from '../Node.js';\nimport { getAccount } from '../chain.js';\nimport { sendTransaction, SendTransactionOptions } from '../send-transaction.js';\nimport CompilerBase from './compiler/Base.js';\nimport { packEntry } from '../tx/builder/entry/index.js';\nimport { EntryTag } from '../tx/builder/entry/constants.js';\n\n/**\n * Convert current account to GA\n * @category contract\n * @param authFnName - Authorization function name\n * @param args - init arguments\n * @param options - Options\n * @returns General Account Object\n */\nexport async function createGeneralizedAccount(\n authFnName: string,\n args: any[],\n {\n onAccount,\n onCompiler,\n onNode,\n bytecode,\n aci,\n sourceCodePath,\n sourceCode,\n fileSystem,\n ...options\n }: CreateGeneralizedAccountOptions,\n): Promise<\n Readonly<{\n owner: Encoded.AccountAddress;\n transaction: Encoded.TxHash;\n rawTx: Encoded.Transaction;\n gaContractId: Encoded.ContractAddress;\n }>\n> {\n const ownerId = onAccount.address;\n if ((await getAccount(ownerId, { onNode })).kind === 'generalized') {\n throw new IllegalArgumentError(`Account ${ownerId} is already GA`);\n }\n\n const contract = await Contract.initialize<{ init: (...a: any[]) => void }>({\n onAccount,\n onCompiler,\n onNode,\n bytecode,\n aci,\n sourceCodePath,\n sourceCode,\n fileSystem,\n });\n\n const tx = await buildTxAsync({\n _isInternalBuild: true,\n ...options,\n tag: Tag.GaAttachTx,\n onNode,\n code: await contract.$compile(),\n gasLimit: options.gasLimit ?? (await contract._estimateGas('init', args, options)),\n ownerId,\n callData: contract._calldata.encode(contract._name, 'init', args),\n authFun: hash(authFnName),\n });\n const { hash: transaction, rawTx } = await sendTransaction(tx, {\n onNode,\n onAccount,\n onCompiler,\n ...options,\n });\n const contractId = buildContractIdByContractTx(rawTx);\n\n return Object.freeze({\n owner: ownerId,\n transaction,\n rawTx,\n gaContractId: contractId,\n });\n}\n\ninterface CreateGeneralizedAccountOptions\n extends BuildTxOptions<\n Tag.GaAttachTx,\n 'authFun' | 'callData' | 'code' | 'ownerId' | 'gasLimit' | 'onNode'\n >,\n SendTransactionOptions,\n Pick<\n Parameters<typeof Contract.initialize>[0],\n 'bytecode' | 'aci' | 'sourceCodePath' | 'sourceCode' | 'fileSystem'\n > {\n onCompiler: CompilerBase;\n gasLimit?: number;\n}\n\n/**\n * Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx payload\n * @category contract\n * @param transaction - tx-encoded transaction\n * @param options - Options\n * @param options.fee - GaMetaTx fee, required in Ceres\n * @param options.gasPrice - GaMetaTx gasPrice, required in Ceres\n * @param options.onNode - Node to use\n * @returns Transaction hash\n */\nexport async function buildAuthTxHash(\n transaction: Encoded.Transaction,\n { fee, gasPrice, onNode }: { fee?: Int; gasPrice?: Int; onNode: Node },\n): Promise<Buffer> {\n const { nodeNetworkId, consensusProtocolVersion } = await onNode.getNodeInfo();\n let payload = hash(concatBuffers([Buffer.from(nodeNetworkId), decode(transaction)]));\n if (consensusProtocolVersion === ConsensusProtocolVersion.Ceres) {\n if (fee == null) throw new ArgumentError('fee', 'provided (in Ceres)', fee);\n if (gasPrice == null) throw new ArgumentError('gasPrice', 'provided (in Ceres)', gasPrice);\n payload = hash(\n decode(\n packEntry({\n tag: EntryTag.GaMetaTxAuthData,\n fee,\n gasPrice,\n txHash: encode(payload, Encoding.TxHash),\n }),\n ),\n );\n }\n return payload;\n}\n\n/**\n * Build a transaction hash the same as `Auth.tx_hash` by GaMetaTx\n * @category contract\n * @param transaction - tx-encoded signed GaMeta transaction\n * @param options - Options\n * @param options.onNode - Node to use\n * @returns Transaction hash\n */\nexport async function buildAuthTxHashByGaMetaTx(\n transaction: Encoded.Transaction,\n { onNode }: { onNode: Node },\n): Promise<Buffer> {\n const txParams = unpackTx(transaction, Tag.SignedTx);\n if (txParams.encodedTx.tag !== Tag.GaMetaTx) {\n throw new ArgumentError('transaction', 'to include GaMetaTx', Tag[txParams.encodedTx.tag]);\n }\n return buildAuthTxHash(buildTx(txParams.encodedTx.tx.encodedTx), {\n fee: txParams.encodedTx.fee,\n gasPrice: txParams.encodedTx.gasPrice,\n onNode,\n });\n}\n"],"mappings":"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","ignoreList":[]}
|