@layerzerolabs/lz-aptos-sdk-v1 0.0.2-upgrade.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/dist/abi.d.ts +64 -0
  2. package/dist/abi.d.ts.map +1 -0
  3. package/dist/abi.js +152 -0
  4. package/dist/abi.js.map +1 -0
  5. package/dist/constants.d.ts +44 -0
  6. package/dist/constants.d.ts.map +1 -0
  7. package/dist/constants.js +79 -0
  8. package/dist/constants.js.map +1 -0
  9. package/dist/format/basic.d.ts +106 -0
  10. package/dist/format/basic.d.ts.map +1 -0
  11. package/dist/format/basic.js +492 -0
  12. package/dist/format/basic.js.map +1 -0
  13. package/dist/format/bytecode.d.ts +217 -0
  14. package/dist/format/bytecode.d.ts.map +1 -0
  15. package/dist/format/bytecode.js +389 -0
  16. package/dist/format/bytecode.js.map +1 -0
  17. package/dist/format/compiled-script.d.ts +31 -0
  18. package/dist/format/compiled-script.d.ts.map +1 -0
  19. package/dist/format/compiled-script.js +143 -0
  20. package/dist/format/compiled-script.js.map +1 -0
  21. package/dist/format/compiled-script.test.d.ts +2 -0
  22. package/dist/format/compiled-script.test.d.ts.map +1 -0
  23. package/dist/format/compiled-script.test.js +76 -0
  24. package/dist/format/compiled-script.test.js.map +1 -0
  25. package/dist/format/opcodes.d.ts +80 -0
  26. package/dist/format/opcodes.d.ts.map +1 -0
  27. package/dist/format/opcodes.js +84 -0
  28. package/dist/format/opcodes.js.map +1 -0
  29. package/dist/format/table-types.d.ts +18 -0
  30. package/dist/format/table-types.d.ts.map +1 -0
  31. package/dist/format/table-types.js +22 -0
  32. package/dist/format/table-types.js.map +1 -0
  33. package/dist/format/utils.d.ts +24 -0
  34. package/dist/format/utils.d.ts.map +1 -0
  35. package/dist/format/utils.js +99 -0
  36. package/dist/format/utils.js.map +1 -0
  37. package/dist/index.d.ts +44 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +139 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/modules/apps/bridge.d.ts +81 -0
  42. package/dist/modules/apps/bridge.d.ts.map +1 -0
  43. package/dist/modules/apps/bridge.js +419 -0
  44. package/dist/modules/apps/bridge.js.map +1 -0
  45. package/dist/modules/apps/coin.d.ts +27 -0
  46. package/dist/modules/apps/coin.d.ts.map +1 -0
  47. package/dist/modules/apps/coin.js +89 -0
  48. package/dist/modules/apps/coin.js.map +1 -0
  49. package/dist/modules/apps/counter.d.ts +30 -0
  50. package/dist/modules/apps/counter.d.ts.map +1 -0
  51. package/dist/modules/apps/counter.js +119 -0
  52. package/dist/modules/apps/counter.js.map +1 -0
  53. package/dist/modules/apps/lzapp.d.ts +19 -0
  54. package/dist/modules/apps/lzapp.d.ts.map +1 -0
  55. package/dist/modules/apps/lzapp.js +122 -0
  56. package/dist/modules/apps/lzapp.js.map +1 -0
  57. package/dist/modules/apps/multisig_oracle.d.ts +78 -0
  58. package/dist/modules/apps/multisig_oracle.d.ts.map +1 -0
  59. package/dist/modules/apps/multisig_oracle.js +233 -0
  60. package/dist/modules/apps/multisig_oracle.js.map +1 -0
  61. package/dist/modules/apps/oft.d.ts +67 -0
  62. package/dist/modules/apps/oft.d.ts.map +1 -0
  63. package/dist/modules/apps/oft.js +326 -0
  64. package/dist/modules/apps/oft.js.map +1 -0
  65. package/dist/modules/apps/oracle.d.ts +23 -0
  66. package/dist/modules/apps/oracle.d.ts.map +1 -0
  67. package/dist/modules/apps/oracle.js +133 -0
  68. package/dist/modules/apps/oracle.js.map +1 -0
  69. package/dist/modules/channel.d.ts +23 -0
  70. package/dist/modules/channel.d.ts.map +1 -0
  71. package/dist/modules/channel.js +90 -0
  72. package/dist/modules/channel.js.map +1 -0
  73. package/dist/modules/endpoint.d.ts +17 -0
  74. package/dist/modules/endpoint.d.ts.map +1 -0
  75. package/dist/modules/endpoint.js +100 -0
  76. package/dist/modules/endpoint.js.map +1 -0
  77. package/dist/modules/executor.d.ts +45 -0
  78. package/dist/modules/executor.d.ts.map +1 -0
  79. package/dist/modules/executor.js +267 -0
  80. package/dist/modules/executor.js.map +1 -0
  81. package/dist/modules/executor_config.d.ts +11 -0
  82. package/dist/modules/executor_config.d.ts.map +1 -0
  83. package/dist/modules/executor_config.js +55 -0
  84. package/dist/modules/executor_config.js.map +1 -0
  85. package/dist/modules/index.d.ts +19 -0
  86. package/dist/modules/index.d.ts.map +1 -0
  87. package/dist/modules/index.js +23 -0
  88. package/dist/modules/index.js.map +1 -0
  89. package/dist/modules/msglib_auth.d.ts +13 -0
  90. package/dist/modules/msglib_auth.d.ts.map +1 -0
  91. package/dist/modules/msglib_auth.js +60 -0
  92. package/dist/modules/msglib_auth.js.map +1 -0
  93. package/dist/modules/msglib_config.d.ts +20 -0
  94. package/dist/modules/msglib_config.d.ts.map +1 -0
  95. package/dist/modules/msglib_config.js +76 -0
  96. package/dist/modules/msglib_config.js.map +1 -0
  97. package/dist/modules/uln/index.d.ts +15 -0
  98. package/dist/modules/uln/index.d.ts.map +1 -0
  99. package/dist/modules/uln/index.js +19 -0
  100. package/dist/modules/uln/index.js.map +1 -0
  101. package/dist/modules/uln/msglib_v1_0.d.ts +7 -0
  102. package/dist/modules/uln/msglib_v1_0.d.ts.map +1 -0
  103. package/dist/modules/uln/msglib_v1_0.js +11 -0
  104. package/dist/modules/uln/msglib_v1_0.js.map +1 -0
  105. package/dist/modules/uln/packet_event.d.ts +12 -0
  106. package/dist/modules/uln/packet_event.d.ts.map +1 -0
  107. package/dist/modules/uln/packet_event.js +34 -0
  108. package/dist/modules/uln/packet_event.js.map +1 -0
  109. package/dist/modules/uln/uln_config.d.ts +23 -0
  110. package/dist/modules/uln/uln_config.d.ts.map +1 -0
  111. package/dist/modules/uln/uln_config.js +169 -0
  112. package/dist/modules/uln/uln_config.js.map +1 -0
  113. package/dist/modules/uln/uln_receive.d.ts +20 -0
  114. package/dist/modules/uln/uln_receive.d.ts.map +1 -0
  115. package/dist/modules/uln/uln_receive.js +103 -0
  116. package/dist/modules/uln/uln_receive.js.map +1 -0
  117. package/dist/modules/uln/uln_signer.d.ts +21 -0
  118. package/dist/modules/uln/uln_signer.d.ts.map +1 -0
  119. package/dist/modules/uln/uln_signer.js +113 -0
  120. package/dist/modules/uln/uln_signer.js.map +1 -0
  121. package/dist/types/index.d.ts +64 -0
  122. package/dist/types/index.d.ts.map +1 -0
  123. package/dist/types/index.js +3 -0
  124. package/dist/types/index.js.map +1 -0
  125. package/dist/utils.d.ts +100 -0
  126. package/dist/utils.d.ts.map +1 -0
  127. package/dist/utils.js +397 -0
  128. package/dist/utils.js.map +1 -0
  129. package/dist/utils.test.d.ts +2 -0
  130. package/dist/utils.test.d.ts.map +1 -0
  131. package/dist/utils.test.js +155 -0
  132. package/dist/utils.test.js.map +1 -0
  133. package/package.json +49 -0
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Channel = void 0;
4
+ const utils_1 = require("../utils");
5
+ class Channel {
6
+ constructor(sdk) {
7
+ this.sdk = sdk;
8
+ this.module = `${sdk.accounts.layerzero}::channel`;
9
+ }
10
+ async getOutboundEvents(start, limit) {
11
+ return this.sdk.client.getEventsByEventHandle(this.sdk.accounts.layerzero, `${this.module}::EventStore`, 'outbound_events', {
12
+ start,
13
+ limit,
14
+ });
15
+ }
16
+ async getInboundEvents(start, limit) {
17
+ return this.sdk.client.getEventsByEventHandle(this.sdk.accounts.layerzero, `${this.module}::EventStore`, 'inbound_events', { start, limit });
18
+ }
19
+ async getReceiveEvents(start, limit) {
20
+ return this.sdk.client.getEventsByEventHandle(this.sdk.accounts.layerzero, `${this.module}::EventStore`, 'receive_events', {
21
+ start,
22
+ limit,
23
+ });
24
+ }
25
+ async getChannelState(uaAddress, remoteChainId, remoteAddress) {
26
+ const resource = await this.sdk.client.getAccountResource(uaAddress, `${this.module}::Channels`);
27
+ const { states } = resource.data;
28
+ const pathsHandle = states.handle;
29
+ return this.sdk.client.getTableItem(pathsHandle, {
30
+ key_type: `${this.module}::Remote`,
31
+ value_type: `${this.module}::Channel`,
32
+ key: { chain_id: remoteChainId.toString(), addr: Buffer.from(remoteAddress).toString('hex') },
33
+ });
34
+ }
35
+ async getOutboundNonce(uaAddress, remoteChainId, remoteAddress) {
36
+ try {
37
+ const pathInfo = await this.getChannelState(uaAddress, remoteChainId, remoteAddress);
38
+ const outboundNonce = pathInfo.outbound_nonce;
39
+ return BigInt(outboundNonce);
40
+ }
41
+ catch (e) {
42
+ if ((0, utils_1.isErrorOfApiError)(e, 404)) {
43
+ return BigInt(0);
44
+ }
45
+ throw e;
46
+ }
47
+ }
48
+ async getInboundNonce(uaAddress, remoteChainId, remoteAddress) {
49
+ try {
50
+ const pathInfo = await this.getChannelState(uaAddress, remoteChainId, remoteAddress);
51
+ const inboundNonce = pathInfo.inbound_nonce;
52
+ return BigInt(inboundNonce);
53
+ }
54
+ catch (e) {
55
+ if ((0, utils_1.isErrorOfApiError)(e, 404)) {
56
+ return BigInt(0);
57
+ }
58
+ throw e;
59
+ }
60
+ }
61
+ async getPayloadHash(uaAddress, remoteChainId, remoteAddress, nonce) {
62
+ try {
63
+ const pathInfo = await this.getChannelState(uaAddress, remoteChainId, remoteAddress);
64
+ const resource = pathInfo.payload_hashs;
65
+ return await this.sdk.client.getTableItem(resource.handle, {
66
+ key_type: 'u64',
67
+ value_type: 'vector<u8>',
68
+ key: nonce.toString(),
69
+ });
70
+ }
71
+ catch (e) {
72
+ if ((0, utils_1.isErrorOfApiError)(e, 404)) {
73
+ return '';
74
+ }
75
+ throw e;
76
+ }
77
+ }
78
+ async isProofDelivered(uaAddress, remoteChainId, remoteAddress, nonce) {
79
+ const inboundNonce = await this.getInboundNonce(uaAddress, remoteChainId, remoteAddress);
80
+ console.log(`inboundNonce: ${inboundNonce}`);
81
+ console.log(`nonce: ${nonce}`);
82
+ if (nonce <= inboundNonce) {
83
+ return true;
84
+ }
85
+ const payloadHash = await this.getPayloadHash(uaAddress, remoteChainId, remoteAddress, nonce);
86
+ return payloadHash !== '';
87
+ }
88
+ }
89
+ exports.Channel = Channel;
90
+ //# sourceMappingURL=channel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/modules/channel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import * as aptos from 'aptos';
2
+ import { SDK } from '../index';
3
+ import { TypeInfoEx } from '../types';
4
+ export declare class Endpoint {
5
+ private sdk;
6
+ readonly module: any;
7
+ readonly moduleName: any;
8
+ constructor(sdk: SDK);
9
+ initialize(signer: aptos.AptosAccount, localChainId: aptos.BCS.Uint16): Promise<aptos.Types.Transaction>;
10
+ getUATypeInfo(uaAddress: aptos.MaybeHexString): Promise<TypeInfoEx>;
11
+ getOracleFee(oracleAddr: aptos.MaybeHexString, dstChainId: aptos.BCS.Uint16): Promise<aptos.BCS.Uint64>;
12
+ getRegisterEvents(start: bigint, limit: number): Promise<aptos.Types.Event[]>;
13
+ quoteFee(uaAddress: aptos.MaybeHexString, dstChainId: aptos.BCS.Uint16, adapterParams: aptos.BCS.Bytes, payloadSize: number): Promise<aptos.BCS.Uint64>;
14
+ registerExecutorPayload(executorType: string): aptos.Types.EntryFunctionPayload;
15
+ registerExecutor(signer: aptos.AptosAccount, executorType: string): Promise<aptos.Types.Transaction>;
16
+ }
17
+ //# sourceMappingURL=endpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/modules/endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAGrC,qBAAa,QAAQ;IAGL,OAAO,CAAC,GAAG;IAFvB,SAAgB,MAAM,MAAA;IACtB,SAAgB,UAAU,MAAA;gBACN,GAAG,EAAE,GAAG;IAKtB,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;IAUxG,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAwBnE,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;IAiBvG,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IAY7E,QAAQ,CACV,SAAS,EAAE,KAAK,CAAC,cAAc,EAC/B,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAC5B,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EAC9B,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;IAU5B,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,oBAAoB;IAQzE,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;CAI7G"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Endpoint = void 0;
27
+ const aptos = __importStar(require("aptos"));
28
+ const utils_1 = require("../utils");
29
+ class Endpoint {
30
+ constructor(sdk) {
31
+ this.sdk = sdk;
32
+ this.module = `${sdk.accounts.layerzero}::endpoint`;
33
+ this.moduleName = 'layerzero::endpoint';
34
+ }
35
+ async initialize(signer, localChainId) {
36
+ const transaction = {
37
+ function: `${this.module}::init`,
38
+ type_arguments: [],
39
+ arguments: [localChainId],
40
+ };
41
+ return this.sdk.sendAndConfirmTransaction(signer, transaction);
42
+ }
43
+ async getUATypeInfo(uaAddress) {
44
+ const resource = await this.sdk.client.getAccountResource(this.sdk.accounts.layerzero, `${this.module}::UaRegistry`);
45
+ const { ua_infos } = resource.data;
46
+ const typesHandle = ua_infos.handle;
47
+ const typeInfo = await this.sdk.client.getTableItem(typesHandle, {
48
+ key_type: 'address',
49
+ value_type: `0x1::type_info::TypeInfo`,
50
+ key: aptos.HexString.ensure(uaAddress).toString(),
51
+ });
52
+ const account_address = (0, utils_1.fullAddress)(typeInfo.account_address).toString();
53
+ const module_name = (0, utils_1.hexToAscii)(typeInfo.module_name);
54
+ const struct_name = (0, utils_1.hexToAscii)(typeInfo.struct_name);
55
+ return {
56
+ account_address,
57
+ module_name,
58
+ struct_name,
59
+ type: `${account_address}::${module_name}::${struct_name}`,
60
+ };
61
+ }
62
+ async getOracleFee(oracleAddr, dstChainId) {
63
+ const resource = await this.sdk.client.getAccountResource(this.sdk.accounts.layerzero, `${this.module}::FeeStore`);
64
+ const { oracle_fees } = resource.data;
65
+ const response = await this.sdk.client.getTableItem(oracle_fees.handle, {
66
+ key_type: `${this.module}::QuoteKey`,
67
+ value_type: 'u64',
68
+ key: {
69
+ agent: aptos.HexString.ensure(oracleAddr).toString(),
70
+ chain_id: dstChainId.toString(),
71
+ },
72
+ });
73
+ return BigInt(response);
74
+ }
75
+ async getRegisterEvents(start, limit) {
76
+ return this.sdk.client.getEventsByEventHandle(this.sdk.accounts.layerzero, `${this.module}::UaRegistry`, 'register_events', {
77
+ start,
78
+ limit,
79
+ });
80
+ }
81
+ async quoteFee(uaAddress, dstChainId, adapterParams, payloadSize) {
82
+ let totalFee = BigInt(await this.sdk.LayerzeroModule.Uln.Config.quoteFee(uaAddress, dstChainId, payloadSize));
83
+ const [executor] = await this.sdk.LayerzeroModule.ExecutorConfig.getExecutor(uaAddress, dstChainId);
84
+ totalFee += await this.sdk.LayerzeroModule.Executor.quoteFee(executor, dstChainId, adapterParams);
85
+ return totalFee;
86
+ }
87
+ registerExecutorPayload(executorType) {
88
+ return {
89
+ function: `${this.module}::register_executor`,
90
+ type_arguments: [executorType],
91
+ arguments: [],
92
+ };
93
+ }
94
+ async registerExecutor(signer, executorType) {
95
+ const transaction = this.registerExecutorPayload(executorType);
96
+ return await this.sdk.sendAndConfirmTransaction(signer, transaction);
97
+ }
98
+ }
99
+ exports.Endpoint = Endpoint;
100
+ //# sourceMappingURL=endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/modules/endpoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import * as aptos from 'aptos';
2
+ import { SDK } from '../index';
3
+ import { Packet } from '../types';
4
+ export interface Fee {
5
+ airdropAmtCap: aptos.BCS.Uint64;
6
+ priceRatio: aptos.BCS.Uint64;
7
+ gasPrice: aptos.BCS.Uint64;
8
+ }
9
+ export declare class Executor {
10
+ private sdk;
11
+ readonly module: any;
12
+ readonly moduleName: any;
13
+ readonly type: any;
14
+ constructor(sdk: SDK);
15
+ setDefaultAdapterParamsPayload(dstChainId: aptos.BCS.Uint16, adapterParams: aptos.BCS.Bytes): aptos.Types.EntryFunctionPayload;
16
+ setDefaultAdapterParams(signer: aptos.AptosAccount, dstChainId: aptos.BCS.Uint16, adapterParams: aptos.BCS.Bytes): Promise<aptos.Types.Transaction>;
17
+ getDefaultAdapterParams(chainId: aptos.BCS.Uint16): Promise<aptos.BCS.Bytes>;
18
+ isRegistered(address: aptos.MaybeHexString): Promise<boolean>;
19
+ registerPayload(): aptos.Types.EntryFunctionPayload;
20
+ register(signer: aptos.AptosAccount): Promise<aptos.Types.Transaction>;
21
+ setFeePayload(dstChainId: aptos.BCS.Uint16, config: Fee): aptos.Types.EntryFunctionPayload;
22
+ setFee(signer: aptos.AptosAccount, dstChainId: aptos.BCS.Uint16, config: Fee): Promise<aptos.Types.Transaction>;
23
+ getFee(executor: aptos.MaybeHexString, chainId: aptos.BCS.Uint16): Promise<Fee>;
24
+ airdropPayload(srcChainId: aptos.BCS.Uint16, guid: aptos.BCS.Bytes, receiver: aptos.MaybeHexString, amount: aptos.BCS.Uint64 | aptos.BCS.Uint32): aptos.Types.EntryFunctionPayload;
25
+ airdrop(signer: aptos.AptosAccount, srcChainId: aptos.BCS.Uint16, guid: aptos.BCS.Bytes, receiver: aptos.MaybeHexString, amount: aptos.BCS.Uint64 | aptos.BCS.Uint32): Promise<aptos.Types.Transaction>;
26
+ isAirdropped(guid: aptos.BCS.Bytes, receiver: aptos.MaybeHexString): Promise<boolean>;
27
+ quoteFee(executor: aptos.MaybeHexString, dstChainId: aptos.BCS.Uint16, adapterParams: aptos.BCS.Bytes): Promise<aptos.BCS.Uint64>;
28
+ buildDefaultAdapterParams(uaGas: aptos.BCS.Uint64 | aptos.BCS.Uint32): aptos.BCS.Bytes;
29
+ buildAirdropAdapterParams(uaGas: aptos.BCS.Uint64 | aptos.BCS.Uint32, airdropAmount: aptos.BCS.Uint64 | aptos.BCS.Uint32, airdropAddress: string): aptos.BCS.Bytes;
30
+ decodeAdapterParams(adapterParams: aptos.BCS.Bytes): [aptos.BCS.Uint16, aptos.BCS.Uint64, aptos.BCS.Uint64, string];
31
+ /**
32
+ * rebuild a compiled script to query types arguments for lz_receive function
33
+ * @param packet
34
+ */
35
+ rebuildTypeArgsScript(packet: Packet): Promise<string>;
36
+ /**
37
+ * execute compiled script on chain to get types arguments for lz_receive function
38
+ * @param packet
39
+ */
40
+ getLzReceiveTypeArguments(packet: Packet): Promise<string[]>;
41
+ getLzReceivePayload(type_arguments: string[], packet: Packet): Promise<aptos.Types.EntryFunctionPayload>;
42
+ lzReceive(signer: aptos.AptosAccount, type_arguments: string[], packet: Packet): Promise<aptos.Types.Transaction>;
43
+ getShortRequestEventType(): string;
44
+ }
45
+ //# sourceMappingURL=executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/modules/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,267 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.Executor = void 0;
27
+ const aptos = __importStar(require("aptos"));
28
+ const utils_1 = require("../format/utils");
29
+ const utils_2 = require("../utils");
30
+ // todo: merge into endpoint
31
+ class Executor {
32
+ constructor(sdk) {
33
+ this.sdk = sdk;
34
+ this.module = `${sdk.accounts.layerzero}::executor_v1`;
35
+ this.moduleName = 'layerzero::executor_v1';
36
+ this.type = `${this.module}::Executor`;
37
+ }
38
+ setDefaultAdapterParamsPayload(dstChainId, adapterParams) {
39
+ return {
40
+ function: `${this.module}::set_default_adapter_params`,
41
+ type_arguments: [],
42
+ arguments: [dstChainId, Array.from(adapterParams)],
43
+ };
44
+ }
45
+ async setDefaultAdapterParams(signer, dstChainId, adapterParams) {
46
+ const transaction = this.setDefaultAdapterParamsPayload(dstChainId, adapterParams);
47
+ return this.sdk.sendAndConfirmTransaction(signer, transaction);
48
+ }
49
+ async getDefaultAdapterParams(chainId) {
50
+ const resource = await this.sdk.client.getAccountResource(this.sdk.accounts.layerzero, `${this.module}::AdapterParamsConfig`);
51
+ const { params } = resource.data;
52
+ try {
53
+ const response = await this.sdk.client.getTableItem(params.handle, {
54
+ key_type: 'u64',
55
+ value_type: 'vector<u8>',
56
+ key: chainId.toString(),
57
+ });
58
+ return Buffer.from(aptos.HexString.ensure(response).noPrefix(), 'hex');
59
+ }
60
+ catch (e) {
61
+ return this.buildDefaultAdapterParams(0);
62
+ }
63
+ }
64
+ async isRegistered(address) {
65
+ try {
66
+ await this.sdk.client.getAccountResource(address, `${this.module}::ExecutorConfig`);
67
+ return true;
68
+ }
69
+ catch (e) {
70
+ if ((0, utils_2.isErrorOfApiError)(e, 404)) {
71
+ return false;
72
+ }
73
+ throw e;
74
+ }
75
+ }
76
+ registerPayload() {
77
+ return {
78
+ function: `${this.module}::register`,
79
+ type_arguments: [],
80
+ arguments: [],
81
+ };
82
+ }
83
+ async register(signer) {
84
+ const transaction = this.registerPayload();
85
+ return this.sdk.sendAndConfirmTransaction(signer, transaction);
86
+ }
87
+ setFeePayload(dstChainId, config) {
88
+ return {
89
+ function: `${this.module}::set_fee`,
90
+ type_arguments: [],
91
+ arguments: [dstChainId, config.airdropAmtCap, config.priceRatio, config.gasPrice],
92
+ };
93
+ }
94
+ async setFee(signer, dstChainId, config) {
95
+ const transaction = this.setFeePayload(dstChainId, config);
96
+ return this.sdk.sendAndConfirmTransaction(signer, transaction);
97
+ }
98
+ async getFee(executor, chainId) {
99
+ try {
100
+ const resource = await this.sdk.client.getAccountResource(executor, `${this.module}::ExecutorConfig`);
101
+ const { fee } = resource.data;
102
+ const response = await this.sdk.client.getTableItem(fee.handle, {
103
+ key_type: 'u64',
104
+ value_type: `${this.module}::Fee`,
105
+ key: chainId.toString(),
106
+ });
107
+ return {
108
+ airdropAmtCap: BigInt(response.airdrop_amt_cap),
109
+ priceRatio: BigInt(response.price_ratio),
110
+ gasPrice: BigInt(response.gas_price),
111
+ };
112
+ }
113
+ catch (e) {
114
+ if ((0, utils_2.isErrorOfApiError)(e, 404)) {
115
+ return {
116
+ airdropAmtCap: 0n,
117
+ priceRatio: 0n,
118
+ gasPrice: 0n,
119
+ };
120
+ }
121
+ throw e;
122
+ }
123
+ }
124
+ airdropPayload(srcChainId, guid, receiver, amount) {
125
+ return {
126
+ function: `${this.module}::airdrop`,
127
+ type_arguments: [],
128
+ arguments: [srcChainId, Array.from(guid), receiver, amount.toString()],
129
+ };
130
+ }
131
+ async airdrop(signer, srcChainId, guid, receiver, amount) {
132
+ const transaction = this.airdropPayload(srcChainId, guid, receiver, amount);
133
+ return this.sdk.sendAndConfirmTransaction(signer, transaction);
134
+ }
135
+ async isAirdropped(guid, receiver) {
136
+ try {
137
+ const resource = await this.sdk.client.getAccountResource(this.sdk.accounts.layerzero, `${this.module}::JobStore`);
138
+ const { done } = resource.data;
139
+ const response = await this.sdk.client.getTableItem(done.handle, {
140
+ key_type: `${this.module}::JobKey`,
141
+ value_type: 'bool',
142
+ key: {
143
+ guid: Buffer.from(guid).toString('hex'),
144
+ executor: receiver.toString(),
145
+ },
146
+ });
147
+ return response;
148
+ }
149
+ catch (e) {
150
+ if ((0, utils_2.isErrorOfApiError)(e, 404)) {
151
+ return false;
152
+ }
153
+ throw e;
154
+ }
155
+ }
156
+ async quoteFee(executor, dstChainId, adapterParams) {
157
+ if (adapterParams === undefined || adapterParams.length === 0) {
158
+ adapterParams = await this.getDefaultAdapterParams(dstChainId);
159
+ }
160
+ const fee = await this.getFee(executor, dstChainId);
161
+ const [, uaGas, airdropAmount] = this.decodeAdapterParams(adapterParams);
162
+ return ((uaGas * fee.gasPrice + airdropAmount) * fee.priceRatio) / 10000000000n;
163
+ }
164
+ buildDefaultAdapterParams(uaGas) {
165
+ const params = [0, 1].concat(Array.from((0, utils_2.convertUint64ToBytes)(uaGas)));
166
+ return Uint8Array.from(Buffer.from(params));
167
+ }
168
+ buildAirdropAdapterParams(uaGas, airdropAmount, airdropAddress) {
169
+ if (airdropAmount === 0n) {
170
+ return this.buildDefaultAdapterParams(uaGas);
171
+ }
172
+ const params = [0, 2]
173
+ .concat(Array.from((0, utils_2.convertUint64ToBytes)(uaGas)))
174
+ .concat(Array.from((0, utils_2.convertUint64ToBytes)(airdropAmount)))
175
+ .concat(Array.from(aptos.HexString.ensure(airdropAddress).toUint8Array()));
176
+ return Buffer.from(params);
177
+ }
178
+ // txType 1
179
+ // bytes [2 8 ]
180
+ // fields [txType extraGas]
181
+ // txType 2
182
+ // bytes [2 8 8 unfixed ]
183
+ // fields [txType extraGas airdropAmt airdropAddress]
184
+ decodeAdapterParams(adapterParams) {
185
+ const type = adapterParams[0] * 256 + adapterParams[1];
186
+ if (type === 1) {
187
+ // default
188
+ if (adapterParams.length !== 10)
189
+ throw new Error('invalid adapter params');
190
+ const uaGas = adapterParams.slice(2, 10);
191
+ return [type, (0, utils_2.convertBytesToUint64)(uaGas), 0n, ''];
192
+ }
193
+ else if (type === 2) {
194
+ // airdrop
195
+ if (adapterParams.length <= 18)
196
+ throw new Error('invalid adapter params');
197
+ const uaGas = adapterParams.slice(2, 10);
198
+ const airdropAmount = adapterParams.slice(10, 18);
199
+ const airdropAddressBytes = adapterParams.slice(18);
200
+ return [
201
+ type,
202
+ (0, utils_2.convertBytesToUint64)(uaGas),
203
+ (0, utils_2.convertBytesToUint64)(airdropAmount),
204
+ aptos.HexString.fromUint8Array(airdropAddressBytes).toString(),
205
+ ];
206
+ }
207
+ else {
208
+ throw new Error('invalid adapter params');
209
+ }
210
+ }
211
+ /**
212
+ * rebuild a compiled script to query types arguments for lz_receive function
213
+ * @param packet
214
+ */
215
+ async rebuildTypeArgsScript(packet) {
216
+ // NOTE: `make compile-script-template` to get SCRIPT_BYTECODE
217
+ const SCRIPT_BYTECODE = 'a11ceb0b0500000006010006020604030a0a051419072d50087d60000001010202000307000104030100020504020004060c030a020a02010a08000003030a020a0202060c0a080009747970655f696e666f07636f756e7465720c6578656375746f725f6578740854797065496e666f106c7a5f726563656976655f7479706573166275696c645f6c7a5f726563656976655f74797065730000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000cafe000000000000000000000000000000000000000000000000000000000000face000001090b010b020b0311000c040b000b04110102';
218
+ const uaTypeInfo = await this.sdk.LayerzeroModule.Endpoint.getUATypeInfo(aptos.HexString.fromBuffer(packet.dst_address));
219
+ const bytecode = (0, utils_1.rebuildCompileScriptBytecode)(SCRIPT_BYTECODE, [
220
+ {
221
+ oldValue: aptos.HexString.ensure('0x000000000000000000000000000000000000000000000000000000000000face').toUint8Array(),
222
+ newValue: aptos.HexString.ensure(this.sdk.accounts.executor_ext).toUint8Array(),
223
+ },
224
+ {
225
+ oldValue: aptos.HexString.ensure('0x000000000000000000000000000000000000000000000000000000000000cafe').toUint8Array(),
226
+ newValue: aptos.HexString.ensure(uaTypeInfo.account_address).toUint8Array(),
227
+ },
228
+ ], [
229
+ {
230
+ oldValue: 'counter',
231
+ newValue: uaTypeInfo.module_name,
232
+ },
233
+ ]);
234
+ return bytecode;
235
+ }
236
+ /**
237
+ * execute compiled script on chain to get types arguments for lz_receive function
238
+ * @param packet
239
+ */
240
+ async getLzReceiveTypeArguments(packet) {
241
+ const bytecode = await this.rebuildTypeArgsScript(packet);
242
+ const typeInfos = await (0, utils_2.getLzReceiveTypeArguments)(new aptos.HexString(bytecode).toUint8Array(), this.sdk, new aptos.TxnBuilderTypes.Ed25519PublicKey((0, utils_2.stringToUint8Array)(this.sdk.accounts.layerzero_apps_pubkey.toString())), packet.dst_address, parseInt(packet.src_chain_id.toString()), packet.src_address, Buffer.from(packet.payload));
243
+ return typeInfos;
244
+ }
245
+ async getLzReceivePayload(type_arguments, packet) {
246
+ const uaTypeInfo = await this.sdk.LayerzeroModule.Endpoint.getUATypeInfo(aptos.HexString.fromBuffer(packet.dst_address));
247
+ const transaction = {
248
+ function: `${uaTypeInfo.account_address}::${uaTypeInfo.module_name}::lz_receive`,
249
+ type_arguments,
250
+ arguments: [
251
+ packet.src_chain_id,
252
+ Array.from(Uint8Array.from(packet.src_address)),
253
+ Array.from(Uint8Array.from(packet.payload)),
254
+ ],
255
+ };
256
+ return transaction;
257
+ }
258
+ async lzReceive(signer, type_arguments, packet) {
259
+ const transaction = await this.getLzReceivePayload(type_arguments, packet);
260
+ return this.sdk.sendAndConfirmTransaction(signer, transaction);
261
+ }
262
+ getShortRequestEventType() {
263
+ return `${this.module}::RequestEvent`.replace(/^(0x)0*/i, '$1');
264
+ }
265
+ }
266
+ exports.Executor = Executor;
267
+ //# sourceMappingURL=executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/modules/executor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import * as aptos from 'aptos';
2
+ import { SDK } from '../index';
3
+ export declare class ExecutorConfig {
4
+ private sdk;
5
+ readonly module: any;
6
+ constructor(sdk: SDK);
7
+ getDefaultExecutor(remoteChainId: aptos.BCS.Uint16): Promise<[string, aptos.BCS.Uint64]>;
8
+ getExecutor(uaAddress: aptos.MaybeHexString, remoteChainId: aptos.BCS.Uint16): Promise<[string, aptos.BCS.Uint64]>;
9
+ setDefaultExecutorPayload(remoteChainId: aptos.BCS.Uint16, version: aptos.BCS.Uint8, executor: aptos.MaybeHexString): aptos.Types.EntryFunctionPayload;
10
+ }
11
+ //# sourceMappingURL=executor_config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor_config.d.ts","sourceRoot":"","sources":["../../src/modules/executor_config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAG9B,qBAAa,cAAc;IAGX,OAAO,CAAC,GAAG;IAFvB,SAAgB,MAAM,MAAA;gBAEF,GAAG,EAAE,GAAG;IAItB,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAsBxF,WAAW,CACb,SAAS,EAAE,KAAK,CAAC,cAAc,EAC/B,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,GAChC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAmBtC,yBAAyB,CACrB,aAAa,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAC/B,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,EACxB,QAAQ,EAAE,KAAK,CAAC,cAAc,GAC/B,KAAK,CAAC,KAAK,CAAC,oBAAoB;CAOtC"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ExecutorConfig = void 0;
4
+ const utils_1 = require("../utils");
5
+ class ExecutorConfig {
6
+ constructor(sdk) {
7
+ this.sdk = sdk;
8
+ this.module = `${sdk.accounts.layerzero}::executor_config`;
9
+ }
10
+ async getDefaultExecutor(remoteChainId) {
11
+ const resource = await this.sdk.client.getAccountResource(this.sdk.accounts.layerzero, `${this.module}::ConfigStore`);
12
+ const { config } = resource.data;
13
+ try {
14
+ const response = await this.sdk.client.getTableItem(config.handle, {
15
+ key_type: 'u64',
16
+ value_type: `${this.module}::Config`,
17
+ key: remoteChainId.toString(),
18
+ });
19
+ return [response.executor, response.version];
20
+ }
21
+ catch (e) {
22
+ if ((0, utils_1.isErrorOfApiError)(e, 404)) {
23
+ return ['', BigInt(0)];
24
+ }
25
+ throw e;
26
+ }
27
+ }
28
+ async getExecutor(uaAddress, remoteChainId) {
29
+ const resource = await this.sdk.client.getAccountResource(uaAddress, `${this.module}::ConfigStore`);
30
+ const { config } = resource.data;
31
+ try {
32
+ const response = await this.sdk.client.getTableItem(config.handle, {
33
+ key_type: 'u64',
34
+ value_type: `${this.module}::Config`,
35
+ key: remoteChainId.toString(),
36
+ });
37
+ return [response.executor, response.version];
38
+ }
39
+ catch (e) {
40
+ if ((0, utils_1.isErrorOfApiError)(e, 404)) {
41
+ return await this.getDefaultExecutor(remoteChainId);
42
+ }
43
+ throw e;
44
+ }
45
+ }
46
+ setDefaultExecutorPayload(remoteChainId, version, executor) {
47
+ return {
48
+ function: `${this.module}::set_default_executor`,
49
+ type_arguments: [],
50
+ arguments: [remoteChainId, version, executor],
51
+ };
52
+ }
53
+ }
54
+ exports.ExecutorConfig = ExecutorConfig;
55
+ //# sourceMappingURL=executor_config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor_config.js","sourceRoot":"","sources":["../../src/modules/executor_config.ts"],"names":[],"mappings":";;;AAGA,oCAA4C;AAE5C,MAAa,cAAc;IAGvB,YAAoB,GAAQ;QAAR,QAAG,GAAH,GAAG,CAAK;QACxB,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,mBAAmB,CAAA;IAC9D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,aAA+B;QACpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CACrD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAU,EAC5B,GAAG,IAAI,CAAC,MAAM,eAAe,CAChC,CAAA;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAsC,CAAA;QAClE,IAAI;YACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC/D,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,UAAU;gBACpC,GAAG,EAAE,aAAa,CAAC,QAAQ,EAAE;aAChC,CAAC,CAAA;YACF,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;SAC/C;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,IAAA,yBAAiB,EAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBAC3B,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;aACzB;YACD,MAAM,CAAC,CAAA;SACV;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CACb,SAA+B,EAC/B,aAA+B;QAE/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,MAAM,eAAe,CAAC,CAAA;QACnG,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAsC,CAAA;QAElE,IAAI;YACA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE;gBAC/D,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,UAAU;gBACpC,GAAG,EAAE,aAAa,CAAC,QAAQ,EAAE;aAChC,CAAC,CAAA;YACF,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;SAC/C;QAAC,OAAO,CAAC,EAAE;YACR,IAAI,IAAA,yBAAiB,EAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBAC3B,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAA;aACtD;YACD,MAAM,CAAC,CAAA;SACV;IACL,CAAC;IAED,yBAAyB,CACrB,aAA+B,EAC/B,OAAwB,EACxB,QAA8B;QAE9B,OAAO;YACH,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,wBAAwB;YAChD,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC;SAChD,CAAA;IACL,CAAC;CACJ;AA9DD,wCA8DC"}