@aeternity/aepp-sdk 14.0.0 → 14.1.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/LICENSE +1 -1
- package/README.md +11 -19
- package/dist/aepp-sdk.browser-script.cjs +1 -1
- package/dist/aepp-sdk.browser-script.cjs.LICENSE.txt +2 -0
- package/dist/aepp-sdk.browser-script.cjs.map +1 -1
- package/dist/aepp-sdk.browser.cjs +1 -1
- package/dist/aepp-sdk.browser.cjs.map +1 -1
- package/dist/aepp-sdk.cjs +10846 -4277
- package/dist/aepp-sdk.cjs.map +1 -1
- package/es/AeSdkBase.d.ts +10 -1
- package/es/AeSdkBase.js +12 -2
- package/es/AeSdkBase.js.map +1 -1
- package/es/AeSdkMethods.d.ts +1 -1
- package/es/AeSdkMethods.js.map +1 -1
- package/es/AeSdkWallet.js +1 -1
- package/es/AeSdkWallet.js.map +1 -1
- package/es/Middleware.d.ts +5 -1
- package/es/Middleware.js +7 -2
- package/es/Middleware.js.map +1 -1
- package/es/MiddlewareSubscriber.d.ts +3 -0
- package/es/MiddlewareSubscriber.js +4 -0
- package/es/MiddlewareSubscriber.js.map +1 -1
- package/es/Node.d.ts +6 -1
- package/es/Node.js +28 -4
- package/es/Node.js.map +1 -1
- package/es/account/Base.d.ts +12 -0
- package/es/account/Base.js +1 -0
- package/es/account/Base.js.map +1 -1
- package/es/account/BaseFactory.d.ts +1 -0
- package/es/account/BaseFactory.js +1 -0
- package/es/account/BaseFactory.js.map +1 -1
- package/es/account/Generalized.d.ts +5 -0
- package/es/account/Generalized.js +9 -0
- package/es/account/Generalized.js.map +1 -1
- package/es/account/Ledger.d.ts +5 -0
- package/es/account/Ledger.js +9 -0
- package/es/account/Ledger.js.map +1 -1
- package/es/account/LedgerFactory.d.ts +2 -0
- package/es/account/LedgerFactory.js +10 -4
- package/es/account/LedgerFactory.js.map +1 -1
- package/es/account/Memory.d.ts +5 -0
- package/es/account/Memory.js +14 -5
- package/es/account/Memory.js.map +1 -1
- package/es/account/Metamask.d.ts +8 -0
- package/es/account/Metamask.js +13 -0
- package/es/account/Metamask.js.map +1 -1
- package/es/account/MetamaskFactory.d.ts +20 -2
- package/es/account/MetamaskFactory.js +93 -39
- package/es/account/MetamaskFactory.js.map +1 -1
- package/es/account/MnemonicFactory.d.ts +12 -2
- package/es/account/MnemonicFactory.js +48 -24
- package/es/account/MnemonicFactory.js.map +1 -1
- package/es/account/Rpc.d.ts +5 -0
- package/es/account/Rpc.js +8 -0
- package/es/account/Rpc.js.map +1 -1
- package/es/aens.d.ts +35 -7
- package/es/aens.js +62 -20
- package/es/aens.js.map +1 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -1
- package/es/aepp-wallet-communication/connection/BrowserRuntime.js.map +1 -1
- package/es/apis/middleware/middleware.d.ts +99 -9
- package/es/apis/middleware/middleware.js +560 -91
- package/es/apis/middleware/middleware.js.map +1 -1
- package/es/apis/middleware/models/index.d.ts +1267 -1582
- package/es/apis/middleware/models/index.js +1 -1363
- package/es/apis/middleware/models/index.js.map +1 -1
- package/es/apis/middleware/models/mappers.d.ts +126 -56
- package/es/apis/middleware/models/mappers.js +6250 -2989
- package/es/apis/middleware/models/mappers.js.map +1 -1
- package/es/apis/middleware/models/parameters.d.ts +54 -33
- package/es/apis/middleware/models/parameters.js +389 -134
- package/es/apis/middleware/models/parameters.js.map +1 -1
- package/es/apis/node/models/index.d.ts +60 -15
- package/es/apis/node/models/index.js.map +1 -1
- package/es/apis/node/models/mappers.d.ts +3 -0
- package/es/apis/node/models/mappers.js +130 -2
- package/es/apis/node/models/mappers.js.map +1 -1
- package/es/apis/node/node.d.ts +13 -1
- package/es/apis/node/node.js +54 -0
- package/es/apis/node/node.js.map +1 -1
- package/es/chain.d.ts +19 -6
- package/es/chain.js +30 -24
- package/es/chain.js.map +1 -1
- package/es/channel/Contract.d.ts +6 -3
- package/es/channel/Contract.js +5 -2
- package/es/channel/Contract.js.map +1 -1
- package/es/channel/Spend.d.ts +1 -1
- package/es/channel/Spend.js.map +1 -1
- package/es/channel/handlers.js +1 -2
- package/es/channel/handlers.js.map +1 -1
- package/es/channel/internal.d.ts +1 -1
- package/es/channel/internal.js +2 -2
- package/es/channel/internal.js.map +1 -1
- package/es/contract/Contract.d.ts +13 -2
- package/es/contract/Contract.js +22 -12
- package/es/contract/Contract.js.map +1 -1
- package/es/contract/compiler/Base.d.ts +1 -0
- package/es/contract/compiler/Base.js +1 -0
- package/es/contract/compiler/Base.js.map +1 -1
- package/es/contract/compiler/Cli.d.ts +2 -1
- package/es/contract/compiler/Cli.js +17 -11
- package/es/contract/compiler/Cli.js.map +1 -1
- package/es/contract/compiler/Http.d.ts +2 -1
- package/es/contract/compiler/Http.js +3 -2
- package/es/contract/compiler/Http.js.map +1 -1
- package/es/contract/compiler/getFileSystem.d.ts +1 -0
- package/es/contract/compiler/getFileSystem.js +1 -0
- package/es/contract/compiler/getFileSystem.js.map +1 -1
- package/es/contract/ga.d.ts +3 -3
- package/es/contract/ga.js +3 -3
- package/es/contract/ga.js.map +1 -1
- package/es/index-browser.d.ts +32 -2
- package/es/index-browser.js +32 -2
- package/es/index-browser.js.map +1 -1
- package/es/oracle/Oracle.d.ts +10 -1
- package/es/oracle/Oracle.js +16 -6
- package/es/oracle/Oracle.js.map +1 -1
- package/es/oracle/OracleBase.d.ts +15 -2
- package/es/oracle/OracleBase.js +23 -1
- package/es/oracle/OracleBase.js.map +1 -1
- package/es/oracle/OracleClient.d.ts +3 -0
- package/es/oracle/OracleClient.js +6 -1
- package/es/oracle/OracleClient.js.map +1 -1
- package/es/spend.js +1 -1
- package/es/spend.js.map +1 -1
- package/es/tx/builder/common.js +6 -3
- package/es/tx/builder/common.js.map +1 -1
- package/es/tx/builder/constants.d.ts +53 -3
- package/es/tx/builder/constants.js +62 -12
- package/es/tx/builder/constants.js.map +1 -1
- package/es/tx/builder/delegation/schema.js +15 -0
- package/es/tx/builder/delegation/schema.js.map +1 -1
- package/es/tx/builder/entry/constants.d.ts +4 -1
- package/es/tx/builder/entry/constants.js +10 -1
- package/es/tx/builder/entry/constants.js.map +1 -1
- package/es/tx/builder/entry/index.js +1 -2
- package/es/tx/builder/entry/index.js.map +1 -1
- package/es/tx/builder/field-types/ct-version.js +1 -2
- package/es/tx/builder/field-types/ct-version.js.map +1 -1
- package/es/tx/builder/field-types/fee.d.ts +1 -1
- package/es/tx/builder/field-types/fee.js +4 -4
- package/es/tx/builder/field-types/fee.js.map +1 -1
- package/es/tx/builder/field-types/gas-price.d.ts +3 -0
- package/es/tx/builder/field-types/gas-price.js +1 -1
- package/es/tx/builder/field-types/gas-price.js.map +1 -1
- package/es/tx/builder/field-types/name-fee.js +1 -1
- package/es/tx/builder/field-types/name-fee.js.map +1 -1
- package/es/tx/builder/field-types/name-id.js +2 -2
- package/es/tx/builder/field-types/name-id.js.map +1 -1
- package/es/tx/builder/field-types/nonce.d.ts +1 -1
- package/es/tx/builder/field-types/nonce.js.map +1 -1
- package/es/tx/builder/field-types/pointers.js +3 -3
- package/es/tx/builder/field-types/pointers.js.map +1 -1
- package/es/tx/builder/field-types/ttl.d.ts +1 -2
- package/es/tx/builder/field-types/ttl.js +7 -5
- package/es/tx/builder/field-types/ttl.js.map +1 -1
- package/es/tx/builder/helpers.d.ts +18 -12
- package/es/tx/builder/helpers.js +25 -17
- package/es/tx/builder/helpers.js.map +1 -1
- package/es/tx/builder/schema.d.ts +50 -70
- package/es/tx/builder/schema.generated.d.ts +12 -12
- package/es/tx/builder/schema.generated.js.map +1 -1
- package/es/tx/builder/schema.js +5 -3
- package/es/tx/builder/schema.js.map +1 -1
- package/es/tx/execution-cost.d.ts +3 -0
- package/es/tx/execution-cost.js +7 -4
- package/es/tx/execution-cost.js.map +1 -1
- package/es/tx/transaction-signer.d.ts +1 -0
- package/es/tx/transaction-signer.js +1 -0
- package/es/tx/transaction-signer.js.map +1 -1
- package/es/tx/validator.js +4 -3
- package/es/tx/validator.js.map +1 -1
- package/es/utils/MiddlewarePage.d.ts +4 -3
- package/es/utils/MiddlewarePage.js.map +1 -1
- package/es/utils/amount-formatter.d.ts +15 -1
- package/es/utils/amount-formatter.js +17 -1
- package/es/utils/amount-formatter.js.map +1 -1
- package/es/utils/autorest.d.ts +1 -1
- package/es/utils/autorest.js +10 -4
- package/es/utils/autorest.js.map +1 -1
- package/es/utils/bignumber.d.ts +1 -1
- package/es/utils/bignumber.js +1 -1
- package/es/utils/bignumber.js.map +1 -1
- package/es/utils/bytes.d.ts +3 -1
- package/es/utils/bytes.js +3 -1
- package/es/utils/bytes.js.map +1 -1
- package/es/utils/crypto.d.ts +48 -15
- package/es/utils/crypto.js +80 -29
- package/es/utils/crypto.js.map +1 -1
- package/es/utils/encoder-types.d.ts +1 -1
- package/es/utils/encoder-types.js +1 -1
- package/es/utils/encoder-types.js.map +1 -1
- package/es/utils/encoder.d.ts +2 -0
- package/es/utils/encoder.js +2 -0
- package/es/utils/encoder.js.map +1 -1
- package/es/utils/errors.d.ts +2 -2
- package/es/utils/errors.js +2 -2
- package/es/utils/errors.js.map +1 -1
- package/es/utils/json-big.js +1 -1
- package/es/utils/json-big.js.map +1 -1
- package/es/utils/jwt.js +3 -3
- package/es/utils/jwt.js.map +1 -1
- package/es/utils/typed-data.d.ts +5 -0
- package/es/utils/typed-data.js +6 -0
- package/es/utils/typed-data.js.map +1 -1
- package/package.json +51 -52
package/es/tx/builder/common.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { Buffer as _Buffer } from "buffer";
|
|
1
2
|
import { decode as rlpDecode, encode as rlpEncode } from 'rlp';
|
|
2
3
|
import { ArgumentError, DecodeError, SchemaNotFoundError, InternalError } from '../../utils/errors.js';
|
|
3
4
|
import { encode, decode } from '../../utils/encoder.js';
|
|
4
|
-
import { readInt } from './helpers.js';
|
|
5
5
|
export function getSchema(schemas, Tag, tag, version) {
|
|
6
6
|
const subSchemas = schemas.filter(s => s.tag.constValue === tag);
|
|
7
7
|
if (subSchemas.length === 0) throw new SchemaNotFoundError(`${Tag[tag]} (${tag})`, 0);
|
|
@@ -24,8 +24,11 @@ export function packRecord(schemas, Tag, params, extraParams, encoding) {
|
|
|
24
24
|
}
|
|
25
25
|
export function unpackRecord(schemas, Tag, encodedRecord, expectedTag, extraParams) {
|
|
26
26
|
const binary = rlpDecode(decode(encodedRecord));
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
if (!ArrayBuffer.isView(binary[0]) || !ArrayBuffer.isView(binary[1])) {
|
|
28
|
+
throw new DecodeError("Can't parse tag or version in provided RLP");
|
|
29
|
+
}
|
|
30
|
+
const tag = _Buffer.from(binary[0]).readUintBE(0, binary[0].length);
|
|
31
|
+
const version = _Buffer.from(binary[1]).readUintBE(0, binary[1].length);
|
|
29
32
|
const schema = getSchema(schemas, Tag, tag, version);
|
|
30
33
|
if (expectedTag != null && expectedTag !== tag) {
|
|
31
34
|
throw new DecodeError(`Expected ${Tag[expectedTag]} tag, got ${Tag[tag]} instead`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","names":["decode","rlpDecode","encode","rlpEncode","ArgumentError","DecodeError","SchemaNotFoundError","InternalError","
|
|
1
|
+
{"version":3,"file":"common.js","names":["decode","rlpDecode","encode","rlpEncode","ArgumentError","DecodeError","SchemaNotFoundError","InternalError","getSchema","schemas","Tag","tag","version","subSchemas","filter","s","constValue","length","defaultSchema","find","schema","constValueOptional","Object","entries","packRecord","params","extraParams","encoding","binary","map","key","field","serialize","unpackRecord","encodedRecord","expectedTag","ArrayBuffer","isView","_Buffer","from","readUintBE","fromEntries","name","index","deserialize"],"sources":["../../../src/tx/builder/common.ts"],"sourcesContent":["import { decode as rlpDecode, encode as rlpEncode } from 'rlp';\nimport { Field, BinaryData } from './field-types/interface.js';\nimport {\n ArgumentError,\n DecodeError,\n SchemaNotFoundError,\n InternalError,\n} from '../../utils/errors.js';\nimport { Encoding, Encoded, encode, decode } from '../../utils/encoder.js';\n\ntype Schemas = ReadonlyArray<{\n tag: { constValue: number } & Field;\n version: { constValue: number; constValueOptional: boolean } & Field;\n}>;\n\nexport function getSchema(\n schemas: Schemas,\n Tag: { [key: number]: string },\n tag: number,\n version: number | undefined,\n): Array<[string, Field]> {\n const subSchemas = schemas.filter((s) => s.tag.constValue === tag);\n if (subSchemas.length === 0) throw new SchemaNotFoundError(`${Tag[tag]} (${tag})`, 0);\n if (version == null) {\n const defaultSchema = subSchemas.find((schema) => schema.version.constValueOptional);\n if (defaultSchema == null)\n throw new InternalError(`Can't find default schema of ${Tag[tag]} (${tag})`);\n version = defaultSchema.version.constValue;\n }\n const schema = subSchemas.find((s) => s.version.constValue === version);\n if (schema == null) throw new SchemaNotFoundError(`${Tag[tag]} (${tag})`, version);\n return Object.entries(schema);\n}\n\nexport function packRecord<E extends Encoding>(\n schemas: Schemas,\n Tag: { [key: number]: string },\n params: {\n tag: number;\n version?: number;\n [k: string]: unknown;\n },\n extraParams: { [k: string]: unknown },\n encoding: E,\n): Encoded.Generic<E> {\n const schema = getSchema(schemas, Tag, params.tag, params.version);\n const binary = schema.map(([key, field]) =>\n field.serialize(params[key], { ...params, ...extraParams }, params),\n );\n return encode(rlpEncode(binary), encoding);\n}\n\nexport function unpackRecord(\n schemas: Schemas,\n Tag: { [key: number]: string },\n encodedRecord: Encoded.Any,\n expectedTag: number | undefined,\n extraParams: { [k: string]: unknown },\n): unknown {\n const binary = rlpDecode(decode(encodedRecord));\n if (!ArrayBuffer.isView(binary[0]) || !ArrayBuffer.isView(binary[1])) {\n throw new DecodeError(\"Can't parse tag or version in provided RLP\");\n }\n const tag = Buffer.from(binary[0]).readUintBE(0, binary[0].length);\n const version = Buffer.from(binary[1]).readUintBE(0, binary[1].length);\n const schema = getSchema(schemas, Tag, tag, version);\n if (expectedTag != null && expectedTag !== tag) {\n throw new DecodeError(`Expected ${Tag[expectedTag]} tag, got ${Tag[tag]} instead`);\n }\n if (binary.length !== schema.length) {\n throw new ArgumentError('RLP length', schema.length, binary.length);\n }\n return Object.fromEntries(\n schema.map(([name, field], index) => [\n name,\n field.deserialize(binary[index] as BinaryData, extraParams),\n ]),\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,24 +1,70 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
|
+
/**
|
|
3
|
+
* @category transaction builder
|
|
4
|
+
*/
|
|
2
5
|
export declare const DRY_RUN_ACCOUNT: {
|
|
3
6
|
readonly pub: "ak_11111111111111111111111111111111273Yts";
|
|
4
7
|
readonly amount: 100000000000000000000000000000000000n;
|
|
5
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* @category account generalized
|
|
11
|
+
* @deprecated transaction builder will ensure that gas doesn't exceed the maximum value by itself
|
|
12
|
+
*/
|
|
6
13
|
export declare const MAX_AUTH_FUN_GAS = 50000;
|
|
14
|
+
/**
|
|
15
|
+
* @category utils
|
|
16
|
+
*/
|
|
7
17
|
export type Int = number | string | BigNumber;
|
|
18
|
+
/**
|
|
19
|
+
* @category AENS
|
|
20
|
+
*/
|
|
8
21
|
export type AensName = `${string}.chain`;
|
|
22
|
+
/**
|
|
23
|
+
* @category transaction builder
|
|
24
|
+
*/
|
|
9
25
|
export declare const MIN_GAS_PRICE = 1000000000;
|
|
26
|
+
/**
|
|
27
|
+
* @category AENS
|
|
28
|
+
* @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67}
|
|
29
|
+
* @deprecated use {@link getMinimumNameFee} instead
|
|
30
|
+
*/
|
|
10
31
|
export declare const NAME_FEE_MULTIPLIER = 100000000000000;
|
|
32
|
+
/**
|
|
33
|
+
* The next bid should be at least 5% bigger than the previous one
|
|
34
|
+
* @category AENS
|
|
35
|
+
* @deprecated use {@link computeBidFee} instead
|
|
36
|
+
*/
|
|
11
37
|
export declare const NAME_FEE_BID_INCREMENT = 0.05;
|
|
38
|
+
/**
|
|
39
|
+
* Approximately 1 day
|
|
40
|
+
* @category AENS
|
|
41
|
+
* @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L272}
|
|
42
|
+
* @deprecated use {@link computeAuctionEndBlock} instead
|
|
43
|
+
*/
|
|
12
44
|
export declare const NAME_BID_TIMEOUT_BLOCKS = 480;
|
|
45
|
+
/**
|
|
46
|
+
* This is the max length for a domain that requires a base fee to be paid
|
|
47
|
+
* @category AENS
|
|
48
|
+
* @deprecated use {@link getMinimumNameFee} instead
|
|
49
|
+
*/
|
|
13
50
|
export declare const NAME_MAX_LENGTH_FEE = 31;
|
|
51
|
+
/**
|
|
52
|
+
* @category AENS
|
|
53
|
+
* @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290}
|
|
54
|
+
* @see {@link https://github.com/aeternity/protocol/blob/master/AENS.md#protocol-fees-and-protection-times}
|
|
55
|
+
* @deprecated use {@link getMinimumNameFee} instead
|
|
56
|
+
*/
|
|
14
57
|
export declare const NAME_BID_RANGES: {
|
|
15
58
|
[k: string]: BigNumber;
|
|
16
59
|
};
|
|
60
|
+
/**
|
|
61
|
+
* @category chain
|
|
62
|
+
*/
|
|
17
63
|
export declare enum ConsensusProtocolVersion {
|
|
18
64
|
Ceres = 6
|
|
19
65
|
}
|
|
20
66
|
/**
|
|
21
|
-
* @category
|
|
67
|
+
* @category contract
|
|
22
68
|
* @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
|
|
23
69
|
*/
|
|
24
70
|
export declare enum VmVersion {
|
|
@@ -32,7 +78,7 @@ export declare enum VmVersion {
|
|
|
32
78
|
Fate3 = 8
|
|
33
79
|
}
|
|
34
80
|
/**
|
|
35
|
-
* @category
|
|
81
|
+
* @category contract
|
|
36
82
|
* @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
|
|
37
83
|
*/
|
|
38
84
|
export declare enum AbiVersion {
|
|
@@ -51,7 +97,11 @@ export declare enum Tag {
|
|
|
51
97
|
SpendTx = 12,
|
|
52
98
|
OracleRegisterTx = 22,
|
|
53
99
|
OracleQueryTx = 23,
|
|
100
|
+
/**
|
|
101
|
+
* @deprecated use `OracleRespondTx` instead
|
|
102
|
+
*/
|
|
54
103
|
OracleResponseTx = 24,
|
|
104
|
+
OracleRespondTx = 24,
|
|
55
105
|
OracleExtendTx = 25,
|
|
56
106
|
NameClaimTx = 32,
|
|
57
107
|
NamePreclaimTx = 33,
|
|
@@ -1,21 +1,62 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
2
|
import { mapObject } from '../../utils/other.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @category transaction builder
|
|
6
|
+
*/
|
|
3
7
|
export const DRY_RUN_ACCOUNT = {
|
|
4
8
|
pub: 'ak_11111111111111111111111111111111273Yts',
|
|
5
9
|
amount: 100000000000000000000000000000000000n
|
|
6
10
|
};
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* @category account generalized
|
|
14
|
+
* @deprecated transaction builder will ensure that gas doesn't exceed the maximum value by itself
|
|
15
|
+
*/
|
|
7
16
|
export const MAX_AUTH_FUN_GAS = 50000;
|
|
17
|
+
/**
|
|
18
|
+
* @category utils
|
|
19
|
+
*/
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @category AENS
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @category transaction builder
|
|
27
|
+
*/
|
|
8
28
|
export const MIN_GAS_PRICE = 1e9; // TODO: don't use number for ae
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
29
|
+
/**
|
|
30
|
+
* @category AENS
|
|
31
|
+
* @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67}
|
|
32
|
+
* @deprecated use {@link getMinimumNameFee} instead
|
|
33
|
+
*/
|
|
34
|
+
export const NAME_FEE_MULTIPLIER = 1e14;
|
|
35
|
+
/**
|
|
36
|
+
* The next bid should be at least 5% bigger than the previous one
|
|
37
|
+
* @category AENS
|
|
38
|
+
* @deprecated use {@link computeBidFee} instead
|
|
39
|
+
*/
|
|
40
|
+
export const NAME_FEE_BID_INCREMENT = 0.05;
|
|
41
|
+
/**
|
|
42
|
+
* Approximately 1 day
|
|
43
|
+
* @category AENS
|
|
44
|
+
* @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L272}
|
|
45
|
+
* @deprecated use {@link computeAuctionEndBlock} instead
|
|
46
|
+
*/
|
|
47
|
+
export const NAME_BID_TIMEOUT_BLOCKS = 480;
|
|
48
|
+
/**
|
|
49
|
+
* This is the max length for a domain that requires a base fee to be paid
|
|
50
|
+
* @category AENS
|
|
51
|
+
* @deprecated use {@link getMinimumNameFee} instead
|
|
52
|
+
*/
|
|
15
53
|
export const NAME_MAX_LENGTH_FEE = 31;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
54
|
+
/**
|
|
55
|
+
* @category AENS
|
|
56
|
+
* @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290}
|
|
57
|
+
* @see {@link https://github.com/aeternity/protocol/blob/master/AENS.md#protocol-fees-and-protection-times}
|
|
58
|
+
* @deprecated use {@link getMinimumNameFee} instead
|
|
59
|
+
*/
|
|
19
60
|
export const NAME_BID_RANGES = mapObject({
|
|
20
61
|
31: 3,
|
|
21
62
|
30: 5,
|
|
@@ -49,13 +90,17 @@ export const NAME_BID_RANGES = mapObject({
|
|
|
49
90
|
2: 3524578,
|
|
50
91
|
1: 5702887
|
|
51
92
|
}, ([key, value]) => [key, new BigNumber(value).times(NAME_FEE_MULTIPLIER)]);
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* @category chain
|
|
96
|
+
*/
|
|
52
97
|
export let ConsensusProtocolVersion = /*#__PURE__*/function (ConsensusProtocolVersion) {
|
|
53
98
|
ConsensusProtocolVersion[ConsensusProtocolVersion["Ceres"] = 6] = "Ceres";
|
|
54
99
|
return ConsensusProtocolVersion;
|
|
55
100
|
}({});
|
|
56
101
|
|
|
57
102
|
/**
|
|
58
|
-
* @category
|
|
103
|
+
* @category contract
|
|
59
104
|
* @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
|
|
60
105
|
*/
|
|
61
106
|
export let VmVersion = /*#__PURE__*/function (VmVersion) {
|
|
@@ -71,7 +116,7 @@ export let VmVersion = /*#__PURE__*/function (VmVersion) {
|
|
|
71
116
|
}({});
|
|
72
117
|
|
|
73
118
|
/**
|
|
74
|
-
* @category
|
|
119
|
+
* @category contract
|
|
75
120
|
* @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}
|
|
76
121
|
*/
|
|
77
122
|
export let AbiVersion = /*#__PURE__*/function (AbiVersion) {
|
|
@@ -93,7 +138,12 @@ export let Tag = /*#__PURE__*/function (Tag) {
|
|
|
93
138
|
Tag[Tag["SpendTx"] = 12] = "SpendTx";
|
|
94
139
|
Tag[Tag["OracleRegisterTx"] = 22] = "OracleRegisterTx";
|
|
95
140
|
Tag[Tag["OracleQueryTx"] = 23] = "OracleQueryTx";
|
|
141
|
+
/**
|
|
142
|
+
* @deprecated use `OracleRespondTx` instead
|
|
143
|
+
*/
|
|
96
144
|
Tag[Tag["OracleResponseTx"] = 24] = "OracleResponseTx";
|
|
145
|
+
// eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values
|
|
146
|
+
Tag[Tag["OracleRespondTx"] = 24] = "OracleRespondTx";
|
|
97
147
|
Tag[Tag["OracleExtendTx"] = 25] = "OracleExtendTx";
|
|
98
148
|
Tag[Tag["NameClaimTx"] = 32] = "NameClaimTx";
|
|
99
149
|
Tag[Tag["NamePreclaimTx"] = 33] = "NamePreclaimTx";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["BigNumber","mapObject","DRY_RUN_ACCOUNT","pub","amount","MAX_AUTH_FUN_GAS","MIN_GAS_PRICE","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_RANGES","key","value","times","ConsensusProtocolVersion","VmVersion","AbiVersion","Tag"],"sources":["../../../src/tx/builder/constants.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"constants.js","names":["BigNumber","mapObject","DRY_RUN_ACCOUNT","pub","amount","MAX_AUTH_FUN_GAS","MIN_GAS_PRICE","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_RANGES","key","value","times","ConsensusProtocolVersion","VmVersion","AbiVersion","Tag"],"sources":["../../../src/tx/builder/constants.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { mapObject } from '../../utils/other.js';\n\n/**\n * @category transaction builder\n */\nexport const DRY_RUN_ACCOUNT = {\n pub: 'ak_11111111111111111111111111111111273Yts',\n amount: 100000000000000000000000000000000000n,\n} as const;\n\n/**\n * @category account generalized\n * @deprecated transaction builder will ensure that gas doesn't exceed the maximum value by itself\n */\nexport const MAX_AUTH_FUN_GAS = 50000;\n/**\n * @category utils\n */\nexport type Int = number | string | BigNumber;\n/**\n * @category AENS\n */\nexport type AensName = `${string}.chain`;\n/**\n * @category transaction builder\n */\nexport const MIN_GAS_PRICE = 1e9; // TODO: don't use number for ae\n/**\n * @category AENS\n * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67}\n * @deprecated use {@link getMinimumNameFee} instead\n */\nexport const NAME_FEE_MULTIPLIER = 1e14;\n/**\n * The next bid should be at least 5% bigger than the previous one\n * @category AENS\n * @deprecated use {@link computeBidFee} instead\n */\nexport const NAME_FEE_BID_INCREMENT = 0.05;\n/**\n * Approximately 1 day\n * @category AENS\n * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L272}\n * @deprecated use {@link computeAuctionEndBlock} instead\n */\nexport const NAME_BID_TIMEOUT_BLOCKS = 480;\n/**\n * This is the max length for a domain that requires a base fee to be paid\n * @category AENS\n * @deprecated use {@link getMinimumNameFee} instead\n */\nexport const NAME_MAX_LENGTH_FEE = 31;\n/**\n * @category AENS\n * @see {@link https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290}\n * @see {@link https://github.com/aeternity/protocol/blob/master/AENS.md#protocol-fees-and-protection-times}\n * @deprecated use {@link getMinimumNameFee} instead\n */\nexport const NAME_BID_RANGES = mapObject(\n {\n 31: 3,\n 30: 5,\n 29: 8,\n 28: 13,\n 27: 21,\n 26: 34,\n 25: 55,\n 24: 89,\n 23: 144,\n 22: 233,\n 21: 377,\n 20: 610,\n 19: 987,\n 18: 1597,\n 17: 2584,\n 16: 4181,\n 15: 6765,\n 14: 10946,\n 13: 17711,\n 12: 28657,\n 11: 46368,\n 10: 75025,\n 9: 121393,\n 8: 196418,\n 7: 317811,\n 6: 514229,\n 5: 832040,\n 4: 1346269,\n 3: 2178309,\n 2: 3524578,\n 1: 5702887,\n },\n ([key, value]) => [key, new BigNumber(value).times(NAME_FEE_MULTIPLIER)],\n);\n\n/**\n * @category chain\n */\nexport enum ConsensusProtocolVersion {\n Ceres = 6,\n}\n\n/**\n * @category contract\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum VmVersion {\n NoVm = 0,\n Sophia = 1,\n SophiaImprovementsMinerva = 3,\n SophiaImprovementsFortuna = 4,\n Fate = 5,\n SophiaImprovementsLima = 6,\n Fate2 = 7,\n Fate3 = 8,\n}\n\n/**\n * @category contract\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/contracts/contract_vms.md#virtual-machines-on-the-%C3%A6ternity-blockchain}\n */\nexport enum AbiVersion {\n NoAbi = 0,\n Sophia = 1,\n Fate = 3,\n}\n\n/**\n * Enum with tag types\n * @category transaction builder\n * @see {@link https://github.com/aeternity/protocol/blob/0f6dee3d9d1e8e2469816798f5c7587a6c918f94/serializations.md#binary-serialization}\n * @see {@link https://github.com/aeternity/aeserialization/blob/eb68fe331bd476910394966b7f5ede7a74d37e35/src/aeser_chain_objects.erl#L39-L97}\n */\n// TODO: implement serialisation for commented-out tags\nexport enum Tag {\n SignedTx = 11,\n SpendTx = 12,\n OracleRegisterTx = 22,\n OracleQueryTx = 23,\n /**\n * @deprecated use `OracleRespondTx` instead\n */\n OracleResponseTx = 24,\n // eslint-disable-next-line @typescript-eslint/no-duplicate-enum-values\n OracleRespondTx = 24,\n OracleExtendTx = 25,\n NameClaimTx = 32,\n NamePreclaimTx = 33,\n NameUpdateTx = 34,\n NameRevokeTx = 35,\n NameTransferTx = 36,\n ContractCreateTx = 42,\n ContractCallTx = 43,\n ChannelCreateTx = 50,\n ChannelDepositTx = 51,\n ChannelWithdrawTx = 52,\n ChannelForceProgressTx = 521,\n ChannelCloseMutualTx = 53,\n ChannelCloseSoloTx = 54,\n ChannelSlashTx = 55,\n ChannelSettleTx = 56,\n ChannelOffChainTx = 57,\n ChannelSnapshotSoloTx = 59,\n GaAttachTx = 80,\n GaMetaTx = 81,\n PayingForTx = 82,\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,10 +7,25 @@ import { Encoding, decode, encode } from '../../../utils/encoder.js';
|
|
|
7
7
|
* @category delegation signature
|
|
8
8
|
*/
|
|
9
9
|
export let DelegationTag = /*#__PURE__*/function (DelegationTag) {
|
|
10
|
+
/**
|
|
11
|
+
* Delegation of all AENS names to a contract
|
|
12
|
+
*/
|
|
10
13
|
DelegationTag[DelegationTag["AensWildcard"] = 1] = "AensWildcard";
|
|
14
|
+
/**
|
|
15
|
+
* Delegation of an AENS name to a contract
|
|
16
|
+
*/
|
|
11
17
|
DelegationTag[DelegationTag["AensName"] = 2] = "AensName";
|
|
18
|
+
/**
|
|
19
|
+
* Delegation of AENS preclaim to a contract
|
|
20
|
+
*/
|
|
12
21
|
DelegationTag[DelegationTag["AensPreclaim"] = 3] = "AensPreclaim";
|
|
22
|
+
/**
|
|
23
|
+
* Delegation of oracle operations to a contract
|
|
24
|
+
*/
|
|
13
25
|
DelegationTag[DelegationTag["Oracle"] = 4] = "Oracle";
|
|
26
|
+
/**
|
|
27
|
+
* Delegation of oracle query to a contract
|
|
28
|
+
*/
|
|
14
29
|
DelegationTag[DelegationTag["OracleResponse"] = 5] = "OracleResponse";
|
|
15
30
|
return DelegationTag;
|
|
16
31
|
}({});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","names":["address","nameId","shortUIntConst","Encoding","decode","encode","DelegationTag","oracleAddressField","OracleAddress","queryIdField","serialize","value","deserialize","OracleQueryId","contractAddress","ContractAddress","schemas","tag","AensWildcard","version","accountAddress","AccountAddress","AensName","AensPreclaim","Oracle","OracleResponse","queryId"],"sources":["../../../../src/tx/builder/delegation/schema.ts"],"sourcesContent":["import SchemaTypes from '../SchemaTypes.js';\nimport address from '../field-types/address.js';\nimport nameId from '../field-types/name-id.js';\nimport shortUIntConst from '../field-types/short-u-int-const.js';\nimport { Encoded, Encoding, decode, encode } from '../../../utils/encoder.js';\n\n/**\n * @category delegation signature\n */\nexport enum DelegationTag {\n /**\n * Delegation of all AENS names to a contract\n */\n AensWildcard = 1,\n /**\n * Delegation of an AENS name to a contract\n */\n AensName = 2,\n /**\n * Delegation of AENS preclaim to a contract\n */\n AensPreclaim = 3,\n /**\n * Delegation of oracle operations to a contract\n */\n Oracle = 4,\n /**\n * Delegation of oracle query to a contract\n */\n OracleResponse = 5,\n}\n\nconst oracleAddressField = address(Encoding.OracleAddress);\n/**\n * Oracle query ID to reply by a contract\n */\nconst queryIdField = {\n serialize(value: Encoded.OracleQueryId): Buffer {\n return oracleAddressField.serialize(encode(decode(value), Encoding.OracleAddress));\n },\n deserialize(value: Buffer): Encoded.OracleQueryId {\n return encode(decode(oracleAddressField.deserialize(value)), Encoding.OracleQueryId);\n },\n} as const;\n\n/**\n * Address of a contract to delegate permissions to\n */\nconst contractAddress = address(Encoding.ContractAddress);\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/8a9d1d1206174627f6aaef86159dc9c643080653/contracts/fate.md#from-ceres-serialized-signature-data}\n */\nexport const schemas = [\n {\n tag: shortUIntConst(DelegationTag.AensWildcard),\n version: shortUIntConst(1, true),\n accountAddress: address(Encoding.AccountAddress),\n contractAddress,\n },\n {\n tag: shortUIntConst(DelegationTag.AensName),\n version: shortUIntConst(1, true),\n accountAddress: address(Encoding.AccountAddress),\n /**\n * AENS name to manage by a contract\n */\n nameId,\n contractAddress,\n },\n {\n tag: shortUIntConst(DelegationTag.AensPreclaim),\n version: shortUIntConst(1, true),\n accountAddress: address(Encoding.AccountAddress),\n contractAddress,\n },\n {\n tag: shortUIntConst(DelegationTag.Oracle),\n version: shortUIntConst(1, true),\n accountAddress: address(Encoding.AccountAddress),\n contractAddress,\n },\n {\n tag: shortUIntConst(DelegationTag.OracleResponse),\n version: shortUIntConst(1, true),\n queryId: queryIdField,\n contractAddress,\n },\n] as const;\n\ntype Schemas = SchemaTypes<typeof schemas>;\nexport type DlgParams = Schemas['TxParams'];\nexport type DlgUnpacked = Schemas['TxUnpacked'];\n"],"mappings":"AACA,OAAOA,OAAO,MAAM,2BAA2B;AAC/C,OAAOC,MAAM,MAAM,2BAA2B;AAC9C,OAAOC,cAAc,MAAM,qCAAqC;AAChE,SAAkBC,QAAQ,EAAEC,MAAM,EAAEC,MAAM,QAAQ,2BAA2B;;AAE7E;AACA;AACA;AACA,WAAYC,aAAa,0BAAbA,aAAa;
|
|
1
|
+
{"version":3,"file":"schema.js","names":["address","nameId","shortUIntConst","Encoding","decode","encode","DelegationTag","oracleAddressField","OracleAddress","queryIdField","serialize","value","deserialize","OracleQueryId","contractAddress","ContractAddress","schemas","tag","AensWildcard","version","accountAddress","AccountAddress","AensName","AensPreclaim","Oracle","OracleResponse","queryId"],"sources":["../../../../src/tx/builder/delegation/schema.ts"],"sourcesContent":["import SchemaTypes from '../SchemaTypes.js';\nimport address from '../field-types/address.js';\nimport nameId from '../field-types/name-id.js';\nimport shortUIntConst from '../field-types/short-u-int-const.js';\nimport { Encoded, Encoding, decode, encode } from '../../../utils/encoder.js';\n\n/**\n * @category delegation signature\n */\nexport enum DelegationTag {\n /**\n * Delegation of all AENS names to a contract\n */\n AensWildcard = 1,\n /**\n * Delegation of an AENS name to a contract\n */\n AensName = 2,\n /**\n * Delegation of AENS preclaim to a contract\n */\n AensPreclaim = 3,\n /**\n * Delegation of oracle operations to a contract\n */\n Oracle = 4,\n /**\n * Delegation of oracle query to a contract\n */\n OracleResponse = 5,\n}\n\nconst oracleAddressField = address(Encoding.OracleAddress);\n/**\n * Oracle query ID to reply by a contract\n */\nconst queryIdField = {\n serialize(value: Encoded.OracleQueryId): Buffer {\n return oracleAddressField.serialize(encode(decode(value), Encoding.OracleAddress));\n },\n deserialize(value: Buffer): Encoded.OracleQueryId {\n return encode(decode(oracleAddressField.deserialize(value)), Encoding.OracleQueryId);\n },\n} as const;\n\n/**\n * Address of a contract to delegate permissions to\n */\nconst contractAddress = address(Encoding.ContractAddress);\n\n/**\n * @see {@link https://github.com/aeternity/protocol/blob/8a9d1d1206174627f6aaef86159dc9c643080653/contracts/fate.md#from-ceres-serialized-signature-data}\n */\nexport const schemas = [\n {\n tag: shortUIntConst(DelegationTag.AensWildcard),\n version: shortUIntConst(1, true),\n accountAddress: address(Encoding.AccountAddress),\n contractAddress,\n },\n {\n tag: shortUIntConst(DelegationTag.AensName),\n version: shortUIntConst(1, true),\n accountAddress: address(Encoding.AccountAddress),\n /**\n * AENS name to manage by a contract\n */\n nameId,\n contractAddress,\n },\n {\n tag: shortUIntConst(DelegationTag.AensPreclaim),\n version: shortUIntConst(1, true),\n accountAddress: address(Encoding.AccountAddress),\n contractAddress,\n },\n {\n tag: shortUIntConst(DelegationTag.Oracle),\n version: shortUIntConst(1, true),\n accountAddress: address(Encoding.AccountAddress),\n contractAddress,\n },\n {\n tag: shortUIntConst(DelegationTag.OracleResponse),\n version: shortUIntConst(1, true),\n queryId: queryIdField,\n contractAddress,\n },\n] as const;\n\ntype Schemas = SchemaTypes<typeof schemas>;\nexport type DlgParams = Schemas['TxParams'];\nexport type DlgUnpacked = Schemas['TxUnpacked'];\n"],"mappings":"AACA,OAAOA,OAAO,MAAM,2BAA2B;AAC/C,OAAOC,MAAM,MAAM,2BAA2B;AAC9C,OAAOC,cAAc,MAAM,qCAAqC;AAChE,SAAkBC,QAAQ,EAAEC,MAAM,EAAEC,MAAM,QAAQ,2BAA2B;;AAE7E;AACA;AACA;AACA,WAAYC,aAAa,0BAAbA,aAAa;EACvB;AACF;AACA;EAHYA,aAAa,CAAbA,aAAa;EAKvB;AACF;AACA;EAPYA,aAAa,CAAbA,aAAa;EASvB;AACF;AACA;EAXYA,aAAa,CAAbA,aAAa;EAavB;AACF;AACA;EAfYA,aAAa,CAAbA,aAAa;EAiBvB;AACF;AACA;EAnBYA,aAAa,CAAbA,aAAa;EAAA,OAAbA,aAAa;AAAA;AAuBzB,MAAMC,kBAAkB,GAAGP,OAAO,CAACG,QAAQ,CAACK,aAAa,CAAC;AAC1D;AACA;AACA;AACA,MAAMC,YAAY,GAAG;EACnBC,SAASA,CAACC,KAA4B,EAAU;IAC9C,OAAOJ,kBAAkB,CAACG,SAAS,CAACL,MAAM,CAACD,MAAM,CAACO,KAAK,CAAC,EAAER,QAAQ,CAACK,aAAa,CAAC,CAAC;EACpF,CAAC;EACDI,WAAWA,CAACD,KAAa,EAAyB;IAChD,OAAON,MAAM,CAACD,MAAM,CAACG,kBAAkB,CAACK,WAAW,CAACD,KAAK,CAAC,CAAC,EAAER,QAAQ,CAACU,aAAa,CAAC;EACtF;AACF,CAAU;;AAEV;AACA;AACA;AACA,MAAMC,eAAe,GAAGd,OAAO,CAACG,QAAQ,CAACY,eAAe,CAAC;;AAEzD;AACA;AACA;AACA,OAAO,MAAMC,OAAO,GAAG,CACrB;EACEC,GAAG,EAAEf,cAAc,CAACI,aAAa,CAACY,YAAY,CAAC;EAC/CC,OAAO,EAAEjB,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCkB,cAAc,EAAEpB,OAAO,CAACG,QAAQ,CAACkB,cAAc,CAAC;EAChDP;AACF,CAAC,EACD;EACEG,GAAG,EAAEf,cAAc,CAACI,aAAa,CAACgB,QAAQ,CAAC;EAC3CH,OAAO,EAAEjB,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCkB,cAAc,EAAEpB,OAAO,CAACG,QAAQ,CAACkB,cAAc,CAAC;EAChD;AACJ;AACA;EACIpB,MAAM;EACNa;AACF,CAAC,EACD;EACEG,GAAG,EAAEf,cAAc,CAACI,aAAa,CAACiB,YAAY,CAAC;EAC/CJ,OAAO,EAAEjB,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCkB,cAAc,EAAEpB,OAAO,CAACG,QAAQ,CAACkB,cAAc,CAAC;EAChDP;AACF,CAAC,EACD;EACEG,GAAG,EAAEf,cAAc,CAACI,aAAa,CAACkB,MAAM,CAAC;EACzCL,OAAO,EAAEjB,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCkB,cAAc,EAAEpB,OAAO,CAACG,QAAQ,CAACkB,cAAc,CAAC;EAChDP;AACF,CAAC,EACD;EACEG,GAAG,EAAEf,cAAc,CAACI,aAAa,CAACmB,cAAc,CAAC;EACjDN,OAAO,EAAEjB,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC;EAChCwB,OAAO,EAAEjB,YAAY;EACrBK;AACF,CAAC,CACO","ignoreList":[]}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @category contract
|
|
3
|
+
*/
|
|
1
4
|
export let CallReturnType = /*#__PURE__*/function (CallReturnType) {
|
|
2
5
|
CallReturnType[CallReturnType["Ok"] = 0] = "Ok";
|
|
3
6
|
CallReturnType[CallReturnType["Error"] = 1] = "Error";
|
|
@@ -6,12 +9,15 @@ export let CallReturnType = /*#__PURE__*/function (CallReturnType) {
|
|
|
6
9
|
}({});
|
|
7
10
|
|
|
8
11
|
/**
|
|
9
|
-
* @category entry
|
|
12
|
+
* @category entry builder
|
|
10
13
|
*/
|
|
11
14
|
export let EntryTag = /*#__PURE__*/function (EntryTag) {
|
|
12
15
|
EntryTag[EntryTag["Account"] = 10] = "Account";
|
|
13
16
|
EntryTag[EntryTag["Oracle"] = 20] = "Oracle";
|
|
17
|
+
// OracleQuery = 21,
|
|
14
18
|
EntryTag[EntryTag["Name"] = 30] = "Name";
|
|
19
|
+
// NameCommitment = 31,
|
|
20
|
+
// NameAuction = 37,
|
|
15
21
|
EntryTag[EntryTag["Contract"] = 40] = "Contract";
|
|
16
22
|
EntryTag[EntryTag["ContractCall"] = 41] = "ContractCall";
|
|
17
23
|
EntryTag[EntryTag["ChannelOffChainUpdateTransfer"] = 570] = "ChannelOffChainUpdateTransfer";
|
|
@@ -19,8 +25,10 @@ export let EntryTag = /*#__PURE__*/function (EntryTag) {
|
|
|
19
25
|
EntryTag[EntryTag["ChannelOffChainUpdateWithdraw"] = 572] = "ChannelOffChainUpdateWithdraw";
|
|
20
26
|
EntryTag[EntryTag["ChannelOffChainUpdateCreateContract"] = 573] = "ChannelOffChainUpdateCreateContract";
|
|
21
27
|
EntryTag[EntryTag["ChannelOffChainUpdateCallContract"] = 574] = "ChannelOffChainUpdateCallContract";
|
|
28
|
+
// ChannelOffChainUpdateMeta = 576,
|
|
22
29
|
EntryTag[EntryTag["Channel"] = 58] = "Channel";
|
|
23
30
|
EntryTag[EntryTag["TreesPoi"] = 60] = "TreesPoi";
|
|
31
|
+
// TreesDb = 61,
|
|
24
32
|
EntryTag[EntryTag["StateTrees"] = 62] = "StateTrees";
|
|
25
33
|
EntryTag[EntryTag["Mtree"] = 63] = "Mtree";
|
|
26
34
|
EntryTag[EntryTag["MtreeValue"] = 64] = "MtreeValue";
|
|
@@ -30,6 +38,7 @@ export let EntryTag = /*#__PURE__*/function (EntryTag) {
|
|
|
30
38
|
EntryTag[EntryTag["NameserviceMtree"] = 624] = "NameserviceMtree";
|
|
31
39
|
EntryTag[EntryTag["OraclesMtree"] = 625] = "OraclesMtree";
|
|
32
40
|
EntryTag[EntryTag["AccountsMtree"] = 626] = "AccountsMtree";
|
|
41
|
+
// CompilerSophia = 70,
|
|
33
42
|
EntryTag[EntryTag["GaMetaTxAuthData"] = 810] = "GaMetaTxAuthData";
|
|
34
43
|
return EntryTag;
|
|
35
44
|
}({});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","names":["CallReturnType","EntryTag"],"sources":["../../../../src/tx/builder/entry/constants.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"constants.js","names":["CallReturnType","EntryTag"],"sources":["../../../../src/tx/builder/entry/constants.ts"],"sourcesContent":["/**\n * @category contract\n */\nexport enum CallReturnType {\n Ok = 0,\n Error = 1,\n Revert = 2,\n}\n\n/**\n * @category entry builder\n */\nexport enum EntryTag {\n Account = 10,\n Oracle = 20,\n // OracleQuery = 21,\n Name = 30,\n // NameCommitment = 31,\n // NameAuction = 37,\n Contract = 40,\n ContractCall = 41,\n ChannelOffChainUpdateTransfer = 570,\n ChannelOffChainUpdateDeposit = 571,\n ChannelOffChainUpdateWithdraw = 572,\n ChannelOffChainUpdateCreateContract = 573,\n ChannelOffChainUpdateCallContract = 574,\n // ChannelOffChainUpdateMeta = 576,\n Channel = 58,\n TreesPoi = 60,\n // TreesDb = 61,\n StateTrees = 62,\n Mtree = 63,\n MtreeValue = 64,\n ContractsMtree = 621,\n CallsMtree = 622,\n ChannelsMtree = 623,\n NameserviceMtree = 624,\n OraclesMtree = 625,\n AccountsMtree = 626,\n // CompilerSophia = 70,\n GaMetaTxAuthData = 810,\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,WAAYA,cAAc,0BAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAdA,cAAc,CAAdA,cAAc;EAAA,OAAdA,cAAc;AAAA;;AAM1B;AACA;AACA;AACA,WAAYC,QAAQ,0BAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAGlB;EAHUA,QAAQ,CAARA,QAAQ;EAKlB;EACA;EANUA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAclB;EAdUA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAiBlB;EAjBUA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EA2BlB;EA3BUA,QAAQ,CAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA","ignoreList":[]}
|
|
@@ -28,8 +28,7 @@ export function packEntry(params) {
|
|
|
28
28
|
*/
|
|
29
29
|
|
|
30
30
|
export function unpackEntry(encoded, expectedTag) {
|
|
31
|
-
|
|
32
|
-
(_expectedTag = expectedTag) !== null && _expectedTag !== void 0 ? _expectedTag : expectedTag = encodingTag.find(([, enc]) => encoded.startsWith(enc))?.[0];
|
|
31
|
+
expectedTag !== null && expectedTag !== void 0 ? expectedTag : expectedTag = encodingTag.find(([, enc]) => encoded.startsWith(enc))?.[0];
|
|
33
32
|
return unpackRecord(schemas, EntryTag, encoded, expectedTag, {
|
|
34
33
|
unpackEntry
|
|
35
34
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["Encoding","packRecord","unpackRecord","schemas","EntryTag","encodingTag","CallsMtree","CallStateTree","StateTrees","TreesPoi","Poi","packEntry","params","_encodingTag$find$","encoding","find","tag","Bytearray","unpackEntry","encoded","expectedTag","
|
|
1
|
+
{"version":3,"file":"index.js","names":["Encoding","packRecord","unpackRecord","schemas","EntryTag","encodingTag","CallsMtree","CallStateTree","StateTrees","TreesPoi","Poi","packEntry","params","_encodingTag$find$","encoding","find","tag","Bytearray","unpackEntry","encoded","expectedTag","enc","startsWith"],"sources":["../../../../src/tx/builder/entry/index.ts"],"sourcesContent":["import { Encoded, Encoding } from '../../../utils/encoder.js';\nimport { packRecord, unpackRecord } from '../common.js';\nimport { schemas } from './schema.js';\nimport { EntryTag } from './constants.js';\nimport { EntParams, EntUnpacked } from './schema.generated.js';\n\nconst encodingTag = [\n [EntryTag.CallsMtree, Encoding.CallStateTree],\n [EntryTag.StateTrees, Encoding.StateTrees],\n [EntryTag.TreesPoi, Encoding.Poi],\n] as const;\n\nexport function packEntry(params: EntParams & { tag: EntryTag.CallsMtree }): Encoded.CallStateTree;\nexport function packEntry(params: EntParams & { tag: EntryTag.StateTrees }): Encoded.StateTrees;\nexport function packEntry(params: EntParams & { tag: EntryTag.TreesPoi }): Encoded.Poi;\n/**\n * Pack entry\n * @category entry builder\n * @param params - Params of entry\n * @returns Encoded entry\n */\nexport function packEntry(params: EntParams): Encoded.Any;\nexport function packEntry(params: EntParams): Encoded.Any {\n const encoding = encodingTag.find(([tag]) => tag === params.tag)?.[1] ?? Encoding.Bytearray;\n return packRecord(schemas, EntryTag, params, { packEntry }, encoding);\n}\n\nexport function unpackEntry(\n encoded: Encoded.CallStateTree,\n): EntUnpacked & { tag: EntryTag.CallsMtree };\nexport function unpackEntry(\n encoded: Encoded.StateTrees,\n): EntUnpacked & { tag: EntryTag.StateTrees };\nexport function unpackEntry(encoded: Encoded.Poi): EntUnpacked & { tag: EntryTag.TreesPoi };\n/**\n * Unpack entry\n * @category entry builder\n * @param encoded - Encoded entry\n * @param expectedTag - Expected entry type\n * @returns Params of entry\n */\nexport function unpackEntry<T extends EntryTag>(\n encoded: Encoded.Any,\n expectedTag?: T,\n): EntUnpacked & { tag: T };\nexport function unpackEntry(encoded: Encoded.Any, expectedTag?: EntryTag): EntUnpacked {\n expectedTag ??= encodingTag.find(([, enc]) => encoded.startsWith(enc))?.[0];\n return unpackRecord(schemas, EntryTag, encoded, expectedTag, { unpackEntry }) as any;\n}\n"],"mappings":"AAAA,SAAkBA,QAAQ,QAAQ,2BAA2B;AAC7D,SAASC,UAAU,EAAEC,YAAY,QAAQ,cAAc;AACvD,SAASC,OAAO,QAAQ,aAAa;AACrC,SAASC,QAAQ,QAAQ,gBAAgB;AAGzC,MAAMC,WAAW,GAAG,CAClB,CAACD,QAAQ,CAACE,UAAU,EAAEN,QAAQ,CAACO,aAAa,CAAC,EAC7C,CAACH,QAAQ,CAACI,UAAU,EAAER,QAAQ,CAACQ,UAAU,CAAC,EAC1C,CAACJ,QAAQ,CAACK,QAAQ,EAAET,QAAQ,CAACU,GAAG,CAAC,CACzB;;AAKV;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASC,SAASA,CAACC,MAAiB,EAAe;EAAA,IAAAC,kBAAA;EACxD,MAAMC,QAAQ,IAAAD,kBAAA,GAAGR,WAAW,CAACU,IAAI,CAAC,CAAC,CAACC,GAAG,CAAC,KAAKA,GAAG,KAAKJ,MAAM,CAACI,GAAG,CAAC,GAAG,CAAC,CAAC,cAAAH,kBAAA,cAAAA,kBAAA,GAAIb,QAAQ,CAACiB,SAAS;EAC3F,OAAOhB,UAAU,CAACE,OAAO,EAAEC,QAAQ,EAAEQ,MAAM,EAAE;IAAED;EAAU,CAAC,EAAEG,QAAQ,CAAC;AACvE;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA,OAAO,SAASI,WAAWA,CAACC,OAAoB,EAAEC,WAAsB,EAAe;EACrFA,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAXA,WAAW,GAAKf,WAAW,CAACU,IAAI,CAAC,CAAC,GAAGM,GAAG,CAAC,KAAKF,OAAO,CAACG,UAAU,CAACD,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;EAC3E,OAAOnB,YAAY,CAACC,OAAO,EAAEC,QAAQ,EAAEe,OAAO,EAAEC,WAAW,EAAE;IAAEF;EAAY,CAAC,CAAC;AAC/E","ignoreList":[]}
|
|
@@ -32,8 +32,7 @@ export default {
|
|
|
32
32
|
serialize(value, params, {
|
|
33
33
|
consensusProtocolVersion = ConsensusProtocolVersion.Ceres
|
|
34
34
|
}) {
|
|
35
|
-
|
|
36
|
-
(_value = value) !== null && _value !== void 0 ? _value : value = getProtocolDetails(consensusProtocolVersion, 'contract-create');
|
|
35
|
+
value !== null && value !== void 0 ? value : value = getProtocolDetails(consensusProtocolVersion, 'contract-create');
|
|
37
36
|
return _Buffer.from([value.vmVersion, 0, value.abiVersion]);
|
|
38
37
|
},
|
|
39
38
|
async prepare(value, params,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-version.js","names":["ConsensusProtocolVersion","VmVersion","AbiVersion","ProtocolToVmAbi","Ceres","vmVersion","Fate3","abiVersion","Fate","NoAbi","getProtocolDetails","protocolVersion","type","_protocol$vmVersion$","protocol","Fate2","serialize","value","params","consensusProtocolVersion","
|
|
1
|
+
{"version":3,"file":"ct-version.js","names":["ConsensusProtocolVersion","VmVersion","AbiVersion","ProtocolToVmAbi","Ceres","vmVersion","Fate3","abiVersion","Fate","NoAbi","getProtocolDetails","protocolVersion","type","_protocol$vmVersion$","protocol","Fate2","serialize","value","params","consensusProtocolVersion","_Buffer","from","prepare","options","undefined","Object","keys","length","onNode","getNodeInfo","deserialize","buffer","vm","abi"],"sources":["../../../../src/tx/builder/field-types/ct-version.ts"],"sourcesContent":["import { ConsensusProtocolVersion, VmVersion, AbiVersion } from '../constants.js';\nimport Node from '../../../Node.js';\n\n/*\n * First abi/vm by default\n * @see {@link https://github.com/aeternity/protocol/blob/71cf111/contracts/contract_vms.md#virtual-machines-on-the-æternity-blockchain}\n */\nexport const ProtocolToVmAbi = {\n [ConsensusProtocolVersion.Ceres]: {\n 'contract-create': {\n vmVersion: [VmVersion.Fate3],\n abiVersion: [AbiVersion.Fate],\n },\n 'contract-call': {\n vmVersion: [],\n abiVersion: [AbiVersion.Fate],\n },\n 'oracle-call': {\n vmVersion: [],\n abiVersion: [AbiVersion.NoAbi, AbiVersion.Fate],\n },\n },\n} as const;\n\nexport interface CtVersion {\n vmVersion: VmVersion;\n abiVersion: AbiVersion;\n}\n\nexport function getProtocolDetails(\n protocolVersion: ConsensusProtocolVersion,\n type: 'contract-create' | 'contract-call' | 'oracle-call',\n): CtVersion {\n const protocol = ProtocolToVmAbi[protocolVersion][type];\n return {\n vmVersion: protocol.vmVersion[0] ?? VmVersion.Fate2,\n abiVersion: protocol.abiVersion[0],\n };\n}\n\nexport default {\n serialize(\n value: CtVersion | undefined,\n params: {},\n {\n consensusProtocolVersion = ConsensusProtocolVersion.Ceres,\n }: { consensusProtocolVersion?: ConsensusProtocolVersion },\n ): Buffer {\n value ??= getProtocolDetails(consensusProtocolVersion, 'contract-create');\n\n return Buffer.from([value.vmVersion, 0, value.abiVersion]);\n },\n\n async prepare(\n value: CtVersion | undefined,\n params: {},\n // TODO: { consensusProtocolVersion: ConsensusProtocolVersion } | { onNode: Node } | {}\n options: { consensusProtocolVersion?: ConsensusProtocolVersion; onNode?: Node },\n ): Promise<CtVersion | undefined> {\n if (value != null) return value;\n if (options.consensusProtocolVersion != null) return undefined;\n if (Object.keys(ConsensusProtocolVersion).length === 2) return undefined;\n if (options.onNode != null) {\n return getProtocolDetails(\n (await options.onNode.getNodeInfo()).consensusProtocolVersion,\n 'contract-create',\n );\n }\n return undefined;\n },\n\n deserialize(buffer: Buffer): CtVersion {\n const [vm, , abi] = buffer;\n return { vmVersion: +vm, abiVersion: +abi };\n },\n};\n"],"mappings":";AAAA,SAASA,wBAAwB,EAAEC,SAAS,EAAEC,UAAU,QAAQ,iBAAiB;AAGjF;AACA;AACA;AACA;AACA,OAAO,MAAMC,eAAe,GAAG;EAC7B,CAACH,wBAAwB,CAACI,KAAK,GAAG;IAChC,iBAAiB,EAAE;MACjBC,SAAS,EAAE,CAACJ,SAAS,CAACK,KAAK,CAAC;MAC5BC,UAAU,EAAE,CAACL,UAAU,CAACM,IAAI;IAC9B,CAAC;IACD,eAAe,EAAE;MACfH,SAAS,EAAE,EAAE;MACbE,UAAU,EAAE,CAACL,UAAU,CAACM,IAAI;IAC9B,CAAC;IACD,aAAa,EAAE;MACbH,SAAS,EAAE,EAAE;MACbE,UAAU,EAAE,CAACL,UAAU,CAACO,KAAK,EAAEP,UAAU,CAACM,IAAI;IAChD;EACF;AACF,CAAU;AAOV,OAAO,SAASE,kBAAkBA,CAChCC,eAAyC,EACzCC,IAAyD,EAC9C;EAAA,IAAAC,oBAAA;EACX,MAAMC,QAAQ,GAAGX,eAAe,CAACQ,eAAe,CAAC,CAACC,IAAI,CAAC;EACvD,OAAO;IACLP,SAAS,GAAAQ,oBAAA,GAAEC,QAAQ,CAACT,SAAS,CAAC,CAAC,CAAC,cAAAQ,oBAAA,cAAAA,oBAAA,GAAIZ,SAAS,CAACc,KAAK;IACnDR,UAAU,EAAEO,QAAQ,CAACP,UAAU,CAAC,CAAC;EACnC,CAAC;AACH;AAEA,eAAe;EACbS,SAASA,CACPC,KAA4B,EAC5BC,MAAU,EACV;IACEC,wBAAwB,GAAGnB,wBAAwB,CAACI;EACG,CAAC,EAClD;IACRa,KAAK,aAALA,KAAK,cAALA,KAAK,GAALA,KAAK,GAAKP,kBAAkB,CAACS,wBAAwB,EAAE,iBAAiB,CAAC;IAEzE,OAAOC,OAAA,CAAOC,IAAI,CAAC,CAACJ,KAAK,CAACZ,SAAS,EAAE,CAAC,EAAEY,KAAK,CAACV,UAAU,CAAC,CAAC;EAC5D,CAAC;EAED,MAAMe,OAAOA,CACXL,KAA4B,EAC5BC,MAAU;EACV;EACAK,OAA+E,EAC/C;IAChC,IAAIN,KAAK,IAAI,IAAI,EAAE,OAAOA,KAAK;IAC/B,IAAIM,OAAO,CAACJ,wBAAwB,IAAI,IAAI,EAAE,OAAOK,SAAS;IAC9D,IAAIC,MAAM,CAACC,IAAI,CAAC1B,wBAAwB,CAAC,CAAC2B,MAAM,KAAK,CAAC,EAAE,OAAOH,SAAS;IACxE,IAAID,OAAO,CAACK,MAAM,IAAI,IAAI,EAAE;MAC1B,OAAOlB,kBAAkB,CACvB,CAAC,MAAMa,OAAO,CAACK,MAAM,CAACC,WAAW,CAAC,CAAC,EAAEV,wBAAwB,EAC7D,iBACF,CAAC;IACH;IACA,OAAOK,SAAS;EAClB,CAAC;EAEDM,WAAWA,CAACC,MAAc,EAAa;IACrC,MAAM,CAACC,EAAE,GAAIC,GAAG,CAAC,GAAGF,MAAM;IAC1B,OAAO;MAAE1B,SAAS,EAAE,CAAC2B,EAAE;MAAEzB,UAAU,EAAE,CAAC0B;IAAI,CAAC;EAC7C;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
2
|
import { ArgumentError, IllegalArgumentError } from '../../../utils/errors.js';
|
|
3
3
|
import { MIN_GAS_PRICE, Tag } from '../constants.js';
|
|
4
4
|
import uInt from './u-int.js';
|
|
@@ -46,7 +46,7 @@ const TX_BASE_GAS = txType => {
|
|
|
46
46
|
* @returns The other gas
|
|
47
47
|
* @example
|
|
48
48
|
* ```js
|
|
49
|
-
* TX_OTHER_GAS(Tag.
|
|
49
|
+
* TX_OTHER_GAS(Tag.OracleRespondTx, 10, { relativeTtl: 12, innerTxSize: 0 })
|
|
50
50
|
* => 10 * 20 + Math.ceil(32000 * 12 / Math.floor(60 * 24 * 365 / 3))
|
|
51
51
|
* ```
|
|
52
52
|
*/
|
|
@@ -58,7 +58,7 @@ const TX_OTHER_GAS = (txType, txSize, {
|
|
|
58
58
|
case Tag.OracleRegisterTx:
|
|
59
59
|
case Tag.OracleExtendTx:
|
|
60
60
|
case Tag.OracleQueryTx:
|
|
61
|
-
case Tag.
|
|
61
|
+
case Tag.OracleRespondTx:
|
|
62
62
|
return txSize * GAS_PER_BYTE + Math.ceil(32000 * relativeTtl / Math.floor(60 * 24 * 365 / KEY_BLOCK_INTERVAL));
|
|
63
63
|
case Tag.GaMetaTx:
|
|
64
64
|
case Tag.PayingForTx:
|
|
@@ -72,7 +72,7 @@ function getOracleRelativeTtl(params) {
|
|
|
72
72
|
[Tag.OracleRegisterTx]: 'oracleTtlValue',
|
|
73
73
|
[Tag.OracleExtendTx]: 'oracleTtlValue',
|
|
74
74
|
[Tag.OracleQueryTx]: 'queryTtlValue',
|
|
75
|
-
[Tag.
|
|
75
|
+
[Tag.OracleRespondTx]: 'responseTtlValue'
|
|
76
76
|
};
|
|
77
77
|
const {
|
|
78
78
|
tag
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fee.js","names":["BigNumber","ArgumentError","IllegalArgumentError","MIN_GAS_PRICE","Tag","uInt","coinAmount","getCachedIncreasedGasPrice","isKeyOfObject","decode","BASE_GAS","GAS_PER_BYTE","KEY_BLOCK_INTERVAL","TX_BASE_GAS","txType","_feeFactors","feeFactors","ChannelForceProgressTx","ChannelOffChainTx","ContractCreateTx","ContractCallTx","GaAttachTx","GaMetaTx","PayingForTx","factor","TX_OTHER_GAS","txSize","relativeTtl","innerTxSize","OracleRegisterTx","OracleExtendTx","OracleQueryTx","OracleResponseTx","Math","ceil","floor","getOracleRelativeTtl","params","ttlKeys","tag","buildGas","builtTx","unpackTx","buildTx","length","txObject","tx","encodedTx","calculateMinFee","rebuildTx","fee","previousFee","times","eq","gasPricePrefix","prepare","value","onNode","gasPrice","undefined","serializeAettos","_value","_computingMinFee","_canIncreaseFee","toFixed","minFee","startsWith","dividedBy","replace","gt","toString","serialize","options","call"],"sources":["../../../../src/tx/builder/field-types/fee.ts"],"sourcesContent":["import { BigNumber } from 'bignumber.js';\nimport { ArgumentError, IllegalArgumentError } from '../../../utils/errors.js';\nimport { Int, MIN_GAS_PRICE, Tag } from '../constants.js';\nimport uInt from './u-int.js';\nimport coinAmount from './coin-amount.js';\nimport { getCachedIncreasedGasPrice } from './gas-price.js';\nimport { isKeyOfObject } from '../../../utils/other.js';\nimport { decode, Encoded } from '../../../utils/encoder.js';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index.js';\nimport Node from '../../../Node.js';\n\nconst BASE_GAS = 15000;\nconst GAS_PER_BYTE = 20;\nconst KEY_BLOCK_INTERVAL = 3;\n\n/**\n * Calculate the base gas\n * @see {@link https://github.com/aeternity/protocol/blob/master/consensus/README.md#gas}\n * @param txType - The transaction type\n * @returns The base gas\n * @example\n * ```js\n * TX_BASE_GAS(Tag.ChannelForceProgressTx) => 30 * 15000\n * ```\n */\nconst TX_BASE_GAS = (txType: Tag): number => {\n const feeFactors = {\n [Tag.ChannelForceProgressTx]: 30,\n [Tag.ChannelOffChainTx]: 0,\n [Tag.ContractCreateTx]: 5,\n [Tag.ContractCallTx]: 12,\n [Tag.GaAttachTx]: 5,\n [Tag.GaMetaTx]: 5,\n [Tag.PayingForTx]: 1 / 5,\n } as const;\n const factor = feeFactors[txType as keyof typeof feeFactors] ?? 1;\n return factor * BASE_GAS;\n};\n\n/**\n * Calculate gas for other types of transactions\n * @see {@link https://github.com/aeternity/protocol/blob/master/consensus/README.md#gas}\n * @param txType - The transaction type\n * @param txSize - The transaction size\n * @returns parameters - The transaction parameters\n * @returns parameters.relativeTtl - The relative ttl\n * @returns parameters.innerTxSize - The size of the inner transaction\n * @returns The other gas\n * @example\n * ```js\n * TX_OTHER_GAS(Tag.OracleResponseTx, 10, { relativeTtl: 12, innerTxSize: 0 })\n * => 10 * 20 + Math.ceil(32000 * 12 / Math.floor(60 * 24 * 365 / 3))\n * ```\n */\nconst TX_OTHER_GAS = (\n txType: Tag,\n txSize: number,\n { relativeTtl, innerTxSize }: { relativeTtl: number; innerTxSize: number },\n): number => {\n switch (txType) {\n case Tag.OracleRegisterTx:\n case Tag.OracleExtendTx:\n case Tag.OracleQueryTx:\n case Tag.OracleResponseTx:\n return (\n txSize * GAS_PER_BYTE +\n Math.ceil((32000 * relativeTtl) / Math.floor((60 * 24 * 365) / KEY_BLOCK_INTERVAL))\n );\n case Tag.GaMetaTx:\n case Tag.PayingForTx:\n return (txSize - innerTxSize) * GAS_PER_BYTE;\n default:\n return txSize * GAS_PER_BYTE;\n }\n};\n\nfunction getOracleRelativeTtl(params: any): number {\n const ttlKeys = {\n [Tag.OracleRegisterTx]: 'oracleTtlValue',\n [Tag.OracleExtendTx]: 'oracleTtlValue',\n [Tag.OracleQueryTx]: 'queryTtlValue',\n [Tag.OracleResponseTx]: 'responseTtlValue',\n } as const;\n\n const { tag } = params;\n if (!isKeyOfObject(tag, ttlKeys)) return 1;\n return params[ttlKeys[tag]];\n}\n\n/**\n * Calculate gas based on tx type and params\n */\nexport function buildGas(\n builtTx: Encoded.Transaction,\n unpackTx: typeof unpackTxType,\n buildTx: typeof buildTxType,\n): number {\n const { length } = decode(builtTx);\n const txObject = unpackTx(builtTx);\n\n let innerTxSize = 0;\n if (txObject.tag === Tag.GaMetaTx || txObject.tag === Tag.PayingForTx) {\n innerTxSize = decode(buildTx(txObject.tx.encodedTx)).length;\n }\n\n return (\n TX_BASE_GAS(txObject.tag) +\n TX_OTHER_GAS(txObject.tag, length, {\n relativeTtl: getOracleRelativeTtl(txObject),\n innerTxSize,\n })\n );\n}\n\n/**\n * Calculate min fee\n * @category transaction builder\n * @param rebuildTx - Callback to get built transaction with specific fee\n */\nfunction calculateMinFee(\n rebuildTx: (value: BigNumber) => Encoded.Transaction,\n unpackTx: typeof unpackTxType,\n buildTx: typeof buildTxType,\n): BigNumber {\n let fee = new BigNumber(0);\n let previousFee;\n do {\n previousFee = fee;\n fee = new BigNumber(MIN_GAS_PRICE).times(buildGas(rebuildTx(fee), unpackTx, buildTx));\n } while (!fee.eq(previousFee));\n return fee;\n}\n\n// TODO: Get rid of this workaround. Transaction builder can't accept/return gas price instead of\n// fee because it may get a decimal gas price. So, it should accept the optional `gasPrice` even\n// if it is not a contract-related transaction. And use this `gasPrice` to calculate `fee`.\nconst gasPricePrefix = '_gas-price:';\n\nexport interface SerializeAettosParams {\n rebuildTx: (params: any) => Encoded.Transaction;\n unpackTx: typeof unpackTxType;\n buildTx: typeof buildTxType;\n _computingMinFee?: BigNumber;\n}\n\nexport default {\n ...coinAmount,\n\n async prepare(\n value: Int | undefined,\n params: {},\n { onNode }: { onNode?: Node },\n ): Promise<Int | undefined> {\n if (value != null) return value;\n if (onNode == null) {\n throw new ArgumentError('onNode', 'provided (or provide `fee` instead)', onNode);\n }\n const gasPrice = await getCachedIncreasedGasPrice(onNode);\n if (gasPrice === 0n) return undefined;\n return gasPricePrefix + gasPrice;\n },\n\n serializeAettos(\n _value: string | undefined,\n { rebuildTx, unpackTx, buildTx, _computingMinFee }: SerializeAettosParams,\n { _canIncreaseFee }: { _canIncreaseFee?: boolean },\n ): string {\n if (_computingMinFee != null) return _computingMinFee.toFixed();\n const minFee = calculateMinFee(\n (fee) => rebuildTx({ _computingMinFee: fee }),\n unpackTx,\n buildTx,\n );\n const value =\n _value?.startsWith(gasPricePrefix) === true\n ? minFee.dividedBy(MIN_GAS_PRICE).times(_value.replace(gasPricePrefix, ''))\n : new BigNumber(_value ?? minFee);\n if (minFee.gt(value)) {\n if (_canIncreaseFee === true) return minFee.toFixed();\n throw new IllegalArgumentError(`Fee ${value.toString()} must be bigger than ${minFee}`);\n }\n return value.toFixed();\n },\n\n serialize(\n value: Parameters<typeof coinAmount.serialize>[0],\n params: Parameters<typeof coinAmount.serialize>[1] & SerializeAettosParams,\n options: { _canIncreaseFee?: boolean } & Parameters<typeof coinAmount.serialize>[2],\n ): Buffer {\n if (typeof value === 'string' && value.startsWith(gasPricePrefix)) {\n return uInt.serialize(this.serializeAettos(value, params, options));\n }\n return coinAmount.serialize.call(this, value, params, options);\n },\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"fee.js","names":["BigNumber","ArgumentError","IllegalArgumentError","MIN_GAS_PRICE","Tag","uInt","coinAmount","getCachedIncreasedGasPrice","isKeyOfObject","decode","BASE_GAS","GAS_PER_BYTE","KEY_BLOCK_INTERVAL","TX_BASE_GAS","txType","_feeFactors","feeFactors","ChannelForceProgressTx","ChannelOffChainTx","ContractCreateTx","ContractCallTx","GaAttachTx","GaMetaTx","PayingForTx","factor","TX_OTHER_GAS","txSize","relativeTtl","innerTxSize","OracleRegisterTx","OracleExtendTx","OracleQueryTx","OracleRespondTx","Math","ceil","floor","getOracleRelativeTtl","params","ttlKeys","tag","buildGas","builtTx","unpackTx","buildTx","length","txObject","tx","encodedTx","calculateMinFee","rebuildTx","fee","previousFee","times","eq","gasPricePrefix","prepare","value","onNode","gasPrice","undefined","serializeAettos","_value","_computingMinFee","_canIncreaseFee","toFixed","minFee","startsWith","dividedBy","replace","gt","toString","serialize","options","call"],"sources":["../../../../src/tx/builder/field-types/fee.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { ArgumentError, IllegalArgumentError } from '../../../utils/errors.js';\nimport { Int, MIN_GAS_PRICE, Tag } from '../constants.js';\nimport uInt from './u-int.js';\nimport coinAmount from './coin-amount.js';\nimport { getCachedIncreasedGasPrice } from './gas-price.js';\nimport { isKeyOfObject } from '../../../utils/other.js';\nimport { decode, Encoded } from '../../../utils/encoder.js';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index.js';\nimport Node from '../../../Node.js';\n\nconst BASE_GAS = 15000;\nconst GAS_PER_BYTE = 20;\nconst KEY_BLOCK_INTERVAL = 3;\n\n/**\n * Calculate the base gas\n * @see {@link https://github.com/aeternity/protocol/blob/master/consensus/README.md#gas}\n * @param txType - The transaction type\n * @returns The base gas\n * @example\n * ```js\n * TX_BASE_GAS(Tag.ChannelForceProgressTx) => 30 * 15000\n * ```\n */\nconst TX_BASE_GAS = (txType: Tag): number => {\n const feeFactors = {\n [Tag.ChannelForceProgressTx]: 30,\n [Tag.ChannelOffChainTx]: 0,\n [Tag.ContractCreateTx]: 5,\n [Tag.ContractCallTx]: 12,\n [Tag.GaAttachTx]: 5,\n [Tag.GaMetaTx]: 5,\n [Tag.PayingForTx]: 1 / 5,\n } as const;\n const factor = feeFactors[txType as keyof typeof feeFactors] ?? 1;\n return factor * BASE_GAS;\n};\n\n/**\n * Calculate gas for other types of transactions\n * @see {@link https://github.com/aeternity/protocol/blob/master/consensus/README.md#gas}\n * @param txType - The transaction type\n * @param txSize - The transaction size\n * @returns parameters - The transaction parameters\n * @returns parameters.relativeTtl - The relative ttl\n * @returns parameters.innerTxSize - The size of the inner transaction\n * @returns The other gas\n * @example\n * ```js\n * TX_OTHER_GAS(Tag.OracleRespondTx, 10, { relativeTtl: 12, innerTxSize: 0 })\n * => 10 * 20 + Math.ceil(32000 * 12 / Math.floor(60 * 24 * 365 / 3))\n * ```\n */\nconst TX_OTHER_GAS = (\n txType: Tag,\n txSize: number,\n { relativeTtl, innerTxSize }: { relativeTtl: number; innerTxSize: number },\n): number => {\n switch (txType) {\n case Tag.OracleRegisterTx:\n case Tag.OracleExtendTx:\n case Tag.OracleQueryTx:\n case Tag.OracleRespondTx:\n return (\n txSize * GAS_PER_BYTE +\n Math.ceil((32000 * relativeTtl) / Math.floor((60 * 24 * 365) / KEY_BLOCK_INTERVAL))\n );\n case Tag.GaMetaTx:\n case Tag.PayingForTx:\n return (txSize - innerTxSize) * GAS_PER_BYTE;\n default:\n return txSize * GAS_PER_BYTE;\n }\n};\n\nfunction getOracleRelativeTtl(params: any): number {\n const ttlKeys = {\n [Tag.OracleRegisterTx]: 'oracleTtlValue',\n [Tag.OracleExtendTx]: 'oracleTtlValue',\n [Tag.OracleQueryTx]: 'queryTtlValue',\n [Tag.OracleRespondTx]: 'responseTtlValue',\n } as const;\n\n const { tag } = params;\n if (!isKeyOfObject(tag, ttlKeys)) return 1;\n return params[ttlKeys[tag]];\n}\n\n/**\n * Calculate gas based on tx type and params\n */\nexport function buildGas(\n builtTx: Encoded.Transaction,\n unpackTx: typeof unpackTxType,\n buildTx: typeof buildTxType,\n): number {\n const { length } = decode(builtTx);\n const txObject = unpackTx(builtTx);\n\n let innerTxSize = 0;\n if (txObject.tag === Tag.GaMetaTx || txObject.tag === Tag.PayingForTx) {\n innerTxSize = decode(buildTx(txObject.tx.encodedTx)).length;\n }\n\n return (\n TX_BASE_GAS(txObject.tag) +\n TX_OTHER_GAS(txObject.tag, length, {\n relativeTtl: getOracleRelativeTtl(txObject),\n innerTxSize,\n })\n );\n}\n\n/**\n * Calculate min fee\n * @category transaction builder\n * @param rebuildTx - Callback to get built transaction with specific fee\n */\nfunction calculateMinFee(\n rebuildTx: (value: BigNumber) => Encoded.Transaction,\n unpackTx: typeof unpackTxType,\n buildTx: typeof buildTxType,\n): BigNumber {\n let fee = new BigNumber(0);\n let previousFee;\n do {\n previousFee = fee;\n fee = new BigNumber(MIN_GAS_PRICE).times(buildGas(rebuildTx(fee), unpackTx, buildTx));\n } while (!fee.eq(previousFee));\n return fee;\n}\n\n// TODO: Get rid of this workaround. Transaction builder can't accept/return gas price instead of\n// fee because it may get a decimal gas price. So, it should accept the optional `gasPrice` even\n// if it is not a contract-related transaction. And use this `gasPrice` to calculate `fee`.\nconst gasPricePrefix = '_gas-price:';\n\nexport interface SerializeAettosParams {\n rebuildTx: (params: any) => Encoded.Transaction;\n unpackTx: typeof unpackTxType;\n buildTx: typeof buildTxType;\n _computingMinFee?: BigNumber;\n}\n\nexport default {\n ...coinAmount,\n\n async prepare(\n value: Int | undefined,\n params: {},\n { onNode }: { onNode?: Node },\n ): Promise<Int | undefined> {\n if (value != null) return value;\n if (onNode == null) {\n throw new ArgumentError('onNode', 'provided (or provide `fee` instead)', onNode);\n }\n const gasPrice = await getCachedIncreasedGasPrice(onNode);\n if (gasPrice === 0n) return undefined;\n return gasPricePrefix + gasPrice;\n },\n\n serializeAettos(\n _value: string | undefined,\n { rebuildTx, unpackTx, buildTx, _computingMinFee }: SerializeAettosParams,\n { _canIncreaseFee }: { _canIncreaseFee?: boolean },\n ): string {\n if (_computingMinFee != null) return _computingMinFee.toFixed();\n const minFee = calculateMinFee(\n (fee) => rebuildTx({ _computingMinFee: fee }),\n unpackTx,\n buildTx,\n );\n const value =\n _value?.startsWith(gasPricePrefix) === true\n ? minFee.dividedBy(MIN_GAS_PRICE).times(_value.replace(gasPricePrefix, ''))\n : new BigNumber(_value ?? minFee);\n if (minFee.gt(value)) {\n if (_canIncreaseFee === true) return minFee.toFixed();\n throw new IllegalArgumentError(`Fee ${value.toString()} must be bigger than ${minFee}`);\n }\n return value.toFixed();\n },\n\n serialize(\n value: Parameters<typeof coinAmount.serialize>[0],\n params: Parameters<typeof coinAmount.serialize>[1] & SerializeAettosParams,\n options: { _canIncreaseFee?: boolean } & Parameters<typeof coinAmount.serialize>[2],\n ): Buffer {\n if (typeof value === 'string' && value.startsWith(gasPricePrefix)) {\n return uInt.serialize(this.serializeAettos(value, params, options));\n }\n return coinAmount.serialize.call(this, value, params, options);\n },\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,9 @@ export declare function getCachedIncreasedGasPrice(node: Node): Promise<bigint>;
|
|
|
5
5
|
declare const _default: {
|
|
6
6
|
prepare(value: Int | undefined, params: {}, { onNode, denomination, }: {
|
|
7
7
|
onNode?: Node;
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated no replacement implemented yet
|
|
10
|
+
*/
|
|
8
11
|
denomination?: AE_AMOUNT_FORMATS;
|
|
9
12
|
}): Promise<Int | undefined>;
|
|
10
13
|
serializeAettos(value?: string | undefined): string;
|