@aeternity/aepp-sdk 13.2.0 → 13.2.2

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 (87) hide show
  1. package/dist/aepp-sdk.browser-script.js +1 -1
  2. package/dist/aepp-sdk.browser-script.js.map +1 -1
  3. package/dist/aepp-sdk.browser.js +1 -1
  4. package/dist/aepp-sdk.browser.js.map +1 -1
  5. package/dist/aepp-sdk.js +84 -4345
  6. package/dist/aepp-sdk.js.map +1 -1
  7. package/es/Middleware.d.ts +1 -1
  8. package/es/Middleware.mjs +1 -1
  9. package/es/Middleware.mjs.map +1 -1
  10. package/es/Node.d.ts +1 -1
  11. package/es/Node.mjs +12 -3
  12. package/es/Node.mjs.map +1 -1
  13. package/es/aepp-wallet-communication/rpc/types.mjs.map +1 -1
  14. package/es/aepp-wallet-communication/wallet-detector.d.ts +2 -5
  15. package/es/aepp-wallet-communication/wallet-detector.mjs +9 -4
  16. package/es/aepp-wallet-communication/wallet-detector.mjs.map +1 -1
  17. package/es/contract/Contract.d.ts +1 -1
  18. package/es/contract/Contract.mjs +18 -8
  19. package/es/contract/Contract.mjs.map +1 -1
  20. package/es/contract/compiler/Cli.d.ts +7 -2
  21. package/es/contract/compiler/Cli.mjs +7 -2
  22. package/es/contract/compiler/Cli.mjs.map +1 -1
  23. package/es/deprecated.d.ts +10 -0
  24. package/es/deprecated.mjs +21 -1
  25. package/es/deprecated.mjs.map +1 -1
  26. package/es/index-browser.d.ts +2 -2
  27. package/es/index-browser.mjs +2 -2
  28. package/es/index-browser.mjs.map +1 -1
  29. package/es/tx/builder/constants.d.ts +2 -1
  30. package/es/tx/builder/constants.mjs +1 -0
  31. package/es/tx/builder/constants.mjs.map +1 -1
  32. package/es/tx/builder/field-types/ct-version.d.ts +1 -1
  33. package/es/tx/builder/field-types/ct-version.mjs +1 -1
  34. package/es/tx/builder/field-types/ct-version.mjs.map +1 -1
  35. package/es/tx/builder/field-types/fee.mjs +1 -1
  36. package/es/tx/builder/field-types/fee.mjs.map +1 -1
  37. package/es/tx/builder/field-types/gas-price.mjs +1 -1
  38. package/es/tx/builder/field-types/gas-price.mjs.map +1 -1
  39. package/es/tx/builder/field-types/u-int.mjs +1 -1
  40. package/es/tx/builder/field-types/u-int.mjs.map +1 -1
  41. package/es/utils/autorest.mjs +4 -4
  42. package/es/utils/autorest.mjs.map +1 -1
  43. package/es/utils/crypto.d.ts +1 -1
  44. package/es/utils/crypto.mjs +1 -1
  45. package/es/utils/crypto.mjs.map +1 -1
  46. package/es/utils/typed-data.d.ts +0 -2
  47. package/es/utils/typed-data.mjs +8 -24
  48. package/es/utils/typed-data.mjs.map +1 -1
  49. package/package.json +2 -2
  50. package/src/Middleware.ts +1 -1
  51. package/src/Node.ts +14 -3
  52. package/src/aepp-wallet-communication/rpc/types.ts +1 -1
  53. package/src/aepp-wallet-communication/wallet-detector.ts +10 -10
  54. package/src/contract/Contract.ts +12 -6
  55. package/src/contract/compiler/Cli.ts +7 -2
  56. package/src/deprecated.ts +19 -1
  57. package/src/index-browser.ts +4 -4
  58. package/src/tx/builder/constants.ts +1 -0
  59. package/src/tx/builder/field-types/ct-version.ts +1 -1
  60. package/src/tx/builder/field-types/fee.ts +1 -1
  61. package/src/tx/builder/field-types/gas-price.ts +1 -1
  62. package/src/tx/builder/field-types/u-int.ts +1 -1
  63. package/src/utils/autorest.ts +4 -4
  64. package/src/utils/crypto.ts +1 -1
  65. package/src/utils/typed-data.ts +4 -30
  66. package/types-legacy/ts4.2/Middleware.d.ts +1 -1
  67. package/types-legacy/ts4.2/Node.d.ts +1 -1
  68. package/types-legacy/ts4.2/aepp-wallet-communication/wallet-detector.d.ts +2 -5
  69. package/types-legacy/ts4.2/contract/Contract.d.ts +1 -1
  70. package/types-legacy/ts4.2/contract/compiler/Cli.d.ts +7 -2
  71. package/types-legacy/ts4.2/deprecated.d.ts +10 -0
  72. package/types-legacy/ts4.2/index-browser.d.ts +2 -2
  73. package/types-legacy/ts4.2/tx/builder/constants.d.ts +2 -1
  74. package/types-legacy/ts4.2/tx/builder/field-types/ct-version.d.ts +1 -1
  75. package/types-legacy/ts4.2/utils/crypto.d.ts +1 -1
  76. package/types-legacy/ts4.2/utils/typed-data.d.ts +0 -2
  77. package/types-legacy/ts4.5/Middleware.d.ts +1 -1
  78. package/types-legacy/ts4.5/Node.d.ts +1 -1
  79. package/types-legacy/ts4.5/aepp-wallet-communication/wallet-detector.d.ts +2 -5
  80. package/types-legacy/ts4.5/contract/Contract.d.ts +1 -1
  81. package/types-legacy/ts4.5/contract/compiler/Cli.d.ts +7 -2
  82. package/types-legacy/ts4.5/deprecated.d.ts +10 -0
  83. package/types-legacy/ts4.5/index-browser.d.ts +2 -2
  84. package/types-legacy/ts4.5/tx/builder/constants.d.ts +2 -1
  85. package/types-legacy/ts4.5/tx/builder/field-types/ct-version.d.ts +1 -1
  86. package/types-legacy/ts4.5/utils/crypto.d.ts +1 -1
  87. package/types-legacy/ts4.5/utils/typed-data.d.ts +0 -2
@@ -42,13 +42,18 @@ const getPackagePath = () => {
42
42
  };
43
43
 
44
44
  /**
45
- * A wrapper around aesophia_cli, available only in Node.js
46
- * Assumes that `escript` is available in PATH.
45
+ * A wrapper around aesophia_cli, available only in Node.js.
46
+ * Requires Erlang installed, assumes that `escript` is available in PATH.
47
47
  */
48
48
  var _path2 = /*#__PURE__*/new WeakMap();
49
49
  var _ensureCompatibleVersion = /*#__PURE__*/new WeakMap();
50
50
  var _run = /*#__PURE__*/new WeakSet();
