@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.
Files changed (206) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +11 -19
  3. package/dist/aepp-sdk.browser-script.cjs +1 -1
  4. package/dist/aepp-sdk.browser-script.cjs.LICENSE.txt +2 -0
  5. package/dist/aepp-sdk.browser-script.cjs.map +1 -1
  6. package/dist/aepp-sdk.browser.cjs +1 -1
  7. package/dist/aepp-sdk.browser.cjs.map +1 -1
  8. package/dist/aepp-sdk.cjs +10846 -4277
  9. package/dist/aepp-sdk.cjs.map +1 -1
  10. package/es/AeSdkBase.d.ts +10 -1
  11. package/es/AeSdkBase.js +12 -2
  12. package/es/AeSdkBase.js.map +1 -1
  13. package/es/AeSdkMethods.d.ts +1 -1
  14. package/es/AeSdkMethods.js.map +1 -1
  15. package/es/AeSdkWallet.js +1 -1
  16. package/es/AeSdkWallet.js.map +1 -1
  17. package/es/Middleware.d.ts +5 -1
  18. package/es/Middleware.js +7 -2
  19. package/es/Middleware.js.map +1 -1
  20. package/es/MiddlewareSubscriber.d.ts +3 -0
  21. package/es/MiddlewareSubscriber.js +4 -0
  22. package/es/MiddlewareSubscriber.js.map +1 -1
  23. package/es/Node.d.ts +6 -1
  24. package/es/Node.js +28 -4
  25. package/es/Node.js.map +1 -1
  26. package/es/account/Base.d.ts +12 -0
  27. package/es/account/Base.js +1 -0
  28. package/es/account/Base.js.map +1 -1
  29. package/es/account/BaseFactory.d.ts +1 -0
  30. package/es/account/BaseFactory.js +1 -0
  31. package/es/account/BaseFactory.js.map +1 -1
  32. package/es/account/Generalized.d.ts +5 -0
  33. package/es/account/Generalized.js +9 -0
  34. package/es/account/Generalized.js.map +1 -1
  35. package/es/account/Ledger.d.ts +5 -0
  36. package/es/account/Ledger.js +9 -0
  37. package/es/account/Ledger.js.map +1 -1
  38. package/es/account/LedgerFactory.d.ts +2 -0
  39. package/es/account/LedgerFactory.js +10 -4
  40. package/es/account/LedgerFactory.js.map +1 -1
  41. package/es/account/Memory.d.ts +5 -0
  42. package/es/account/Memory.js +14 -5
  43. package/es/account/Memory.js.map +1 -1
  44. package/es/account/Metamask.d.ts +8 -0
  45. package/es/account/Metamask.js +13 -0
  46. package/es/account/Metamask.js.map +1 -1
  47. package/es/account/MetamaskFactory.d.ts +20 -2
  48. package/es/account/MetamaskFactory.js +93 -39
  49. package/es/account/MetamaskFactory.js.map +1 -1
  50. package/es/account/MnemonicFactory.d.ts +12 -2
  51. package/es/account/MnemonicFactory.js +48 -24
  52. package/es/account/MnemonicFactory.js.map +1 -1
  53. package/es/account/Rpc.d.ts +5 -0
  54. package/es/account/Rpc.js +8 -0
  55. package/es/account/Rpc.js.map +1 -1
  56. package/es/aens.d.ts +35 -7
  57. package/es/aens.js +62 -20
  58. package/es/aens.js.map +1 -1
  59. package/es/aepp-wallet-communication/connection/BrowserRuntime.d.ts +1 -1
  60. package/es/aepp-wallet-communication/connection/BrowserRuntime.js.map +1 -1
  61. package/es/apis/middleware/middleware.d.ts +99 -9
  62. package/es/apis/middleware/middleware.js +560 -91
  63. package/es/apis/middleware/middleware.js.map +1 -1
  64. package/es/apis/middleware/models/index.d.ts +1267 -1582
  65. package/es/apis/middleware/models/index.js +1 -1363
  66. package/es/apis/middleware/models/index.js.map +1 -1
  67. package/es/apis/middleware/models/mappers.d.ts +126 -56
  68. package/es/apis/middleware/models/mappers.js +6250 -2989
  69. package/es/apis/middleware/models/mappers.js.map +1 -1
  70. package/es/apis/middleware/models/parameters.d.ts +54 -33
  71. package/es/apis/middleware/models/parameters.js +389 -134
  72. package/es/apis/middleware/models/parameters.js.map +1 -1
  73. package/es/apis/node/models/index.d.ts +60 -15
  74. package/es/apis/node/models/index.js.map +1 -1
  75. package/es/apis/node/models/mappers.d.ts +3 -0
  76. package/es/apis/node/models/mappers.js +130 -2
  77. package/es/apis/node/models/mappers.js.map +1 -1
  78. package/es/apis/node/node.d.ts +13 -1
  79. package/es/apis/node/node.js +54 -0
  80. package/es/apis/node/node.js.map +1 -1
  81. package/es/chain.d.ts +19 -6
  82. package/es/chain.js +30 -24
  83. package/es/chain.js.map +1 -1
  84. package/es/channel/Contract.d.ts +6 -3
  85. package/es/channel/Contract.js +5 -2
  86. package/es/channel/Contract.js.map +1 -1
  87. package/es/channel/Spend.d.ts +1 -1
  88. package/es/channel/Spend.js.map +1 -1
  89. package/es/channel/handlers.js +1 -2
  90. package/es/channel/handlers.js.map +1 -1
  91. package/es/channel/internal.d.ts +1 -1
  92. package/es/channel/internal.js +2 -2
  93. package/es/channel/internal.js.map +1 -1
  94. package/es/contract/Contract.d.ts +13 -2
  95. package/es/contract/Contract.js +22 -12
  96. package/es/contract/Contract.js.map +1 -1
  97. package/es/contract/compiler/Base.d.ts +1 -0
  98. package/es/contract/compiler/Base.js +1 -0
  99. package/es/contract/compiler/Base.js.map +1 -1
  100. package/es/contract/compiler/Cli.d.ts +2 -1
  101. package/es/contract/compiler/Cli.js +17 -11
  102. package/es/contract/compiler/Cli.js.map +1 -1
  103. package/es/contract/compiler/Http.d.ts +2 -1
  104. package/es/contract/compiler/Http.js +3 -2
  105. package/es/contract/compiler/Http.js.map +1 -1
  106. package/es/contract/compiler/getFileSystem.d.ts +1 -0
  107. package/es/contract/compiler/getFileSystem.js +1 -0
  108. package/es/contract/compiler/getFileSystem.js.map +1 -1
  109. package/es/contract/ga.d.ts +3 -3
  110. package/es/contract/ga.js +3 -3
  111. package/es/contract/ga.js.map +1 -1
  112. package/es/index-browser.d.ts +32 -2
  113. package/es/index-browser.js +32 -2
  114. package/es/index-browser.js.map +1 -1
  115. package/es/oracle/Oracle.d.ts +10 -1
  116. package/es/oracle/Oracle.js +16 -6
  117. package/es/oracle/Oracle.js.map +1 -1
  118. package/es/oracle/OracleBase.d.ts +15 -2
  119. package/es/oracle/OracleBase.js +23 -1
  120. package/es/oracle/OracleBase.js.map +1 -1
  121. package/es/oracle/OracleClient.d.ts +3 -0
  122. package/es/oracle/OracleClient.js +6 -1
  123. package/es/oracle/OracleClient.js.map +1 -1
  124. package/es/spend.js +1 -1
  125. package/es/spend.js.map +1 -1
  126. package/es/tx/builder/common.js +6 -3
  127. package/es/tx/builder/common.js.map +1 -1
  128. package/es/tx/builder/constants.d.ts +53 -3
  129. package/es/tx/builder/constants.js +62 -12
  130. package/es/tx/builder/constants.js.map +1 -1
  131. package/es/tx/builder/delegation/schema.js +15 -0
  132. package/es/tx/builder/delegation/schema.js.map +1 -1
  133. package/es/tx/builder/entry/constants.d.ts +4 -1
  134. package/es/tx/builder/entry/constants.js +10 -1
  135. package/es/tx/builder/entry/constants.js.map +1 -1
  136. package/es/tx/builder/entry/index.js +1 -2
  137. package/es/tx/builder/entry/index.js.map +1 -1
  138. package/es/tx/builder/field-types/ct-version.js +1 -2
  139. package/es/tx/builder/field-types/ct-version.js.map +1 -1
  140. package/es/tx/builder/field-types/fee.d.ts +1 -1
  141. package/es/tx/builder/field-types/fee.js +4 -4
  142. package/es/tx/builder/field-types/fee.js.map +1 -1
  143. package/es/tx/builder/field-types/gas-price.d.ts +3 -0
  144. package/es/tx/builder/field-types/gas-price.js +1 -1
  145. package/es/tx/builder/field-types/gas-price.js.map +1 -1
  146. package/es/tx/builder/field-types/name-fee.js +1 -1
  147. package/es/tx/builder/field-types/name-fee.js.map +1 -1
  148. package/es/tx/builder/field-types/name-id.js +2 -2
  149. package/es/tx/builder/field-types/name-id.js.map +1 -1
  150. package/es/tx/builder/field-types/nonce.d.ts +1 -1
  151. package/es/tx/builder/field-types/nonce.js.map +1 -1
  152. package/es/tx/builder/field-types/pointers.js +3 -3
  153. package/es/tx/builder/field-types/pointers.js.map +1 -1
  154. package/es/tx/builder/field-types/ttl.d.ts +1 -2
  155. package/es/tx/builder/field-types/ttl.js +7 -5
  156. package/es/tx/builder/field-types/ttl.js.map +1 -1
  157. package/es/tx/builder/helpers.d.ts +18 -12
  158. package/es/tx/builder/helpers.js +25 -17
  159. package/es/tx/builder/helpers.js.map +1 -1
  160. package/es/tx/builder/schema.d.ts +50 -70
  161. package/es/tx/builder/schema.generated.d.ts +12 -12
  162. package/es/tx/builder/schema.generated.js.map +1 -1
  163. package/es/tx/builder/schema.js +5 -3
  164. package/es/tx/builder/schema.js.map +1 -1
  165. package/es/tx/execution-cost.d.ts +3 -0
  166. package/es/tx/execution-cost.js +7 -4
  167. package/es/tx/execution-cost.js.map +1 -1
  168. package/es/tx/transaction-signer.d.ts +1 -0
  169. package/es/tx/transaction-signer.js +1 -0
  170. package/es/tx/transaction-signer.js.map +1 -1
  171. package/es/tx/validator.js +4 -3
  172. package/es/tx/validator.js.map +1 -1
  173. package/es/utils/MiddlewarePage.d.ts +4 -3
  174. package/es/utils/MiddlewarePage.js.map +1 -1
  175. package/es/utils/amount-formatter.d.ts +15 -1
  176. package/es/utils/amount-formatter.js +17 -1
  177. package/es/utils/amount-formatter.js.map +1 -1
  178. package/es/utils/autorest.d.ts +1 -1
  179. package/es/utils/autorest.js +10 -4
  180. package/es/utils/autorest.js.map +1 -1
  181. package/es/utils/bignumber.d.ts +1 -1
  182. package/es/utils/bignumber.js +1 -1
  183. package/es/utils/bignumber.js.map +1 -1
  184. package/es/utils/bytes.d.ts +3 -1
  185. package/es/utils/bytes.js +3 -1
  186. package/es/utils/bytes.js.map +1 -1
  187. package/es/utils/crypto.d.ts +48 -15
  188. package/es/utils/crypto.js +80 -29
  189. package/es/utils/crypto.js.map +1 -1
  190. package/es/utils/encoder-types.d.ts +1 -1
  191. package/es/utils/encoder-types.js +1 -1
  192. package/es/utils/encoder-types.js.map +1 -1
  193. package/es/utils/encoder.d.ts +2 -0
  194. package/es/utils/encoder.js +2 -0
  195. package/es/utils/encoder.js.map +1 -1
  196. package/es/utils/errors.d.ts +2 -2
  197. package/es/utils/errors.js +2 -2
  198. package/es/utils/errors.js.map +1 -1
  199. package/es/utils/json-big.js +1 -1
  200. package/es/utils/json-big.js.map +1 -1
  201. package/es/utils/jwt.js +3 -3
  202. package/es/utils/jwt.js.map +1 -1
  203. package/es/utils/typed-data.d.ts +5 -0
  204. package/es/utils/typed-data.js +6 -0
  205. package/es/utils/typed-data.js.map +1 -1
  206. package/package.json +51 -52
