@debridge-finance/solana-utils 3.0.0 → 4.0.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.
- package/LICENSE +71 -645
- package/dist/browser/index.js +255 -1100
- 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 +9 -10
- 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 +2 -9
- 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 +9 -10
- 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 +2 -9
- package/dist/esm/spl.js.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.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.map +1 -1
- package/package.json +6 -5
package/dist/cjs/constants.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.pmmDst = exports.pmmSrc = exports.deBridgeSettings = exports.deBridge = exports.MAX_TX_SIZE = exports.SOLANA_CHAIN_ID = exports.BPS_DENOMINATOR = void 0;
|
|
3
|
+
exports.pmmDst = exports.pmmSrc = exports.deBridgeSettings = exports.deBridge = exports.SUBMISSION_PREFIX = exports.DEPLOY_INFO_PREFIX = exports.FAKE_BLOCKHASH = exports.MAX_TX_SIZE = exports.SOLANA_CHAIN_ID = exports.BPS_DENOMINATOR = void 0;
|
|
4
4
|
exports.BPS_DENOMINATOR = 10000;
|
|
5
5
|
exports.SOLANA_CHAIN_ID = 7565164;
|
|
6
6
|
exports.MAX_TX_SIZE = 1232;
|
|
7
|
+
exports.FAKE_BLOCKHASH = "1".repeat(32);
|
|
8
|
+
exports.DEPLOY_INFO_PREFIX = 2;
|
|
9
|
+
exports.SUBMISSION_PREFIX = 1;
|
|
7
10
|
exports.deBridge = {
|
|
8
11
|
Seeds: {
|
|
9
12
|
STATE: "DEBRIDGE_STATE",
|
|
@@ -30,7 +33,6 @@ exports.deBridge = {
|
|
|
30
33
|
SEND_HASHED_DATA: 8,
|
|
31
34
|
SEND_TO_ATA: 2 ** 31,
|
|
32
35
|
},
|
|
33
|
-
SUBMISSION_PREFIX: 1,
|
|
34
36
|
};
|
|
35
37
|
exports.deBridgeSettings = {
|
|
36
38
|
Seeds: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,KAAK,CAAC;AACxB,QAAA,eAAe,GAAG,OAAO,CAAC;AAC1B,QAAA,WAAW,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,KAAK,CAAC;AACxB,QAAA,eAAe,GAAG,OAAO,CAAC;AAC1B,QAAA,WAAW,GAAG,IAAI,CAAC;AACnB,QAAA,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAChC,QAAA,kBAAkB,GAAG,CAAC,CAAC;AACvB,QAAA,iBAAiB,GAAG,CAAC,CAAC;AAEtB,QAAA,QAAQ,GAAG;IACvB,KAAK,EAAE;QACN,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,QAAQ;QAChB,aAAa,EAAE,eAAe;QAC9B,eAAe,EAAE,eAAe;QAChC,aAAa,EAAE,eAAe;QAC9B,kBAAkB,EAAE,oBAAoB;QACxC,eAAe,EAAE,iBAAiB;QAClC,aAAa,EAAE,eAAe;QAC9B,WAAW,EAAE,YAAY;QACzB,qBAAqB,EAAE,uBAAuB;QAC9C,kBAAkB,EAAE,oBAAoB;QACxC,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE,iBAAiB;QAClC,WAAW,EAAE,aAAa;QAC1B,YAAY,EAAE,cAAc;KAC5B;IACD,KAAK,EAAE;QACN,UAAU,EAAE,CAAC;QACb,uBAAuB,EAAE,CAAC;QAC1B,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,CAAC;QACnB,WAAW,EAAE,CAAC,IAAI,EAAE;KACpB;CACD,CAAC;AAEW,QAAA,gBAAgB,GAAG;IAC/B,KAAK,EAAE;QACN,cAAc,EAAE,gBAAgB;QAChC,aAAa,EAAE,eAAe;QAC9B,KAAK,EAAE,gBAAgB;QACvB,oBAAoB,EAAE,YAAY;QAClC,eAAe,EAAE,iBAAiB;QAClC,kBAAkB,EAAE,oBAAoB;QACxC,aAAa,EAAE,eAAe;QAC9B,MAAM,EAAE,QAAQ;QAChB,kBAAkB,EAAE,yBAAyB;QAC7C,WAAW,EAAE,aAAa;QAC1B,eAAe,EAAE,eAAe;KAChC;CACD,CAAC;AAEW,QAAA,MAAM,GAAG;IACrB,KAAK,EAAE;QACN,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,kBAAkB;QAC/B,wBAAwB,EAAE,0BAA0B;QACpD,iBAAiB,EAAE,mBAAmB;QACtC,iBAAiB,EAAE,mBAAmB;QACtC,UAAU,EAAE,YAAY;KACxB;CACD,CAAC;AAEW,QAAA,MAAM,GAAG;IACrB,KAAK,EAAE;QACN,uBAAuB,EAAE,yBAAyB;QAClD,4BAA4B,EAAE,8BAA8B;QAC5D,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,kBAAkB;KAC9B;CACD,CAAC"}
|
package/dist/cjs/crypto.js
CHANGED
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.hashSubmissionIdRaw = exports.hashExternalCallBytes = exports.hashDebridgeId = exports.hashDeployInfo = exports.normalizeChainId = exports.denormalizeAmount = void 0;
|
|
3
|
+
exports.hashSubmissionIdRaw = exports.hashExternalCallBytes = exports.hashDebridgeId = exports.hashDeployInfo = exports.normalizeChainId = exports.denormalizeAmount = exports.solidityKeccak256 = exports.keccak256 = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const buffer_1 = require("buffer");
|
|
6
6
|
const web3_js_1 = require("@solana/web3.js");
|
|
7
|
-
const ethers_1 = require("ethers");
|
|
8
7
|
const bn_js_1 = tslib_1.__importDefault(require("bn.js"));
|
|
9
|
-
const
|
|
8
|
+
const js_sha3_1 = require("js-sha3");
|
|
10
9
|
const helpers_1 = require("./helpers");
|
|
11
10
|
const interfaces_1 = require("./interfaces");
|
|
11
|
+
const constants_1 = require("./constants");
|
|
12
|
+
const solidityPack_1 = require("./solidityPack");
|
|
13
|
+
const keccak256 = (data) => `0x${(0, js_sha3_1.keccak256)(data)}`;
|
|
14
|
+
exports.keccak256 = keccak256;
|
|
15
|
+
const solidityKeccak256 = (types, values) => {
|
|
16
|
+
const packed = (0, solidityPack_1.solidityPack)(types, values);
|
|
17
|
+
return (0, exports.keccak256)(packed);
|
|
18
|
+
};
|
|
19
|
+
exports.solidityKeccak256 = solidityKeccak256;
|
|
12
20
|
function denormalizeAmount(amount, denominator) {
|
|
13
21
|
const denominatorBN = new bn_js_1.default(10 ** denominator);
|
|
14
22
|
return amount.mul(denominatorBN).toArrayLike(buffer_1.Buffer, "be", 32);
|
|
@@ -24,9 +32,9 @@ exports.normalizeChainId = normalizeChainId;
|
|
|
24
32
|
* @returns keccak256 of deployInfo structure
|
|
25
33
|
*/
|
|
26
34
|
function hashDeployInfo(params) {
|
|
27
|
-
const nameHash =
|
|
28
|
-
const symbolHash =
|
|
29
|
-
const deployInfoHash =
|
|
35
|
+
const nameHash = (0, exports.solidityKeccak256)(["string"], [params.tokenName]);
|
|
36
|
+
const symbolHash = (0, exports.solidityKeccak256)(["string"], [params.tokenSymbol]);
|
|
37
|
+
const deployInfoHash = (0, exports.solidityKeccak256)(["uint256", "uint256", "uint256", "uint256", "uint8"], [constants_1.DEPLOY_INFO_PREFIX, params.debridgeId, nameHash, symbolHash, params.decimals]);
|
|
30
38
|
return deployInfoHash;
|
|
31
39
|
}
|
|
32
40
|
exports.hashDeployInfo = hashDeployInfo;
|
|
@@ -38,12 +46,12 @@ exports.hashDeployInfo = hashDeployInfo;
|
|
|
38
46
|
*/
|
|
39
47
|
function hashDebridgeId(nativeChainId, nativeTokenAddress) {
|
|
40
48
|
const chainIdBuffer = normalizeChainId(nativeChainId);
|
|
41
|
-
const bridgeId =
|
|
49
|
+
const bridgeId = (0, exports.solidityKeccak256)(["uint256", "bytes"], [chainIdBuffer, nativeTokenAddress]);
|
|
42
50
|
return bridgeId;
|
|
43
51
|
}
|
|
44
52
|
exports.hashDebridgeId = hashDebridgeId;
|
|
45
53
|
function hashExternalCallBytes(data) {
|
|
46
|
-
return (0, helpers_1.hexToBuffer)(
|
|
54
|
+
return (0, helpers_1.hexToBuffer)((0, exports.solidityKeccak256)(["bytes"], [data ? data : buffer_1.Buffer.from([])]), 32);
|
|
47
55
|
}
|
|
48
56
|
exports.hashExternalCallBytes = hashExternalCallBytes;
|
|
49
57
|
/**
|
|
@@ -69,7 +77,7 @@ function hashSubmissionIdRaw(params) {
|
|
|
69
77
|
: new web3_js_1.PublicKey(params.receiver)
|
|
70
78
|
: new web3_js_1.PublicKey(params.receiver).toBuffer();
|
|
71
79
|
let packData = [
|
|
72
|
-
constants_1.
|
|
80
|
+
constants_1.SUBMISSION_PREFIX,
|
|
73
81
|
params.debridgeId,
|
|
74
82
|
normalizeChainId(params.sourceChainId),
|
|
75
83
|
normalizeChainId(params.targetChainId),
|
|
@@ -101,7 +109,7 @@ function hashSubmissionIdRaw(params) {
|
|
|
101
109
|
hashExternalCallBytes(params.autoParams.nativeSender),
|
|
102
110
|
]);
|
|
103
111
|
}
|
|
104
|
-
const submissionIdHash =
|
|
112
|
+
const submissionIdHash = (0, exports.solidityKeccak256)(packParams, packData);
|
|
105
113
|
return submissionIdHash;
|
|
106
114
|
}
|
|
107
115
|
exports.hashSubmissionIdRaw = hashSubmissionIdRaw;
|
package/dist/cjs/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":";;;;AAAA,mCAAgC;AAChC,6CAA4C;AAC5C,
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/helpers.js
CHANGED
|
@@ -3,11 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.sendAll = exports.Wallet = exports.getTransactionSize = exports.sleep = exports.bufferToHex = exports.hexToBuffer = exports.getAccountInfo = void 0;
|
|
4
4
|
const buffer_1 = require("buffer");
|
|
5
5
|
const web3_js_1 = require("@solana/web3.js");
|
|
6
|
+
const constants_1 = require("./constants");
|
|
6
7
|
async function getAccountInfo(connection, account, commitment = "confirmed") {
|
|
7
8
|
const info = await connection.getAccountInfo(account, commitment);
|
|
8
9
|
if (info) {
|
|
9
10
|
// alchemy bug fix
|
|
10
|
-
if (info.lamports === 0
|
|
11
|
+
if (info.lamports === 0)
|
|
11
12
|
return null;
|
|
12
13
|
return info;
|
|
13
14
|
}
|
|
@@ -87,11 +88,10 @@ class Wallet {
|
|
|
87
88
|
exports.Wallet = Wallet;
|
|
88
89
|
async function sendWithRetries(connection, serialized, lastValidBlockHeight, timesToSend = 5, blockhashCommitment = "finalized") {
|
|
89
90
|
const txId = await connection.sendRawTransaction(serialized, {
|
|
90
|
-
skipPreflight:
|
|
91
|
-
maxRetries: 1000,
|
|
91
|
+
skipPreflight: false, // never skip preflight
|
|
92
92
|
});
|
|
93
93
|
let blockheight = await connection.getBlockHeight();
|
|
94
|
-
let sent =
|
|
94
|
+
let sent = 1;
|
|
95
95
|
while (blockheight < lastValidBlockHeight && sent < timesToSend) {
|
|
96
96
|
await connection.sendRawTransaction(serialized, {
|
|
97
97
|
skipPreflight: true,
|
|
@@ -135,31 +135,30 @@ function setBlockhash(transaction, blockhash) {
|
|
|
135
135
|
*/
|
|
136
136
|
async function sendAll(connection, wallet, transactions, options) {
|
|
137
137
|
const blockhashCommitment = options?.blockhashCommitment === undefined ? "finalized" : options.blockhashCommitment;
|
|
138
|
-
const fakeBlockHash = "1".repeat(32);
|
|
139
138
|
const convertIntoTxV0 = options?.convertIntoTxV0 === undefined ? true : options.convertIntoTxV0;
|
|
140
139
|
const debug = options?.debug === undefined ? false : options.debug;
|
|
141
140
|
const skipPreflight = options?.skipPreflight === undefined ? false : options.skipPreflight;
|
|
142
|
-
const rpcCalls = options?.rpcCalls === undefined ?
|
|
141
|
+
const rpcCalls = options?.rpcCalls === undefined ? 3 : options.rpcCalls;
|
|
143
142
|
if (!Array.isArray(transactions))
|
|
144
143
|
transactions = [transactions];
|
|
145
144
|
if (convertIntoTxV0) {
|
|
146
|
-
transactions = transactions.map((tx) => txToV0(tx, wallet.publicKey,
|
|
145
|
+
transactions = transactions.map((tx) => txToV0(tx, wallet.publicKey, constants_1.FAKE_BLOCKHASH));
|
|
147
146
|
}
|
|
148
147
|
let txIds = [];
|
|
149
148
|
if (options?.waitBetweenSend === undefined || options.waitBetweenSend === 0) {
|
|
150
149
|
await Promise.all(transactions.map(async (tx) => {
|
|
151
150
|
let txV0;
|
|
152
151
|
if (isVersionedTx(tx)) {
|
|
153
|
-
tx.message.recentBlockhash =
|
|
152
|
+
tx.message.recentBlockhash = constants_1.FAKE_BLOCKHASH;
|
|
154
153
|
txV0 = tx;
|
|
155
154
|
}
|
|
156
155
|
else {
|
|
157
|
-
tx.recentBlockhash =
|
|
156
|
+
tx.recentBlockhash = constants_1.FAKE_BLOCKHASH;
|
|
158
157
|
tx.feePayer = wallet.publicKey;
|
|
159
158
|
txV0 = new web3_js_1.VersionedTransaction(web3_js_1.MessageV0.compile({
|
|
160
159
|
addressLookupTableAccounts: [],
|
|
161
160
|
instructions: tx.instructions,
|
|
162
|
-
recentBlockhash:
|
|
161
|
+
recentBlockhash: constants_1.FAKE_BLOCKHASH,
|
|
163
162
|
payerKey: tx.feePayer,
|
|
164
163
|
}));
|
|
165
164
|
}
|
package/dist/cjs/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,6CAAmI;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.solidityPack = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const bn_js_1 = tslib_1.__importDefault(require("bn.js"));
|
|
6
|
+
const helpers_1 = require("./helpers");
|
|
7
|
+
/**
|
|
8
|
+
* All functions are copied from ethers. This is optimization to reduce dependencies
|
|
9
|
+
*/
|
|
10
|
+
function concat(items) {
|
|
11
|
+
const objects = items.map(item => arrayify(item));
|
|
12
|
+
const length = objects.reduce((accum, item) => (accum + item.length), 0);
|
|
13
|
+
const result = new Uint8Array(length);
|
|
14
|
+
objects.reduce((offset, object) => {
|
|
15
|
+
result.set(object, offset);
|
|
16
|
+
return offset + object.length;
|
|
17
|
+
}, 0);
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
function arrayify(value) {
|
|
21
|
+
if (typeof (value) === "number") {
|
|
22
|
+
const numValue = value;
|
|
23
|
+
const result = [];
|
|
24
|
+
while (value) {
|
|
25
|
+
result.unshift(numValue & 0xff);
|
|
26
|
+
value = parseInt(String(numValue / 256));
|
|
27
|
+
}
|
|
28
|
+
if (result.length === 0) {
|
|
29
|
+
result.push(0);
|
|
30
|
+
}
|
|
31
|
+
return new Uint8Array(result);
|
|
32
|
+
}
|
|
33
|
+
if (bn_js_1.default.isBN(value)) {
|
|
34
|
+
value = `0x${value.toString("hex")}`;
|
|
35
|
+
}
|
|
36
|
+
if (typeof (value) === "string" && value.startsWith("0x")) {
|
|
37
|
+
return (0, helpers_1.hexToBuffer)(value);
|
|
38
|
+
}
|
|
39
|
+
if (Array.isArray(value) || ArrayBuffer.isView(value)) {
|
|
40
|
+
return new Uint8Array(value);
|
|
41
|
+
}
|
|
42
|
+
throw new Error(`unknown value: ${value}`);
|
|
43
|
+
}
|
|
44
|
+
// http://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array
|
|
45
|
+
function toUtf8Bytes(str) {
|
|
46
|
+
let result = [];
|
|
47
|
+
for (let i = 0; i < str.length; i++) {
|
|
48
|
+
const c = str.charCodeAt(i);
|
|
49
|
+
if (c < 0x80) {
|
|
50
|
+
result.push(c);
|
|
51
|
+
}
|
|
52
|
+
else if (c < 0x800) {
|
|
53
|
+
result.push((c >> 6) | 0xc0);
|
|
54
|
+
result.push((c & 0x3f) | 0x80);
|
|
55
|
+
}
|
|
56
|
+
else if ((c & 0xfc00) == 0xd800) {
|
|
57
|
+
i++;
|
|
58
|
+
const c2 = str.charCodeAt(i);
|
|
59
|
+
if (i >= str.length || (c2 & 0xfc00) !== 0xdc00) {
|
|
60
|
+
throw new Error("invalid utf-8 string");
|
|
61
|
+
}
|
|
62
|
+
// Surrogate Pair
|
|
63
|
+
const pair = 0x10000 + ((c & 0x03ff) << 10) + (c2 & 0x03ff);
|
|
64
|
+
result.push((pair >> 18) | 0xf0);
|
|
65
|
+
result.push(((pair >> 12) & 0x3f) | 0x80);
|
|
66
|
+
result.push(((pair >> 6) & 0x3f) | 0x80);
|
|
67
|
+
result.push((pair & 0x3f) | 0x80);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
result.push((c >> 12) | 0xe0);
|
|
71
|
+
result.push(((c >> 6) & 0x3f) | 0x80);
|
|
72
|
+
result.push((c & 0x3f) | 0x80);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return arrayify(result);
|
|
76
|
+
}
|
|
77
|
+
;
|
|
78
|
+
const zeroPad = (value, length) => {
|
|
79
|
+
const bufValue = arrayify(value);
|
|
80
|
+
if (bufValue.length > length) {
|
|
81
|
+
throw new Error("value out of range");
|
|
82
|
+
}
|
|
83
|
+
const result = new Uint8Array(length);
|
|
84
|
+
result.set(bufValue, length - bufValue.length);
|
|
85
|
+
return result;
|
|
86
|
+
};
|
|
87
|
+
const isHexString = (data) => typeof (data) === "string" && data.startsWith("0x");
|
|
88
|
+
const _pack = (type, value, isArray) => {
|
|
89
|
+
const regexBytes = new RegExp("^bytes([0-9]+)$");
|
|
90
|
+
const regexNumber = new RegExp("^(u?int)([0-9]*)$");
|
|
91
|
+
const regexArray = new RegExp("^(.*)\\[([0-9]*)\\]$");
|
|
92
|
+
const Zeros = "0000000000000000000000000000000000000000000000000000000000000000";
|
|
93
|
+
switch (type) {
|
|
94
|
+
case "address":
|
|
95
|
+
if (isArray) {
|
|
96
|
+
return zeroPad(value, 32);
|
|
97
|
+
}
|
|
98
|
+
return arrayify(value);
|
|
99
|
+
case "string":
|
|
100
|
+
return toUtf8Bytes(value);
|
|
101
|
+
case "bytes":
|
|
102
|
+
return arrayify(value);
|
|
103
|
+
case "bool":
|
|
104
|
+
value = (value ? "0x01" : "0x00");
|
|
105
|
+
if (isArray) {
|
|
106
|
+
return zeroPad(value, 32);
|
|
107
|
+
}
|
|
108
|
+
return arrayify(value);
|
|
109
|
+
}
|
|
110
|
+
let match = type.match(regexNumber);
|
|
111
|
+
if (match) {
|
|
112
|
+
//let signed = (match[1] === "int")
|
|
113
|
+
let size = parseInt(match[2] || "256");
|
|
114
|
+
if ((match[2] && String(size) !== match[2]) || (size % 8 !== 0) || size === 0 || size > 256) {
|
|
115
|
+
throw new Error("invalid number type");
|
|
116
|
+
}
|
|
117
|
+
if (isArray) {
|
|
118
|
+
size = 256;
|
|
119
|
+
}
|
|
120
|
+
if (isHexString(value)) {
|
|
121
|
+
value = new bn_js_1.default(value.slice(2), "hex").toTwos(size);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
value = new bn_js_1.default(value).toTwos(size);
|
|
125
|
+
}
|
|
126
|
+
return zeroPad(value, size / 8);
|
|
127
|
+
}
|
|
128
|
+
match = type.match(regexBytes);
|
|
129
|
+
if (match) {
|
|
130
|
+
const size = parseInt(match[1]);
|
|
131
|
+
if (String(size) !== match[1] || size === 0 || size > 32) {
|
|
132
|
+
throw new Error("invalid bytes type");
|
|
133
|
+
}
|
|
134
|
+
if (arrayify(value).byteLength !== size) {
|
|
135
|
+
throw new Error(`invalid value for ${type}`);
|
|
136
|
+
}
|
|
137
|
+
if (isArray) {
|
|
138
|
+
return arrayify((value + Zeros).substring(0, 66));
|
|
139
|
+
}
|
|
140
|
+
return value;
|
|
141
|
+
}
|
|
142
|
+
match = type.match(regexArray);
|
|
143
|
+
if (match && Array.isArray(value)) {
|
|
144
|
+
const baseType = match[1];
|
|
145
|
+
const count = parseInt(match[2] || String(value.length));
|
|
146
|
+
if (count != value.length) {
|
|
147
|
+
throw new Error(`invalid array length for ${type}`);
|
|
148
|
+
}
|
|
149
|
+
const result = [];
|
|
150
|
+
value.forEach(function (value) {
|
|
151
|
+
result.push(_pack(baseType, value, true));
|
|
152
|
+
});
|
|
153
|
+
return concat(result);
|
|
154
|
+
}
|
|
155
|
+
throw new Error("invalid type");
|
|
156
|
+
};
|
|
157
|
+
function solidityPack(types, values) {
|
|
158
|
+
if (types.length != values.length) {
|
|
159
|
+
throw new Error("types and values length mismatch");
|
|
160
|
+
}
|
|
161
|
+
const tight = [];
|
|
162
|
+
types.forEach((type, index) => {
|
|
163
|
+
tight.push(_pack(type, values[index]));
|
|
164
|
+
});
|
|
165
|
+
return concat(tight);
|
|
166
|
+
}
|
|
167
|
+
exports.solidityPack = solidityPack;
|
|
168
|
+
//# 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/cjs/spl.js
CHANGED
|
@@ -230,18 +230,11 @@ exports.buildReplenishWsolBalanceTransaction = buildReplenishWsolBalanceTransact
|
|
|
230
230
|
async function updateWsolBalance(connection, amount, owner) {
|
|
231
231
|
owner = new web3_js_1.PublicKey(owner);
|
|
232
232
|
const tx = new web3_js_1.Transaction();
|
|
233
|
-
const accountSize = 165;
|
|
234
233
|
const [wSolATA] = (0, accounts_1.findAssociatedTokenAddress)(owner, accounts_1.WRAPPED_SOL_MINT);
|
|
235
234
|
const existingATA = await (0, helpers_1.getAccountInfo)(connection, wSolATA);
|
|
236
235
|
let amountToWrap = new bn_js_1.default(amount);
|
|
237
236
|
if (existingATA === null) {
|
|
238
|
-
tx.add(
|
|
239
|
-
fromPubkey: owner,
|
|
240
|
-
space: accountSize,
|
|
241
|
-
programId: accounts_1.TOKEN_PROGRAM_ID,
|
|
242
|
-
newAccountPubkey: wSolATA,
|
|
243
|
-
lamports: await connection.getMinimumBalanceForRentExemption(accountSize),
|
|
244
|
-
}));
|
|
237
|
+
tx.add(createAssociatedWalletInstruction(accounts_1.WRAPPED_SOL_MINT, wSolATA, owner, owner));
|
|
245
238
|
}
|
|
246
239
|
else {
|
|
247
240
|
const parsed = parseSplAccount(existingATA.data);
|
|
@@ -250,7 +243,7 @@ async function updateWsolBalance(connection, amount, owner) {
|
|
|
250
243
|
const parsedAmount = new bn_js_1.default(parsed.amount.toString());
|
|
251
244
|
if (amountToWrap.lte(parsedAmount))
|
|
252
245
|
return null; // don't need to wrap
|
|
253
|
-
amountToWrap =
|
|
246
|
+
amountToWrap = amountToWrap.sub(parsedAmount);
|
|
254
247
|
}
|
|
255
248
|
const replenishTx = buildReplenishWsolBalanceTransaction(amountToWrap, owner, wSolATA);
|
|
256
249
|
tx.add(replenishTx);
|
package/dist/cjs/spl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spl.js","sourceRoot":"","sources":["../../src/spl.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"spl.js","sourceRoot":"","sources":["../../src/spl.ts"],"names":[],"mappings":";;;;AAAA,6CAAyH;AACzH,kEAA4C;AAC5C,yEAAmD;AACnD,0DAAuB;AACvB,mCAAgC;AAChC,yCAAyH;AACzH,uCAA2C;AAK3C,IAAK,YAIJ;AAJD,WAAK,YAAY;IAChB,iEAAiB,CAAA;IACjB,6DAAe,CAAA;IACf,mDAAU,CAAA;AACX,CAAC,EAJI,YAAY,KAAZ,YAAY,QAIhB;AAeD,MAAM,aAAa,GAAG,EAAE,CAAC,MAAM,CAAa;IAC3C,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;IACrB,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC;IACtB,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC;IACjB,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACxB,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC;IACzB,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC;IACd,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACxB,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC;IACnB,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC1B,EAAE,CAAC,GAAG,CAAC,sBAAsB,CAAC;IAC9B,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC;CAC/B,CAAC,CAAC;AAEH,IAAY,WAMX;AAND,WAAY,WAAW;IACtB,iDAAU,CAAA;IACV,+CAAS,CAAA;IACT,yDAAc,CAAA;IACd,mDAAW,CAAA;IACX,uDAAa,CAAA;AACd,CAAC,EANW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAMtB;AAkBD;;;;;;GAMG;AACH,SAAgB,iCAAiC,CAChD,SAAuB,EACvB,iBAA4B,EAC5B,KAAmB,EACnB,KAAmB,EACnB,uBAAmC;IAEnC,SAAS,GAAG,IAAI,mBAAS,CAAC,SAAS,CAAC,CAAC;IACrC,KAAK,GAAG,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC;IAC7B,KAAK,GAAG,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC;IAE7B,OAAO,IAAI,gCAAsB,CAAC;QACjC,SAAS,EAAE,uBAAuB,IAAI,sCAA2B;QACjE,IAAI,EAAE,eAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,EAAE;YACL;gBACC,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI;aAChB;YACD;gBACC,MAAM,EAAE,iBAAiB;gBACzB,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,IAAI;aAChB;YACD;gBACC,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,KAAK;aACjB;YACD;gBACC,MAAM,EAAE,SAAS;gBACjB,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,KAAK;aACjB;YACD;gBACC,MAAM,EAAE,uBAAa,CAAC,SAAS;gBAC/B,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,KAAK;aACjB;YACD;gBACC,MAAM,EAAE,2BAAgB;gBACxB,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,KAAK;aACjB;SACD;KACD,CAAC,CAAC;AACJ,CAAC;AA/CD,8EA+CC;AAED,SAAgB,eAAe,CAAC,IAAY;IAC3C,IAAI;QACH,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAClC;IAAC,OAAO,CAAC,EAAE;QACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAPD,0CAOC;AAED,SAAgB,kBAAkB,CAAC,aAA2B,EAAE,IAAY;IAC3E,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,MAAM,CAAC,OAAO,CAAC,GAAG,IAAA,qCAA0B,EAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1E,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,mBAAS,CAAC,aAAa,CAAC,CAAC,CAAC;AACrD,CAAC;AAND,gDAMC;AAED;;;;GAIG;AACI,KAAK,UAAU,kBAAkB,CACvC,UAAsB,EACtB,OAAqB;IAErB,OAAO,GAAG,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9D,IAAI,CAAC,WAAW;QAAE,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,2BAAgB,CAAC,EAAE;QAC/C,OAAO,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;KAChI;IACD,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAa,CAAC,SAAS,CAAC;QAAE,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEhG,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;AAC3C,CAAC;AAbD,gDAaC;AAED;;;GAGG;AACI,KAAK,UAAU,sBAAsB,CAAC,UAAsB,EAAE,MAAoB;IACxF,MAAM,GAAG,IAAI,mBAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAEnD,OAAO,IAAI,eAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AAClC,CAAC;AALD,wDAKC;AAED;;;;GAIG;AACI,KAAK,UAAU,wBAAwB,CAAC,UAAsB,EAAE,cAA4B,EAAE,SAAuB;IAC3H,cAAc,GAAG,IAAI,mBAAS,CAAC,cAAc,CAAC,CAAC;IAC/C,SAAS,GAAG,IAAI,mBAAS,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,qCAA0B,EAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAE5E,OAAO,IAAI,eAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAPD,4DAOC;AAED;;;GAGG;AACI,KAAK,UAAU,mBAAmB,CAAC,UAAsB,EAAE,MAAoB;IACrF,MAAM,GAAG,IAAI,mBAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAE5E,OAAO,IAAI,eAAE,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AALD,kDAKC;AAED;;;;GAIG;AACI,KAAK,UAAU,+BAA+B,CAAC,UAAsB,EAAE,KAAmB;IAChG,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,6BAA6B,CAAC,IAAI,mBAAS,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,2BAAgB,EAAE,CAAC,CAAC;IAC1H,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC;IAuBlC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAA4B,CAAC;QAEnE,OAAO;YACN,OAAO,EAAE,MAAM,CAAC,MAAM;YACtB,IAAI,EAAE,IAAI,mBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACxC,MAAM,EAAE,IAAI,eAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACjD,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ;YAC7C,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ;YACjC,KAAK,EAAE,IAAI,mBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1C,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC;AAtCD,0EAsCC;AAED;;;;;GAKG;AACI,KAAK,UAAU,2BAA2B,CAChD,UAAsB,EACtB,SAAuB,EACvB,KAAmB;IAEnB,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,6BAA6B,CAAC,IAAI,mBAAS,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,mBAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC7H,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC;IAuBlC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAA4B,CAAC;QAEnE,OAAO;YACN,OAAO,EAAE,MAAM,CAAC,MAAM;YACtB,IAAI,EAAE,IAAI,mBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACxC,MAAM,EAAE,IAAI,eAAE,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;YACjD,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ;YAC7C,aAAa,EAAE,IAAI;YACnB,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ;YACjC,KAAK,EAAE,IAAI,mBAAS,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;SAC1C,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC;AA1CD,kEA0CC;AAED;;;;;;GAMG;AACH,SAAgB,oCAAoC,CAAC,MAAkB,EAAE,YAA0B,EAAE,UAAwB;IAC5H,YAAY,GAAG,IAAI,mBAAS,CAAC,YAAY,CAAC,CAAC;IAC3C,UAAU,GAAG,IAAI,mBAAS,CAAC,UAAU,CAAC,CAAC;IAEvC,MAAM,EAAE,GAAG,IAAI,qBAAW,EAAE,CAAC;IAC7B,EAAE,CAAC,GAAG,CAAC,uBAAa,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,eAAE,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;IACxH,EAAE,CAAC,GAAG;IACL,cAAc;IACd,IAAI,gCAAsB,CAAC;QAC1B,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACjE,SAAS,EAAE,2BAAgB;QAC3B,IAAI,EAAE,eAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;KACvB,CAAC,CACF,CAAC;IAEF,EAAE,CAAC,QAAQ,GAAG,YAAY,CAAC;IAE3B,OAAO,EAAE,CAAC;AACX,CAAC;AAlBD,oFAkBC;AAED;;;;GAIG;AACI,KAAK,UAAU,iBAAiB,CAAC,UAAsB,EAAE,MAAkB,EAAE,KAAmB;IACtG,KAAK,GAAG,IAAI,mBAAS,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,IAAI,qBAAW,EAAE,CAAC;IAC7B,MAAM,CAAC,OAAO,CAAC,GAAG,IAAA,qCAA0B,EAAC,KAAK,EAAE,2BAAgB,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC9D,IAAI,YAAY,GAAG,IAAI,eAAE,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,WAAW,KAAK,IAAI,EAAE;QACzB,EAAE,CAAC,GAAG,CAAC,iCAAiC,CAAC,2BAAgB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;KACnF;SAAM;QACN,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QACtF,MAAM,YAAY,GAAG,IAAI,eAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtD,IAAI,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,qBAAqB;QACtE,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;KAC9C;IACD,MAAM,WAAW,GAAG,oCAAoC,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACvF,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAEpB,OAAO,EAAE,CAAC;AACX,CAAC;AAnBD,8CAmBC;AAED;;;;;GAKG;AACI,KAAK,UAAU,6BAA6B,CAAC,UAAsB,EAAE,WAAsB,EAAE,cAAyB;IAC5H,MAAM,CAAC,aAAa,CAAC,GAAG,IAAA,qCAA0B,EAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAChF,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAEpE,OAAO,WAAW,KAAK,IAAI,CAAC;AAC7B,CAAC;AALD,sEAKC"}
|
package/dist/esm/constants.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
export const BPS_DENOMINATOR = 10000;
|
|
2
2
|
export const SOLANA_CHAIN_ID = 7565164;
|
|
3
3
|
export const MAX_TX_SIZE = 1232;
|
|
4
|
+
export const FAKE_BLOCKHASH = "1".repeat(32);
|
|
5
|
+
export const DEPLOY_INFO_PREFIX = 2;
|
|
6
|
+
export const SUBMISSION_PREFIX = 1;
|
|
4
7
|
export const deBridge = {
|
|
5
8
|
Seeds: {
|
|
6
9
|
STATE: "DEBRIDGE_STATE",
|
|
@@ -27,7 +30,6 @@ export const deBridge = {
|
|
|
27
30
|
SEND_HASHED_DATA: 8,
|
|
28
31
|
SEND_TO_ATA: Math.pow(2, 31),
|
|
29
32
|
},
|
|
30
|
-
SUBMISSION_PREFIX: 1,
|
|
31
33
|
};
|
|
32
34
|
export const deBridgeSettings = {
|
|
33
35
|
Seeds: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AACvC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC;AACrC,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAC;AACvC,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AACpC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAEnC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACvB,KAAK,EAAE;QACN,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE,QAAQ;QAChB,aAAa,EAAE,eAAe;QAC9B,eAAe,EAAE,eAAe;QAChC,aAAa,EAAE,eAAe;QAC9B,kBAAkB,EAAE,oBAAoB;QACxC,eAAe,EAAE,iBAAiB;QAClC,aAAa,EAAE,eAAe;QAC9B,WAAW,EAAE,YAAY;QACzB,qBAAqB,EAAE,uBAAuB;QAC9C,kBAAkB,EAAE,oBAAoB;QACxC,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,YAAY;QACxB,eAAe,EAAE,iBAAiB;QAClC,WAAW,EAAE,aAAa;QAC1B,YAAY,EAAE,cAAc;KAC5B;IACD,KAAK,EAAE;QACN,UAAU,EAAE,CAAC;QACb,uBAAuB,EAAE,CAAC;QAC1B,iBAAiB,EAAE,CAAC;QACpB,gBAAgB,EAAE,CAAC;QACnB,WAAW,EAAE,SAAA,CAAC,EAAI,EAAE,CAAA;KACpB;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC/B,KAAK,EAAE;QACN,cAAc,EAAE,gBAAgB;QAChC,aAAa,EAAE,eAAe;QAC9B,KAAK,EAAE,gBAAgB;QACvB,oBAAoB,EAAE,YAAY;QAClC,eAAe,EAAE,iBAAiB;QAClC,kBAAkB,EAAE,oBAAoB;QACxC,aAAa,EAAE,eAAe;QAC9B,MAAM,EAAE,QAAQ;QAChB,kBAAkB,EAAE,yBAAyB;QAC7C,WAAW,EAAE,aAAa;QAC1B,eAAe,EAAE,eAAe;KAChC;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG;IACrB,KAAK,EAAE;QACN,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,OAAO;QACd,WAAW,EAAE,kBAAkB;QAC/B,wBAAwB,EAAE,0BAA0B;QACpD,iBAAiB,EAAE,mBAAmB;QACtC,iBAAiB,EAAE,mBAAmB;QACtC,UAAU,EAAE,YAAY;KACxB;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG;IACrB,KAAK,EAAE;QACN,uBAAuB,EAAE,yBAAyB;QAClD,4BAA4B,EAAE,8BAA8B;QAC5D,WAAW,EAAE,kBAAkB;QAC/B,UAAU,EAAE,kBAAkB;KAC9B;CACD,CAAC"}
|
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 { DEPLOY_INFO_PREFIX, SUBMISSION_PREFIX } from "./constants";
|
|
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"], [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
|
+
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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"}
|