@layerzerolabs/lz-aptos-sdk-v1 0.0.3 → 1.5.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.
@@ -1,255 +0,0 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.keccak256Hash = exports.getAptosFunctionSignature = exports.MultisigOracleTss = void 0;
30
- const sha3_1 = require("@noble/hashes/sha3");
31
- const utils_1 = require("@noble/hashes/utils");
32
- const aptos = __importStar(require("aptos"));
33
- const bn_js_1 = __importDefault(require("bn.js"));
34
- const extended_buffer_1 = require("extended-buffer");
35
- const utils_2 = require("../../utils");
36
- class MultisigOracleTss {
37
- constructor(sdk, address) {
38
- this.sdk = sdk;
39
- this.address = address;
40
- this.module = `${this.address}::oracle`;
41
- this.moduleName = 'oracle::oracle';
42
- }
43
- // Validator Functions
44
- getProposePayload(hash, confirmations, expiration, signatures) {
45
- return {
46
- function: `${this.module}::mso_propose`,
47
- type_arguments: [],
48
- arguments: [Array.from(hash), confirmations, expiration, Array.from(signatures)],
49
- };
50
- }
51
- async propose(signer, hash, confirmations, expiration, signatures) {
52
- const transaction = this.getProposePayload(hash, confirmations, expiration, signatures);
53
- return this.sdk.sendAndConfirmTransaction(signer, transaction);
54
- }
55
- getSetValidatorPayload(validator, active, expiration, signatures) {
56
- return {
57
- function: `${this.module}::mso_set_validator`,
58
- type_arguments: [],
59
- arguments: [Array.from(validator), active, expiration, Array.from(signatures)],
60
- };
61
- }
62
- async setValidator(signer, validator, active, expiration, signatures) {
63
- const transaction = this.getSetValidatorPayload(validator, active, expiration, signatures);
64
- return this.sdk.sendAndConfirmTransaction(signer, transaction);
65
- }
66
- getSetThresholdPayload(threshold, expiration, signatures) {
67
- return {
68
- function: `${this.module}::mso_set_threshold`,
69
- type_arguments: [],
70
- arguments: [threshold, expiration, Array.from(signatures)],
71
- };
72
- }
73
- async setThreshold(signer, threshold, expiration, signatures) {
74
- const transaction = this.getSetThresholdPayload(threshold, expiration, signatures);
75
- return this.sdk.sendAndConfirmTransaction(signer, transaction);
76
- }
77
- getSetAdminPayload(candidate, active, expiration, signatures) {
78
- return {
79
- function: `${this.module}::mso_set_admin`,
80
- type_arguments: [],
81
- arguments: [candidate, active, expiration, Array.from(signatures)],
82
- };
83
- }
84
- async setAdmin(signer, candidate, active, expiration, signatures) {
85
- const transaction = this.getSetAdminPayload(candidate, active, expiration, signatures);
86
- return this.sdk.sendAndConfirmTransaction(signer, transaction);
87
- }
88
- getAllowlistPayload(ua, expiration, signatures) {
89
- return {
90
- function: `${this.module}::mso_allowlist`,
91
- type_arguments: [],
92
- arguments: [ua, expiration, Array.from(signatures)],
93
- };
94
- }
95
- async allowlist(signer, ua, expiration, signatures) {
96
- const transaction = this.getAllowlistPayload(ua, expiration, signatures);
97
- return this.sdk.sendAndConfirmTransaction(signer, transaction);
98
- }
99
- getDenylistPayload(ua, expiration, signatures) {
100
- return {
101
- function: `${this.module}::mso_denylist`,
102
- type_arguments: [],
103
- arguments: [ua, expiration, Array.from(signatures)],
104
- };
105
- }
106
- async denylist(signer, ua, expiration, signatures) {
107
- const transaction = this.getDenylistPayload(ua, expiration, signatures);
108
- return this.sdk.sendAndConfirmTransaction(signer, transaction);
109
- }
110
- // Admin Functions
111
- getInitConfigPayload(validators, threshold, admins) {
112
- return {
113
- function: `${this.module}::mso_init_config`,
114
- type_arguments: [],
115
- arguments: [validators, threshold, admins],
116
- };
117
- }
118
- async initConfig(signer, validators, threshold, admins) {
119
- const transaction = this.getInitConfigPayload(validators, threshold, admins);
120
- return this.sdk.sendAndConfirmTransaction(signer, transaction);
121
- }
122
- getSetFeePayload(remoteChainId, baseFee) {
123
- return {
124
- function: `${this.module}::mso_set_fee`,
125
- type_arguments: [],
126
- arguments: [remoteChainId, baseFee],
127
- };
128
- }
129
- getUpgradePayload() {
130
- return {
131
- function: `${this.module}::upgrade`,
132
- type_arguments: [],
133
- arguments: [],
134
- };
135
- }
136
- async upgrade(signer) {
137
- const transaction = this.getUpgradePayload();
138
- return this.sdk.sendAndConfirmTransaction(signer, transaction);
139
- }
140
- getSetUseMsoPayload(useMso) {
141
- return {
142
- function: `${this.module}::mso_set_use_mso`,
143
- type_arguments: [],
144
- arguments: [useMso],
145
- };
146
- }
147
- async setUseMso(signer, useMso) {
148
- const transaction = this.getSetUseMsoPayload(useMso);
149
- return this.sdk.sendAndConfirmTransaction(signer, transaction);
150
- }
151
- async setFee(signer, remoteChainId, baseFee) {
152
- const transaction = this.getSetFeePayload(remoteChainId, baseFee);
153
- return this.sdk.sendAndConfirmTransaction(signer, transaction);
154
- }
155
- getWithdrawFeePayload(receiver, amount) {
156
- return {
157
- function: `${this.module}::mso_withdraw_fee`,
158
- type_arguments: [],
159
- arguments: [receiver, amount],
160
- };
161
- }
162
- async withdrawFee(signer, receiver, amount) {
163
- const transaction = this.getWithdrawFeePayload(receiver, amount);
164
- return this.sdk.sendAndConfirmTransaction(signer, transaction);
165
- }
166
- // View Functions
167
- async getAdmins() {
168
- const resource = await this.sdk.client.getAccountResource(this.address, `${this.module}::MsoConfig`);
169
- return resource.data.admins;
170
- }
171
- async getValidators() {
172
- const resource = await this.sdk.client.getAccountResource(this.address, `${this.module}::MsoConfig`);
173
- return resource.data.validators;
174
- }
175
- async getThreshold() {
176
- const resource = await this.sdk.client.getAccountResource(this.address, `${this.module}::MsoConfig`);
177
- return parseInt(resource.data.threshold);
178
- }
179
- async getResourceAddress() {
180
- const resource = await this.sdk.client.getAccountResource(this.address, `${this.module}::Config`);
181
- const { resource_addr } = resource.data;
182
- return (0, utils_2.fullAddress)(resource_addr).toString();
183
- }
184
- async isAdmin(account) {
185
- const admins = await this.getAdmins();
186
- const _admins = admins.map((a) => a.toString().toLowerCase());
187
- const acc = aptos.HexString.ensure(account).toShortString();
188
- return _admins.includes(acc.toString().toLowerCase());
189
- }
190
- async isValidator(validator) {
191
- const validators = await this.getValidators();
192
- const _validators = validators.map((v) => v.toString().toLowerCase());
193
- const val = aptos.HexString.ensure(validator);
194
- return _validators.includes(val.toString().toLowerCase());
195
- }
196
- // Hashing functions
197
- hashPropose(hash, blockConfirmation, expiration) {
198
- const encoded_data = new extended_buffer_1.ExtendedBuffer();
199
- encoded_data.writeBuffer(Buffer.from((0, utils_2.stringToUint8Array)(getAptosFunctionSignature('propose'))));
200
- encoded_data.writeBuffer(Buffer.from((0, utils_2.stringToUint8Array)(hash.toString())));
201
- encoded_data.writeBuffer(new bn_js_1.default(blockConfirmation.toString()).toArrayLike(Buffer, 'be', 8));
202
- encoded_data.writeBuffer(new bn_js_1.default(expiration.toString()).toArrayLike(Buffer, 'be', 8));
203
- return keccak256Hash(encoded_data.buffer.toString('hex'));
204
- }
205
- hashSetValidator(validator, active, expiration) {
206
- const encoded_data = new extended_buffer_1.ExtendedBuffer();
207
- encoded_data.writeBuffer(Buffer.from((0, utils_2.stringToUint8Array)(getAptosFunctionSignature('set_validator'))));
208
- encoded_data.writeBuffer(Buffer.from((0, utils_2.stringToUint8Array)(validator.toString())));
209
- encoded_data.writeUInt8(active ? 1 : 0);
210
- encoded_data.writeBuffer(new bn_js_1.default(expiration.toString()).toArrayLike(Buffer, 'be', 8));
211
- return keccak256Hash(encoded_data.buffer.toString('hex'));
212
- }
213
- hashSetThreshold(threshold, expiration) {
214
- const encoded_data = new extended_buffer_1.ExtendedBuffer();
215
- encoded_data.writeBuffer(Buffer.from((0, utils_2.stringToUint8Array)(getAptosFunctionSignature('set_threshold'))));
216
- encoded_data.writeBuffer(new bn_js_1.default(threshold).toArrayLike(Buffer, 'be', 8));
217
- encoded_data.writeBuffer(new bn_js_1.default(expiration.toString()).toArrayLike(Buffer, 'be', 8));
218
- return keccak256Hash(encoded_data.buffer.toString('hex'));
219
- }
220
- hashAllowlist(ua, expiration) {
221
- const encoded_data = new extended_buffer_1.ExtendedBuffer();
222
- encoded_data.writeBuffer(Buffer.from((0, utils_2.stringToUint8Array)(getAptosFunctionSignature('allowlist'))));
223
- encoded_data.writeBuffer(Buffer.from((0, utils_2.stringToUint8Array)(ua.toString())));
224
- encoded_data.writeBuffer(new bn_js_1.default(expiration.toString()).toArrayLike(Buffer, 'be', 8));
225
- return keccak256Hash(encoded_data.buffer.toString('hex'));
226
- }
227
- hashDenylist(ua, expiration) {
228
- const encoded_data = new extended_buffer_1.ExtendedBuffer();
229
- encoded_data.writeBuffer(Buffer.from((0, utils_2.stringToUint8Array)(getAptosFunctionSignature('denylist'))));
230
- encoded_data.writeBuffer(Buffer.from((0, utils_2.stringToUint8Array)(ua.toString())));
231
- encoded_data.writeBuffer(new bn_js_1.default(expiration.toString()).toArrayLike(Buffer, 'be', 8));
232
- return keccak256Hash(encoded_data.buffer.toString('hex'));
233
- }
234
- }
235
- exports.MultisigOracleTss = MultisigOracleTss;
236
- /**
237
- * Get the Aptos function signature.
238
- * This is the first 4 bytes of the keccak256 hash of the BCS serialized function name in hex.
239
- * @param funcName
240
- */
241
- function getAptosFunctionSignature(funcName) {
242
- const encoded_data = new extended_buffer_1.ExtendedBuffer();
243
- const funcNameHexStr = Buffer.from(funcName).toString('hex');
244
- const funcNameBcs = aptos.BCS.bcsSerializeBytes((0, utils_2.stringToUint8Array)(funcNameHexStr));
245
- encoded_data.writeBuffer(Buffer.from(funcNameBcs));
246
- return (0, utils_1.bytesToHex)((0, sha3_1.keccak_256)(encoded_data.buffer)).slice(0, 8);
247
- }
248
- exports.getAptosFunctionSignature = getAptosFunctionSignature;
249
- function keccak256Hash(data) {
250
- const encoded_data = new extended_buffer_1.ExtendedBuffer();
251
- encoded_data.writeBuffer(Buffer.from((0, utils_2.stringToUint8Array)(data)));
252
- return (0, utils_1.bytesToHex)((0, sha3_1.keccak_256)(encoded_data.buffer));
253
- }
254
- exports.keccak256Hash = keccak256Hash;
255
- //# sourceMappingURL=multisig_oracle_tss.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multisig_oracle_tss.js","sourceRoot":"","sources":["../../../src/modules/apps/multisig_oracle_tss.ts"],"names":[],"mappings":"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"}