@@ -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
- const tag = +readInt(binary[0]);
28
- const version = +readInt(binary[1]);
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","readInt","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","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';\nimport { readInt } from './helpers.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 const tag = +readInt(binary[0] as Buffer);\n const version = +readInt(binary[1] as Buffer);\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
+ {"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 { BigNumber } from 'bignumber.js';
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 transaction builder
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 transaction builder
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 { BigNumber } from 'bignumber.js';
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
- // # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67
10
- export const NAME_FEE_MULTIPLIER = 1e14; // 100000000000000
11
- export const NAME_FEE_BID_INCREMENT = 0.05; // # the increment is in percentage
12
- // # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L272
13
- export const NAME_BID_TIMEOUT_BLOCKS = 480; // # ~1 day
14
- // # this is the max length for a domain that requires a base fee to be paid
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
- // # https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290
17
- // # https://github.com/aeternity/protocol/blob/master/AENS.md#protocol-fees-and-protection-times
18
- // # bid ranges:
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 transaction builder
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 transaction builder
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 { BigNumber } from 'bignumber.js';\nimport { mapObject } from '../../utils/other.js';\n\nexport const DRY_RUN_ACCOUNT = {\n pub: 'ak_11111111111111111111111111111111273Yts',\n amount: 100000000000000000000000000000000000n,\n} as const;\n\nexport const MAX_AUTH_FUN_GAS = 50000;\nexport type Int = number | string | BigNumber;\nexport type AensName = `${string}.chain`;\nexport const MIN_GAS_PRICE = 1e9; // TODO: don't use number for ae\n// # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L67\nexport const NAME_FEE_MULTIPLIER = 1e14; // 100000000000000\nexport const NAME_FEE_BID_INCREMENT = 0.05; // # the increment is in percentage\n// # see https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L272\nexport const NAME_BID_TIMEOUT_BLOCKS = 480; // # ~1 day\n// # this is the max length for a domain that requires a base fee to be paid\nexport const NAME_MAX_LENGTH_FEE = 31;\n// # https://github.com/aeternity/aeternity/blob/72e440b8731422e335f879a31ecbbee7ac23a1cf/apps/aecore/src/aec_governance.erl#L290\n// # https://github.com/aeternity/protocol/blob/master/AENS.md#protocol-fees-and-protection-times\n// # bid ranges:\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\nexport enum ConsensusProtocolVersion {\n Ceres = 6,\n}\n\n/**\n * @category transaction builder\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 transaction builder\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 OracleResponseTx = 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":[]}
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;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,aAAa,CAAbA,aAAa;EAAbA,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
+ {"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,10 +1,13 @@
1
+ /**
2
+ * @category contract
3
+ */
1
4
  export declare enum CallReturnType {
2
5
  Ok = 0,
3
6
  Error = 1,
4
7
  Revert = 2
5
8
  }
6
9
  /**
7
- * @category entry building
10
+ * @category entry builder
8
11
  */
9
12
  export declare enum EntryTag {
10
13
  Account = 10,
@@ -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 building
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":["export enum CallReturnType {\n Ok = 0,\n Error = 1,\n Revert = 2,\n}\n\n/**\n * @category entry building\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,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;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;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;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAARA,QAAQ,CAARA,QAAQ;EAAA,OAARA,QAAQ;AAAA","ignoreList":[]}
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
- var _expectedTag;
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","_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;EAAA,IAAAC,YAAA;EACrF,CAAAA,YAAA,GAAAD,WAAW,cAAAC,YAAA,cAAAA,YAAA,GAAXD,WAAW,GAAKf,WAAW,CAACU,IAAI,CAAC,CAAC,GAAGO,GAAG,CAAC,KAAKH,OAAO,CAACI,UAAU,CAACD,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;EAC3E,OAAOpB,YAAY,CAACC,OAAO,EAAEC,QAAQ,EAAEe,OAAO,EAAEC,WAAW,EAAE;IAAEF;EAAY,CAAC,CAAC;AAC/E","ignoreList":[]}
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
- var _value;
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","_value","_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;IAAA,IAAAgB,MAAA;IACR,CAAAA,MAAA,GAAAH,KAAK,cAAAG,MAAA,cAAAA,MAAA,GAALH,KAAK,GAAKP,kBAAkB,CAACS,wBAAwB,EAAE,iBAAiB,CAAC;IAEzE,OAAOE,OAAA,CAAOC,IAAI,CAAC,CAACL,KAAK,CAACZ,SAAS,EAAE,CAAC,EAAEY,KAAK,CAACV,UAAU,CAAC,CAAC;EAC5D,CAAC;EAED,MAAMgB,OAAOA,CACXN,KAA4B,EAC5BC,MAAU;EACV;EACAM,OAA+E,EAC/C;IAChC,IAAIP,KAAK,IAAI,IAAI,EAAE,OAAOA,KAAK;IAC/B,IAAIO,OAAO,CAACL,wBAAwB,IAAI,IAAI,EAAE,OAAOM,SAAS;IAC9D,IAAIC,MAAM,CAACC,IAAI,CAAC3B,wBAAwB,CAAC,CAAC4B,MAAM,KAAK,CAAC,EAAE,OAAOH,SAAS;IACxE,IAAID,OAAO,CAACK,MAAM,IAAI,IAAI,EAAE;MAC1B,OAAOnB,kBAAkB,CACvB,CAAC,MAAMc,OAAO,CAACK,MAAM,CAACC,WAAW,CAAC,CAAC,EAAEX,wBAAwB,EAC7D,iBACF,CAAC;IACH;IACA,OAAOM,SAAS;EAClB,CAAC;EAEDM,WAAWA,CAACC,MAAc,EAAa;IACrC,MAAM,CAACC,EAAE,GAAIC,GAAG,CAAC,GAAGF,MAAM;IAC1B,OAAO;MAAE3B,SAAS,EAAE,CAAC4B,EAAE;MAAE1B,UAAU,EAAE,CAAC2B;IAAI,CAAC;EAC7C;AACF,CAAC","ignoreList":[]}
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 { BigNumber } from 'bignumber.js';
1
+ import BigNumber from 'bignumber.js';
2
2
  import { Int } from '../constants.js';
3
3
  import coinAmount from './coin-amount.js';
4
4
  import { Encoded } from '../../../utils/encoder.js';
@@ -1,4 +1,4 @@
1
- import { BigNumber } from 'bignumber.js';
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.OracleResponseTx, 10, { relativeTtl: 12, innerTxSize: 0 })
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.OracleResponseTx:
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.OracleResponseTx]: 'responseTtlValue'
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;