51
51
  export default class CompilerCli extends CompilerBase {
52
+ /**
53
+ * @param compilerPath - A path to aesophia_cli binary, by default uses the integrated one
54
+ * @param options - Options
55
+ * @param options.ignoreVersion - Don't ensure that the compiler is supported
56
+ */
52
57
  constructor() {
53
58
  let compilerPath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : resolve(getPackagePath(), './bin/aesophia_cli');
54
59
  let {
@@ -1 +1 @@
1
- {"version":3,"file":"Cli.mjs","names":["_child_process","execFile","_os","tmpdir","_path","resolve","dirname","basename","_fsPromises","mkdir","writeFile","rm","_url","fileURLToPath","CompilerBase","CompilerError","InternalError","UnsupportedVersionError","semverSatisfies","ensureError","getPackagePath","path","import","meta","url","_path2","WeakMap","_ensureCompatibleVersion","_run","WeakSet","CompilerCli","constructor","compilerPath","arguments","length","undefined","ignoreVersion","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","writable","value","Promise","_classPrivateFieldSet","version","then","versions","compile","_classPrivateFieldGet","bytecode","aci","all","_classPrivateMethodGet","_run2","call","res","JSON","parse","trimEnd","error","message","compileBySourceCode","sourceCode","fileSystem","tmp","_classStaticPrivateMethodGet","_saveContractToTmpDir","recursive","generateAci","generateAciBySourceCode","validate","includes","validateBySourceCode","_verMessage$match","verMessage","ver","match","_len","parameters","Array","_key","pResolve","pReject","stdout","stderr","randomName","Math","random","toString","slice","sourceCodePath","Object","entries","map","_ref","name","src","p"],"sources":["../../../src/contract/compiler/Cli.ts"],"sourcesContent":["import { execFile } from 'child_process';\nimport { tmpdir } from 'os';\nimport { resolve, dirname, basename } from 'path';\nimport { mkdir, writeFile, rm } from 'fs/promises';\nimport { fileURLToPath } from 'url';\nimport CompilerBase, { Aci } from './Base';\nimport { Encoded } from '../../utils/encoder';\nimport { CompilerError, InternalError, UnsupportedVersionError } from '../../utils/errors';\nimport semverSatisfies from '../../utils/semver-satisfies';\nimport { ensureError } from '../../utils/other';\n\nconst getPackagePath = (): string => {\n const path = dirname(fileURLToPath(import.meta.url));\n if (basename(path) === 'dist') return resolve(path, '..');\n if (basename(path) === 'compiler') return resolve(path, '../../..');\n throw new InternalError('Can\\'t get package path');\n};\n\n/**\n * A wrapper around aesophia_cli, available only in Node.js\n * Assumes that `escript` is available in PATH.\n */\nexport default class CompilerCli extends CompilerBase {\n #path: string;\n\n #ensureCompatibleVersion = Promise.resolve();\n\n constructor(\n compilerPath = resolve(getPackagePath(), './bin/aesophia_cli'),\n { ignoreVersion }: { ignoreVersion?: boolean } = {},\n ) {\n super();\n this.#path = compilerPath;\n if (ignoreVersion !== true) {\n this.#ensureCompatibleVersion = this.version().then((version) => {\n const versions = [version, '7.2.1', '8.0.0'] as const;\n if (!semverSatisfies(...versions)) throw new UnsupportedVersionError('compiler', ...versions);\n });\n }\n }\n\n async #run(...parameters: string[]): Promise<string> {\n return new Promise((pResolve, pReject) => {\n execFile('escript', [this.#path, ...parameters], (error, stdout, stderr) => {\n if (error != null) pReject(error);\n else if (stderr !== '') pReject(new CompilerError(stderr));\n else pResolve(stdout);\n });\n });\n }\n\n static async #saveContractToTmpDir(\n sourceCode: string,\n fileSystem: Record<string, string> = {},\n ): Promise<string> {\n const randomName = (): string => Math.random().toString(36).slice(2);\n const path = resolve(tmpdir(), `aepp-sdk-js-${randomName()}`);\n await mkdir(path);\n const sourceCodePath = resolve(path, `${randomName()}.aes`);\n await writeFile(sourceCodePath, sourceCode);\n await Promise.all(Object.entries(fileSystem)\n .map(async ([name, src]) => {\n const p = resolve(path, name);\n await mkdir(dirname(p), { recursive: true });\n return writeFile(p, src);\n }));\n return sourceCodePath;\n }\n\n async compile(path: string): Promise<{\n bytecode: Encoded.ContractBytearray;\n aci: Aci;\n }> {\n await this.#ensureCompatibleVersion;\n try {\n const [bytecode, aci] = await Promise.all([\n this.#run(path),\n this.#run('--create_json_aci', path).then((res) => JSON.parse(res)),\n ]);\n return {\n bytecode: bytecode.trimEnd() as Encoded.ContractBytearray,\n aci,\n };\n } catch (error) {\n ensureError(error);\n throw new CompilerError(error.message);\n }\n }\n\n async compileBySourceCode(sourceCode: string, fileSystem?: Record<string, string>): Promise<{\n bytecode: Encoded.ContractBytearray;\n aci: Aci;\n }> {\n const tmp = await CompilerCli.#saveContractToTmpDir(sourceCode, fileSystem);\n try {\n return await this.compile(tmp);\n } finally {\n await rm(dirname(tmp), { recursive: true });\n }\n }\n\n async generateAci(path: string): Promise<Aci> {\n await this.#ensureCompatibleVersion;\n try {\n return JSON.parse(await this.#run('--no_code', '--create_json_aci', path));\n } catch (error) {\n ensureError(error);\n throw new CompilerError(error.message);\n }\n }\n\n async generateAciBySourceCode(\n sourceCode: string,\n fileSystem?: Record<string, string>,\n ): Promise<Aci> {\n const tmp = await CompilerCli.#saveContractToTmpDir(sourceCode, fileSystem);\n try {\n return await this.generateAci(tmp);\n } finally {\n await rm(dirname(tmp), { recursive: true });\n }\n }\n\n async validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean> {\n await this.#ensureCompatibleVersion;\n try {\n return (await this.#run(path, '--validate', bytecode)).includes('Validation successful.');\n } catch (error) {\n return false;\n }\n }\n\n async validateBySourceCode(\n bytecode: Encoded.ContractBytearray,\n sourceCode: string,\n fileSystem?: Record<string, string>,\n ): Promise<boolean> {\n const tmp = await CompilerCli.#saveContractToTmpDir(sourceCode, fileSystem);\n try {\n return await this.validate(bytecode, tmp);\n } finally {\n await rm(dirname(tmp), { recursive: true });\n }\n }\n\n async version(): Promise<string> {\n const verMessage = await this.#run('--version');\n const ver = verMessage.match(/Sophia compiler version ([\\d.]+)\\n/)?.[1];\n if (ver == null) throw new CompilerError('Can\\'t get compiler version');\n return ver;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"Cli.mjs","names":["_child_process","execFile","_os","tmpdir","_path","resolve","dirname","basename","_fsPromises","mkdir","writeFile","rm","_url","fileURLToPath","CompilerBase","CompilerError","InternalError","UnsupportedVersionError","semverSatisfies","ensureError","getPackagePath","path","import","meta","url","_path2","WeakMap","_ensureCompatibleVersion","_run","WeakSet","CompilerCli","constructor","compilerPath","arguments","length","undefined","ignoreVersion","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","writable","value","Promise","_classPrivateFieldSet","version","then","versions","compile","_classPrivateFieldGet","bytecode","aci","all","_classPrivateMethodGet","_run2","call","res","JSON","parse","trimEnd","error","message","compileBySourceCode","sourceCode","fileSystem","tmp","_classStaticPrivateMethodGet","_saveContractToTmpDir","recursive","generateAci","generateAciBySourceCode","validate","includes","validateBySourceCode","_verMessage$match","verMessage","ver","match","_len","parameters","Array","_key","pResolve","pReject","stdout","stderr","randomName","Math","random","toString","slice","sourceCodePath","Object","entries","map","_ref","name","src","p"],"sources":["../../../src/contract/compiler/Cli.ts"],"sourcesContent":["import { execFile } from 'child_process';\nimport { tmpdir } from 'os';\nimport { resolve, dirname, basename } from 'path';\nimport { mkdir, writeFile, rm } from 'fs/promises';\nimport { fileURLToPath } from 'url';\nimport CompilerBase, { Aci } from './Base';\nimport { Encoded } from '../../utils/encoder';\nimport { CompilerError, InternalError, UnsupportedVersionError } from '../../utils/errors';\nimport semverSatisfies from '../../utils/semver-satisfies';\nimport { ensureError } from '../../utils/other';\n\nconst getPackagePath = (): string => {\n const path = dirname(fileURLToPath(import.meta.url));\n if (basename(path) === 'dist') return resolve(path, '..');\n if (basename(path) === 'compiler') return resolve(path, '../../..');\n throw new InternalError('Can\\'t get package path');\n};\n\n/**\n * A wrapper around aesophia_cli, available only in Node.js.\n * Requires Erlang installed, assumes that `escript` is available in PATH.\n */\nexport default class CompilerCli extends CompilerBase {\n #path: string;\n\n #ensureCompatibleVersion = Promise.resolve();\n\n /**\n * @param compilerPath - A path to aesophia_cli binary, by default uses the integrated one\n * @param options - Options\n * @param options.ignoreVersion - Don't ensure that the compiler is supported\n */\n constructor(\n compilerPath = resolve(getPackagePath(), './bin/aesophia_cli'),\n { ignoreVersion }: { ignoreVersion?: boolean } = {},\n ) {\n super();\n this.#path = compilerPath;\n if (ignoreVersion !== true) {\n this.#ensureCompatibleVersion = this.version().then((version) => {\n const versions = [version, '7.2.1', '8.0.0'] as const;\n if (!semverSatisfies(...versions)) throw new UnsupportedVersionError('compiler', ...versions);\n });\n }\n }\n\n async #run(...parameters: string[]): Promise<string> {\n return new Promise((pResolve, pReject) => {\n execFile('escript', [this.#path, ...parameters], (error, stdout, stderr) => {\n if (error != null) pReject(error);\n else if (stderr !== '') pReject(new CompilerError(stderr));\n else pResolve(stdout);\n });\n });\n }\n\n static async #saveContractToTmpDir(\n sourceCode: string,\n fileSystem: Record<string, string> = {},\n ): Promise<string> {\n const randomName = (): string => Math.random().toString(36).slice(2);\n const path = resolve(tmpdir(), `aepp-sdk-js-${randomName()}`);\n await mkdir(path);\n const sourceCodePath = resolve(path, `${randomName()}.aes`);\n await writeFile(sourceCodePath, sourceCode);\n await Promise.all(Object.entries(fileSystem)\n .map(async ([name, src]) => {\n const p = resolve(path, name);\n await mkdir(dirname(p), { recursive: true });\n return writeFile(p, src);\n }));\n return sourceCodePath;\n }\n\n async compile(path: string): Promise<{\n bytecode: Encoded.ContractBytearray;\n aci: Aci;\n }> {\n await this.#ensureCompatibleVersion;\n try {\n const [bytecode, aci] = await Promise.all([\n this.#run(path),\n this.#run('--create_json_aci', path).then((res) => JSON.parse(res)),\n ]);\n return {\n bytecode: bytecode.trimEnd() as Encoded.ContractBytearray,\n aci,\n };\n } catch (error) {\n ensureError(error);\n throw new CompilerError(error.message);\n }\n }\n\n async compileBySourceCode(sourceCode: string, fileSystem?: Record<string, string>): Promise<{\n bytecode: Encoded.ContractBytearray;\n aci: Aci;\n }> {\n const tmp = await CompilerCli.#saveContractToTmpDir(sourceCode, fileSystem);\n try {\n return await this.compile(tmp);\n } finally {\n await rm(dirname(tmp), { recursive: true });\n }\n }\n\n async generateAci(path: string): Promise<Aci> {\n await this.#ensureCompatibleVersion;\n try {\n return JSON.parse(await this.#run('--no_code', '--create_json_aci', path));\n } catch (error) {\n ensureError(error);\n throw new CompilerError(error.message);\n }\n }\n\n async generateAciBySourceCode(\n sourceCode: string,\n fileSystem?: Record<string, string>,\n ): Promise<Aci> {\n const tmp = await CompilerCli.#saveContractToTmpDir(sourceCode, fileSystem);\n try {\n return await this.generateAci(tmp);\n } finally {\n await rm(dirname(tmp), { recursive: true });\n }\n }\n\n async validate(bytecode: Encoded.ContractBytearray, path: string): Promise<boolean> {\n await this.#ensureCompatibleVersion;\n try {\n return (await this.#run(path, '--validate', bytecode)).includes('Validation successful.');\n } catch (error) {\n return false;\n }\n }\n\n async validateBySourceCode(\n bytecode: Encoded.ContractBytearray,\n sourceCode: string,\n fileSystem?: Record<string, string>,\n ): Promise<boolean> {\n const tmp = await CompilerCli.#saveContractToTmpDir(sourceCode, fileSystem);\n try {\n return await this.validate(bytecode, tmp);\n } finally {\n await rm(dirname(tmp), { recursive: true });\n }\n }\n\n async version(): Promise<string> {\n const verMessage = await this.#run('--version');\n const ver = verMessage.match(/Sophia compiler version ([\\d.]+)\\n/)?.[1];\n if (ver == null) throw new CompilerError('Can\\'t get compiler version');\n return ver;\n }\n}\n"],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { AciValue } from './utils/typed-data';
2
+ import { Encoded } from './utils/encoder';
1
3
  import { RpcError } from './aepp-wallet-communication/schema';
2
4
  /**
3
5
  * @category exception
@@ -12,3 +14,11 @@ export declare class RpcBroadcastError extends RpcError {
12
14
  * @deprecated use isAuctionName instead
13
15
  */
14
16
  export declare const NAME_BID_MAX_LENGTH = 12;
17
+ /**
18
+ * @deprecated use ContractByteArrayEncoder:encodeWithType from \@aeternity/aepp-calldata
19
+ */
20
+ export declare function encodeFateValue(value: unknown, aci: AciValue): Encoded.ContractBytearray;
21
+ /**
22
+ * @deprecated use ContractByteArrayEncoder:decodeWithType from \@aeternity/aepp-calldata
23
+ */
24
+ export declare function decodeFateValue(value: Encoded.ContractBytearray, aci: AciValue): any;
package/es/deprecated.mjs CHANGED
@@ -1,10 +1,14 @@
1
1
  import _defineProperty from "@babel/runtime-corejs3/helpers/defineProperty";
2
+ import _aeternityAeppCalldata from '@aeternity/aepp-calldata';
3
+ const {
4
+ TypeResolver,
5
+ ContractByteArrayEncoder
6
+ } = _aeternityAeppCalldata;
2
7
  import { RpcError } from "./aepp-wallet-communication/schema.mjs";
3
8
  /**
4
9
  * @category exception
5
10
  * @deprecated this exception is not thrown anymore
6
11
  */
7
- // eslint-disable-next-line import/prefer-default-export
8
12
  export class RpcBroadcastError extends RpcError {
9
13
  constructor(data) {
10
14
  super('Broadcast failed');
@@ -19,4 +23,20 @@ export class RpcBroadcastError extends RpcError {
19
23
  */
20
24
  _defineProperty(RpcBroadcastError, "code", 3);
21
25
  export const NAME_BID_MAX_LENGTH = 12; // # this is the max length for a domain to be part of a bid
26
+
27
+ /**
28
+ * @deprecated use ContractByteArrayEncoder:encodeWithType from \@aeternity/aepp-calldata
29
+ */
30
+ export function encodeFateValue(value, aci) {
31
+ const valueType = new TypeResolver().resolveType(aci, {});
32
+ return new ContractByteArrayEncoder().encodeWithType(value, valueType);
33
+ }
34
+
35
+ /**
36
+ * @deprecated use ContractByteArrayEncoder:decodeWithType from \@aeternity/aepp-calldata
37
+ */
38
+ export function decodeFateValue(value, aci) {
39
+ const valueType = new TypeResolver().resolveType(aci, {});
40
+ return new ContractByteArrayEncoder().decodeWithType(value, valueType);
41
+ }
22
42
  //# sourceMappingURL=deprecated.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"deprecated.mjs","names":["RpcError","RpcBroadcastError","constructor","data","_defineProperty","name","NAME_BID_MAX_LENGTH"],"sources":["../src/deprecated.ts"],"sourcesContent":["import { RpcError } from './aepp-wallet-communication/schema';\n\n/**\n * @category exception\n * @deprecated this exception is not thrown anymore\n */\n// eslint-disable-next-line import/prefer-default-export\nexport class RpcBroadcastError extends RpcError {\n static override code = 3;\n\n override code = 3;\n\n constructor(data?: any) {\n super('Broadcast failed');\n this.data = data;\n this.name = 'RpcBroadcastError';\n }\n}\n\n/**\n * @deprecated use isAuctionName instead\n */\nexport const NAME_BID_MAX_LENGTH = 12; // # this is the max length for a domain to be part of a bid\n"],"mappings":";SAASA,QAAQ;AAEjB;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,SAASD,QAAQ,CAAC;EAK9CE,WAAWA,CAACC,IAAU,EAAE;IACtB,KAAK,CAAC,kBAAkB,CAAC;IAACC,eAAA,eAHZ,CAAC;IAIf,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACE,IAAI,GAAG,mBAAmB;EACjC;AACF;;AAEA;AACA;AACA;AAFAD,eAAA,CAZaH,iBAAiB,UACL,CAAC;AAc1B,OAAO,MAAMK,mBAAmB,GAAG,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"deprecated.mjs","names":["_aeternityAeppCalldata","TypeResolver","ContractByteArrayEncoder","RpcError","RpcBroadcastError","constructor","data","_defineProperty","name","NAME_BID_MAX_LENGTH","encodeFateValue","value","aci","valueType","resolveType","encodeWithType","decodeFateValue","decodeWithType"],"sources":["../src/deprecated.ts"],"sourcesContent":["import { TypeResolver, ContractByteArrayEncoder } from '@aeternity/aepp-calldata';\nimport { AciValue } from './utils/typed-data';\nimport { Encoded } from './utils/encoder';\nimport { RpcError } from './aepp-wallet-communication/schema';\n\n/**\n * @category exception\n * @deprecated this exception is not thrown anymore\n */\nexport class RpcBroadcastError extends RpcError {\n static override code = 3;\n\n override code = 3;\n\n constructor(data?: any) {\n super('Broadcast failed');\n this.data = data;\n this.name = 'RpcBroadcastError';\n }\n}\n\n/**\n * @deprecated use isAuctionName instead\n */\nexport const NAME_BID_MAX_LENGTH = 12; // # this is the max length for a domain to be part of a bid\n\n/**\n * @deprecated use ContractByteArrayEncoder:encodeWithType from \\@aeternity/aepp-calldata\n */\nexport function encodeFateValue(value: unknown, aci: AciValue): Encoded.ContractBytearray {\n const valueType = new TypeResolver().resolveType(aci, {});\n return new ContractByteArrayEncoder().encodeWithType(value, valueType);\n}\n\n/**\n * @deprecated use ContractByteArrayEncoder:decodeWithType from \\@aeternity/aepp-calldata\n */\nexport function decodeFateValue(value: Encoded.ContractBytearray, aci: AciValue): any {\n const valueType = new TypeResolver().resolveType(aci, {});\n return new ContractByteArrayEncoder().decodeWithType(value, valueType);\n}\n"],"mappings":";AAAA,OAAAA,sBAAA,MAAuD,0BAA0B;AAAC;EAAAC,YAAA;EAAAC;AAAA,IAAAF,sBAAA;AAAA,SAGzEG,QAAQ;AAEjB;AACA;AACA;AACA;AACA,OAAO,MAAMC,iBAAiB,SAASD,QAAQ,CAAC;EAK9CE,WAAWA,CAACC,IAAU,EAAE;IACtB,KAAK,CAAC,kBAAkB,CAAC;IAACC,eAAA,eAHZ,CAAC;IAIf,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACE,IAAI,GAAG,mBAAmB;EACjC;AACF;;AAEA;AACA;AACA;AAFAD,eAAA,CAZaH,iBAAiB,UACL,CAAC;AAc1B,OAAO,MAAMK,mBAAmB,GAAG,EAAE,CAAC,CAAC;;AAEvC;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,KAAc,EAAEC,GAAa,EAA6B;EACxF,MAAMC,SAAS,GAAG,IAAIZ,YAAY,CAAC,CAAC,CAACa,WAAW,CAACF,GAAG,EAAE,CAAC,CAAC,CAAC;EACzD,OAAO,IAAIV,wBAAwB,CAAC,CAAC,CAACa,cAAc,CAACJ,KAAK,EAAEE,SAAS,CAAC;AACxE;;AAEA;AACA;AACA;AACA,OAAO,SAASG,eAAeA,CAACL,KAAgC,EAAEC,GAAa,EAAO;EACpF,MAAMC,SAAS,GAAG,IAAIZ,YAAY,CAAC,CAAC,CAACa,WAAW,CAACF,GAAG,EAAE,CAAC,CAAC,CAAC;EACzD,OAAO,IAAIV,wBAAwB,CAAC,CAAC,CAACe,cAAc,CAACN,KAAK,EAAEE,SAAS,CAAC;AACxE"}
@@ -13,7 +13,7 @@ export { default as getTransactionSignerAddress } from './tx/transaction-signer'
13
13
  export { AE_AMOUNT_FORMATS, formatAmount, toAe, toAettos, prefixedAmount, } from './utils/amount-formatter';
14
14
  export { DerivationError, deriveChild, derivePathFromKey, getMasterKeyFromSeed, derivePathFromSeed, getKeyPair, generateSaveHDWalletFromSeed, getSaveHDWalletAccounts, getHdWalletAccountFromSeed, } from './utils/hd-wallet';
15
15
  export { encode, decode, Encoding, Encoded, } from './utils/encoder';
16
- export { encodeFateValue, decodeFateValue, hashTypedData, hashDomain, hashJson, } from './utils/typed-data';
16
+ export { hashTypedData, hashDomain, hashJson } from './utils/typed-data';
17
17
  export { aensRevoke, aensUpdate, aensTransfer, aensQuery, aensClaim, aensPreclaim, aensBid, } from './aens';
18
18
  export { default as Contract } from './contract/Contract';
19
19
  export type { ContractMethodsBase } from './contract/Contract';
@@ -43,4 +43,4 @@ export { default as walletDetector } from './aepp-wallet-communication/wallet-de
43
43
  export { default as BrowserRuntimeConnection } from './aepp-wallet-communication/connection/BrowserRuntime';
44
44
  export { default as BrowserWindowMessageConnection } from './aepp-wallet-communication/connection/BrowserWindowMessage';
45
45
  export { BaseError, AccountError, AensError, AeppError, ChannelError, CompilerError, ContractError, CryptographyError, NodeError, TransactionError, WalletError, ArgumentError, IllegalArgumentError, ArgumentCountMismatchError, InsufficientBalanceError, MissingParamError, NoSerializerFoundError, RequestTimedOutError, TxTimedOutError, TypeError, UnsupportedPlatformError, UnsupportedProtocolError, NotImplementedError, UnsupportedVersionError, InternalError, UnexpectedTsError, UnavailableAccountError, AensPointerContextError, InsufficientNameFeeError, InvalidAensNameError, InvalidRpcMessageError, MissingCallbackError, UnAuthorizedAccountError, UnknownRpcClientError, UnsubscribedAccountError, ChannelCallError, ChannelConnectionError, ChannelPingTimedOutError, UnexpectedChannelMessageError, ChannelIncomingMessageError, UnknownChannelStateError, InvalidAuthDataError, BytecodeMismatchError, DuplicateContractError, InactiveContractError, InvalidMethodInvocationError, MissingContractAddressError, MissingContractDefError, MissingFunctionNameError, NodeInvocationError, NoSuchContractFunctionError, NotPayableFunctionError, MissingEventDefinitionError, AmbiguousEventDefinitionError, InvalidChecksumError, InvalidPasswordError, MerkleTreeHashMismatchError, MissingNodeInTreeError, UnknownNodeLengthError, UnknownPathNibbleError, DuplicateNodeError, NodeNotFoundError, DecodeError, PayloadLengthError, DryRunError, IllegalBidFeeError, InvalidSignatureError, PrefixNotFoundError, SchemaNotFoundError, TagNotFoundError, TxNotInChainError, AlreadyConnectedError, NoWalletConnectedError, RpcConnectionError, } from './utils/errors';
46
- export { RpcBroadcastError, NAME_BID_MAX_LENGTH } from './deprecated';
46
+ export { RpcBroadcastError, NAME_BID_MAX_LENGTH, encodeFateValue, decodeFateValue, } from './deprecated';
@@ -12,7 +12,7 @@ export { default as getTransactionSignerAddress } from "./tx/transaction-signer.
12
12
  export { AE_AMOUNT_FORMATS, formatAmount, toAe, toAettos, prefixedAmount } from "./utils/amount-formatter.mjs";
13
13
  export { DerivationError, deriveChild, derivePathFromKey, getMasterKeyFromSeed, derivePathFromSeed, getKeyPair, generateSaveHDWalletFromSeed, getSaveHDWalletAccounts, getHdWalletAccountFromSeed } from "./utils/hd-wallet.mjs";
14
14
  export { encode, decode, Encoding, Encoded } from "./utils/encoder.mjs";
15
- export { encodeFateValue, decodeFateValue, hashTypedData, hashDomain, hashJson } from "./utils/typed-data.mjs";
15
+ export { hashTypedData, hashDomain, hashJson } from "./utils/typed-data.mjs";
16
16
  export { aensRevoke, aensUpdate, aensTransfer, aensQuery, aensClaim, aensPreclaim, aensBid } from "./aens.mjs";
17
17
  export { default as Contract } from "./contract/Contract.mjs";
18
18
  export { pollForQueries, pollForQueryResponse, getQueryObject, postQueryToOracle, extendOracleTtl, respondToQuery, getOracleObject, registerOracle } from "./oracle.mjs";
@@ -41,5 +41,5 @@ export { default as walletDetector } from "./aepp-wallet-communication/wallet-de
41
41
  export { default as BrowserRuntimeConnection } from "./aepp-wallet-communication/connection/BrowserRuntime.mjs";
42
42
  export { default as BrowserWindowMessageConnection } from "./aepp-wallet-communication/connection/BrowserWindowMessage.mjs";
43
43
  export { BaseError, AccountError, AensError, AeppError, ChannelError, CompilerError, ContractError, CryptographyError, NodeError, TransactionError, WalletError, ArgumentError, IllegalArgumentError, ArgumentCountMismatchError, InsufficientBalanceError, MissingParamError, NoSerializerFoundError, RequestTimedOutError, TxTimedOutError, TypeError, UnsupportedPlatformError, UnsupportedProtocolError, NotImplementedError, UnsupportedVersionError, InternalError, UnexpectedTsError, UnavailableAccountError, AensPointerContextError, InsufficientNameFeeError, InvalidAensNameError, InvalidRpcMessageError, MissingCallbackError, UnAuthorizedAccountError, UnknownRpcClientError, UnsubscribedAccountError, ChannelCallError, ChannelConnectionError, ChannelPingTimedOutError, UnexpectedChannelMessageError, ChannelIncomingMessageError, UnknownChannelStateError, InvalidAuthDataError, BytecodeMismatchError, DuplicateContractError, InactiveContractError, InvalidMethodInvocationError, MissingContractAddressError, MissingContractDefError, MissingFunctionNameError, NodeInvocationError, NoSuchContractFunctionError, NotPayableFunctionError, MissingEventDefinitionError, AmbiguousEventDefinitionError, InvalidChecksumError, InvalidPasswordError, MerkleTreeHashMismatchError, MissingNodeInTreeError, UnknownNodeLengthError, UnknownPathNibbleError, DuplicateNodeError, NodeNotFoundError, DecodeError, PayloadLengthError, DryRunError, IllegalBidFeeError, InvalidSignatureError, PrefixNotFoundError, SchemaNotFoundError, TagNotFoundError, TxNotInChainError, AlreadyConnectedError, NoWalletConnectedError, RpcConnectionError } from "./utils/errors.mjs";
44
- export { RpcBroadcastError, NAME_BID_MAX_LENGTH } from "./deprecated.mjs";
44
+ export { RpcBroadcastError, NAME_BID_MAX_LENGTH, encodeFateValue, decodeFateValue } from "./deprecated.mjs";
45
45
  //# sourceMappingURL=index-browser.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-browser.mjs","names":["_getPollInterval","InvalidTxError","getHeight","poll","awaitHeight","waitForTxConfirm","sendTransaction","getAccount","getBalance","getCurrentGeneration","getGeneration","getMicroBlockTransactions","getKeyBlock","getMicroBlockHeader","txDryRun","getContractByteCode","getContract","getName","resolveName","getAddressFromPriv","isAddressValid","genSalt","encodeUnsigned","hash","encodeContractAddress","generateKeyPairFromSecret","generateKeyPair","sign","verify","messageToHash","signMessage","verifyMessage","isValidKeypair","recover","dump","toBytes","buildTx","buildTxAsync","buildTxHash","unpackTx","buildContractIdByContractTx","buildContractId","oracleQueryId","produceNameId","commitmentHash","readInt","isNameValid","ensureName","getDefaultPointerKey","getMinimumNameFee","computeBidFee","computeAuctionEndBlock","isAuctionName","MAX_AUTH_FUN_GAS","NAME_TTL","NAME_MAX_TTL","NAME_MAX_CLIENT_TTL","CLIENT_TTL","MIN_GAS_PRICE","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_RANGES","ConsensusProtocolVersion","VmVersion","AbiVersion","Tag","ORACLE_TTL_TYPES","ORACLE_TTL","QUERY_TTL","RESPONSE_TTL","DRY_RUN_ACCOUNT","CallReturnType","getExecutionCost","getExecutionCostBySignedTx","getExecutionCostUsingNode","default","getTransactionSignerAddress","AE_AMOUNT_FORMATS","formatAmount","toAe","toAettos","prefixedAmount","DerivationError","deriveChild","derivePathFromKey","getMasterKeyFromSeed","derivePathFromSeed","getKeyPair","generateSaveHDWalletFromSeed","getSaveHDWalletAccounts","getHdWalletAccountFromSeed","encode","decode","Encoding","Encoded","encodeFateValue","decodeFateValue","hashTypedData","hashDomain","hashJson","aensRevoke","aensUpdate","aensTransfer","aensQuery","aensClaim","aensPreclaim","aensBid","Contract","pollForQueries","pollForQueryResponse","getQueryObject","postQueryToOracle","extendOracleTtl","respondToQuery","getOracleObject","registerOracle","spend","transferFunds","payForTransaction","createGeneralizedAccount","buildAuthTxHash","buildAuthTxHashByGaMetaTx","AeSdkMethods","AeSdkBase","AeSdk","AeSdkAepp","AeSdkWallet","Node","verifyTransaction","AccountBase","MemoryAccount","AccountGeneralized","AccountLedger","AccountLedgerFactory","CompilerBase","CompilerHttp","Channel","_MiddlewareSubscriber","MiddlewareSubscriberError","_MiddlewareSubscriberError","MiddlewareSubscriberDisconnected","_MiddlewareSubscriberDisconnected","_Middleware","connectionProxy","MESSAGE_DIRECTION","WALLET_TYPE","SUBSCRIPTION_TYPES","METHODS","RPC_STATUS","RpcError","RpcInvalidTransactionError","RpcRejectedByUserError","RpcUnsupportedProtocolError","RpcConnectionDenyError","RpcNotAuthorizeError","RpcPermissionDenyError","RpcInternalError","RpcMethodNotFoundError","walletDetector","BrowserRuntimeConnection","BrowserWindowMessageConnection","BaseError","AccountError","AensError","AeppError","ChannelError","CompilerError","ContractError","CryptographyError","NodeError","TransactionError","WalletError","ArgumentError","IllegalArgumentError","ArgumentCountMismatchError","InsufficientBalanceError","MissingParamError","NoSerializerFoundError","RequestTimedOutError","TxTimedOutError","TypeError","UnsupportedPlatformError","UnsupportedProtocolError","NotImplementedError","UnsupportedVersionError","InternalError","UnexpectedTsError","UnavailableAccountError","AensPointerContextError","InsufficientNameFeeError","InvalidAensNameError","InvalidRpcMessageError","MissingCallbackError","UnAuthorizedAccountError","UnknownRpcClientError","UnsubscribedAccountError","ChannelCallError","ChannelConnectionError","ChannelPingTimedOutError","UnexpectedChannelMessageError","ChannelIncomingMessageError","UnknownChannelStateError","InvalidAuthDataError","BytecodeMismatchError","DuplicateContractError","InactiveContractError","InvalidMethodInvocationError","MissingContractAddressError","MissingContractDefError","MissingFunctionNameError","NodeInvocationError","NoSuchContractFunctionError","NotPayableFunctionError","MissingEventDefinitionError","AmbiguousEventDefinitionError","InvalidChecksumError","InvalidPasswordError","MerkleTreeHashMismatchError","MissingNodeInTreeError","UnknownNodeLengthError","UnknownPathNibbleError","DuplicateNodeError","NodeNotFoundError","DecodeError","PayloadLengthError","DryRunError","IllegalBidFeeError","InvalidSignatureError","PrefixNotFoundError","SchemaNotFoundError","TagNotFoundError","TxNotInChainError","AlreadyConnectedError","NoWalletConnectedError","RpcConnectionError","RpcBroadcastError","NAME_BID_MAX_LENGTH"],"sources":["../src/index-browser.ts"],"sourcesContent":["export {\n _getPollInterval, InvalidTxError, getHeight, poll, awaitHeight, waitForTxConfirm, sendTransaction,\n getAccount, getBalance, getCurrentGeneration, getGeneration, getMicroBlockTransactions,\n getKeyBlock, getMicroBlockHeader, txDryRun, getContractByteCode, getContract, getName,\n resolveName,\n} from './chain';\nexport {\n getAddressFromPriv, isAddressValid, genSalt, encodeUnsigned, hash, encodeContractAddress,\n generateKeyPairFromSecret, generateKeyPair, sign, verify, messageToHash, signMessage,\n verifyMessage, isValidKeypair,\n} from './utils/crypto';\nexport { recover, dump } from './utils/keystore';\nexport type { Keystore } from './utils/keystore';\nexport { toBytes } from './utils/bytes';\nexport {\n buildTx, buildTxAsync, buildTxHash, unpackTx, buildContractIdByContractTx,\n} from './tx/builder';\nexport {\n buildContractId, oracleQueryId, produceNameId, commitmentHash, readInt, isNameValid, ensureName,\n getDefaultPointerKey, getMinimumNameFee, computeBidFee, computeAuctionEndBlock, isAuctionName,\n} from './tx/builder/helpers';\nexport {\n MAX_AUTH_FUN_GAS, NAME_TTL, NAME_MAX_TTL, NAME_MAX_CLIENT_TTL, CLIENT_TTL, MIN_GAS_PRICE,\n NAME_FEE_MULTIPLIER, NAME_FEE_BID_INCREMENT, NAME_BID_TIMEOUT_BLOCKS, NAME_MAX_LENGTH_FEE,\n NAME_BID_RANGES, ConsensusProtocolVersion, VmVersion, AbiVersion, Tag,\n} from './tx/builder/constants';\nexport type { Int, AensName } from './tx/builder/constants';\n// TODO: move to constants\nexport {\n ORACLE_TTL_TYPES, ORACLE_TTL, QUERY_TTL, RESPONSE_TTL, DRY_RUN_ACCOUNT, CallReturnType,\n} from './tx/builder/schema';\nexport {\n getExecutionCost, getExecutionCostBySignedTx, getExecutionCostUsingNode,\n} from './tx/execution-cost';\nexport { default as getTransactionSignerAddress } from './tx/transaction-signer';\nexport {\n AE_AMOUNT_FORMATS, formatAmount, toAe, toAettos, prefixedAmount,\n} from './utils/amount-formatter';\nexport {\n DerivationError, deriveChild, derivePathFromKey, getMasterKeyFromSeed, derivePathFromSeed,\n getKeyPair, generateSaveHDWalletFromSeed, getSaveHDWalletAccounts, getHdWalletAccountFromSeed,\n} from './utils/hd-wallet';\nexport {\n encode, decode, Encoding, Encoded,\n} from './utils/encoder';\nexport {\n encodeFateValue, decodeFateValue, hashTypedData, hashDomain, hashJson,\n} from './utils/typed-data';\nexport {\n aensRevoke, aensUpdate, aensTransfer, aensQuery, aensClaim, aensPreclaim, aensBid,\n} from './aens';\nexport { default as Contract } from './contract/Contract';\nexport type { ContractMethodsBase } from './contract/Contract';\nexport {\n pollForQueries, pollForQueryResponse, getQueryObject, postQueryToOracle, extendOracleTtl,\n respondToQuery, getOracleObject, registerOracle,\n} from './oracle';\nexport { spend, transferFunds, payForTransaction } from './spend';\nexport { createGeneralizedAccount, buildAuthTxHash, buildAuthTxHashByGaMetaTx } from './contract/ga';\n\nexport { default as AeSdkMethods } from './AeSdkMethods';\nexport { default as AeSdkBase } from './AeSdkBase';\nexport { default as AeSdk } from './AeSdk';\nexport { default as AeSdkAepp } from './AeSdkAepp';\nexport { default as AeSdkWallet } from './AeSdkWallet';\nexport { default as Node } from './Node';\nexport { default as verifyTransaction } from './tx/validator';\nexport { default as AccountBase } from './account/Base';\nexport { default as MemoryAccount } from './account/Memory';\nexport { default as AccountGeneralized } from './account/Generalized';\nexport { default as AccountLedger } from './account/Ledger';\nexport { default as AccountLedgerFactory } from './account/LedgerFactory';\nexport { default as CompilerBase } from './contract/compiler/Base';\nexport { default as CompilerHttp } from './contract/compiler/Http';\nexport { default as Channel } from './channel/Contract';\nexport {\n default as _MiddlewareSubscriber,\n MiddlewareSubscriberError as _MiddlewareSubscriberError,\n MiddlewareSubscriberDisconnected as _MiddlewareSubscriberDisconnected,\n} from './MiddlewareSubscriber';\nexport { default as _Middleware } from './Middleware';\n\nexport { default as connectionProxy } from './aepp-wallet-communication/connection-proxy';\nexport {\n MESSAGE_DIRECTION, WALLET_TYPE, SUBSCRIPTION_TYPES, METHODS, RPC_STATUS, RpcError,\n RpcInvalidTransactionError, RpcRejectedByUserError, RpcUnsupportedProtocolError,\n RpcConnectionDenyError, RpcNotAuthorizeError, RpcPermissionDenyError, RpcInternalError,\n RpcMethodNotFoundError,\n} from './aepp-wallet-communication/schema';\nexport { default as walletDetector } from './aepp-wallet-communication/wallet-detector';\nexport { default as BrowserRuntimeConnection } from './aepp-wallet-communication/connection/BrowserRuntime';\nexport { default as BrowserWindowMessageConnection } from './aepp-wallet-communication/connection/BrowserWindowMessage';\nexport {\n BaseError, AccountError, AensError, AeppError, ChannelError, CompilerError, ContractError,\n CryptographyError, NodeError, TransactionError, WalletError, ArgumentError, IllegalArgumentError,\n ArgumentCountMismatchError, InsufficientBalanceError, MissingParamError, NoSerializerFoundError,\n RequestTimedOutError, TxTimedOutError, TypeError, UnsupportedPlatformError,\n UnsupportedProtocolError, NotImplementedError, UnsupportedVersionError, InternalError,\n UnexpectedTsError, UnavailableAccountError, AensPointerContextError, InsufficientNameFeeError,\n InvalidAensNameError, InvalidRpcMessageError, MissingCallbackError, UnAuthorizedAccountError,\n UnknownRpcClientError, UnsubscribedAccountError, ChannelCallError, ChannelConnectionError,\n ChannelPingTimedOutError, UnexpectedChannelMessageError, ChannelIncomingMessageError,\n UnknownChannelStateError, InvalidAuthDataError, BytecodeMismatchError, DuplicateContractError,\n InactiveContractError, InvalidMethodInvocationError, MissingContractAddressError,\n MissingContractDefError, MissingFunctionNameError, NodeInvocationError,\n NoSuchContractFunctionError, NotPayableFunctionError, MissingEventDefinitionError,\n AmbiguousEventDefinitionError, InvalidChecksumError, InvalidPasswordError,\n MerkleTreeHashMismatchError, MissingNodeInTreeError, UnknownNodeLengthError,\n UnknownPathNibbleError, DuplicateNodeError, NodeNotFoundError, DecodeError, PayloadLengthError,\n DryRunError, IllegalBidFeeError, InvalidSignatureError, PrefixNotFoundError, SchemaNotFoundError,\n TagNotFoundError, TxNotInChainError, AlreadyConnectedError, NoWalletConnectedError,\n RpcConnectionError,\n} from './utils/errors';\nexport { RpcBroadcastError, NAME_BID_MAX_LENGTH } from './deprecated';\n"],"mappings":"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"}
1
+ {"version":3,"file":"index-browser.mjs","names":["_getPollInterval","InvalidTxError","getHeight","poll","awaitHeight","waitForTxConfirm","sendTransaction","getAccount","getBalance","getCurrentGeneration","getGeneration","getMicroBlockTransactions","getKeyBlock","getMicroBlockHeader","txDryRun","getContractByteCode","getContract","getName","resolveName","getAddressFromPriv","isAddressValid","genSalt","encodeUnsigned","hash","encodeContractAddress","generateKeyPairFromSecret","generateKeyPair","sign","verify","messageToHash","signMessage","verifyMessage","isValidKeypair","recover","dump","toBytes","buildTx","buildTxAsync","buildTxHash","unpackTx","buildContractIdByContractTx","buildContractId","oracleQueryId","produceNameId","commitmentHash","readInt","isNameValid","ensureName","getDefaultPointerKey","getMinimumNameFee","computeBidFee","computeAuctionEndBlock","isAuctionName","MAX_AUTH_FUN_GAS","NAME_TTL","NAME_MAX_TTL","NAME_MAX_CLIENT_TTL","CLIENT_TTL","MIN_GAS_PRICE","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_RANGES","ConsensusProtocolVersion","VmVersion","AbiVersion","Tag","ORACLE_TTL_TYPES","ORACLE_TTL","QUERY_TTL","RESPONSE_TTL","DRY_RUN_ACCOUNT","CallReturnType","getExecutionCost","getExecutionCostBySignedTx","getExecutionCostUsingNode","default","getTransactionSignerAddress","AE_AMOUNT_FORMATS","formatAmount","toAe","toAettos","prefixedAmount","DerivationError","deriveChild","derivePathFromKey","getMasterKeyFromSeed","derivePathFromSeed","getKeyPair","generateSaveHDWalletFromSeed","getSaveHDWalletAccounts","getHdWalletAccountFromSeed","encode","decode","Encoding","Encoded","hashTypedData","hashDomain","hashJson","aensRevoke","aensUpdate","aensTransfer","aensQuery","aensClaim","aensPreclaim","aensBid","Contract","pollForQueries","pollForQueryResponse","getQueryObject","postQueryToOracle","extendOracleTtl","respondToQuery","getOracleObject","registerOracle","spend","transferFunds","payForTransaction","createGeneralizedAccount","buildAuthTxHash","buildAuthTxHashByGaMetaTx","AeSdkMethods","AeSdkBase","AeSdk","AeSdkAepp","AeSdkWallet","Node","verifyTransaction","AccountBase","MemoryAccount","AccountGeneralized","AccountLedger","AccountLedgerFactory","CompilerBase","CompilerHttp","Channel","_MiddlewareSubscriber","MiddlewareSubscriberError","_MiddlewareSubscriberError","MiddlewareSubscriberDisconnected","_MiddlewareSubscriberDisconnected","_Middleware","connectionProxy","MESSAGE_DIRECTION","WALLET_TYPE","SUBSCRIPTION_TYPES","METHODS","RPC_STATUS","RpcError","RpcInvalidTransactionError","RpcRejectedByUserError","RpcUnsupportedProtocolError","RpcConnectionDenyError","RpcNotAuthorizeError","RpcPermissionDenyError","RpcInternalError","RpcMethodNotFoundError","walletDetector","BrowserRuntimeConnection","BrowserWindowMessageConnection","BaseError","AccountError","AensError","AeppError","ChannelError","CompilerError","ContractError","CryptographyError","NodeError","TransactionError","WalletError","ArgumentError","IllegalArgumentError","ArgumentCountMismatchError","InsufficientBalanceError","MissingParamError","NoSerializerFoundError","RequestTimedOutError","TxTimedOutError","TypeError","UnsupportedPlatformError","UnsupportedProtocolError","NotImplementedError","UnsupportedVersionError","InternalError","UnexpectedTsError","UnavailableAccountError","AensPointerContextError","InsufficientNameFeeError","InvalidAensNameError","InvalidRpcMessageError","MissingCallbackError","UnAuthorizedAccountError","UnknownRpcClientError","UnsubscribedAccountError","ChannelCallError","ChannelConnectionError","ChannelPingTimedOutError","UnexpectedChannelMessageError","ChannelIncomingMessageError","UnknownChannelStateError","InvalidAuthDataError","BytecodeMismatchError","DuplicateContractError","InactiveContractError","InvalidMethodInvocationError","MissingContractAddressError","MissingContractDefError","MissingFunctionNameError","NodeInvocationError","NoSuchContractFunctionError","NotPayableFunctionError","MissingEventDefinitionError","AmbiguousEventDefinitionError","InvalidChecksumError","InvalidPasswordError","MerkleTreeHashMismatchError","MissingNodeInTreeError","UnknownNodeLengthError","UnknownPathNibbleError","DuplicateNodeError","NodeNotFoundError","DecodeError","PayloadLengthError","DryRunError","IllegalBidFeeError","InvalidSignatureError","PrefixNotFoundError","SchemaNotFoundError","TagNotFoundError","TxNotInChainError","AlreadyConnectedError","NoWalletConnectedError","RpcConnectionError","RpcBroadcastError","NAME_BID_MAX_LENGTH","encodeFateValue","decodeFateValue"],"sources":["../src/index-browser.ts"],"sourcesContent":["export {\n _getPollInterval, InvalidTxError, getHeight, poll, awaitHeight, waitForTxConfirm, sendTransaction,\n getAccount, getBalance, getCurrentGeneration, getGeneration, getMicroBlockTransactions,\n getKeyBlock, getMicroBlockHeader, txDryRun, getContractByteCode, getContract, getName,\n resolveName,\n} from './chain';\nexport {\n getAddressFromPriv, isAddressValid, genSalt, encodeUnsigned, hash, encodeContractAddress,\n generateKeyPairFromSecret, generateKeyPair, sign, verify, messageToHash, signMessage,\n verifyMessage, isValidKeypair,\n} from './utils/crypto';\nexport { recover, dump } from './utils/keystore';\nexport type { Keystore } from './utils/keystore';\nexport { toBytes } from './utils/bytes';\nexport {\n buildTx, buildTxAsync, buildTxHash, unpackTx, buildContractIdByContractTx,\n} from './tx/builder';\nexport {\n buildContractId, oracleQueryId, produceNameId, commitmentHash, readInt, isNameValid, ensureName,\n getDefaultPointerKey, getMinimumNameFee, computeBidFee, computeAuctionEndBlock, isAuctionName,\n} from './tx/builder/helpers';\nexport {\n MAX_AUTH_FUN_GAS, NAME_TTL, NAME_MAX_TTL, NAME_MAX_CLIENT_TTL, CLIENT_TTL, MIN_GAS_PRICE,\n NAME_FEE_MULTIPLIER, NAME_FEE_BID_INCREMENT, NAME_BID_TIMEOUT_BLOCKS, NAME_MAX_LENGTH_FEE,\n NAME_BID_RANGES, ConsensusProtocolVersion, VmVersion, AbiVersion, Tag,\n} from './tx/builder/constants';\nexport type { Int, AensName } from './tx/builder/constants';\n// TODO: move to constants\nexport {\n ORACLE_TTL_TYPES, ORACLE_TTL, QUERY_TTL, RESPONSE_TTL, DRY_RUN_ACCOUNT, CallReturnType,\n} from './tx/builder/schema';\nexport {\n getExecutionCost, getExecutionCostBySignedTx, getExecutionCostUsingNode,\n} from './tx/execution-cost';\nexport { default as getTransactionSignerAddress } from './tx/transaction-signer';\nexport {\n AE_AMOUNT_FORMATS, formatAmount, toAe, toAettos, prefixedAmount,\n} from './utils/amount-formatter';\nexport {\n DerivationError, deriveChild, derivePathFromKey, getMasterKeyFromSeed, derivePathFromSeed,\n getKeyPair, generateSaveHDWalletFromSeed, getSaveHDWalletAccounts, getHdWalletAccountFromSeed,\n} from './utils/hd-wallet';\nexport {\n encode, decode, Encoding, Encoded,\n} from './utils/encoder';\nexport { hashTypedData, hashDomain, hashJson } from './utils/typed-data';\nexport {\n aensRevoke, aensUpdate, aensTransfer, aensQuery, aensClaim, aensPreclaim, aensBid,\n} from './aens';\nexport { default as Contract } from './contract/Contract';\nexport type { ContractMethodsBase } from './contract/Contract';\nexport {\n pollForQueries, pollForQueryResponse, getQueryObject, postQueryToOracle, extendOracleTtl,\n respondToQuery, getOracleObject, registerOracle,\n} from './oracle';\nexport { spend, transferFunds, payForTransaction } from './spend';\nexport { createGeneralizedAccount, buildAuthTxHash, buildAuthTxHashByGaMetaTx } from './contract/ga';\n\nexport { default as AeSdkMethods } from './AeSdkMethods';\nexport { default as AeSdkBase } from './AeSdkBase';\nexport { default as AeSdk } from './AeSdk';\nexport { default as AeSdkAepp } from './AeSdkAepp';\nexport { default as AeSdkWallet } from './AeSdkWallet';\nexport { default as Node } from './Node';\nexport { default as verifyTransaction } from './tx/validator';\nexport { default as AccountBase } from './account/Base';\nexport { default as MemoryAccount } from './account/Memory';\nexport { default as AccountGeneralized } from './account/Generalized';\nexport { default as AccountLedger } from './account/Ledger';\nexport { default as AccountLedgerFactory } from './account/LedgerFactory';\nexport { default as CompilerBase } from './contract/compiler/Base';\nexport { default as CompilerHttp } from './contract/compiler/Http';\nexport { default as Channel } from './channel/Contract';\nexport {\n default as _MiddlewareSubscriber,\n MiddlewareSubscriberError as _MiddlewareSubscriberError,\n MiddlewareSubscriberDisconnected as _MiddlewareSubscriberDisconnected,\n} from './MiddlewareSubscriber';\nexport { default as _Middleware } from './Middleware';\n\nexport { default as connectionProxy } from './aepp-wallet-communication/connection-proxy';\nexport {\n MESSAGE_DIRECTION, WALLET_TYPE, SUBSCRIPTION_TYPES, METHODS, RPC_STATUS, RpcError,\n RpcInvalidTransactionError, RpcRejectedByUserError, RpcUnsupportedProtocolError,\n RpcConnectionDenyError, RpcNotAuthorizeError, RpcPermissionDenyError, RpcInternalError,\n RpcMethodNotFoundError,\n} from './aepp-wallet-communication/schema';\nexport { default as walletDetector } from './aepp-wallet-communication/wallet-detector';\nexport { default as BrowserRuntimeConnection } from './aepp-wallet-communication/connection/BrowserRuntime';\nexport { default as BrowserWindowMessageConnection } from './aepp-wallet-communication/connection/BrowserWindowMessage';\nexport {\n BaseError, AccountError, AensError, AeppError, ChannelError, CompilerError, ContractError,\n CryptographyError, NodeError, TransactionError, WalletError, ArgumentError, IllegalArgumentError,\n ArgumentCountMismatchError, InsufficientBalanceError, MissingParamError, NoSerializerFoundError,\n RequestTimedOutError, TxTimedOutError, TypeError, UnsupportedPlatformError,\n UnsupportedProtocolError, NotImplementedError, UnsupportedVersionError, InternalError,\n UnexpectedTsError, UnavailableAccountError, AensPointerContextError, InsufficientNameFeeError,\n InvalidAensNameError, InvalidRpcMessageError, MissingCallbackError, UnAuthorizedAccountError,\n UnknownRpcClientError, UnsubscribedAccountError, ChannelCallError, ChannelConnectionError,\n ChannelPingTimedOutError, UnexpectedChannelMessageError, ChannelIncomingMessageError,\n UnknownChannelStateError, InvalidAuthDataError, BytecodeMismatchError, DuplicateContractError,\n InactiveContractError, InvalidMethodInvocationError, MissingContractAddressError,\n MissingContractDefError, MissingFunctionNameError, NodeInvocationError,\n NoSuchContractFunctionError, NotPayableFunctionError, MissingEventDefinitionError,\n AmbiguousEventDefinitionError, InvalidChecksumError, InvalidPasswordError,\n MerkleTreeHashMismatchError, MissingNodeInTreeError, UnknownNodeLengthError,\n UnknownPathNibbleError, DuplicateNodeError, NodeNotFoundError, DecodeError, PayloadLengthError,\n DryRunError, IllegalBidFeeError, InvalidSignatureError, PrefixNotFoundError, SchemaNotFoundError,\n TagNotFoundError, TxNotInChainError, AlreadyConnectedError, NoWalletConnectedError,\n RpcConnectionError,\n} from './utils/errors';\nexport {\n RpcBroadcastError, NAME_BID_MAX_LENGTH, encodeFateValue, decodeFateValue,\n} from './deprecated';\n"],"mappings":"SACEA,gBAAgB,EAAEC,cAAc,EAAEC,SAAS,EAAEC,IAAI,EAAEC,WAAW,EAAEC,gBAAgB,EAAEC,eAAe,EACjGC,UAAU,EAAEC,UAAU,EAAEC,oBAAoB,EAAEC,aAAa,EAAEC,yBAAyB,EACtFC,WAAW,EAAEC,mBAAmB,EAAEC,QAAQ,EAAEC,mBAAmB,EAAEC,WAAW,EAAEC,OAAO,EACrFC,WAAW;AAAA,SAGXC,kBAAkB,EAAEC,cAAc,EAAEC,OAAO,EAAEC,cAAc,EAAEC,IAAI,EAAEC,qBAAqB,EACxFC,yBAAyB,EAAEC,eAAe,EAAEC,IAAI,EAAEC,MAAM,EAAEC,aAAa,EAAEC,WAAW,EACpFC,aAAa,EAAEC,cAAc;AAAA,SAEtBC,OAAO,EAAEC,IAAI;AAAA,SAEbC,OAAO;AAAA,SAEdC,OAAO,EAAEC,YAAY,EAAEC,WAAW,EAAEC,QAAQ,EAAEC,2BAA2B;AAAA,SAGzEC,eAAe,EAAEC,aAAa,EAAEC,aAAa,EAAEC,cAAc,EAAEC,OAAO,EAAEC,WAAW,EAAEC,UAAU,EAC/FC,oBAAoB,EAAEC,iBAAiB,EAAEC,aAAa,EAAEC,sBAAsB,EAAEC,aAAa;AAAA,SAG7FC,gBAAgB,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,mBAAmB,EAAEC,UAAU,EAAEC,aAAa,EACxFC,mBAAmB,EAAEC,sBAAsB,EAAEC,uBAAuB,EAAEC,mBAAmB,EACzFC,eAAe,EAAEC,wBAAwB,EAAEC,SAAS,EAAEC,UAAU,EAAEC,GAAG;AAGvE;AAAA,SAEEC,gBAAgB,EAAEC,UAAU,EAAEC,SAAS,EAAEC,YAAY,EAAEC,eAAe,EAAEC,cAAc;AAAA,SAGtFC,gBAAgB,EAAEC,0BAA0B,EAAEC,yBAAyB;AAAA,SAEhEC,OAAO,IAAIC,2BAA2B;AAAA,SAE7CC,iBAAiB,EAAEC,YAAY,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,cAAc;AAAA,SAG/DC,eAAe,EAAEC,WAAW,EAAEC,iBAAiB,EAAEC,oBAAoB,EAAEC,kBAAkB,EACzFC,UAAU,EAAEC,4BAA4B,EAAEC,uBAAuB,EAAEC,0BAA0B;AAAA,SAG7FC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,OAAO;AAAA,SAE1BC,aAAa,EAAEC,UAAU,EAAEC,QAAQ;AAAA,SAE1CC,UAAU,EAAEC,UAAU,EAAEC,YAAY,EAAEC,SAAS,EAAEC,SAAS,EAAEC,YAAY,EAAEC,OAAO;AAAA,SAE1E7B,OAAO,IAAI8B,QAAQ;AAAA,SAG1BC,cAAc,EAAEC,oBAAoB,EAAEC,cAAc,EAAEC,iBAAiB,EAAEC,eAAe,EACxFC,cAAc,EAAEC,eAAe,EAAEC,cAAc;AAAA,SAExCC,KAAK,EAAEC,aAAa,EAAEC,iBAAiB;AAAA,SACvCC,wBAAwB,EAAEC,eAAe,EAAEC,yBAAyB;AAAA,SAEpE5C,OAAO,IAAI6C,YAAY;AAAA,SACvB7C,OAAO,IAAI8C,SAAS;AAAA,SACpB9C,OAAO,IAAI+C,KAAK;AAAA,SAChB/C,OAAO,IAAIgD,SAAS;AAAA,SACpBhD,OAAO,IAAIiD,WAAW;AAAA,SACtBjD,OAAO,IAAIkD,IAAI;AAAA,SACflD,OAAO,IAAImD,iBAAiB;AAAA,SAC5BnD,OAAO,IAAIoD,WAAW;AAAA,SACtBpD,OAAO,IAAIqD,aAAa;AAAA,SACxBrD,OAAO,IAAIsD,kBAAkB;AAAA,SAC7BtD,OAAO,IAAIuD,aAAa;AAAA,SACxBvD,OAAO,IAAIwD,oBAAoB;AAAA,SAC/BxD,OAAO,IAAIyD,YAAY;AAAA,SACvBzD,OAAO,IAAI0D,YAAY;AAAA,SACvB1D,OAAO,IAAI2D,OAAO;AAAA,SAEzB3D,OAAO,IAAI4D,qBAAqB,EAChCC,yBAAyB,IAAIC,0BAA0B,EACvDC,gCAAgC,IAAIC,iCAAiC;AAAA,SAE9DhE,OAAO,IAAIiE,WAAW;AAAA,SAEtBjE,OAAO,IAAIkE,eAAe;AAAA,SAEjCC,iBAAiB,EAAEC,WAAW,EAAEC,kBAAkB,EAAEC,OAAO,EAAEC,UAAU,EAAEC,QAAQ,EACjFC,0BAA0B,EAAEC,sBAAsB,EAAEC,2BAA2B,EAC/EC,sBAAsB,EAAEC,oBAAoB,EAAEC,sBAAsB,EAAEC,gBAAgB,EACtFC,sBAAsB;AAAA,SAEfhF,OAAO,IAAIiF,cAAc;AAAA,SACzBjF,OAAO,IAAIkF,wBAAwB;AAAA,SACnClF,OAAO,IAAImF,8BAA8B;AAAA,SAEhDC,SAAS,EAAEC,YAAY,EAAEC,SAAS,EAAEC,SAAS,EAAEC,YAAY,EAAEC,aAAa,EAAEC,aAAa,EACzFC,iBAAiB,EAAEC,SAAS,EAAEC,gBAAgB,EAAEC,WAAW,EAAEC,aAAa,EAAEC,oBAAoB,EAChGC,0BAA0B,EAAEC,wBAAwB,EAAEC,iBAAiB,EAAEC,sBAAsB,EAC/FC,oBAAoB,EAAEC,eAAe,EAAEC,SAAS,EAAEC,wBAAwB,EAC1EC,wBAAwB,EAAEC,mBAAmB,EAAEC,uBAAuB,EAAEC,aAAa,EACrFC,iBAAiB,EAAEC,uBAAuB,EAAEC,uBAAuB,EAAEC,wBAAwB,EAC7FC,oBAAoB,EAAEC,sBAAsB,EAAEC,oBAAoB,EAAEC,wBAAwB,EAC5FC,qBAAqB,EAAEC,wBAAwB,EAAEC,gBAAgB,EAAEC,sBAAsB,EACzFC,wBAAwB,EAAEC,6BAA6B,EAAEC,2BAA2B,EACpFC,wBAAwB,EAAEC,oBAAoB,EAAEC,qBAAqB,EAAEC,sBAAsB,EAC7FC,qBAAqB,EAAEC,4BAA4B,EAAEC,2BAA2B,EAChFC,uBAAuB,EAAEC,wBAAwB,EAAEC,mBAAmB,EACtEC,2BAA2B,EAAEC,uBAAuB,EAAEC,2BAA2B,EACjFC,6BAA6B,EAAEC,oBAAoB,EAAEC,oBAAoB,EACzEC,2BAA2B,EAAEC,sBAAsB,EAAEC,sBAAsB,EAC3EC,sBAAsB,EAAEC,kBAAkB,EAAEC,iBAAiB,EAAEC,WAAW,EAAEC,kBAAkB,EAC9FC,WAAW,EAAEC,kBAAkB,EAAEC,qBAAqB,EAAEC,mBAAmB,EAAEC,mBAAmB,EAChGC,gBAAgB,EAAEC,iBAAiB,EAAEC,qBAAqB,EAAEC,sBAAsB,EAClFC,kBAAkB;AAAA,SAGlBC,iBAAiB,EAAEC,mBAAmB,EAAEC,eAAe,EAAEC,eAAe"}
@@ -29,7 +29,8 @@ export declare enum VmVersion {
29
29
  SophiaImprovementsFortuna = 4,
30
30
  Fate = 5,
31
31
  SophiaImprovementsLima = 6,
32
- Fate2 = 7
32
+ Fate2 = 7,
33
+ Fate3 = 8
33
34
  }
34
35
  /**
35
36
  * @category transaction builder
@@ -76,6 +76,7 @@ export let VmVersion = /*#__PURE__*/function (VmVersion) {
76
76
  VmVersion[VmVersion["Fate"] = 5] = "Fate";
77
77
  VmVersion[VmVersion["SophiaImprovementsLima"] = 6] = "SophiaImprovementsLima";
78
78
  VmVersion[VmVersion["Fate2"] = 7] = "Fate2";
79
+ VmVersion[VmVersion["Fate3"] = 8] = "Fate3";
79
80
  return VmVersion;
80
81
  }({});
81
82
 
@@ -1 +1 @@
1
- {"version":3,"file":"constants.mjs","names":["BigNumber","mapObject","MAX_AUTH_FUN_GAS","NAME_TTL","NAME_MAX_TTL","NAME_MAX_CLIENT_TTL","CLIENT_TTL","MIN_GAS_PRICE","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_RANGES","_ref","key","value","times","ConsensusProtocolVersion","VmVersion","AbiVersion","Tag"],"sources":["../../../src/tx/builder/constants.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { mapObject } from '../../utils/other';\n\nexport const MAX_AUTH_FUN_GAS = 50000;\nexport type Int = number | string | BigNumber;\n// # AENS\nexport type AensName = `${string}.chain`;\nexport const NAME_TTL = 180000;\n// # max number of block into the future that the name is going to be available\n// # https://github.com/aeternity/protocol/blob/epoch-v0.22.0/AENS.md#update\n// # https://github.com/aeternity/protocol/blob/44a93d3aab957ca820183c3520b9daf6b0fedff4/AENS.md#aens-entry\nexport const NAME_MAX_TTL = 36000;\nexport const NAME_MAX_CLIENT_TTL = 84600;\nexport const CLIENT_TTL = NAME_MAX_CLIENT_TTL;\nexport const MIN_GAS_PRICE = 1e9;\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 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}, ([key, value]) => [key, new BigNumber(value).times(NAME_FEE_MULTIPLIER)]);\n\nexport enum ConsensusProtocolVersion {\n Iris = 5,\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}\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 Account = 10,\n SignedTx = 11,\n SpendTx = 12,\n Oracle = 20,\n // OracleQuery = 21,\n OracleRegisterTx = 22,\n OracleQueryTx = 23,\n OracleResponseTx = 24,\n OracleExtendTx = 25,\n Name = 30,\n // NameCommitment = 31,\n NameClaimTx = 32,\n NamePreclaimTx = 33,\n NameUpdateTx = 34,\n NameRevokeTx = 35,\n NameTransferTx = 36,\n // NameAuction = 37,\n Contract = 40,\n ContractCall = 41,\n ContractCreateTx = 42,\n ContractCallTx = 43,\n ChannelCreateTx = 50,\n // ChannelSetDelegatesTx = 501,\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 ChannelOffChainUpdateTransfer = 570,\n ChannelOffChainUpdateDeposit = 571,\n ChannelOffChainUpdateWithdraw = 572,\n ChannelOffChainUpdateCreateContract = 573,\n ChannelOffChainUpdateCallContract = 574,\n // ChannelOffChainUpdateMeta = 576,\n ChannelClientReconnectTx = 575,\n Channel = 58,\n ChannelSnapshotSoloTx = 59,\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 GaAttachTx = 80,\n GaMetaTx = 81,\n PayingForTx = 82,\n GaMetaTxAuthData = 810,\n // KeyBlock = 100,\n // MicroBlock = 101,\n // LightMicroBlock = 102,\n // Pof = 200,\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"constants.mjs","names":["BigNumber","mapObject","MAX_AUTH_FUN_GAS","NAME_TTL","NAME_MAX_TTL","NAME_MAX_CLIENT_TTL","CLIENT_TTL","MIN_GAS_PRICE","NAME_FEE_MULTIPLIER","NAME_FEE_BID_INCREMENT","NAME_BID_TIMEOUT_BLOCKS","NAME_MAX_LENGTH_FEE","NAME_BID_RANGES","_ref","key","value","times","ConsensusProtocolVersion","VmVersion","AbiVersion","Tag"],"sources":["../../../src/tx/builder/constants.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { mapObject } from '../../utils/other';\n\nexport const MAX_AUTH_FUN_GAS = 50000;\nexport type Int = number | string | BigNumber;\n// # AENS\nexport type AensName = `${string}.chain`;\nexport const NAME_TTL = 180000;\n// # max number of block into the future that the name is going to be available\n// # https://github.com/aeternity/protocol/blob/epoch-v0.22.0/AENS.md#update\n// # https://github.com/aeternity/protocol/blob/44a93d3aab957ca820183c3520b9daf6b0fedff4/AENS.md#aens-entry\nexport const NAME_MAX_TTL = 36000;\nexport const NAME_MAX_CLIENT_TTL = 84600;\nexport const CLIENT_TTL = NAME_MAX_CLIENT_TTL;\nexport const MIN_GAS_PRICE = 1e9;\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 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}, ([key, value]) => [key, new BigNumber(value).times(NAME_FEE_MULTIPLIER)]);\n\nexport enum ConsensusProtocolVersion {\n Iris = 5,\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 Account = 10,\n SignedTx = 11,\n SpendTx = 12,\n Oracle = 20,\n // OracleQuery = 21,\n OracleRegisterTx = 22,\n OracleQueryTx = 23,\n OracleResponseTx = 24,\n OracleExtendTx = 25,\n Name = 30,\n // NameCommitment = 31,\n NameClaimTx = 32,\n NamePreclaimTx = 33,\n NameUpdateTx = 34,\n NameRevokeTx = 35,\n NameTransferTx = 36,\n // NameAuction = 37,\n Contract = 40,\n ContractCall = 41,\n ContractCreateTx = 42,\n ContractCallTx = 43,\n ChannelCreateTx = 50,\n // ChannelSetDelegatesTx = 501,\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 ChannelOffChainUpdateTransfer = 570,\n ChannelOffChainUpdateDeposit = 571,\n ChannelOffChainUpdateWithdraw = 572,\n ChannelOffChainUpdateCreateContract = 573,\n ChannelOffChainUpdateCallContract = 574,\n // ChannelOffChainUpdateMeta = 576,\n ChannelClientReconnectTx = 575,\n Channel = 58,\n ChannelSnapshotSoloTx = 59,\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 GaAttachTx = 80,\n GaMetaTx = 81,\n PayingForTx = 82,\n GaMetaTxAuthData = 810,\n // KeyBlock = 100,\n // MicroBlock = 101,\n // LightMicroBlock = 102,\n // Pof = 200,\n}\n"],"mappings":"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"}
@@ -18,7 +18,7 @@ export declare const ProtocolToVmAbi: {
18
18
  };
19
19
  readonly 6: {
20
20
  readonly 'contract-create': {
21
- readonly vmVersion: readonly [VmVersion.Fate2];
21
+ readonly vmVersion: readonly [VmVersion.Fate3];
22
22
  readonly abiVersion: readonly [AbiVersion.Fate];
23
23
  };
24
24
  readonly 'contract-call': {
@@ -24,7 +24,7 @@ export const ProtocolToVmAbi = {
24
24
  },
25
25
  [ConsensusProtocolVersion.Ceres]: {
26
26
  'contract-create': {
27
- vmVersion: [VmVersion.Fate2],
27
+ vmVersion: [VmVersion.Fate3],
28
28
  abiVersion: [AbiVersion.Fate]
29
29
  },
30
30
  'contract-call': {
@@ -1 +1 @@
1
- {"version":3,"file":"ct-version.mjs","names":["ConsensusProtocolVersion","VmVersion","AbiVersion","ProtocolToVmAbi","Iris","vmVersion","Fate2","abiVersion","Fate","Sophia","NoAbi","Ceres","getProtocolDetails","protocolVersion","type","_protocol$vmVersion$","protocol","serialize","value","params","_ref","_value","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';\nimport Node from '../../../Node';\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.Iris]: {\n 'contract-create': {\n vmVersion: [VmVersion.Fate2], abiVersion: [AbiVersion.Fate],\n },\n 'contract-call': {\n vmVersion: [], abiVersion: [AbiVersion.Fate, AbiVersion.Sophia],\n },\n 'oracle-call': {\n vmVersion: [], abiVersion: [AbiVersion.NoAbi, AbiVersion.Fate],\n },\n },\n [ConsensusProtocolVersion.Ceres]: {\n 'contract-create': {\n vmVersion: [VmVersion.Fate2], abiVersion: [AbiVersion.Fate],\n },\n 'contract-call': {\n vmVersion: [], abiVersion: [AbiVersion.Fate],\n },\n 'oracle-call': {\n vmVersion: [], 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 { consensusProtocolVersion = ConsensusProtocolVersion.Iris }:\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":"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"}
1
+ {"version":3,"file":"ct-version.mjs","names":["ConsensusProtocolVersion","VmVersion","AbiVersion","ProtocolToVmAbi","Iris","vmVersion","Fate2","abiVersion","Fate","Sophia","NoAbi","Ceres","Fate3","getProtocolDetails","protocolVersion","type","_protocol$vmVersion$","protocol","serialize","value","params","_ref","_value","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';\nimport Node from '../../../Node';\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.Iris]: {\n 'contract-create': {\n vmVersion: [VmVersion.Fate2], abiVersion: [AbiVersion.Fate],\n },\n 'contract-call': {\n vmVersion: [], abiVersion: [AbiVersion.Fate, AbiVersion.Sophia],\n },\n 'oracle-call': {\n vmVersion: [], abiVersion: [AbiVersion.NoAbi, AbiVersion.Fate],\n },\n },\n [ConsensusProtocolVersion.Ceres]: {\n 'contract-create': {\n vmVersion: [VmVersion.Fate3], abiVersion: [AbiVersion.Fate],\n },\n 'contract-call': {\n vmVersion: [], abiVersion: [AbiVersion.Fate],\n },\n 'oracle-call': {\n vmVersion: [], 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 { consensusProtocolVersion = ConsensusProtocolVersion.Iris }:\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":"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"}
@@ -134,7 +134,7 @@ export default {
134
134
  const value = new BigNumber(_value !== null && _value !== void 0 ? _value : minFee);
135
135
  if (minFee.gt(value)) {
136
136
  if (_pickBiggerFee === true) return minFee.toFixed();
137
- throw new IllegalArgumentError(`Fee ${value.toString()} must be bigger then ${minFee}`);
137
+ throw new IllegalArgumentError(`Fee ${value.toString()} must be bigger than ${minFee}`);
138
138
  }
139
139
  return value.toFixed();
140
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fee.mjs","names":["BigNumber","IllegalArgumentError","MIN_GAS_PRICE","Tag","coinAmount","isKeyOfObject","decode","BASE_GAS","GAS_PER_BYTE","KEY_BLOCK_INTERVAL","TX_FEE_BASE_GAS","txType","_feeFactors","feeFactors","ChannelForceProgressTx","ChannelOffChainTx","ChannelOffChainUpdateCallContract","ChannelOffChainUpdateCreateContract","ChannelOffChainUpdateDeposit","ChannelOffChainUpdateWithdraw","ChannelOffChainUpdateTransfer","ContractCreateTx","ContractCallTx","GaAttachTx","GaMetaTx","PayingForTx","factor","TX_FEE_OTHER_GAS","txSize","_ref","relativeTtl","innerTxSize","OracleRegisterTx","OracleExtendTx","OracleQueryTx","OracleResponseTx","times","plus","Math","ceil","floor","minus","getOracleRelativeTtl","params","ttlKeys","tag","buildFee","builtTx","unpackTx","buildTx","length","txObject","tx","encodedTx","calculateMinFee","rebuildTx","fee","previousFee","eq","serializeAettos","_value","_ref2","_computingMinFee","_pickBiggerFee","toFixed","minFee","value","gt","toString"],"sources":["../../../../src/tx/builder/field-types/fee.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { IllegalArgumentError } from '../../../utils/errors';\nimport { MIN_GAS_PRICE, Tag } from '../constants';\nimport coinAmount from './coin-amount';\nimport { isKeyOfObject } from '../../../utils/other';\nimport { decode, Encoded } from '../../../utils/encoder';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index';\n\nconst BASE_GAS = 15000;\nconst GAS_PER_BYTE = 20;\nconst KEY_BLOCK_INTERVAL = 3;\n\n/**\n * Calculate the Base fee 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 fee\n * @example\n * ```js\n * TX_FEE_BASE('channelForceProgress') => new BigNumber(30 * 15000)\n * ```\n */\nconst TX_FEE_BASE_GAS = (txType: Tag): BigNumber => {\n const feeFactors = {\n [Tag.ChannelForceProgressTx]: 30,\n [Tag.ChannelOffChainTx]: 0,\n [Tag.ChannelOffChainUpdateCallContract]: 0,\n [Tag.ChannelOffChainUpdateCreateContract]: 0,\n [Tag.ChannelOffChainUpdateDeposit]: 0,\n [Tag.ChannelOffChainUpdateWithdraw]: 0,\n [Tag.ChannelOffChainUpdateTransfer]: 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 new BigNumber(factor * BASE_GAS);\n};\n\n/**\n * Calculate fee 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 fee\n * @example\n * ```js\n * TX_FEE_OTHER_GAS('oracleResponse',10, { relativeTtl: 10, innerTxSize: 10 })\n * => new BigNumber(10).times(20).plus(Math.ceil(32000 * 10 / Math.floor(60 * 24 * 365 / 2)))\n * ```\n */\nconst TX_FEE_OTHER_GAS = (\n txType: Tag,\n txSize: number,\n { relativeTtl, innerTxSize }: { relativeTtl: number; innerTxSize: number },\n): BigNumber => {\n switch (txType) {\n case Tag.OracleRegisterTx:\n case Tag.OracleExtendTx:\n case Tag.OracleQueryTx:\n case Tag.OracleResponseTx:\n return new BigNumber(txSize)\n .times(GAS_PER_BYTE)\n .plus(\n Math.ceil((32000 * relativeTtl) / Math.floor((60 * 24 * 365) / KEY_BLOCK_INTERVAL)),\n );\n case Tag.GaMetaTx:\n case Tag.PayingForTx:\n return new BigNumber(txSize).minus(innerTxSize).times(GAS_PER_BYTE);\n default:\n return new BigNumber(txSize).times(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 fee based on tx type and params\n */\nexport function buildFee(\n builtTx: Encoded.Transaction,\n unpackTx: typeof unpackTxType,\n buildTx: typeof buildTxType,\n): BigNumber {\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 TX_FEE_BASE_GAS(txObject.tag)\n .plus(TX_FEE_OTHER_GAS(txObject.tag, length, {\n relativeTtl: getOracleRelativeTtl(txObject), innerTxSize,\n }))\n .times(MIN_GAS_PRICE);\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 = buildFee(rebuildTx(fee), unpackTx, buildTx);\n } while (!fee.eq(previousFee));\n return fee;\n}\n\nexport default {\n ...coinAmount,\n\n serializeAettos(\n _value: string | undefined,\n {\n rebuildTx, unpackTx, buildTx, _computingMinFee, _pickBiggerFee,\n }: {\n rebuildTx: (params: any) => Encoded.Transaction;\n unpackTx: typeof unpackTxType;\n buildTx: typeof buildTxType;\n _computingMinFee?: BigNumber;\n _pickBiggerFee?: boolean;\n },\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 = new BigNumber(_value ?? minFee);\n if (minFee.gt(value)) {\n if (_pickBiggerFee === true) return minFee.toFixed();\n throw new IllegalArgumentError(`Fee ${value.toString()} must be bigger then ${minFee}`);\n }\n return value.toFixed();\n },\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"fee.mjs","names":["BigNumber","IllegalArgumentError","MIN_GAS_PRICE","Tag","coinAmount","isKeyOfObject","decode","BASE_GAS","GAS_PER_BYTE","KEY_BLOCK_INTERVAL","TX_FEE_BASE_GAS","txType","_feeFactors","feeFactors","ChannelForceProgressTx","ChannelOffChainTx","ChannelOffChainUpdateCallContract","ChannelOffChainUpdateCreateContract","ChannelOffChainUpdateDeposit","ChannelOffChainUpdateWithdraw","ChannelOffChainUpdateTransfer","ContractCreateTx","ContractCallTx","GaAttachTx","GaMetaTx","PayingForTx","factor","TX_FEE_OTHER_GAS","txSize","_ref","relativeTtl","innerTxSize","OracleRegisterTx","OracleExtendTx","OracleQueryTx","OracleResponseTx","times","plus","Math","ceil","floor","minus","getOracleRelativeTtl","params","ttlKeys","tag","buildFee","builtTx","unpackTx","buildTx","length","txObject","tx","encodedTx","calculateMinFee","rebuildTx","fee","previousFee","eq","serializeAettos","_value","_ref2","_computingMinFee","_pickBiggerFee","toFixed","minFee","value","gt","toString"],"sources":["../../../../src/tx/builder/field-types/fee.ts"],"sourcesContent":["import BigNumber from 'bignumber.js';\nimport { IllegalArgumentError } from '../../../utils/errors';\nimport { MIN_GAS_PRICE, Tag } from '../constants';\nimport coinAmount from './coin-amount';\nimport { isKeyOfObject } from '../../../utils/other';\nimport { decode, Encoded } from '../../../utils/encoder';\nimport type { unpackTx as unpackTxType, buildTx as buildTxType } from '../index';\n\nconst BASE_GAS = 15000;\nconst GAS_PER_BYTE = 20;\nconst KEY_BLOCK_INTERVAL = 3;\n\n/**\n * Calculate the Base fee 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 fee\n * @example\n * ```js\n * TX_FEE_BASE('channelForceProgress') => new BigNumber(30 * 15000)\n * ```\n */\nconst TX_FEE_BASE_GAS = (txType: Tag): BigNumber => {\n const feeFactors = {\n [Tag.ChannelForceProgressTx]: 30,\n [Tag.ChannelOffChainTx]: 0,\n [Tag.ChannelOffChainUpdateCallContract]: 0,\n [Tag.ChannelOffChainUpdateCreateContract]: 0,\n [Tag.ChannelOffChainUpdateDeposit]: 0,\n [Tag.ChannelOffChainUpdateWithdraw]: 0,\n [Tag.ChannelOffChainUpdateTransfer]: 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 new BigNumber(factor * BASE_GAS);\n};\n\n/**\n * Calculate fee 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 fee\n * @example\n * ```js\n * TX_FEE_OTHER_GAS('oracleResponse',10, { relativeTtl: 10, innerTxSize: 10 })\n * => new BigNumber(10).times(20).plus(Math.ceil(32000 * 10 / Math.floor(60 * 24 * 365 / 2)))\n * ```\n */\nconst TX_FEE_OTHER_GAS = (\n txType: Tag,\n txSize: number,\n { relativeTtl, innerTxSize }: { relativeTtl: number; innerTxSize: number },\n): BigNumber => {\n switch (txType) {\n case Tag.OracleRegisterTx:\n case Tag.OracleExtendTx:\n case Tag.OracleQueryTx:\n case Tag.OracleResponseTx:\n return new BigNumber(txSize)\n .times(GAS_PER_BYTE)\n .plus(\n Math.ceil((32000 * relativeTtl) / Math.floor((60 * 24 * 365) / KEY_BLOCK_INTERVAL)),\n );\n case Tag.GaMetaTx:\n case Tag.PayingForTx:\n return new BigNumber(txSize).minus(innerTxSize).times(GAS_PER_BYTE);\n default:\n return new BigNumber(txSize).times(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 fee based on tx type and params\n */\nexport function buildFee(\n builtTx: Encoded.Transaction,\n unpackTx: typeof unpackTxType,\n buildTx: typeof buildTxType,\n): BigNumber {\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 TX_FEE_BASE_GAS(txObject.tag)\n .plus(TX_FEE_OTHER_GAS(txObject.tag, length, {\n relativeTtl: getOracleRelativeTtl(txObject), innerTxSize,\n }))\n .times(MIN_GAS_PRICE);\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 = buildFee(rebuildTx(fee), unpackTx, buildTx);\n } while (!fee.eq(previousFee));\n return fee;\n}\n\nexport default {\n ...coinAmount,\n\n serializeAettos(\n _value: string | undefined,\n {\n rebuildTx, unpackTx, buildTx, _computingMinFee, _pickBiggerFee,\n }: {\n rebuildTx: (params: any) => Encoded.Transaction;\n unpackTx: typeof unpackTxType;\n buildTx: typeof buildTxType;\n _computingMinFee?: BigNumber;\n _pickBiggerFee?: boolean;\n },\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 = new BigNumber(_value ?? minFee);\n if (minFee.gt(value)) {\n if (_pickBiggerFee === true) return minFee.toFixed();\n throw new IllegalArgumentError(`Fee ${value.toString()} must be bigger than ${minFee}`);\n }\n return value.toFixed();\n },\n};\n"],"mappings":"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"}
@@ -6,7 +6,7 @@ export default {
6
6
  serializeAettos() {
7
7
  let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : MIN_GAS_PRICE.toString();
8
8
  if (+value < MIN_GAS_PRICE) {
9
- throw new IllegalArgumentError(`Gas price ${value.toString()} must be bigger then ${MIN_GAS_PRICE}`);
9
+ throw new IllegalArgumentError(`Gas price ${value.toString()} must be bigger than ${MIN_GAS_PRICE}`);
10
10
  }
11
11
  return value;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gas-price.mjs","names":["coinAmount","IllegalArgumentError","MIN_GAS_PRICE","serializeAettos","value","arguments","length","undefined","toString"],"sources":["../../../../src/tx/builder/field-types/gas-price.ts"],"sourcesContent":["import coinAmount from './coin-amount';\nimport { IllegalArgumentError } from '../../../utils/errors';\nimport { MIN_GAS_PRICE } from '../constants';\n\nexport default {\n ...coinAmount,\n\n serializeAettos(value: string | undefined = MIN_GAS_PRICE.toString()): string {\n if (+value < MIN_GAS_PRICE) {\n throw new IllegalArgumentError(`Gas price ${value.toString()} must be bigger then ${MIN_GAS_PRICE}`);\n }\n return value;\n },\n};\n"],"mappings":"OAAOA,UAAU;AAAA,SACRC,oBAAoB;AAAA,SACpBC,aAAa;AAEtB,eAAe;EACb,GAAGF,UAAU;EAEbG,eAAeA,CAAA,EAA+D;IAAA,IAA9DC,KAAyB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGH,aAAa,CAACM,QAAQ,CAAC,CAAC;IAClE,IAAI,CAACJ,KAAK,GAAGF,aAAa,EAAE;MAC1B,MAAM,IAAID,oBAAoB,CAAE,aAAYG,KAAK,CAACI,QAAQ,CAAC,CAAE,wBAAuBN,aAAc,EAAC,CAAC;IACtG;IACA,OAAOE,KAAK;EACd;AACF,CAAC"}
1
+ {"version":3,"file":"gas-price.mjs","names":["coinAmount","IllegalArgumentError","MIN_GAS_PRICE","serializeAettos","value","arguments","length","undefined","toString"],"sources":["../../../../src/tx/builder/field-types/gas-price.ts"],"sourcesContent":["import coinAmount from './coin-amount';\nimport { IllegalArgumentError } from '../../../utils/errors';\nimport { MIN_GAS_PRICE } from '../constants';\n\nexport default {\n ...coinAmount,\n\n serializeAettos(value: string | undefined = MIN_GAS_PRICE.toString()): string {\n if (+value < MIN_GAS_PRICE) {\n throw new IllegalArgumentError(`Gas price ${value.toString()} must be bigger than ${MIN_GAS_PRICE}`);\n }\n return value;\n },\n};\n"],"mappings":"OAAOA,UAAU;AAAA,SACRC,oBAAoB;AAAA,SACpBC,aAAa;AAEtB,eAAe;EACb,GAAGF,UAAU;EAEbG,eAAeA,CAAA,EAA+D;IAAA,IAA9DC,KAAyB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGH,aAAa,CAACM,QAAQ,CAAC,CAAC;IAClE,IAAI,CAACJ,KAAK,GAAGF,aAAa,EAAE;MAC1B,MAAM,IAAID,oBAAoB,CAAE,aAAYG,KAAK,CAACI,QAAQ,CAAC,CAAE,wBAAuBN,aAAc,EAAC,CAAC;IACtG;IACA,OAAOE,KAAK;EACd;AACF,CAAC"}
@@ -3,7 +3,7 @@ import { ArgumentError } from "../../../utils/errors.mjs";
3
3
  import { toBytes } from "../../../utils/bytes.mjs";
4
4
  export default {
5
5
  serialize(value) {
6
- if (+value < 0) throw new ArgumentError('value', 'greater or equal to 0', value);
6
+ if (Number(value) < 0) throw new ArgumentError('value', 'greater or equal to 0', value);
7
7
  return toBytes(value, true);
8
8
  },
9
9
  deserialize(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"u-int.mjs","names":["readInt","ArgumentError","toBytes","serialize","value","deserialize"],"sources":["../../../../src/tx/builder/field-types/u-int.ts"],"sourcesContent":["import { readInt } from '../helpers';\nimport { Int } from '../constants';\nimport { ArgumentError } from '../../../utils/errors';\nimport { toBytes } from '../../../utils/bytes';\n\nexport default {\n serialize(value: Int): Buffer {\n if (+value < 0) throw new ArgumentError('value', 'greater or equal to 0', value);\n return toBytes(value, true);\n },\n\n deserialize(value: Buffer): string {\n return readInt(value);\n },\n};\n"],"mappings":"SAASA,OAAO;AAAA,SAEPC,aAAa;AAAA,SACbC,OAAO;AAEhB,eAAe;EACbC,SAASA,CAACC,KAAU,EAAU;IAC5B,IAAI,CAACA,KAAK,GAAG,CAAC,EAAE,MAAM,IAAIH,aAAa,CAAC,OAAO,EAAE,uBAAuB,EAAEG,KAAK,CAAC;IAChF,OAAOF,OAAO,CAACE,KAAK,EAAE,IAAI,CAAC;EAC7B,CAAC;EAEDC,WAAWA,CAACD,KAAa,EAAU;IACjC,OAAOJ,OAAO,CAACI,KAAK,CAAC;EACvB;AACF,CAAC"}
1
+ {"version":3,"file":"u-int.mjs","names":["readInt","ArgumentError","toBytes","serialize","value","Number","deserialize"],"sources":["../../../../src/tx/builder/field-types/u-int.ts"],"sourcesContent":["import { readInt } from '../helpers';\nimport { Int } from '../constants';\nimport { ArgumentError } from '../../../utils/errors';\nimport { toBytes } from '../../../utils/bytes';\n\nexport default {\n serialize(value: Int): Buffer {\n if (Number(value) < 0) throw new ArgumentError('value', 'greater or equal to 0', value);\n return toBytes(value, true);\n },\n\n deserialize(value: Buffer): string {\n return readInt(value);\n },\n};\n"],"mappings":"SAASA,OAAO;AAAA,SAEPC,aAAa;AAAA,SACbC,OAAO;AAEhB,eAAe;EACbC,SAASA,CAACC,KAAU,EAAU;IAC5B,IAAIC,MAAM,CAACD,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,IAAIH,aAAa,CAAC,OAAO,EAAE,uBAAuB,EAAEG,KAAK,CAAC;IACvF,OAAOF,OAAO,CAACE,KAAK,EAAE,IAAI,CAAC;EAC7B,CAAC;EAEDE,WAAWA,CAACF,KAAa,EAAU;IACjC,OAAOJ,OAAO,CAACI,KAAK,CAAC;EACvB;AACF,CAAC"}
@@ -13,10 +13,10 @@ export const genRequestQueuesPolicy = () => {
13
13
  request.headers.delete('__queue');
14
14
  const getResponse = async () => next(request);
15
15
  if (key == null) return getResponse();
16
- const req = ((_requestQueues$get = requestQueues.get(key)) !== null && _requestQueues$get !== void 0 ? _requestQueues$get : Promise.resolve()).then(getResponse, getResponse);
17
- // TODO: remove after fixing https://github.com/aeternity/aeternity/issues/3803
16
+ const req = ((_requestQueues$get = requestQueues.get(key)) !== null && _requestQueues$get !== void 0 ? _requestQueues$get : Promise.resolve()).then(getResponse);
17
+ // TODO: remove pause after fixing https://github.com/aeternity/aeternity/issues/3803
18
18
  // gap to ensure that node won't reject the nonce
19
- requestQueues.set(key, req.then(async () => pause(750)));
19
+ requestQueues.set(key, req.then(async () => pause(750), () => {}));
20
20
  return req;
21
21
  }
22
22
  },
@@ -101,7 +101,7 @@ export const genRetryOnFailurePolicy = (retryCount, retryOverallDelay) => ({
101
101
  policy: {
102
102
  name: 'retry-on-failure',
103
103
  async sendRequest(request, next) {
104
- const statusesToNotRetry = [200, 400, 403];
104
+ const statusesToNotRetry = [200, 400, 403, 500];
105
105
  const intervals = new Array(retryCount).fill(0).map((_, idx) => ((idx + 1) / retryCount) ** 2);
106
106
  const intervalSum = intervals.reduce((a, b) => a + b);
107
107
  const intervalsInMs = intervals.map(el => el / intervalSum * retryOverallDelay);
@@ -1 +1 @@
1
- {"version":3,"file":"autorest.mjs","names":["RestError","pause","semverSatisfies","UnsupportedVersionError","genRequestQueuesPolicy","requestQueues","Map","policy","name","sendRequest","request","next","_requestQueues$get","key","headers","get","delete","getResponse","req","Promise","resolve","then","set","position","genCombineGetRequestsPolicy","pendingGetRequests","_pendingGetRequests$g","method","JSON","stringify","url","body","response","genAggressiveCacheGetResponsesPolicy","getRequests","_getRequests$get","genErrorFormatterPolicy","getMessage","error","_error$response","bodyAsText","parse","e","message","URL","pathname","slice","genVersionCheckPolicy","ignorePath","versionPromise","geVersion","ltVersion","version","Error","args","genRetryOnFailurePolicy","retryCount","retryOverallDelay","statusesToNotRetry","intervals","Array","fill","map","_","idx","intervalSum","reduce","a","b","intervalsInMs","el","attempt","_e$response$status","_e$response","includes","status"],"sources":["../../src/utils/autorest.ts"],"sourcesContent":["import { RestError, PipelineResponse, PipelinePolicy } from '@azure/core-rest-pipeline';\nimport { AdditionalPolicyConfig } from '@azure/core-client';\nimport { pause } from './other';\nimport semverSatisfies from './semver-satisfies';\nimport { UnsupportedVersionError } from './errors';\n\nexport const genRequestQueuesPolicy = (): AdditionalPolicyConfig => {\n const requestQueues = new Map<string, Promise<unknown>>();\n\n return {\n policy: {\n name: 'request-queues',\n async sendRequest(request, next) {\n const key = request.headers.get('__queue');\n request.headers.delete('__queue');\n const getResponse = async (): Promise<PipelineResponse> => next(request);\n if (key == null) return getResponse();\n const req = (requestQueues.get(key) ?? Promise.resolve()).then(getResponse, getResponse);\n // TODO: remove after fixing https://github.com/aeternity/aeternity/issues/3803\n // gap to ensure that node won't reject the nonce\n requestQueues.set(key, req.then(async () => pause(750)));\n return req;\n },\n },\n position: 'perCall',\n };\n};\n\nexport const genCombineGetRequestsPolicy = (): AdditionalPolicyConfig => {\n const pendingGetRequests = new Map<string, Promise<PipelineResponse>>();\n\n return {\n policy: {\n name: 'combine-get-requests',\n async sendRequest(request, next) {\n if (request.method !== 'GET') return next(request);\n const key = JSON.stringify([request.url, request.body]);\n const response = pendingGetRequests.get(key) ?? next(request);\n pendingGetRequests.set(key, response);\n try {\n return await response;\n } finally {\n pendingGetRequests.delete(key);\n }\n },\n },\n position: 'perCall',\n };\n};\n\nexport const genAggressiveCacheGetResponsesPolicy = (): AdditionalPolicyConfig => {\n const getRequests = new Map<string, Promise<PipelineResponse>>();\n\n return {\n policy: {\n name: 'aggressive-cache-get-responses',\n async sendRequest(request, next) {\n if (request.method !== 'GET') return next(request);\n const key = JSON.stringify([request.url, request.body]);\n const response = getRequests.get(key) ?? next(request);\n getRequests.set(key, response);\n return response;\n },\n },\n position: 'perCall',\n };\n};\n\nexport const genErrorFormatterPolicy = (\n getMessage: (b: any) => string,\n): AdditionalPolicyConfig => ({\n policy: {\n name: 'error-formatter',\n async sendRequest(request, next) {\n try {\n return await next(request);\n } catch (error) {\n if (!(error instanceof RestError) || error.request == null) throw error;\n if (error.response?.bodyAsText == null) throw error;\n\n let body;\n try {\n body = JSON.parse(error.response.bodyAsText);\n } catch (e) {\n throw error;\n }\n error.message = `${new URL(error.request.url).pathname.slice(1)} error`;\n const message = getMessage(body);\n if (message !== '') error.message += `:${message}`;\n throw error;\n }\n },\n },\n position: 'perCall',\n});\n\nexport const genVersionCheckPolicy = (\n name: string,\n ignorePath: string,\n versionPromise: Promise<string | Error>,\n geVersion: string,\n ltVersion: string,\n): PipelinePolicy => ({\n name: 'version-check',\n async sendRequest(request, next) {\n if (new URL(request.url).pathname === ignorePath) return next(request);\n const version = await versionPromise;\n if (version instanceof Error) throw version;\n const args = [version, geVersion, ltVersion] as const;\n if (!semverSatisfies(...args)) throw new UnsupportedVersionError(name, ...args);\n return next(request);\n },\n});\n\nexport const genRetryOnFailurePolicy = (\n retryCount: number,\n retryOverallDelay: number,\n): AdditionalPolicyConfig => ({\n policy: {\n name: 'retry-on-failure',\n async sendRequest(request, next) {\n const statusesToNotRetry = [200, 400, 403];\n\n const intervals = new Array(retryCount).fill(0)\n .map((_, idx) => ((idx + 1) / retryCount) ** 2);\n const intervalSum = intervals.reduce((a, b) => a + b);\n const intervalsInMs = intervals.map((el) => (el / intervalSum) * retryOverallDelay);\n\n let error = new RestError('Not expected to be thrown');\n for (let attempt = 0; attempt <= retryCount; attempt += 1) {\n if (attempt !== 0) await pause(intervalsInMs[attempt - 1]);\n try {\n return await next(request);\n } catch (e) {\n if (!(e instanceof RestError)) throw e;\n if (statusesToNotRetry.includes(e.response?.status ?? 0)) throw e;\n error = e;\n }\n }\n throw error;\n },\n },\n position: 'perCall',\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"autorest.mjs","names":["RestError","pause","semverSatisfies","UnsupportedVersionError","genRequestQueuesPolicy","requestQueues","Map","policy","name","sendRequest","request","next","_requestQueues$get","key","headers","get","delete","getResponse","req","Promise","resolve","then","set","position","genCombineGetRequestsPolicy","pendingGetRequests","_pendingGetRequests$g","method","JSON","stringify","url","body","response","genAggressiveCacheGetResponsesPolicy","getRequests","_getRequests$get","genErrorFormatterPolicy","getMessage","error","_error$response","bodyAsText","parse","e","message","URL","pathname","slice","genVersionCheckPolicy","ignorePath","versionPromise","geVersion","ltVersion","version","Error","args","genRetryOnFailurePolicy","retryCount","retryOverallDelay","statusesToNotRetry","intervals","Array","fill","map","_","idx","intervalSum","reduce","a","b","intervalsInMs","el","attempt","_e$response$status","_e$response","includes","status"],"sources":["../../src/utils/autorest.ts"],"sourcesContent":["import { RestError, PipelineResponse, PipelinePolicy } from '@azure/core-rest-pipeline';\nimport { AdditionalPolicyConfig } from '@azure/core-client';\nimport { pause } from './other';\nimport semverSatisfies from './semver-satisfies';\nimport { UnsupportedVersionError } from './errors';\n\nexport const genRequestQueuesPolicy = (): AdditionalPolicyConfig => {\n const requestQueues = new Map<string, Promise<unknown>>();\n\n return {\n policy: {\n name: 'request-queues',\n async sendRequest(request, next) {\n const key = request.headers.get('__queue');\n request.headers.delete('__queue');\n const getResponse = async (): Promise<PipelineResponse> => next(request);\n if (key == null) return getResponse();\n const req = (requestQueues.get(key) ?? Promise.resolve()).then(getResponse);\n // TODO: remove pause after fixing https://github.com/aeternity/aeternity/issues/3803\n // gap to ensure that node won't reject the nonce\n requestQueues.set(key, req.then(async () => pause(750), () => {}));\n return req;\n },\n },\n position: 'perCall',\n };\n};\n\nexport const genCombineGetRequestsPolicy = (): AdditionalPolicyConfig => {\n const pendingGetRequests = new Map<string, Promise<PipelineResponse>>();\n\n return {\n policy: {\n name: 'combine-get-requests',\n async sendRequest(request, next) {\n if (request.method !== 'GET') return next(request);\n const key = JSON.stringify([request.url, request.body]);\n const response = pendingGetRequests.get(key) ?? next(request);\n pendingGetRequests.set(key, response);\n try {\n return await response;\n } finally {\n pendingGetRequests.delete(key);\n }\n },\n },\n position: 'perCall',\n };\n};\n\nexport const genAggressiveCacheGetResponsesPolicy = (): AdditionalPolicyConfig => {\n const getRequests = new Map<string, Promise<PipelineResponse>>();\n\n return {\n policy: {\n name: 'aggressive-cache-get-responses',\n async sendRequest(request, next) {\n if (request.method !== 'GET') return next(request);\n const key = JSON.stringify([request.url, request.body]);\n const response = getRequests.get(key) ?? next(request);\n getRequests.set(key, response);\n return response;\n },\n },\n position: 'perCall',\n };\n};\n\nexport const genErrorFormatterPolicy = (\n getMessage: (b: any) => string,\n): AdditionalPolicyConfig => ({\n policy: {\n name: 'error-formatter',\n async sendRequest(request, next) {\n try {\n return await next(request);\n } catch (error) {\n if (!(error instanceof RestError) || error.request == null) throw error;\n if (error.response?.bodyAsText == null) throw error;\n\n let body;\n try {\n body = JSON.parse(error.response.bodyAsText);\n } catch (e) {\n throw error;\n }\n error.message = `${new URL(error.request.url).pathname.slice(1)} error`;\n const message = getMessage(body);\n if (message !== '') error.message += `:${message}`;\n throw error;\n }\n },\n },\n position: 'perCall',\n});\n\nexport const genVersionCheckPolicy = (\n name: string,\n ignorePath: string,\n versionPromise: Promise<string | Error>,\n geVersion: string,\n ltVersion: string,\n): PipelinePolicy => ({\n name: 'version-check',\n async sendRequest(request, next) {\n if (new URL(request.url).pathname === ignorePath) return next(request);\n const version = await versionPromise;\n if (version instanceof Error) throw version;\n const args = [version, geVersion, ltVersion] as const;\n if (!semverSatisfies(...args)) throw new UnsupportedVersionError(name, ...args);\n return next(request);\n },\n});\n\nexport const genRetryOnFailurePolicy = (\n retryCount: number,\n retryOverallDelay: number,\n): AdditionalPolicyConfig => ({\n policy: {\n name: 'retry-on-failure',\n async sendRequest(request, next) {\n const statusesToNotRetry = [200, 400, 403, 500];\n\n const intervals = new Array(retryCount).fill(0)\n .map((_, idx) => ((idx + 1) / retryCount) ** 2);\n const intervalSum = intervals.reduce((a, b) => a + b);\n const intervalsInMs = intervals.map((el) => (el / intervalSum) * retryOverallDelay);\n\n let error = new RestError('Not expected to be thrown');\n for (let attempt = 0; attempt <= retryCount; attempt += 1) {\n if (attempt !== 0) await pause(intervalsInMs[attempt - 1]);\n try {\n return await next(request);\n } catch (e) {\n if (!(e instanceof RestError)) throw e;\n if (statusesToNotRetry.includes(e.response?.status ?? 0)) throw e;\n error = e;\n }\n }\n throw error;\n },\n },\n position: 'perCall',\n});\n"],"mappings":"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"}