@aeternity/aepp-sdk 13.0.0-alpha.0 → 13.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/aesophia_cli +0 -0
- package/dist/aepp-sdk.browser-script.js +1 -1
- package/dist/aepp-sdk.browser-script.js.map +1 -1
- package/dist/aepp-sdk.browser.js +1 -1
- package/dist/aepp-sdk.browser.js.map +1 -1
- package/dist/aepp-sdk.js +4206 -1127
- package/dist/aepp-sdk.js.map +1 -1
- package/es/AeSdkBase.d.ts +3 -3
- package/es/AeSdkBase.mjs +4 -0
- package/es/AeSdkBase.mjs.map +1 -1
- package/es/AeSdkMethods.d.ts +3 -4
- package/es/AeSdkMethods.mjs.map +1 -1
- package/es/Node.d.ts +4 -3
- package/es/Node.mjs +1 -1
- package/es/Node.mjs.map +1 -1
- package/es/account/Base.d.ts +2 -2
- package/es/account/Base.mjs.map +1 -1
- package/es/account/Generalized.mjs +5 -3
- package/es/account/Generalized.mjs.map +1 -1
- package/es/account/Ledger.mjs +2 -1
- package/es/account/Ledger.mjs.map +1 -1
- package/es/account/Memory.mjs +2 -1
- package/es/account/Memory.mjs.map +1 -1
- package/es/aens.d.ts +1 -1
- package/es/aens.mjs +5 -1
- package/es/aens.mjs.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs +19 -4
- package/es/aepp-wallet-communication/connection/BrowserRuntime.mjs.map +1 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs +1 -1
- package/es/aepp-wallet-communication/rpc/RpcClient.mjs.map +1 -1
- package/es/chain.d.ts +9 -1
- package/es/chain.mjs +4 -1
- package/es/chain.mjs.map +1 -1
- package/es/channel/Base.d.ts +6 -1
- package/es/channel/Base.mjs +9 -6
- package/es/channel/Base.mjs.map +1 -1
- package/es/channel/Contract.d.ts +8 -7
- package/es/channel/Contract.mjs +1 -1
- package/es/channel/Contract.mjs.map +1 -1
- package/es/channel/Spend.d.ts +3 -1
- package/es/channel/Spend.mjs +4 -2
- package/es/channel/Spend.mjs.map +1 -1
- package/es/channel/handlers.mjs +11 -9
- package/es/channel/handlers.mjs.map +1 -1
- package/es/channel/internal.mjs +3 -1
- package/es/channel/internal.mjs.map +1 -1
- package/es/contract/Contract.d.ts +21 -46
- package/es/contract/Contract.mjs +69 -52
- package/es/contract/Contract.mjs.map +1 -1
- package/es/contract/compiler/Base.d.ts +81 -0
- package/es/contract/compiler/Base.mjs +5 -0
- package/es/contract/compiler/Base.mjs.map +1 -0
- package/es/contract/compiler/Cli.d.ts +23 -0
- package/es/contract/compiler/Cli.mjs +155 -0
- package/es/contract/compiler/Cli.mjs.map +1 -0
- package/es/contract/compiler/Http.d.ts +32 -0
- package/es/contract/{CompilerHttp.mjs → compiler/Http.mjs} +64 -9
- package/es/contract/compiler/Http.mjs.map +1 -0
- package/es/contract/compiler/HttpNode.d.ts +17 -0
- package/es/contract/compiler/HttpNode.mjs +26 -0
- package/es/contract/compiler/HttpNode.mjs.map +1 -0
- package/es/contract/compiler/getFileSystem.d.ts +6 -0
- package/es/contract/compiler/getFileSystem.mjs +40 -0
- package/es/contract/compiler/getFileSystem.mjs.map +1 -0
- package/es/contract/ga.d.ts +5 -4
- package/es/contract/ga.mjs +11 -2
- package/es/contract/ga.mjs.map +1 -1
- package/es/index-browser.d.ts +39 -0
- package/es/index-browser.mjs +55 -0
- package/es/index-browser.mjs.map +1 -0
- package/es/index.d.ts +4 -38
- package/es/index.mjs +4 -53
- package/es/index.mjs.map +1 -1
- package/es/oracle.mjs +1 -1
- package/es/oracle.mjs.map +1 -1
- package/es/spend.mjs +1 -3
- package/es/spend.mjs.map +1 -1
- package/es/tx/builder/constants.d.ts +28 -1
- package/es/tx/builder/constants.mjs +32 -3
- package/es/tx/builder/constants.mjs.map +1 -1
- package/es/tx/builder/field-types/abi-version.d.ts +10 -0
- package/es/tx/builder/field-types/abi-version.mjs +20 -0
- package/es/tx/builder/field-types/abi-version.mjs.map +1 -0
- package/es/tx/builder/field-types/address.d.ts +5 -6
- package/es/tx/builder/field-types/address.mjs +17 -8
- package/es/tx/builder/field-types/address.mjs.map +1 -1
- package/es/tx/builder/field-types/array.d.ts +7 -0
- package/es/tx/builder/field-types/array.mjs +11 -0
- package/es/tx/builder/field-types/array.mjs.map +1 -0
- package/es/tx/builder/field-types/boolean.d.ts +6 -0
- package/es/tx/builder/field-types/boolean.mjs +13 -0
- package/es/tx/builder/field-types/boolean.mjs.map +1 -0
- package/es/tx/builder/field-types/coin-amount.d.ts +1 -1
- package/es/tx/builder/field-types/coin-amount.mjs.map +1 -1
- package/es/tx/builder/field-types/ct-version.d.ts +30 -0
- package/es/tx/builder/field-types/ct-version.mjs +48 -0
- package/es/tx/builder/field-types/ct-version.mjs.map +1 -0
- package/es/tx/builder/field-types/deposit.d.ts +1 -1
- package/es/tx/builder/field-types/deposit.mjs.map +1 -1
- package/es/tx/builder/field-types/encoded.d.ts +6 -0
- package/es/tx/builder/field-types/encoded.mjs +21 -0
- package/es/tx/builder/field-types/encoded.mjs.map +1 -0
- package/es/tx/builder/field-types/entry.d.ts +11 -0
- package/es/tx/builder/field-types/entry.mjs +31 -0
- package/es/tx/builder/field-types/entry.mjs.map +1 -0
- package/es/tx/builder/field-types/enumeration.d.ts +5 -3
- package/es/tx/builder/field-types/enumeration.mjs +11 -2
- package/es/tx/builder/field-types/enumeration.mjs.map +1 -1
- package/es/tx/builder/field-types/fee.d.ts +10 -7
- package/es/tx/builder/field-types/fee.mjs +24 -20
- package/es/tx/builder/field-types/fee.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-limit.d.ts +5 -2
- package/es/tx/builder/field-types/gas-limit.mjs +9 -6
- package/es/tx/builder/field-types/gas-limit.mjs.map +1 -1
- package/es/tx/builder/field-types/gas-price.d.ts +1 -1
- package/es/tx/builder/field-types/index.d.ts +66 -28
- package/es/tx/builder/field-types/index.mjs +30 -12
- package/es/tx/builder/field-types/index.mjs.map +1 -1
- package/es/tx/builder/field-types/mptree.d.ts +37 -0
- package/es/tx/builder/field-types/mptree.mjs +268 -0
- package/es/tx/builder/field-types/mptree.mjs.map +1 -0
- package/es/tx/builder/field-types/name-fee.d.ts +1 -2
- package/es/tx/builder/field-types/name-fee.mjs.map +1 -1
- package/es/tx/builder/field-types/name-id.mjs +2 -1
- package/es/tx/builder/field-types/name-id.mjs.map +1 -1
- package/es/tx/builder/field-types/pointers.mjs +2 -2
- package/es/tx/builder/field-types/pointers.mjs.map +1 -1
- package/es/tx/builder/field-types/raw.d.ts +6 -0
- package/es/tx/builder/field-types/raw.mjs +13 -0
- package/es/tx/builder/field-types/raw.mjs.map +1 -0
- package/es/tx/builder/field-types/short-u-int-const.d.ts +5 -0
- package/es/tx/builder/field-types/short-u-int-const.mjs +16 -0
- package/es/tx/builder/field-types/short-u-int-const.mjs.map +1 -0
- package/es/tx/builder/field-types/string.d.ts +6 -0
- package/es/tx/builder/field-types/string.mjs +10 -0
- package/es/tx/builder/field-types/string.mjs.map +1 -0
- package/es/tx/builder/field-types/u-int.d.ts +1 -2
- package/es/tx/builder/field-types/u-int.mjs.map +1 -1
- package/es/tx/builder/index.d.ts +11 -29
- package/es/tx/builder/index.mjs +50 -211
- package/es/tx/builder/index.mjs.map +1 -1
- package/es/tx/builder/schema.d.ts +2111 -571
- package/es/tx/builder/schema.mjs +57 -125
- package/es/tx/builder/schema.mjs.map +1 -1
- package/es/tx/index.d.ts +5 -20
- package/es/tx/index.mjs +31 -88
- package/es/tx/index.mjs.map +1 -1
- package/es/tx/validator.d.ts +3 -5
- package/es/tx/validator.mjs +82 -95
- package/es/tx/validator.mjs.map +1 -1
- package/es/utils/bytes.mjs +1 -1
- package/es/utils/bytes.mjs.map +1 -1
- package/es/utils/errors.d.ts +3 -8
- package/es/utils/errors.mjs +1 -11
- package/es/utils/errors.mjs.map +1 -1
- package/es/utils/other.d.ts +1 -1
- package/package.json +35 -27
- package/src/AeSdkBase.ts +6 -3
- package/src/AeSdkMethods.ts +3 -4
- package/src/Node.ts +6 -3
- package/src/account/Base.ts +2 -2
- package/src/account/Generalized.ts +2 -2
- package/src/account/Ledger.ts +1 -1
- package/src/account/Memory.ts +1 -1
- package/src/aens.ts +3 -2
- package/src/aepp-wallet-communication/connection/BrowserRuntime.ts +18 -7
- package/src/aepp-wallet-communication/rpc/RpcClient.ts +2 -2
- package/src/chain.ts +5 -3
- package/src/channel/Base.ts +13 -5
- package/src/channel/Contract.ts +11 -10
- package/src/channel/Spend.ts +7 -2
- package/src/channel/handlers.ts +10 -9
- package/src/channel/internal.ts +1 -1
- package/src/contract/Contract.ts +69 -79
- package/src/contract/compiler/Base.ts +94 -0
- package/src/contract/compiler/Cli.ts +134 -0
- package/src/contract/compiler/Http.ts +124 -0
- package/src/contract/compiler/HttpNode.ts +26 -0
- package/src/contract/compiler/getFileSystem.ts +42 -0
- package/src/contract/ga.ts +9 -6
- package/src/index-browser.ts +58 -0
- package/src/index.ts +4 -56
- package/src/oracle.ts +1 -1
- package/src/spend.ts +1 -1
- package/src/tx/builder/constants.ts +32 -3
- package/src/tx/builder/field-types/abi-version.ts +21 -0
- package/src/tx/builder/field-types/address.ts +23 -13
- package/src/tx/builder/field-types/array.ts +19 -0
- package/src/tx/builder/field-types/boolean.ts +9 -0
- package/src/tx/builder/field-types/coin-amount.ts +2 -1
- package/src/tx/builder/field-types/ct-version.ts +50 -0
- package/src/tx/builder/field-types/deposit.ts +1 -1
- package/src/tx/builder/field-types/encoded.ts +27 -0
- package/src/tx/builder/field-types/entry.ts +31 -0
- package/src/tx/builder/field-types/enumeration.ts +15 -4
- package/src/tx/builder/field-types/fee.ts +38 -18
- package/src/tx/builder/field-types/gas-limit.ts +12 -7
- package/src/tx/builder/field-types/index.ts +46 -17
- package/src/tx/builder/field-types/mptree.ts +242 -0
- package/src/tx/builder/field-types/name-fee.ts +1 -2
- package/src/tx/builder/field-types/name-id.ts +1 -1
- package/src/tx/builder/field-types/pointers.ts +2 -2
- package/src/tx/builder/field-types/raw.ts +9 -0
- package/src/tx/builder/field-types/short-u-int-const.ts +20 -0
- package/src/tx/builder/field-types/string.ts +11 -0
- package/src/tx/builder/field-types/u-int.ts +1 -3
- package/src/tx/builder/index.ts +63 -247
- package/src/tx/builder/schema.ts +273 -323
- package/src/tx/index.ts +37 -104
- package/src/tx/validator.ts +72 -95
- package/src/utils/bytes.ts +1 -1
- package/src/utils/errors.ts +4 -13
- package/types-legacy/ts4.2/AeSdkBase.d.ts +3 -3
- package/types-legacy/ts4.2/AeSdkMethods.d.ts +3 -4
- package/types-legacy/ts4.2/Node.d.ts +3 -3
- package/types-legacy/ts4.2/account/Base.d.ts +2 -2
- package/types-legacy/ts4.2/aens.d.ts +1 -1
- package/types-legacy/ts4.2/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
- package/types-legacy/ts4.2/chain.d.ts +9 -1
- package/types-legacy/ts4.2/channel/Base.d.ts +6 -1
- package/types-legacy/ts4.2/channel/Contract.d.ts +8 -7
- package/types-legacy/ts4.2/channel/Spend.d.ts +3 -1
- package/types-legacy/ts4.2/contract/Contract.d.ts +21 -46
- package/types-legacy/ts4.2/contract/compiler/Base.d.ts +81 -0
- package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +23 -0
- package/types-legacy/ts4.2/contract/compiler/Http.d.ts +32 -0
- package/types-legacy/ts4.2/contract/compiler/HttpNode.d.ts +17 -0
- package/types-legacy/ts4.2/contract/compiler/getFileSystem.d.ts +6 -0
- package/types-legacy/ts4.2/contract/ga.d.ts +5 -4
- package/types-legacy/ts4.2/index-browser.d.ts +39 -0
- package/types-legacy/ts4.2/index.d.ts +4 -38
- package/types-legacy/ts4.2/tx/builder/constants.d.ts +28 -1
- package/types-legacy/ts4.2/tx/builder/field-types/abi-version.d.ts +10 -0
- package/types-legacy/ts4.2/tx/builder/field-types/address.d.ts +11 -12
- package/types-legacy/ts4.2/tx/builder/field-types/array.d.ts +7 -0
- package/types-legacy/ts4.2/tx/builder/field-types/boolean.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/coin-amount.d.ts +1 -1
- package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +42 -0
- package/types-legacy/ts4.2/tx/builder/field-types/deposit.d.ts +1 -1
- package/types-legacy/ts4.2/tx/builder/field-types/encoded.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/entry.d.ts +11 -0
- package/types-legacy/ts4.2/tx/builder/field-types/enumeration.d.ts +5 -3
- package/types-legacy/ts4.2/tx/builder/field-types/fee.d.ts +10 -7
- package/types-legacy/ts4.2/tx/builder/field-types/gas-limit.d.ts +5 -2
- package/types-legacy/ts4.2/tx/builder/field-types/gas-price.d.ts +1 -1
- package/types-legacy/ts4.2/tx/builder/field-types/index.d.ts +72 -28
- package/types-legacy/ts4.2/tx/builder/field-types/mptree.d.ts +43 -0
- package/types-legacy/ts4.2/tx/builder/field-types/name-fee.d.ts +1 -2
- package/types-legacy/ts4.2/tx/builder/field-types/raw.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/short-u-int-const.d.ts +5 -0
- package/types-legacy/ts4.2/tx/builder/field-types/string.d.ts +6 -0
- package/types-legacy/ts4.2/tx/builder/field-types/u-int.d.ts +1 -2
- package/types-legacy/ts4.2/tx/builder/index.d.ts +11 -29
- package/types-legacy/ts4.2/tx/builder/schema.d.ts +2380 -668
- package/types-legacy/ts4.2/tx/index.d.ts +5 -20
- package/types-legacy/ts4.2/tx/validator.d.ts +3 -5
- package/types-legacy/ts4.2/utils/errors.d.ts +3 -8
- package/types-legacy/ts4.2/utils/other.d.ts +1 -1
- package/types-legacy/ts4.5/AeSdkBase.d.ts +3 -3
- package/types-legacy/ts4.5/AeSdkMethods.d.ts +3 -4
- package/types-legacy/ts4.5/Node.d.ts +3 -3
- package/types-legacy/ts4.5/account/Base.d.ts +2 -2
- package/types-legacy/ts4.5/aens.d.ts +1 -1
- package/types-legacy/ts4.5/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -0
- package/types-legacy/ts4.5/chain.d.ts +9 -1
- package/types-legacy/ts4.5/channel/Base.d.ts +6 -1
- package/types-legacy/ts4.5/channel/Contract.d.ts +8 -7
- package/types-legacy/ts4.5/channel/Spend.d.ts +3 -1
- package/types-legacy/ts4.5/contract/Contract.d.ts +21 -46
- package/types-legacy/ts4.5/contract/compiler/Base.d.ts +81 -0
- package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +23 -0
- package/types-legacy/ts4.5/contract/compiler/Http.d.ts +32 -0
- package/types-legacy/ts4.5/contract/compiler/HttpNode.d.ts +17 -0
- package/types-legacy/ts4.5/contract/compiler/getFileSystem.d.ts +6 -0
- package/types-legacy/ts4.5/contract/ga.d.ts +5 -4
- package/types-legacy/ts4.5/index-browser.d.ts +39 -0
- package/types-legacy/ts4.5/index.d.ts +4 -38
- package/types-legacy/ts4.5/tx/builder/constants.d.ts +28 -1
- package/types-legacy/ts4.5/tx/builder/field-types/abi-version.d.ts +10 -0
- package/types-legacy/ts4.5/tx/builder/field-types/address.d.ts +11 -12
- package/types-legacy/ts4.5/tx/builder/field-types/array.d.ts +7 -0
- package/types-legacy/ts4.5/tx/builder/field-types/boolean.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/coin-amount.d.ts +1 -1
- package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +42 -0
- package/types-legacy/ts4.5/tx/builder/field-types/deposit.d.ts +1 -1
- package/types-legacy/ts4.5/tx/builder/field-types/encoded.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/entry.d.ts +11 -0
- package/types-legacy/ts4.5/tx/builder/field-types/enumeration.d.ts +5 -3
- package/types-legacy/ts4.5/tx/builder/field-types/fee.d.ts +10 -7
- package/types-legacy/ts4.5/tx/builder/field-types/gas-limit.d.ts +5 -2
- package/types-legacy/ts4.5/tx/builder/field-types/gas-price.d.ts +1 -1
- package/types-legacy/ts4.5/tx/builder/field-types/index.d.ts +72 -28
- package/types-legacy/ts4.5/tx/builder/field-types/mptree.d.ts +43 -0
- package/types-legacy/ts4.5/tx/builder/field-types/name-fee.d.ts +1 -2
- package/types-legacy/ts4.5/tx/builder/field-types/raw.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/short-u-int-const.d.ts +5 -0
- package/types-legacy/ts4.5/tx/builder/field-types/string.d.ts +6 -0
- package/types-legacy/ts4.5/tx/builder/field-types/u-int.d.ts +1 -2
- package/types-legacy/ts4.5/tx/builder/index.d.ts +11 -29
- package/types-legacy/ts4.5/tx/builder/schema.d.ts +2380 -668
- package/types-legacy/ts4.5/tx/index.d.ts +5 -20
- package/types-legacy/ts4.5/tx/validator.d.ts +3 -5
- package/types-legacy/ts4.5/utils/errors.d.ts +3 -8
- package/types-legacy/ts4.5/utils/other.d.ts +1 -1
- package/es/contract/CompilerHttp.d.ts +0 -18
- package/es/contract/CompilerHttp.mjs.map +0 -1
- package/es/tx/builder/field-types/addresses.d.ts +0 -6
- package/es/tx/builder/field-types/addresses.mjs +0 -13
- package/es/tx/builder/field-types/addresses.mjs.map +0 -1
- package/es/utils/mptree.d.ts +0 -26
- package/es/utils/mptree.mjs +0 -143
- package/es/utils/mptree.mjs.map +0 -1
- package/src/contract/CompilerHttp.ts +0 -67
- package/src/tx/builder/field-types/addresses.ts +0 -18
- package/src/utils/mptree.ts +0 -145
- package/types-legacy/ts4.2/contract/CompilerHttp.d.ts +0 -18
- package/types-legacy/ts4.2/tx/builder/field-types/addresses.d.ts +0 -6
- package/types-legacy/ts4.2/utils/mptree.d.ts +0 -32
- package/types-legacy/ts4.5/contract/CompilerHttp.d.ts +0 -18
- package/types-legacy/ts4.5/tx/builder/field-types/addresses.d.ts +0 -6
- package/types-legacy/ts4.5/utils/mptree.d.ts +0 -32
|
@@ -1,34 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Transaction methods
|
|
3
|
-
*
|
|
4
|
-
* This is implementation of [Tx](api/tx.md) relays
|
|
5
|
-
* the creation of transactions to {@link Node}.
|
|
6
|
-
* These methods provide ability to create native transactions.
|
|
7
|
-
*/
|
|
8
|
-
import BigNumber from 'bignumber.js';
|
|
9
|
-
import { ABI_VERSIONS, CtVersion } from './builder/schema';
|
|
10
1
|
import { Tag } from './builder/constants';
|
|
11
2
|
import Node from '../Node';
|
|
12
3
|
import { Encoded } from '../utils/encoder';
|
|
13
4
|
import { buildTx as syncBuildTx } from './builder/index';
|
|
14
5
|
import { AE_AMOUNT_FORMATS } from '../utils/amount-formatter';
|
|
15
|
-
type Int = number | string | BigNumber;
|
|
16
6
|
export type BuildTxOptions<TxType extends Tag, OmitFields extends string> = Omit<Parameters<any>[1], OmitFields>;
|
|
17
7
|
/**
|
|
18
8
|
* @category transaction builder
|
|
19
9
|
*/
|
|
20
|
-
export declare function _buildTx<TxType extends Tag>(txType: TxType, { denomination, absoluteTtl, ..._params }: Omit<Parameters<any>[0], '
|
|
21
|
-
onNode: Node;
|
|
22
|
-
fee?: Int;
|
|
23
|
-
nonce?: number;
|
|
24
|
-
ttl?: number;
|
|
10
|
+
export declare function _buildTx<TxType extends Tag>(txType: TxType, { denomination, absoluteTtl, strategy, onNode, ..._params }: Omit<Parameters<any>[0], 'tag' | 'nonce' | 'ttl'> & {
|
|
25
11
|
denomination?: AE_AMOUNT_FORMATS;
|
|
26
12
|
absoluteTtl?: boolean;
|
|
13
|
+
strategy?: 'continuity' | 'max';
|
|
14
|
+
onNode: Node;
|
|
15
|
+
ttl?: number;
|
|
16
|
+
nonce?: number;
|
|
27
17
|
} & (TxType extends Tag.OracleExtendTx | Tag.OracleResponseTx ? {
|
|
28
18
|
callerId: Encoded.AccountAddress;
|
|
29
|
-
} : {}) & (TxType extends Tag.ContractCreateTx | Tag.GaAttachTx ? {
|
|
30
|
-
ctVersion?: CtVersion;
|
|
31
|
-
} : {}) & (TxType extends Tag.ContractCallTx | Tag.OracleRegisterTx ? {
|
|
32
|
-
abiVersion?: ABI_VERSIONS;
|
|
33
19
|
} : {})): Promise<Encoded.Transaction>;
|
|
34
|
-
export {};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Encoded } from '../utils/encoder';
|
|
1
|
+
import { unpackTx } from './builder';
|
|
3
2
|
import Node from '../Node';
|
|
4
3
|
export interface ValidatorResult {
|
|
5
4
|
message: string;
|
|
@@ -8,13 +7,12 @@ export interface ValidatorResult {
|
|
|
8
7
|
}
|
|
9
8
|
/**
|
|
10
9
|
* Transaction Validator
|
|
11
|
-
* This function validates some
|
|
10
|
+
* This function validates some transaction properties,
|
|
12
11
|
* to make sure it can be posted it to the chain
|
|
13
12
|
* @category transaction builder
|
|
14
13
|
* @param transaction - Base64Check-encoded transaction
|
|
15
14
|
* @param nodeNotCached - Node to validate transaction against
|
|
16
|
-
* @param parentTxTypes - Types of parent transactions
|
|
17
15
|
* @returns Array with verification errors
|
|
18
16
|
* @example const errors = await verifyTransaction(transaction, node)
|
|
19
17
|
*/
|
|
20
|
-
export default function verifyTransaction(transaction:
|
|
18
|
+
export default function verifyTransaction(transaction: Parameters<typeof unpackTx>[0], nodeNotCached: Node): Promise<ValidatorResult[]>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
|
+
import { Int } from '../tx/builder/constants';
|
|
2
3
|
/**
|
|
3
4
|
* aepp-sdk originated error
|
|
4
5
|
* @category exception
|
|
@@ -70,7 +71,7 @@ export declare class WalletError extends BaseError {
|
|
|
70
71
|
* @category exception
|
|
71
72
|
*/
|
|
72
73
|
export declare class ArgumentError extends BaseError {
|
|
73
|
-
constructor(argumentName: string, requirement:
|
|
74
|
+
constructor(argumentName: string, requirement: unknown, argumentValue: unknown);
|
|
74
75
|
}
|
|
75
76
|
/**
|
|
76
77
|
* @category exception
|
|
@@ -317,7 +318,7 @@ export declare class NoSuchContractFunctionError extends ContractError {
|
|
|
317
318
|
* @category exception
|
|
318
319
|
*/
|
|
319
320
|
export declare class NotPayableFunctionError extends ContractError {
|
|
320
|
-
constructor(amount:
|
|
321
|
+
constructor(amount: Int, fn: string);
|
|
321
322
|
}
|
|
322
323
|
/**
|
|
323
324
|
* @category exception
|
|
@@ -442,12 +443,6 @@ export declare class TagNotFoundError extends TransactionError {
|
|
|
442
443
|
export declare class TxNotInChainError extends TransactionError {
|
|
443
444
|
constructor(txHash: string);
|
|
444
445
|
}
|
|
445
|
-
/**
|
|
446
|
-
* @category exception
|
|
447
|
-
*/
|
|
448
|
-
export declare class UnknownTxError extends TransactionError {
|
|
449
|
-
constructor(message: string);
|
|
450
|
-
}
|
|
451
446
|
/**
|
|
452
447
|
* @category exception
|
|
453
448
|
*/
|
|
@@ -14,7 +14,7 @@ export declare const mapObject: <InputV, OutputV>(object: {
|
|
|
14
14
|
]) => {
|
|
15
15
|
[k: string]: OutputV;
|
|
16
16
|
};
|
|
17
|
-
export declare const concatBuffers:
|
|
17
|
+
export declare const concatBuffers: typeof Buffer.concat;
|
|
18
18
|
/**
|
|
19
19
|
* Object key type guard
|
|
20
20
|
* @param key - Maybe object key
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Node from './Node';
|
|
2
2
|
import AccountBase from './account/Base';
|
|
3
3
|
import { Encoded } from './utils/encoder';
|
|
4
|
-
import
|
|
4
|
+
import CompilerBase from './contract/compiler/Base';
|
|
5
5
|
import AeSdkMethods, { OnAccount } from './AeSdkMethods';
|
|
6
6
|
type NodeInfo = Awaited<ReturnType<Node['getNodeInfo']>> & {
|
|
7
7
|
name: string;
|
|
@@ -25,7 +25,7 @@ export default class AeSdkBase extends AeSdkMethods {
|
|
|
25
25
|
instance: Node;
|
|
26
26
|
}>;
|
|
27
27
|
});
|
|
28
|
-
get compilerApi():
|
|
28
|
+
get compilerApi(): CompilerBase;
|
|
29
29
|
get api(): Node;
|
|
30
30
|
/**
|
|
31
31
|
* Add Node
|
|
@@ -85,7 +85,7 @@ export default class AeSdkBase extends AeSdkMethods {
|
|
|
85
85
|
_getOptions(): {
|
|
86
86
|
onNode: Node;
|
|
87
87
|
onAccount: AccountBase;
|
|
88
|
-
onCompiler:
|
|
88
|
+
onCompiler: CompilerBase;
|
|
89
89
|
};
|
|
90
90
|
}
|
|
91
91
|
export {};
|
|
@@ -10,7 +10,7 @@ import Node from './Node';
|
|
|
10
10
|
import { Tag } from './tx/builder/constants';
|
|
11
11
|
import AccountBase from './account/Base';
|
|
12
12
|
import { Encoded } from './utils/encoder';
|
|
13
|
-
import
|
|
13
|
+
import CompilerBase from './contract/compiler/Base';
|
|
14
14
|
export type OnAccount = Encoded.AccountAddress | AccountBase | undefined;
|
|
15
15
|
export declare function getValueOrErrorProxy<Value extends object>(valueCb: () => Value): Value;
|
|
16
16
|
declare const methods: {
|
|
@@ -105,9 +105,8 @@ declare class AeSdkMethods {
|
|
|
105
105
|
buildTx<TxType extends Tag>(txType: TxType, options: Omit<Parameters<any>[1], 'onNode'> & {
|
|
106
106
|
onNode?: Node;
|
|
107
107
|
}): Promise<Encoded.Transaction>;
|
|
108
|
-
initializeContract<Methods extends ContractMethodsBase>(options?: Omit<Parameters<typeof Contract.initialize>[0], 'onNode'
|
|
108
|
+
initializeContract<Methods extends ContractMethodsBase>(options?: Omit<Parameters<typeof Contract.initialize>[0], 'onNode'> & {
|
|
109
109
|
onNode?: Node;
|
|
110
|
-
onCompiler?: CompilerHttp;
|
|
111
110
|
}): Promise<Contract<Methods>>;
|
|
112
111
|
}
|
|
113
112
|
type RequiredKeys<T> = {
|
|
@@ -120,7 +119,7 @@ type OptionalIfNotRequired<T extends [
|
|
|
120
119
|
type MakeOptional<Options> = OptionalIfNotRequired<[
|
|
121
120
|
Omit<Options, 'onNode' | 'onCompiler' | 'onAccount'> & {
|
|
122
121
|
onNode?: Node;
|
|
123
|
-
onCompiler?:
|
|
122
|
+
onCompiler?: CompilerBase;
|
|
124
123
|
onAccount?: OnAccount;
|
|
125
124
|
}
|
|
126
125
|
]>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Node as NodeApi, NodeOptionalParams } from './apis/node';
|
|
2
2
|
import { Encoded } from './utils/encoder';
|
|
3
|
+
import { ConsensusProtocolVersion } from './tx/builder/constants';
|
|
3
4
|
declare const bigIntPropertyNames: readonly [
|
|
4
5
|
"balance",
|
|
5
6
|
"queryFee",
|
|
@@ -24,7 +25,6 @@ declare const numberPropertyNames: readonly [
|
|
|
24
25
|
"nextNonce",
|
|
25
26
|
"height",
|
|
26
27
|
"blockHeight",
|
|
27
|
-
"top",
|
|
28
28
|
"topBlockHeight",
|
|
29
29
|
"ttl",
|
|
30
30
|
"nameTtl",
|
|
@@ -50,7 +50,7 @@ export type TransformNodeType<Type> = Type extends (...args: infer Args) => infe
|
|
|
50
50
|
] : Type extends Array<infer Item> ? Array<TransformNodeType<Item>> : Type extends Promise<infer T> ? Promise<TransformNodeType<T>> : Type extends {
|
|
51
51
|
[P in any]: any;
|
|
52
52
|
} ? {
|
|
53
|
-
[Property in keyof Type]: Property extends BigIntPropertyNames ? PreserveOptional<bigint, Type[Property]> : Property extends NumberPropertyNames ? PreserveOptional<number, Type[Property]> : Property extends 'txHash' ? PreserveOptional<Encoded.TxHash, Type[Property]> : TransformNodeType<Type[Property]>;
|
|
53
|
+
[Property in keyof Type]: Property extends BigIntPropertyNames ? PreserveOptional<bigint, Type[Property]> : Property extends NumberPropertyNames ? PreserveOptional<number, Type[Property]> : Property extends 'txHash' ? PreserveOptional<Encoded.TxHash, Type[Property]> : Property extends 'bytecode' ? PreserveOptional<Encoded.ContractBytearray, Type[Property]> : TransformNodeType<Type[Property]>;
|
|
54
54
|
} : Type;
|
|
55
55
|
type NodeTransformedApi = new (...args: ConstructorParameters<typeof NodeApi>) => {
|
|
56
56
|
[Name in keyof InstanceType<typeof NodeApi>]: Name extends 'pipeline' | 'sendRequest' | 'sendOperationRequest' ? NodeApi[Name] : TransformNodeType<NodeApi[Name]>;
|
|
@@ -59,7 +59,7 @@ export interface NodeInfo {
|
|
|
59
59
|
url: string;
|
|
60
60
|
nodeNetworkId: string;
|
|
61
61
|
version: string;
|
|
62
|
-
consensusProtocolVersion:
|
|
62
|
+
consensusProtocolVersion: ConsensusProtocolVersion;
|
|
63
63
|
}
|
|
64
64
|
declare const Node_base: NodeTransformedApi;
|
|
65
65
|
export default class Node extends Node_base {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Encoded } from '../utils/encoder';
|
|
2
2
|
import Node from '../Node';
|
|
3
|
-
import
|
|
3
|
+
import CompilerBase from '../contract/compiler/Base';
|
|
4
4
|
/**
|
|
5
5
|
* Account is one of the three basic building blocks of an
|
|
6
6
|
* {@link AeSdk} and provides access to a signing key pair.
|
|
@@ -24,7 +24,7 @@ export default abstract class AccountBase {
|
|
|
24
24
|
args?: any[];
|
|
25
25
|
};
|
|
26
26
|
onNode?: Node;
|
|
27
|
-
onCompiler?:
|
|
27
|
+
onCompiler?: CompilerBase;
|
|
28
28
|
aeppOrigin?: string;
|
|
29
29
|
aeppRpcClientId?: string;
|
|
30
30
|
}): Promise<Encoded.Transaction>;
|
|
@@ -196,7 +196,7 @@ export declare function aensPreclaim(name: AensName, options: AensPreclaimOption
|
|
|
196
196
|
commitmentId: string;
|
|
197
197
|
claim: (opts?: Parameters<typeof aensClaim>[2]) => ReturnType<typeof aensClaim>;
|
|
198
198
|
}>>;
|
|
199
|
-
interface AensPreclaimOptions extends BuildTxOptions<Tag.NamePreclaimTx, 'accountId' | 'commitmentId'>, SendOptions, AensClaimOptions {
|
|
199
|
+
interface AensPreclaimOptions extends BuildTxOptions<Tag.NamePreclaimTx, 'accountId' | 'commitmentId'>, SendOptions, Omit<AensClaimOptions, 'version'> {
|
|
200
200
|
}
|
|
201
201
|
/**
|
|
202
202
|
* Bid to name auction
|
|
@@ -179,6 +179,14 @@ export declare function getKeyBlock(hashOrHeight: Encoded.KeyBlockHash | number,
|
|
|
179
179
|
export declare function getMicroBlockHeader(hash: Encoded.MicroBlockHash, { onNode }: {
|
|
180
180
|
onNode: Node;
|
|
181
181
|
}): Promise<TransformNodeType<MicroBlockHeader>>;
|
|
182
|
+
interface TxDryRunArguments {
|
|
183
|
+
tx: Encoded.Transaction;
|
|
184
|
+
accountAddress: Encoded.AccountAddress;
|
|
185
|
+
top?: number | Encoded.KeyBlockHash | Encoded.MicroBlockHash;
|
|
186
|
+
txEvents?: any;
|
|
187
|
+
resolve: Function;
|
|
188
|
+
reject: Function;
|
|
189
|
+
}
|
|
182
190
|
/**
|
|
183
191
|
* Transaction dry-run
|
|
184
192
|
* @category chain
|
|
@@ -191,7 +199,7 @@ export declare function getMicroBlockHeader(hash: Encoded.MicroBlockHash, { onNo
|
|
|
191
199
|
* @param options.onNode - Node to use
|
|
192
200
|
*/
|
|
193
201
|
export declare function txDryRun(tx: Encoded.Transaction, accountAddress: Encoded.AccountAddress, { top, txEvents, combine, onNode, }: {
|
|
194
|
-
top?:
|
|
202
|
+
top?: TxDryRunArguments['top'];
|
|
195
203
|
txEvents?: boolean;
|
|
196
204
|
combine?: boolean;
|
|
197
205
|
onNode: Node;
|
|
@@ -128,7 +128,12 @@ export default class Channel {
|
|
|
128
128
|
/**
|
|
129
129
|
* Get current state
|
|
130
130
|
*/
|
|
131
|
-
state(): Promise<
|
|
131
|
+
state(): Promise<{
|
|
132
|
+
calls: Encoded.CallStateTree;
|
|
133
|
+
halfSignedTx: Encoded.Transaction | '';
|
|
134
|
+
signedTx: Encoded.Transaction;
|
|
135
|
+
trees: Encoded.StateTrees;
|
|
136
|
+
}>;
|
|
132
137
|
/**
|
|
133
138
|
* Get current round
|
|
134
139
|
*
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import BigNumber from 'bignumber.js';
|
|
2
|
+
import { AbiVersion, VmVersion } from '../tx/builder/constants';
|
|
2
3
|
import { SignTx, ChannelState, ChannelOptions } from './internal';
|
|
3
4
|
import { Encoded } from '../utils/encoder';
|
|
4
5
|
import { ContractCallReturnType } from '../apis/node';
|
|
@@ -7,7 +8,7 @@ import ChannelSpend from './Spend';
|
|
|
7
8
|
interface CallContractOptions {
|
|
8
9
|
amount?: number | BigNumber;
|
|
9
10
|
callData?: Encoded.ContractBytearray;
|
|
10
|
-
abiVersion?:
|
|
11
|
+
abiVersion?: AbiVersion;
|
|
11
12
|
contract?: Encoded.ContractAddress;
|
|
12
13
|
returnValue?: any;
|
|
13
14
|
gasUsed?: number | BigNumber;
|
|
@@ -18,13 +19,13 @@ interface CallContractOptions {
|
|
|
18
19
|
returnType?: ContractCallReturnType;
|
|
19
20
|
}
|
|
20
21
|
interface Contract {
|
|
21
|
-
abiVersion:
|
|
22
|
+
abiVersion: AbiVersion;
|
|
22
23
|
active: boolean;
|
|
23
24
|
deposit: number | BigNumber;
|
|
24
25
|
id: string;
|
|
25
26
|
ownerId: string;
|
|
26
27
|
referrerIds: string[];
|
|
27
|
-
vmVersion:
|
|
28
|
+
vmVersion: VmVersion;
|
|
28
29
|
}
|
|
29
30
|
export default class ChannelContract extends ChannelSpend {
|
|
30
31
|
static initialize(options: ChannelOptions): Promise<ChannelContract>;
|
|
@@ -66,8 +67,8 @@ export default class ChannelContract extends ChannelSpend {
|
|
|
66
67
|
code: Encoded.ContractBytearray;
|
|
67
68
|
callData: Encoded.ContractBytearray;
|
|
68
69
|
deposit: number | BigNumber;
|
|
69
|
-
vmVersion:
|
|
70
|
-
abiVersion:
|
|
70
|
+
vmVersion: VmVersion;
|
|
71
|
+
abiVersion: AbiVersion;
|
|
71
72
|
}, sign: SignTx): Promise<{
|
|
72
73
|
accepted: boolean;
|
|
73
74
|
signedTx: Encoded.Transaction;
|
|
@@ -148,7 +149,7 @@ export default class ChannelContract extends ChannelSpend {
|
|
|
148
149
|
amount: number;
|
|
149
150
|
callData: Encoded.ContractBytearray;
|
|
150
151
|
contract: Encoded.ContractAddress;
|
|
151
|
-
abiVersion:
|
|
152
|
+
abiVersion: AbiVersion;
|
|
152
153
|
gasLimit?: number;
|
|
153
154
|
gasPrice?: number;
|
|
154
155
|
}, sign: SignTx, { onOnChainTx }?: Pick<ChannelState, 'onOnChainTx'>): Promise<{
|
|
@@ -189,7 +190,7 @@ export default class ChannelContract extends ChannelSpend {
|
|
|
189
190
|
amount: number;
|
|
190
191
|
callData: Encoded.ContractBytearray;
|
|
191
192
|
contract: Encoded.ContractAddress;
|
|
192
|
-
abiVersion:
|
|
193
|
+
abiVersion: AbiVersion;
|
|
193
194
|
}): Promise<CallContractOptions>;
|
|
194
195
|
/**
|
|
195
196
|
* Get contract call result
|
|
@@ -2,6 +2,8 @@ import BigNumber from 'bignumber.js';
|
|
|
2
2
|
import { SignTx, ChannelState } from './internal';
|
|
3
3
|
import { Encoded } from '../utils/encoder';
|
|
4
4
|
import Channel from './Base';
|
|
5
|
+
import { unpackTx } from '../tx/builder';
|
|
6
|
+
import { Tag } from '../tx/builder/constants';
|
|
5
7
|
export default class ChannelSpend extends Channel {
|
|
6
8
|
/**
|
|
7
9
|
* Trigger a transfer update
|
|
@@ -61,7 +63,7 @@ export default class ChannelSpend extends Channel {
|
|
|
61
63
|
poi({ accounts, contracts }: {
|
|
62
64
|
accounts: Encoded.AccountAddress[];
|
|
63
65
|
contracts?: Encoded.ContractAddress[];
|
|
64
|
-
}): Promise<
|
|
66
|
+
}): Promise<ReturnType<any>>;
|
|
65
67
|
/**
|
|
66
68
|
* Get balances
|
|
67
69
|
*
|
|
@@ -8,33 +8,15 @@
|
|
|
8
8
|
import { Encoder as Calldata } from '@aeternity/aepp-calldata';
|
|
9
9
|
import { Tag, AensName } from '../tx/builder/constants';
|
|
10
10
|
import { unpackTx } from '../tx/builder';
|
|
11
|
-
import {
|
|
11
|
+
import { BuildTxOptions } from '../tx';
|
|
12
|
+
import { send, SendOptions } from '../spend';
|
|
12
13
|
import { Encoded } from '../utils/encoder';
|
|
13
|
-
import { Aci as BaseAci } from '../apis/compiler';
|
|
14
14
|
import { ContractCallObject as NodeContractCallObject, ContractCallReturnType, Event as NodeEvent } from '../apis/node';
|
|
15
|
-
import
|
|
15
|
+
import CompilerBase, { Aci } from './compiler/Base';
|
|
16
16
|
import Node, { TransformNodeType } from '../Node';
|
|
17
|
+
import { txDryRun } from '../chain';
|
|
17
18
|
import AccountBase from '../account/Base';
|
|
18
|
-
|
|
19
|
-
arguments: any[];
|
|
20
|
-
name: string;
|
|
21
|
-
payable: boolean;
|
|
22
|
-
returns: string;
|
|
23
|
-
stateful: boolean;
|
|
24
|
-
}
|
|
25
|
-
interface Aci extends BaseAci {
|
|
26
|
-
encodedAci: {
|
|
27
|
-
contract: {
|
|
28
|
-
name: string;
|
|
29
|
-
event: any;
|
|
30
|
-
kind: string;
|
|
31
|
-
state: any;
|
|
32
|
-
type_defs: any[];
|
|
33
|
-
functions: FunctionACI[];
|
|
34
|
-
};
|
|
35
|
-
};
|
|
36
|
-
externalEncodedAci: any[];
|
|
37
|
-
}
|
|
19
|
+
type FunctionAci = Aci['encodedAci']['contract']['functions'][0];
|
|
38
20
|
interface Event extends NodeEvent {
|
|
39
21
|
address: Encoded.ContractAddress;
|
|
40
22
|
data: Encoded.ContractBytearray;
|
|
@@ -145,7 +127,7 @@ declare class Contract<M extends ContractMethodsBase> {
|
|
|
145
127
|
returnType: ContractCallReturnType;
|
|
146
128
|
returnValue: Encoded.ContractBytearray;
|
|
147
129
|
}, transaction: string): void;
|
|
148
|
-
protected _sendAndProcess(tx: Encoded.Transaction, options:
|
|
130
|
+
protected _sendAndProcess(tx: Encoded.Transaction, options: SendOptions): Promise<SendAndProcessReturnType>;
|
|
149
131
|
_estimateGas<Fn extends MethodNames<M>>(name: Fn, params: MethodParameters<M, Fn>, options?: object): Promise<number>;
|
|
150
132
|
/**
|
|
151
133
|
* Deploy contract
|
|
@@ -153,17 +135,18 @@ declare class Contract<M extends ContractMethodsBase> {
|
|
|
153
135
|
* @param options - Options
|
|
154
136
|
* @returns deploy info
|
|
155
137
|
*/
|
|
156
|
-
$deploy(params: MethodParameters<M, 'init'>, options?: Parameters<Contract<M>['$call']>[2] &
|
|
138
|
+
$deploy(params: MethodParameters<M, 'init'>, options?: Parameters<Contract<M>['$call']>[2] & Partial<BuildTxOptions<Tag.ContractCreateTx, 'ownerId' | 'code' | 'callData'>>): Promise<Omit<SendAndProcessReturnType, 'hash'> & {
|
|
157
139
|
transaction?: Encoded.TxHash;
|
|
158
140
|
owner?: Encoded.AccountAddress;
|
|
159
141
|
address?: Encoded.ContractAddress;
|
|
142
|
+
decodedEvents?: ReturnType<Contract<M>['$decodeEvents']>;
|
|
160
143
|
}>;
|
|
161
144
|
/**
|
|
162
145
|
* Get function schema from contract ACI object
|
|
163
146
|
* @param name - Function name
|
|
164
147
|
* @returns function ACI
|
|
165
148
|
*/
|
|
166
|
-
protected _getFunctionACI(name: string): Partial<
|
|
149
|
+
protected _getFunctionACI(name: string): Partial<FunctionAci>;
|
|
167
150
|
/**
|
|
168
151
|
* Call contract function
|
|
169
152
|
* @param fn - Function name
|
|
@@ -171,7 +154,11 @@ declare class Contract<M extends ContractMethodsBase> {
|
|
|
171
154
|
* @param options - Array of function arguments
|
|
172
155
|
* @returns CallResult
|
|
173
156
|
*/
|
|
174
|
-
$call<Fn extends MethodNames<M>>(fn: Fn, params: MethodParameters<M, Fn>, options?:
|
|
157
|
+
$call<Fn extends MethodNames<M>>(fn: Fn, params: MethodParameters<M, Fn>, options?: Partial<BuildTxOptions<Tag.ContractCallTx, 'callerId' | 'contractId' | 'callData'>> & Parameters<Contract<M>['$decodeEvents']>[1] & Omit<Parameters<Contract<M>['_sendAndProcess']>[1], 'onAccount' | 'onNode'> & Omit<Parameters<typeof txDryRun>[2], 'onNode'> & {
|
|
158
|
+
onAccount?: AccountBase;
|
|
159
|
+
onNode?: Node;
|
|
160
|
+
callStatic?: boolean;
|
|
161
|
+
}): Promise<{
|
|
175
162
|
decodedResult?: any;
|
|
176
163
|
decodedEvents?: ReturnType<Contract<M>['$decodeEvents']>;
|
|
177
164
|
} & SendAndProcessReturnType>;
|
|
@@ -197,7 +184,7 @@ declare class Contract<M extends ContractMethodsBase> {
|
|
|
197
184
|
$decodeEvents(events: Event[], { omitUnknown, ...opt }?: {
|
|
198
185
|
omitUnknown?: boolean;
|
|
199
186
|
} & Parameters<Contract<M>['_getContractNameByEvent']>[2]): DecodedEvent[];
|
|
200
|
-
static initialize<M extends ContractMethodsBase>({ onCompiler, onNode,
|
|
187
|
+
static initialize<M extends ContractMethodsBase>({ onCompiler, onNode, bytecode, aci, address, sourceCodePath, sourceCode, fileSystem, validateBytecode, ...otherOptions }: Omit<ConstructorParameters<typeof Contract>[0], 'aci' | 'address'> & {
|
|
201
188
|
validateBytecode?: boolean;
|
|
202
189
|
aci?: Aci;
|
|
203
190
|
address?: Encoded.ContractAddress | AensName;
|
|
@@ -205,29 +192,17 @@ declare class Contract<M extends ContractMethodsBase> {
|
|
|
205
192
|
_aci: Aci;
|
|
206
193
|
_name: string;
|
|
207
194
|
_calldata: Calldata;
|
|
208
|
-
$options:
|
|
209
|
-
sourceCode?: string;
|
|
210
|
-
bytecode?: Encoded.ContractBytearray;
|
|
211
|
-
address?: Encoded.ContractAddress;
|
|
212
|
-
onCompiler: CompilerHttp;
|
|
213
|
-
onNode: Node;
|
|
214
|
-
omitUnknown?: boolean;
|
|
215
|
-
contractAddressToName?: {
|
|
216
|
-
[key: Encoded.ContractAddress]: string;
|
|
217
|
-
};
|
|
218
|
-
[key: string]: any;
|
|
219
|
-
};
|
|
195
|
+
$options: Omit<ConstructorParameters<typeof Contract>[0], 'aci'>;
|
|
220
196
|
constructor({ aci, ...otherOptions }: {
|
|
221
|
-
|
|
222
|
-
onCompiler: CompilerHttp;
|
|
197
|
+
onCompiler?: CompilerBase;
|
|
223
198
|
onNode: Node;
|
|
224
|
-
sourceCode?: string;
|
|
225
199
|
bytecode?: Encoded.ContractBytearray;
|
|
226
200
|
aci: Aci;
|
|
227
201
|
address?: Encoded.ContractAddress;
|
|
228
|
-
|
|
229
|
-
[
|
|
230
|
-
|
|
202
|
+
sourceCodePath?: Parameters<CompilerBase['compile']>[0];
|
|
203
|
+
sourceCode?: Parameters<CompilerBase['compileBySourceCode']>[0];
|
|
204
|
+
fileSystem?: Parameters<CompilerBase['compileBySourceCode']>[1];
|
|
205
|
+
} & Parameters<Contract<M>['$deploy']>[1]);
|
|
231
206
|
}
|
|
232
207
|
interface ContractWithMethodsClass {
|
|
233
208
|
new <M extends ContractMethodsBase>(options: ConstructorParameters<typeof Contract>[0]): ContractWithMethods<M>;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Encoded } from '../../utils/encoder';
|
|
2
|
+
import { Aci as BaseAci } from '../../apis/compiler';
|
|
3
|
+
interface FunctionAci {
|
|
4
|
+
arguments: any[];
|
|
5
|
+
name: string;
|
|
6
|
+
payable: boolean;
|
|
7
|
+
returns: string;
|
|
8
|
+
stateful: boolean;
|
|
9
|
+
}
|
|
10
|
+
export interface Aci extends BaseAci {
|
|
11
|
+
encodedAci: {
|
|
12
|
+
contract: {
|
|
13
|
+
name: string;
|
|
14
|
+
event: any;
|
|
15
|
+
kind: string;
|
|
16
|
+
state: any;
|
|
17
|
+
type_defs: any[];
|
|
18
|
+
functions: FunctionAci[];
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
externalEncodedAci: any[];
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A base class for all compiler implementations
|
|
25
|
+
*/
|
|
26
|
+
export default abstract class CompilerBase {
|
|
27
|
+
/**
|
|
28
|
+
* Compile contract by contract's path
|
|
29
|
+
* Available only in Node.js
|
|
30
|
+
* @param path - Path to contract source code
|
|
31
|
+
* @returns ACI and bytecode
|
|
32
|
+
*/
|
|
33
|
+
abstract compile(path: string): Promise<{
|
|
34
|
+
bytecode: Encoded.ContractBytearray;
|
|
35
|
+
aci: Aci;
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Compile contract by contract's source code
|
|
39
|
+
* @param sourceCode - Contract source code as string
|
|
40
|
+
* @param fileSystem - A map of contract filename to the corresponding contract source code to
|
|
41
|
+
* include into the main contract
|
|
42
|
+
* @example
|
|
43
|
+
* ```js
|
|
44
|
+
* {
|
|
45
|
+
* 'library.aes': 'namespace TestLib =\n function sum(x: int, y: int) : int = x + y'
|
|
46
|
+
* }
|
|
47
|
+
* ```
|
|
48
|
+
* @returns ACI and bytecode
|
|
49
|
+
*/
|
|
50
|
+
abstract compileBySourceCode(sourceCode: string, fileSystem?: Record<string, string>): Promise<{
|
|
51
|
+
bytecode: Encoded.ContractBytearray;
|
|
52
|
+
aci: Aci;
|
|
53
|
+
}>;
|
|
54
|
+
/**
|
|
55
|
+
* Verify that a contract bytecode is the result of compiling the given source code
|
|
56
|
+
* Available only in Node.js
|
|
57
|
+
* @param bytecode - Contract bytecode to verify
|
|
58
|
+
* @param path - Path to contract source code
|
|
59
|
+
* @returns ACI and bytecode
|
|
60
|
+
*/
|
|
61
|
+
abstract validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean>;
|
|
62
|
+
/**
|
|
63
|
+
* Verify that a contract bytecode is the result of compiling the given source code
|
|
64
|
+
* @param bytecode - Contract bytecode to verify
|
|
65
|
+
* @param sourceCode - Contract source code as string
|
|
66
|
+
* @param fileSystem - A map of contract filename to the corresponding contract source code to
|
|
67
|
+
* include into the main contract
|
|
68
|
+
* @example
|
|
69
|
+
* ```js
|
|
70
|
+
* {
|
|
71
|
+
* 'library.aes': 'namespace TestLib =\n function sum(x: int, y: int) : int = x + y'
|
|
72
|
+
* }
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
abstract validateBySourceCode(bytecode: Encoded.ContractBytearray, sourceCode: string, fileSystem?: Record<string, string>): Promise<boolean>;
|
|
76
|
+
/**
|
|
77
|
+
* @returns Compiler version
|
|
78
|
+
*/
|
|
79
|
+
abstract version(): Promise<string>;
|
|
80
|
+
}
|
|
81
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import CompilerBase, { Aci } from './Base';
|
|
2
|
+
import { Encoded } from '../../utils/encoder';
|
|
3
|
+
/**
|
|
4
|
+
* A wrapper around aesophia_cli, available only in Node.js
|
|
5
|
+
* Assumes that `escript` is available in PATH.
|
|
6
|
+
*/
|
|
7
|
+
export default class CompilerCli extends CompilerBase {
|
|
8
|
+
#private;
|
|
9
|
+
constructor(compilerPath?: string, { ignoreVersion }?: {
|
|
10
|
+
ignoreVersion?: boolean;
|
|
11
|
+
});
|
|
12
|
+
compile(path: string): Promise<{
|
|
13
|
+
bytecode: Encoded.ContractBytearray;
|
|
14
|
+
aci: Aci;
|
|
15
|
+
}>;
|
|
16
|
+
compileBySourceCode(sourceCode: string, fileSystem?: Record<string, string>): Promise<{
|
|
17
|
+
bytecode: Encoded.ContractBytearray;
|
|
18
|
+
aci: Aci;
|
|
19
|
+
}>;
|
|
20
|
+
validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean>;
|
|
21
|
+
validateBySourceCode(bytecode: Encoded.ContractBytearray, sourceCode: string, fileSystem?: Record<string, string>): Promise<boolean>;
|
|
22
|
+
version(): Promise<string>;
|
|
23
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Compiler as CompilerApi } from '../../apis/compiler';
|
|
2
|
+
import CompilerBase, { Aci } from './Base';
|
|
3
|
+
import { Encoded } from '../../utils/encoder';
|
|
4
|
+
/**
|
|
5
|
+
* Contract Compiler over HTTP
|
|
6
|
+
*
|
|
7
|
+
* This class include api call's related to contract compiler functionality.
|
|
8
|
+
* @category contract
|
|
9
|
+
* @example CompilerHttp('COMPILER_URL')
|
|
10
|
+
*/
|
|
11
|
+
export default class CompilerHttp extends CompilerBase {
|
|
12
|
+
readonly api: CompilerApi;
|
|
13
|
+
/**
|
|
14
|
+
* @param compilerUrl - Url for compiler API
|
|
15
|
+
* @param options - Options
|
|
16
|
+
* @param options.ignoreVersion - Don't check compiler version
|
|
17
|
+
*/
|
|
18
|
+
constructor(compilerUrl: string, { ignoreVersion }?: {
|
|
19
|
+
ignoreVersion?: boolean;
|
|
20
|
+
});
|
|
21
|
+
compileBySourceCode(sourceCode: string, fileSystem?: Record<string, string>): Promise<{
|
|
22
|
+
bytecode: Encoded.ContractBytearray;
|
|
23
|
+
aci: Aci;
|
|
24
|
+
}>;
|
|
25
|
+
compile(path: string): Promise<{
|
|
26
|
+
bytecode: Encoded.ContractBytearray;
|
|
27
|
+
aci: Aci;
|
|
28
|
+
}>;
|
|
29
|
+
validateBySourceCode(bytecode: Encoded.ContractBytearray, sourceCode: string, fileSystem?: Record<string, string>): Promise<boolean>;
|
|
30
|
+
validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean>;
|
|
31
|
+
version(): Promise<string>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import HttpBrowser from './Http';
|
|
2
|
+
import { Aci } from './Base';
|
|
3
|
+
import { Encoded } from '../../utils/encoder';
|
|
4
|
+
/**
|
|
5
|
+
* Contract Compiler over HTTP for Nodejs
|
|
6
|
+
*
|
|
7
|
+
* Inherits CompilerHttp and implements `compile`, `validate` methods
|
|
8
|
+
* @category contract
|
|
9
|
+
* @example CompilerHttpNode('COMPILER_URL')
|
|
10
|
+
*/
|
|
11
|
+
export default class CompilerHttpNode extends HttpBrowser {
|
|
12
|
+
compile(path: string): Promise<{
|
|
13
|
+
bytecode: Encoded.ContractBytearray;
|
|
14
|
+
aci: Aci;
|
|
15
|
+
}>;
|
|
16
|
+
validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean>;
|
|
17
|
+
}
|