@debridge-finance/solana-utils 2.4.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +71 -645
- package/dist/browser/index.js +2223 -15936
- package/dist/browser/index.js.map +1 -1
- package/dist/cjs/constants.js +4 -2
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/crypto.js +18 -10
- package/dist/cjs/crypto.js.map +1 -1
- package/dist/cjs/helpers.js +45 -20
- package/dist/cjs/helpers.js.map +1 -1
- package/dist/cjs/solidityPack.js +168 -0
- package/dist/cjs/solidityPack.js.map +1 -0
- package/dist/cjs/spl.js +26 -14
- package/dist/cjs/spl.js.map +1 -1
- package/dist/esm/constants.js +3 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/crypto.js +15 -9
- package/dist/esm/crypto.js.map +1 -1
- package/dist/esm/helpers.js +45 -20
- package/dist/esm/helpers.js.map +1 -1
- package/dist/esm/solidityPack.js +163 -0
- package/dist/esm/solidityPack.js.map +1 -0
- package/dist/esm/spl.js +26 -14
- package/dist/esm/spl.js.map +1 -1
- package/dist/types/accounts.d.ts +6 -6
- package/dist/types/accounts.d.ts.map +1 -1
- package/dist/types/constants.d.ts +3 -1
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/crypto.d.ts +2 -0
- package/dist/types/crypto.d.ts.map +1 -1
- package/dist/types/helpers.d.ts +39 -2
- package/dist/types/helpers.d.ts.map +1 -1
- package/dist/types/interfaces.d.ts +3 -3
- package/dist/types/interfaces.d.ts.map +1 -1
- package/dist/types/solidityPack.d.ts +2 -0
- package/dist/types/solidityPack.d.ts.map +1 -0
- package/dist/types/spl.d.ts +20 -23
- package/dist/types/spl.d.ts.map +1 -1
- package/package.json +8 -6
package/dist/esm/crypto.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { Buffer } from "buffer";
|
|
2
2
|
import { PublicKey } from "@solana/web3.js";
|
|
3
|
-
import { utils as etherUtils } from "ethers";
|
|
4
3
|
import BN from "bn.js";
|
|
5
|
-
import {
|
|
4
|
+
import { keccak256 as rawKeccak256 } from "js-sha3";
|
|
6
5
|
import { hexToBuffer } from "./helpers";
|
|
7
6
|
import { isBuffer } from "./interfaces";
|
|
7
|
+
import { constants } from ".";
|
|
8
|
+
import { solidityPack } from "./solidityPack";
|
|
9
|
+
export const keccak256 = (data) => `0x${rawKeccak256(data)}`;
|
|
10
|
+
export const solidityKeccak256 = (types, values) => {
|
|
11
|
+
const packed = solidityPack(types, values);
|
|
12
|
+
return keccak256(packed);
|
|
13
|
+
};
|
|
8
14
|
export function denormalizeAmount(amount, denominator) {
|
|
9
15
|
const denominatorBN = new BN(Math.pow(10, denominator));
|
|
10
16
|
return amount.mul(denominatorBN).toArrayLike(Buffer, "be", 32);
|
|
@@ -18,9 +24,9 @@ export function normalizeChainId(chainId) {
|
|
|
18
24
|
* @returns keccak256 of deployInfo structure
|
|
19
25
|
*/
|
|
20
26
|
export function hashDeployInfo(params) {
|
|
21
|
-
const nameHash =
|
|
22
|
-
const symbolHash =
|
|
23
|
-
const deployInfoHash =
|
|
27
|
+
const nameHash = solidityKeccak256(["string"], [params.tokenName]);
|
|
28
|
+
const symbolHash = solidityKeccak256(["string"], [params.tokenSymbol]);
|
|
29
|
+
const deployInfoHash = solidityKeccak256(["uint256", "uint256", "uint256", "uint256", "uint8"], [constants.DEPLOY_INFO_PREFIX, params.debridgeId, nameHash, symbolHash, params.decimals]);
|
|
24
30
|
return deployInfoHash;
|
|
25
31
|
}
|
|
26
32
|
/**
|
|
@@ -31,11 +37,11 @@ export function hashDeployInfo(params) {
|
|
|
31
37
|
*/
|
|
32
38
|
export function hashDebridgeId(nativeChainId, nativeTokenAddress) {
|
|
33
39
|
const chainIdBuffer = normalizeChainId(nativeChainId);
|
|
34
|
-
const bridgeId =
|
|
40
|
+
const bridgeId = solidityKeccak256(["uint256", "bytes"], [chainIdBuffer, nativeTokenAddress]);
|
|
35
41
|
return bridgeId;
|
|
36
42
|
}
|
|
37
43
|
export function hashExternalCallBytes(data) {
|
|
38
|
-
return hexToBuffer(
|
|
44
|
+
return hexToBuffer(solidityKeccak256(["bytes"], [data ? data : Buffer.from([])]), 32);
|
|
39
45
|
}
|
|
40
46
|
/**
|
|
41
47
|
* Hashes submission for provided data
|
|
@@ -61,7 +67,7 @@ export function hashSubmissionIdRaw(params) {
|
|
|
61
67
|
: new PublicKey(params.receiver)
|
|
62
68
|
: new PublicKey(params.receiver).toBuffer();
|
|
63
69
|
let packData = [
|
|
64
|
-
|
|
70
|
+
constants.SUBMISSION_PREFIX,
|
|
65
71
|
params.debridgeId,
|
|
66
72
|
normalizeChainId(params.sourceChainId),
|
|
67
73
|
normalizeChainId(params.targetChainId),
|
|
@@ -93,7 +99,7 @@ export function hashSubmissionIdRaw(params) {
|
|
|
93
99
|
hashExternalCallBytes(params.autoParams.nativeSender),
|
|
94
100
|
]);
|
|
95
101
|
}
|
|
96
|
-
const submissionIdHash =
|
|
102
|
+
const submissionIdHash = solidityKeccak256(packParams, packData);
|
|
97
103
|
return submissionIdHash;
|
|
98
104
|
}
|
|
99
105
|
//# sourceMappingURL=crypto.js.map
|
package/dist/esm/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/helpers.js
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
2
|
import { Buffer } from "buffer";
|
|
3
3
|
import { MessageV0, Transaction, VersionedTransaction } from "@solana/web3.js";
|
|
4
|
+
import { FAKE_BLOCKHASH } from "./constants";
|
|
4
5
|
export function getAccountInfo(connection, account, commitment = "confirmed") {
|
|
5
6
|
return __awaiter(this, void 0, void 0, function* () {
|
|
6
7
|
const info = yield connection.getAccountInfo(account, commitment);
|
|
7
8
|
if (info) {
|
|
8
9
|
// alchemy bug fix
|
|
9
|
-
if (info.lamports === 0
|
|
10
|
+
if (info.lamports === 0)
|
|
10
11
|
return null;
|
|
11
12
|
return info;
|
|
12
13
|
}
|
|
@@ -85,18 +86,18 @@ export class Wallet {
|
|
|
85
86
|
});
|
|
86
87
|
}
|
|
87
88
|
}
|
|
88
|
-
function sendWithRetries(connection, serialized, lastValidBlockHeight, timesToSend = 5) {
|
|
89
|
+
function sendWithRetries(connection, serialized, lastValidBlockHeight, timesToSend = 5, blockhashCommitment = "finalized") {
|
|
89
90
|
return __awaiter(this, void 0, void 0, function* () {
|
|
90
91
|
const txId = yield connection.sendRawTransaction(serialized, {
|
|
91
|
-
skipPreflight:
|
|
92
|
-
maxRetries: 1000,
|
|
92
|
+
skipPreflight: false, // never skip preflight
|
|
93
93
|
});
|
|
94
94
|
let blockheight = yield connection.getBlockHeight();
|
|
95
|
-
let sent =
|
|
95
|
+
let sent = 1;
|
|
96
96
|
while (blockheight < lastValidBlockHeight && sent < timesToSend) {
|
|
97
97
|
yield connection.sendRawTransaction(serialized, {
|
|
98
98
|
skipPreflight: true,
|
|
99
|
-
|
|
99
|
+
preflightCommitment: blockhashCommitment,
|
|
100
|
+
maxRetries: 100,
|
|
100
101
|
});
|
|
101
102
|
yield sleep(300);
|
|
102
103
|
blockheight = yield connection.getBlockHeight();
|
|
@@ -118,30 +119,51 @@ function txToV0(transaction, payer, blockhash) {
|
|
|
118
119
|
return new VersionedTransaction(v0Message);
|
|
119
120
|
}
|
|
120
121
|
}
|
|
121
|
-
|
|
122
|
+
function setBlockhash(transaction, blockhash) {
|
|
123
|
+
if (isVersionedTx(transaction)) {
|
|
124
|
+
transaction.message.recentBlockhash = blockhash;
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
transaction.recentBlockhash = blockhash;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
*
|
|
132
|
+
* @param connection rpc connection
|
|
133
|
+
* @param wallet wallet interface to sign transaction
|
|
134
|
+
* @param transactions transaction(s) to send
|
|
135
|
+
* @param options additional {@link SendAllOptions|options}
|
|
136
|
+
* @returns
|
|
137
|
+
*/
|
|
138
|
+
export function sendAll(connection, wallet, transactions, options) {
|
|
122
139
|
var _a;
|
|
123
140
|
return __awaiter(this, void 0, void 0, function* () {
|
|
141
|
+
const blockhashCommitment = (options === null || options === void 0 ? void 0 : options.blockhashCommitment) === undefined ? "finalized" : options.blockhashCommitment;
|
|
142
|
+
const convertIntoTxV0 = (options === null || options === void 0 ? void 0 : options.convertIntoTxV0) === undefined ? true : options.convertIntoTxV0;
|
|
143
|
+
const debug = (options === null || options === void 0 ? void 0 : options.debug) === undefined ? false : options.debug;
|
|
144
|
+
const skipPreflight = (options === null || options === void 0 ? void 0 : options.skipPreflight) === undefined ? false : options.skipPreflight;
|
|
145
|
+
const rpcCalls = (options === null || options === void 0 ? void 0 : options.rpcCalls) === undefined ? 3 : options.rpcCalls;
|
|
146
|
+
if (!Array.isArray(transactions))
|
|
147
|
+
transactions = [transactions];
|
|
124
148
|
if (convertIntoTxV0) {
|
|
125
|
-
|
|
126
|
-
transactions = transactions.map((tx) => txToV0(tx, wallet.publicKey, fakeBlockHash));
|
|
149
|
+
transactions = transactions.map((tx) => txToV0(tx, wallet.publicKey, FAKE_BLOCKHASH));
|
|
127
150
|
}
|
|
128
151
|
let txIds = [];
|
|
129
|
-
if (waitBetweenSend === undefined || waitBetweenSend === 0) {
|
|
130
|
-
const { blockhash, lastValidBlockHeight } = yield connection.getLatestBlockhash({ commitment: "confirmed" });
|
|
152
|
+
if ((options === null || options === void 0 ? void 0 : options.waitBetweenSend) === undefined || options.waitBetweenSend === 0) {
|
|
131
153
|
yield Promise.all(transactions.map((tx) => __awaiter(this, void 0, void 0, function* () {
|
|
132
154
|
var _b;
|
|
133
155
|
let txV0;
|
|
134
156
|
if (isVersionedTx(tx)) {
|
|
135
|
-
tx.message.recentBlockhash =
|
|
157
|
+
tx.message.recentBlockhash = FAKE_BLOCKHASH;
|
|
136
158
|
txV0 = tx;
|
|
137
159
|
}
|
|
138
160
|
else {
|
|
139
|
-
tx.recentBlockhash =
|
|
161
|
+
tx.recentBlockhash = FAKE_BLOCKHASH;
|
|
140
162
|
tx.feePayer = wallet.publicKey;
|
|
141
163
|
txV0 = new VersionedTransaction(MessageV0.compile({
|
|
142
164
|
addressLookupTableAccounts: [],
|
|
143
165
|
instructions: tx.instructions,
|
|
144
|
-
recentBlockhash:
|
|
166
|
+
recentBlockhash: FAKE_BLOCKHASH,
|
|
145
167
|
payerKey: tx.feePayer,
|
|
146
168
|
}));
|
|
147
169
|
}
|
|
@@ -156,19 +178,22 @@ export function sendAll(connection, wallet, transactions, signers, waitBetweenSe
|
|
|
156
178
|
}
|
|
157
179
|
}
|
|
158
180
|
})));
|
|
181
|
+
const { blockhash, lastValidBlockHeight } = yield connection.getLatestBlockhash({ commitment: blockhashCommitment });
|
|
182
|
+
// set real blockhash
|
|
183
|
+
transactions.map((tx) => setBlockhash(tx, blockhash));
|
|
159
184
|
// sign after setting correct blockhashes
|
|
160
|
-
const signed = yield wallet.signAllTransactions(transactions, signers);
|
|
185
|
+
const signed = yield wallet.signAllTransactions(transactions, options === null || options === void 0 ? void 0 : options.signers);
|
|
161
186
|
txIds = yield Promise.all(signed.map((signedTx) => {
|
|
162
187
|
const serialized = Buffer.from(signedTx.serialize());
|
|
163
188
|
if (debug)
|
|
164
189
|
console.debug(serialized.toString("base64"));
|
|
165
|
-
return sendWithRetries(connection, serialized, lastValidBlockHeight, rpcCalls);
|
|
190
|
+
return sendWithRetries(connection, serialized, lastValidBlockHeight, rpcCalls, blockhashCommitment);
|
|
166
191
|
}));
|
|
167
192
|
}
|
|
168
193
|
else {
|
|
169
194
|
for (let i = 0; i < transactions.length; i++) {
|
|
170
195
|
const tx = transactions[i];
|
|
171
|
-
const { blockhash, lastValidBlockHeight } = yield connection.getLatestBlockhash();
|
|
196
|
+
const { blockhash, lastValidBlockHeight } = yield connection.getLatestBlockhash({ commitment: blockhashCommitment });
|
|
172
197
|
let txV0;
|
|
173
198
|
if (isVersionedTx(tx)) {
|
|
174
199
|
tx.message.recentBlockhash = blockhash;
|
|
@@ -184,7 +209,7 @@ export function sendAll(connection, wallet, transactions, signers, waitBetweenSe
|
|
|
184
209
|
payerKey: tx.feePayer,
|
|
185
210
|
}));
|
|
186
211
|
}
|
|
187
|
-
const signed = yield wallet.signTransaction(tx, signers && signers.length > i ? signers[i] : undefined);
|
|
212
|
+
const signed = yield wallet.signTransaction(tx, (options === null || options === void 0 ? void 0 : options.signers) && (options === null || options === void 0 ? void 0 : options.signers.length) > i ? options.signers[i] : undefined);
|
|
188
213
|
if (!skipPreflight) {
|
|
189
214
|
const simulationResult = yield connection.simulateTransaction(txV0, {
|
|
190
215
|
sigVerify: false,
|
|
@@ -198,8 +223,8 @@ export function sendAll(connection, wallet, transactions, signers, waitBetweenSe
|
|
|
198
223
|
const serialized = Buffer.from(signed.serialize());
|
|
199
224
|
if (debug)
|
|
200
225
|
console.debug(serialized.toString("base64"));
|
|
201
|
-
txIds.push(yield sendWithRetries(connection, serialized, lastValidBlockHeight, rpcCalls));
|
|
202
|
-
yield sleep(waitBetweenSend);
|
|
226
|
+
txIds.push(yield sendWithRetries(connection, serialized, lastValidBlockHeight, rpcCalls, blockhashCommitment));
|
|
227
|
+
yield sleep(options.waitBetweenSend);
|
|
203
228
|
}
|
|
204
229
|
}
|
|
205
230
|
return txIds;
|
package/dist/esm/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAmC,SAAS,EAAqB,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import BN from "bn.js";
|
|
2
|
+
import { helpers } from ".";
|
|
3
|
+
/**
|
|
4
|
+
* All functions are copied from ethers. This is optimization to reduce dependencies
|
|
5
|
+
*/
|
|
6
|
+
function concat(items) {
|
|
7
|
+
const objects = items.map(item => arrayify(item));
|
|
8
|
+
const length = objects.reduce((accum, item) => (accum + item.length), 0);
|
|
9
|
+
const result = new Uint8Array(length);
|
|
10
|
+
objects.reduce((offset, object) => {
|
|
11
|
+
result.set(object, offset);
|
|
12
|
+
return offset + object.length;
|
|
13
|
+
}, 0);
|
|
14
|
+
return result;
|
|
15
|
+
}
|
|
16
|
+
function arrayify(value) {
|
|
17
|
+
if (typeof (value) === "number") {
|
|
18
|
+
const numValue = value;
|
|
19
|
+
const result = [];
|
|
20
|
+
while (value) {
|
|
21
|
+
result.unshift(numValue & 0xff);
|
|
22
|
+
value = parseInt(String(numValue / 256));
|
|
23
|
+
}
|
|
24
|
+
if (result.length === 0) {
|
|
25
|
+
result.push(0);
|
|
26
|
+
}
|
|
27
|
+
return new Uint8Array(result);
|
|
28
|
+
}
|
|
29
|
+
if (BN.isBN(value)) {
|
|
30
|
+
value = `0x${value.toString("hex")}`;
|
|
31
|
+
}
|
|
32
|
+
if (typeof (value) === "string" && value.startsWith("0x")) {
|
|
33
|
+
return helpers.hexToBuffer(value);
|
|
34
|
+
}
|
|
35
|
+
if (Array.isArray(value) || ArrayBuffer.isView(value)) {
|
|
36
|
+
return new Uint8Array(value);
|
|
37
|
+
}
|
|
38
|
+
throw new Error(`unknown value: ${value}`);
|
|
39
|
+
}
|
|
40
|
+
// http://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array
|
|
41
|
+
function toUtf8Bytes(str) {
|
|
42
|
+
let result = [];
|
|
43
|
+
for (let i = 0; i < str.length; i++) {
|
|
44
|
+
const c = str.charCodeAt(i);
|
|
45
|
+
if (c < 0x80) {
|
|
46
|
+
result.push(c);
|
|
47
|
+
}
|
|
48
|
+
else if (c < 0x800) {
|
|
49
|
+
result.push((c >> 6) | 0xc0);
|
|
50
|
+
result.push((c & 0x3f) | 0x80);
|
|
51
|
+
}
|
|
52
|
+
else if ((c & 0xfc00) == 0xd800) {
|
|
53
|
+
i++;
|
|
54
|
+
const c2 = str.charCodeAt(i);
|
|
55
|
+
if (i >= str.length || (c2 & 0xfc00) !== 0xdc00) {
|
|
56
|
+
throw new Error("invalid utf-8 string");
|
|
57
|
+
}
|
|
58
|
+
// Surrogate Pair
|
|
59
|
+
const pair = 0x10000 + ((c & 0x03ff) << 10) + (c2 & 0x03ff);
|
|
60
|
+
result.push((pair >> 18) | 0xf0);
|
|
61
|
+
result.push(((pair >> 12) & 0x3f) | 0x80);
|
|
62
|
+
result.push(((pair >> 6) & 0x3f) | 0x80);
|
|
63
|
+
result.push((pair & 0x3f) | 0x80);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
result.push((c >> 12) | 0xe0);
|
|
67
|
+
result.push(((c >> 6) & 0x3f) | 0x80);
|
|
68
|
+
result.push((c & 0x3f) | 0x80);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return arrayify(result);
|
|
72
|
+
}
|
|
73
|
+
;
|
|
74
|
+
const zeroPad = (value, length) => {
|
|
75
|
+
const bufValue = arrayify(value);
|
|
76
|
+
if (bufValue.length > length) {
|
|
77
|
+
throw new Error("value out of range");
|
|
78
|
+
}
|
|
79
|
+
const result = new Uint8Array(length);
|
|
80
|
+
result.set(bufValue, length - bufValue.length);
|
|
81
|
+
return result;
|
|
82
|
+
};
|
|
83
|
+
const isHexString = (data) => typeof (data) === "string" && data.startsWith("0x");
|
|
84
|
+
const _pack = (type, value, isArray) => {
|
|
85
|
+
const regexBytes = new RegExp("^bytes([0-9]+)$");
|
|
86
|
+
const regexNumber = new RegExp("^(u?int)([0-9]*)$");
|
|
87
|
+
const regexArray = new RegExp("^(.*)\\[([0-9]*)\\]$");
|
|
88
|
+
const Zeros = "0000000000000000000000000000000000000000000000000000000000000000";
|
|
89
|
+
switch (type) {
|
|
90
|
+
case "address":
|
|
91
|
+
if (isArray) {
|
|
92
|
+
return zeroPad(value, 32);
|
|
93
|
+
}
|
|
94
|
+
return arrayify(value);
|
|
95
|
+
case "string":
|
|
96
|
+
return toUtf8Bytes(value);
|
|
97
|
+
case "bytes":
|
|
98
|
+
return arrayify(value);
|
|
99
|
+
case "bool":
|
|
100
|
+
value = (value ? "0x01" : "0x00");
|
|
101
|
+
if (isArray) {
|
|
102
|
+
return zeroPad(value, 32);
|
|
103
|
+
}
|
|
104
|
+
return arrayify(value);
|
|
105
|
+
}
|
|
106
|
+
let match = type.match(regexNumber);
|
|
107
|
+
if (match) {
|
|
108
|
+
//let signed = (match[1] === "int")
|
|
109
|
+
let size = parseInt(match[2] || "256");
|
|
110
|
+
if ((match[2] && String(size) !== match[2]) || (size % 8 !== 0) || size === 0 || size > 256) {
|
|
111
|
+
throw new Error("invalid number type");
|
|
112
|
+
}
|
|
113
|
+
if (isArray) {
|
|
114
|
+
size = 256;
|
|
115
|
+
}
|
|
116
|
+
if (isHexString(value)) {
|
|
117
|
+
value = new BN(value.slice(2), "hex").toTwos(size);
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
value = new BN(value).toTwos(size);
|
|
121
|
+
}
|
|
122
|
+
return zeroPad(value, size / 8);
|
|
123
|
+
}
|
|
124
|
+
match = type.match(regexBytes);
|
|
125
|
+
if (match) {
|
|
126
|
+
const size = parseInt(match[1]);
|
|
127
|
+
if (String(size) !== match[1] || size === 0 || size > 32) {
|
|
128
|
+
throw new Error("invalid bytes type");
|
|
129
|
+
}
|
|
130
|
+
if (arrayify(value).byteLength !== size) {
|
|
131
|
+
throw new Error(`invalid value for ${type}`);
|
|
132
|
+
}
|
|
133
|
+
if (isArray) {
|
|
134
|
+
return arrayify((value + Zeros).substring(0, 66));
|
|
135
|
+
}
|
|
136
|
+
return value;
|
|
137
|
+
}
|
|
138
|
+
match = type.match(regexArray);
|
|
139
|
+
if (match && Array.isArray(value)) {
|
|
140
|
+
const baseType = match[1];
|
|
141
|
+
const count = parseInt(match[2] || String(value.length));
|
|
142
|
+
if (count != value.length) {
|
|
143
|
+
throw new Error(`invalid array length for ${type}`);
|
|
144
|
+
}
|
|
145
|
+
const result = [];
|
|
146
|
+
value.forEach(function (value) {
|
|
147
|
+
result.push(_pack(baseType, value, true));
|
|
148
|
+
});
|
|
149
|
+
return concat(result);
|
|
150
|
+
}
|
|
151
|
+
throw new Error("invalid type");
|
|
152
|
+
};
|
|
153
|
+
export function solidityPack(types, values) {
|
|
154
|
+
if (types.length != values.length) {
|
|
155
|
+
throw new Error("types and values length mismatch");
|
|
156
|
+
}
|
|
157
|
+
const tight = [];
|
|
158
|
+
types.forEach((type, index) => {
|
|
159
|
+
tight.push(_pack(type, values[index]));
|
|
160
|
+
});
|
|
161
|
+
return concat(tight);
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=solidityPack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solidityPack.js","sourceRoot":"","sources":["../../src/solidityPack.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/spl.js
CHANGED
|
@@ -1,10 +1,30 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { splTokenProgram } from "@coral-xyz/spl-token";
|
|
3
2
|
import { PublicKey, SystemProgram, Transaction, TransactionInstruction } from "@solana/web3.js";
|
|
3
|
+
import * as bl from "@solana/buffer-layout";
|
|
4
|
+
import * as blu from "@solana/buffer-layout-utils";
|
|
4
5
|
import BN from "bn.js";
|
|
5
6
|
import { Buffer } from "buffer";
|
|
6
7
|
import { ASSOCIATED_TOKEN_PROGRAM_ID, findAssociatedTokenAddress, TOKEN_PROGRAM_ID, WRAPPED_SOL_MINT } from "./accounts";
|
|
7
8
|
import { getAccountInfo } from "./helpers";
|
|
9
|
+
var AccountState;
|
|
10
|
+
(function (AccountState) {
|
|
11
|
+
AccountState[AccountState["Uninitialized"] = 0] = "Uninitialized";
|
|
12
|
+
AccountState[AccountState["Initialized"] = 1] = "Initialized";
|
|
13
|
+
AccountState[AccountState["Frozen"] = 2] = "Frozen";
|
|
14
|
+
})(AccountState || (AccountState = {}));
|
|
15
|
+
const AccountLayout = bl.struct([
|
|
16
|
+
blu.publicKey('mint'),
|
|
17
|
+
blu.publicKey('owner'),
|
|
18
|
+
blu.u64('amount'),
|
|
19
|
+
bl.u32('delegateOption'),
|
|
20
|
+
blu.publicKey('delegate'),
|
|
21
|
+
bl.u8('state'),
|
|
22
|
+
bl.u32('isNativeOption'),
|
|
23
|
+
blu.u64('isNative'),
|
|
24
|
+
blu.u64('delegatedAmount'),
|
|
25
|
+
bl.u32('closeAuthorityOption'),
|
|
26
|
+
blu.publicKey('closeAuthority'),
|
|
27
|
+
]);
|
|
8
28
|
export var AccountType;
|
|
9
29
|
(function (AccountType) {
|
|
10
30
|
AccountType[AccountType["System"] = 0] = "System";
|
|
@@ -62,10 +82,8 @@ export function createAssociatedWalletInstruction(tokenMint, associatedAccount,
|
|
|
62
82
|
});
|
|
63
83
|
}
|
|
64
84
|
export function parseSplAccount(data) {
|
|
65
|
-
const tokenProgram = splTokenProgram({ provider: {} });
|
|
66
85
|
try {
|
|
67
|
-
|
|
68
|
-
return decoded;
|
|
86
|
+
return AccountLayout.decode(data);
|
|
69
87
|
}
|
|
70
88
|
catch (e) {
|
|
71
89
|
console.error(e);
|
|
@@ -212,26 +230,20 @@ export function updateWsolBalance(connection, amount, owner) {
|
|
|
212
230
|
return __awaiter(this, void 0, void 0, function* () {
|
|
213
231
|
owner = new PublicKey(owner);
|
|
214
232
|
const tx = new Transaction();
|
|
215
|
-
const accountSize = 165;
|
|
216
233
|
const [wSolATA] = findAssociatedTokenAddress(owner, WRAPPED_SOL_MINT);
|
|
217
234
|
const existingATA = yield getAccountInfo(connection, wSolATA);
|
|
218
235
|
let amountToWrap = new BN(amount);
|
|
219
236
|
if (existingATA === null) {
|
|
220
|
-
tx.add(
|
|
221
|
-
fromPubkey: owner,
|
|
222
|
-
space: accountSize,
|
|
223
|
-
programId: TOKEN_PROGRAM_ID,
|
|
224
|
-
newAccountPubkey: wSolATA,
|
|
225
|
-
lamports: yield connection.getMinimumBalanceForRentExemption(accountSize),
|
|
226
|
-
}));
|
|
237
|
+
tx.add(createAssociatedWalletInstruction(WRAPPED_SOL_MINT, wSolATA, owner, owner));
|
|
227
238
|
}
|
|
228
239
|
else {
|
|
229
240
|
const parsed = parseSplAccount(existingATA.data);
|
|
230
241
|
if (!parsed)
|
|
231
242
|
throw new Error("WSol account exists, but failed to decode its content");
|
|
232
|
-
|
|
243
|
+
const parsedAmount = new BN(parsed.amount.toString());
|
|
244
|
+
if (amountToWrap.lte(parsedAmount))
|
|
233
245
|
return null; // don't need to wrap
|
|
234
|
-
amountToWrap =
|
|
246
|
+
amountToWrap = amountToWrap.sub(parsedAmount);
|
|
235
247
|
}
|
|
236
248
|
const replenishTx = buildReplenishWsolBalanceTransaction(amountToWrap, owner, wSolATA);
|
|
237
249
|
tx.add(replenishTx);
|
package/dist/esm/spl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spl.js","sourceRoot":"","sources":["../../src/spl.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"spl.js","sourceRoot":"","sources":["../../src/spl.ts"],"names":[],"mappings":"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"}
|
package/dist/types/accounts.d.ts
CHANGED
|
@@ -11,14 +11,14 @@ export declare function findAssociatedTokenAddress(wallet: PublicKey, tokenMint:
|
|
|
11
11
|
*/
|
|
12
12
|
export declare function findAssociatedTokenAddressSync(wallet: PublicKey, tokenMint: PublicKey, tokenProgramId?: PublicKey, associatedTokenProramId?: PublicKey): [PublicKey, number];
|
|
13
13
|
export declare function getTokenMetadataAddress(tokenMint: PublicKey, tokenMetedataProgramId: PublicKey): [PublicKey, number];
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
type Head<T extends unknown[]> = T extends [...infer Head, unknown] ? Head : unknown[];
|
|
15
|
+
type EmptyTuple = [];
|
|
16
|
+
type OmitLastParam<F> = F extends (...args: infer P) => infer Ret ? Head<P> extends EmptyTuple ? () => Ret : (...args: Head<P>) => Ret : never;
|
|
17
|
+
type FnContainer = {
|
|
18
18
|
[K: string]: AnyFn;
|
|
19
19
|
};
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
type AnyFn = (...args: any[]) => any;
|
|
21
|
+
type AccountResolver<T> = {
|
|
22
22
|
readonly methods: {
|
|
23
23
|
[K in keyof T]: OmitLastParam<T[K]>;
|
|
24
24
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAE,MAAM,EAAY,YAAY,EAAE,MAAM,cAAc,CAAC;AAE9D,eAAO,MAAM,yBAAyB,WAA+D,CAAC;AACtG,eAAO,MAAM,gBAAgB,WAA+D,CAAC;AAC7F,eAAO,MAAM,2BAA2B,WAAgE,CAAC;AACzG,eAAO,MAAM,gBAAgB,WAA+D,CAAC;AAE7F,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,cAAc,GAAE,SAA4B,EAC5C,uBAAuB,GAAE,SAAuC,uBAGhE;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAC7C,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,cAAc,GAAE,SAA4B,EAC5C,uBAAuB,GAAE,SAAuC,uBAGhE;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,EAAE,sBAAsB,EAAE,SAAS,uBAK9F;AAmHD,
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export declare const BPS_DENOMINATOR = 10000;
|
|
2
2
|
export declare const SOLANA_CHAIN_ID = 7565164;
|
|
3
3
|
export declare const MAX_TX_SIZE = 1232;
|
|
4
|
+
export declare const FAKE_BLOCKHASH: string;
|
|
5
|
+
export declare const DEPLOY_INFO_PREFIX = 2;
|
|
6
|
+
export declare const SUBMISSION_PREFIX = 1;
|
|
4
7
|
export declare const deBridge: {
|
|
5
8
|
Seeds: {
|
|
6
9
|
STATE: string;
|
|
@@ -27,7 +30,6 @@ export declare const deBridge: {
|
|
|
27
30
|
SEND_HASHED_DATA: number;
|
|
28
31
|
SEND_TO_ATA: number;
|
|
29
32
|
};
|
|
30
|
-
SUBMISSION_PREFIX: number;
|
|
31
33
|
};
|
|
32
34
|
export declare const deBridgeSettings: {
|
|
33
35
|
Seeds: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,WAAW,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC,eAAO,MAAM,eAAe,UAAU,CAAC;AACvC,eAAO,MAAM,WAAW,OAAO,CAAC;AAChC,eAAO,MAAM,cAAc,QAAiB,CAAC;AAC7C,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BpB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;CAc5B,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;CAUlB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;CAOlB,CAAC"}
|
package/dist/types/crypto.d.ts
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
import { Buffer } from "buffer";
|
|
3
3
|
import BN from "bn.js";
|
|
4
4
|
import { AutoParamsType, BNable, HashDeployInfoParams, HexString, SolanaPubkey } from "./interfaces";
|
|
5
|
+
export declare const keccak256: (data: Uint8Array) => string;
|
|
6
|
+
export declare const solidityKeccak256: (types: string[], values: unknown[]) => string;
|
|
5
7
|
export declare function denormalizeAmount(amount: BN, denominator: number): Buffer;
|
|
6
8
|
export declare function normalizeChainId(chainId: BNable): Buffer;
|
|
7
9
|
/**
|