@debridge-finance/solana-utils 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +3 -0
  3. package/dist/browser/index.js +7899 -0
  4. package/dist/browser/index.js.map +1 -0
  5. package/dist/cjs/accounts.js +98 -0
  6. package/dist/cjs/accounts.js.map +1 -0
  7. package/dist/cjs/constants.js +69 -0
  8. package/dist/cjs/constants.js.map +1 -0
  9. package/dist/cjs/crypto.js +108 -0
  10. package/dist/cjs/crypto.js.map +1 -0
  11. package/dist/cjs/helpers.js +184 -0
  12. package/dist/cjs/helpers.js.map +1 -0
  13. package/dist/cjs/index.js +10 -0
  14. package/dist/cjs/index.js.map +1 -0
  15. package/dist/cjs/interfaces.js +9 -0
  16. package/dist/cjs/interfaces.js.map +1 -0
  17. package/dist/esm/accounts.js +91 -0
  18. package/dist/esm/accounts.js.map +1 -0
  19. package/dist/esm/constants.js +66 -0
  20. package/dist/esm/constants.js.map +1 -0
  21. package/dist/esm/crypto.js +99 -0
  22. package/dist/esm/crypto.js.map +1 -0
  23. package/dist/esm/helpers.js +191 -0
  24. package/dist/esm/helpers.js.map +1 -0
  25. package/dist/esm/index.js +6 -0
  26. package/dist/esm/index.js.map +1 -0
  27. package/dist/esm/interfaces.js +5 -0
  28. package/dist/esm/interfaces.js.map +1 -0
  29. package/dist/types/accounts.d.ts +69 -0
  30. package/dist/types/accounts.d.ts.map +1 -0
  31. package/dist/types/constants.d.ts +66 -0
  32. package/dist/types/constants.d.ts.map +1 -0
  33. package/dist/types/crypto.d.ts +35 -0
  34. package/dist/types/crypto.d.ts.map +1 -0
  35. package/dist/types/helpers.d.ts +27 -0
  36. package/dist/types/helpers.d.ts.map +1 -0
  37. package/dist/types/index.d.ts +6 -0
  38. package/dist/types/index.d.ts.map +1 -0
  39. package/dist/types/interfaces.d.ts +42 -0
  40. package/dist/types/interfaces.d.ts.map +1 -0
  41. package/package.json +71 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ export const BPS_DENOMINATOR = 10000;
2
+ export const SOLANA_CHAIN_ID = 7565164;
3
+ export const MAX_TX_SIZE = 1232;
4
+ export const deBridge = {
5
+ Seeds: {
6
+ STATE: "DEBRIDGE_STATE",
7
+ BRIDGE: "BRIDGE",
8
+ WRAPPER_TOKEN: "WRAPPER_TOKEN",
9
+ SEND_BRIDGE_MAP: "WRAPPER_TOKEN",
10
+ BRIDGE_MINTER: "BRIDGE_MINTER",
11
+ CHAIN_SUPPORT_INFO: "CHAIN_SUPPORT_INFO",
12
+ BRIDGE_FEE_INFO: "BRIDGE_FEE_INFO",
13
+ DISCOUNT_INFO: "DISCOUNT_INFO",
14
+ ORACLE_KEYS: "SIGNATURES",
15
+ EXTERNAL_CALL_STORAGE: "EXTERNAL_CALL_STORAGE",
16
+ EXTERNAL_CALL_META: "EXTERNAL_CALL_META",
17
+ NONCE: "NONCE",
18
+ SUBMISSION: "SUBMISSION",
19
+ SUBMISSION_AUTH: "SUBMISSION_AUTH",
20
+ NO_DISCOUNT: "NO_DISCOUNT",
21
+ CLAIM_MARKER: "CLAIM_MARKER",
22
+ },
23
+ Flags: {
24
+ UNWRAP_ETH: 1,
25
+ REVERT_IF_EXTERNAL_FAIL: 2,
26
+ PROXY_WITH_SENDER: 4,
27
+ SEND_HASHED_DATA: 8,
28
+ SEND_TO_ATA: Math.pow(2, 31),
29
+ },
30
+ SUBMISSION_PREFIX: 1,
31
+ };
32
+ export const deBridgeSettings = {
33
+ Seeds: {
34
+ TOKEN_METADATA: "TOKEN_METADATA",
35
+ WRAPPER_TOKEN: "WRAPPER_TOKEN",
36
+ STATE: "DEBRIDGE_STATE",
37
+ CONFIRMATION_STORAGE: "SIGNATURES",
38
+ BRIDGE_FEE_INFO: "BRIDGE_FEE_INFO",
39
+ CHAIN_SUPPORT_INFO: "CHAIN_SUPPORT_INFO",
40
+ DISCOUNT_INFO: "DISCOUNT_INFO",
41
+ BRIDGE: "BRIDGE",
42
+ NO_BRIDGE_FEE_INFO: "DEFAULT_BRIDGE_FEE_INFO",
43
+ NO_DISCOUNT: "NO_DISCOUNT",
44
+ SEND_BRIDGE_MAP: "WRAPPER_TOKEN",
45
+ },
46
+ };
47
+ export const pmmSrc = {
48
+ Seeds: {
49
+ STATE: "STATE",
50
+ NONCE: "NONCE",
51
+ ORDER_STATE: "GIVE_ORDER_STATE",
52
+ AUTHORIZED_NATIVE_SENDER: "AUTHORIZED_NATIVE_SENDER",
53
+ GIVE_ORDER_WALLET: "GIVE_ORDER_WALLET",
54
+ FEE_LEDGER_WALLET: "FEE_LEDGER_WALLET",
55
+ FEE_LEDGER: "FEE LEDGER",
56
+ },
57
+ };
58
+ export const pmmDst = {
59
+ Seeds: {
60
+ AUTHORIZED_SRC_CONTRACT: "AUTHORIZED_SRC_CONTRACT",
61
+ AUTHORIZED_DST_NATIVE_SENDER: "AUTHORIZED_DST_NATIVE_SENDER",
62
+ ORDER_STATE: "TAKE_ORDER_STATE",
63
+ TAKE_PATCH: "TAKE_ORDER_PATCH",
64
+ },
65
+ };
66
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +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;AAEhC,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;IACD,iBAAiB,EAAE,CAAC;CACpB,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"}
@@ -0,0 +1,99 @@
1
+ import { Buffer } from "buffer";
2
+ import { PublicKey } from "@solana/web3.js";
3
+ import { utils as etherUtils } from "ethers";
4
+ import BN from "bn.js";
5
+ import { deBridge } from "./constants";
6
+ import { hexToBuffer } from "./helpers";
7
+ import { isBuffer } from "./interfaces";
8
+ export function denormalizeAmount(amount, denominator) {
9
+ const denominatorBN = new BN(Math.pow(10, denominator));
10
+ return amount.mul(denominatorBN).toArrayLike(Buffer, "be", 32);
11
+ }
12
+ export function normalizeChainId(chainId) {
13
+ return hexToBuffer(`0x${isBuffer(chainId) ? chainId.toString("hex") : new BN(chainId).toString(16)}`, 32);
14
+ }
15
+ /**
16
+ * Hashes deploy info
17
+ * @param params {@link HashDeployInfoParams}
18
+ * @returns keccak256 of deployInfo structure
19
+ */
20
+ export function hashDeployInfo(params) {
21
+ const nameHash = etherUtils.solidityKeccak256(["string"], [params.tokenName]);
22
+ const symbolHash = etherUtils.solidityKeccak256(["string"], [params.tokenSymbol]);
23
+ const deployInfoHash = etherUtils.solidityKeccak256(["uint256", "uint256", "uint256", "uint256", "uint8"], [2, params.debridgeId, nameHash, symbolHash, params.decimals]);
24
+ return deployInfoHash;
25
+ }
26
+ /**
27
+ * Returns bridgeid hash
28
+ * @param nativeChainId chain id where token originates
29
+ * @param nativeTokenAddress address of token in native chain in format "0x<HEX STRING>"
30
+ * @returns bridge id in deBridge network
31
+ */
32
+ export function hashDebridgeId(nativeChainId, nativeTokenAddress) {
33
+ const chainIdBuffer = normalizeChainId(nativeChainId);
34
+ const bridgeId = etherUtils.solidityKeccak256(["uint256", "bytes"], [chainIdBuffer, nativeTokenAddress]);
35
+ return bridgeId;
36
+ }
37
+ export function hashExternalCallBytes(data) {
38
+ return hexToBuffer(etherUtils.solidityKeccak256(["bytes"], [data ? data : Buffer.from([])]), 32);
39
+ }
40
+ /**
41
+ * Hashes submission for provided data
42
+ * @param params data to hash
43
+ * @returns submissionId from provided params
44
+ */
45
+ export function hashSubmissionIdRaw(params) {
46
+ var _a, _b, _c, _d;
47
+ let packParams = [
48
+ "uint256",
49
+ "uint256",
50
+ "uint256",
51
+ "uint256",
52
+ "uint256",
53
+ "bytes",
54
+ "uint256", // nonce
55
+ ];
56
+ const receiver = isBuffer(params.receiver)
57
+ ? params.receiver
58
+ : typeof params.receiver === "string"
59
+ ? params.receiver.startsWith("0x")
60
+ ? hexToBuffer(params.receiver)
61
+ : new PublicKey(params.receiver)
62
+ : new PublicKey(params.receiver).toBuffer();
63
+ let packData = [
64
+ deBridge.SUBMISSION_PREFIX,
65
+ params.debridgeId,
66
+ normalizeChainId(params.sourceChainId),
67
+ normalizeChainId(params.targetChainId),
68
+ new BN(params.amount).toArray("be", 32),
69
+ receiver,
70
+ params.nonce, // nonce
71
+ ];
72
+ if (params === null || params === void 0 ? void 0 : params.autoParams) {
73
+ packParams = packParams.concat([
74
+ "uint256",
75
+ "uint256",
76
+ "uint256",
77
+ "uint256",
78
+ "uint256", // native sender hash
79
+ ]);
80
+ const shortcut = ((_a = params.autoParams) === null || _a === void 0 ? void 0 : _a.shortcut)
81
+ ? isBuffer(params.autoParams.shortcut)
82
+ ? params.autoParams.shortcut
83
+ : hexToBuffer(params.autoParams.shortcut)
84
+ : hashExternalCallBytes((_b = params === null || params === void 0 ? void 0 : params.autoParams) === null || _b === void 0 ? void 0 : _b.data);
85
+ const fallback = params.autoParams.fallbackAddress.startsWith("0x")
86
+ ? hexToBuffer(params.autoParams.fallbackAddress)
87
+ : new PublicKey(params.autoParams.fallbackAddress).toBuffer();
88
+ packData = packData.concat([
89
+ new BN(((_c = params === null || params === void 0 ? void 0 : params.autoParams) === null || _c === void 0 ? void 0 : _c.executionFee) || 0).toArray("be", 32),
90
+ new BN(((_d = params.autoParams) === null || _d === void 0 ? void 0 : _d.flags) || 0).toArray("be", 32),
91
+ hashExternalCallBytes(fallback),
92
+ shortcut,
93
+ hashExternalCallBytes(params.autoParams.nativeSender),
94
+ ]);
95
+ }
96
+ const submissionIdHash = etherUtils.solidityKeccak256(packParams, packData);
97
+ return submissionIdHash;
98
+ }
99
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,191 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Buffer } from "buffer";
3
+ import { Message, MessageV0, sendAndConfirmRawTransaction, Transaction, VersionedTransaction } from "@solana/web3.js";
4
+ export function hexToBuffer(data, align) {
5
+ if (!data.startsWith("0x"))
6
+ throw new Error("[hexToBuffer]: string must start with 0x");
7
+ data = data.slice(2); // remove 0x
8
+ if (!data)
9
+ return Buffer.from([]);
10
+ const bufferLen = data.length / 2;
11
+ data = data.length % 2 ? "0" + data : data; // append leading zero if data is not aligned, eg "fff" => "0f ff"
12
+ align = align || 0;
13
+ if (align && bufferLen < align) {
14
+ return Buffer.concat([Buffer.from(Uint8Array.from({ length: align - bufferLen }).fill(0)), Buffer.from(data, "hex")]);
15
+ }
16
+ return Buffer.from(data, "hex");
17
+ }
18
+ export function bufferToHex(data) {
19
+ return `0x${Buffer.from(data).toString("hex")}`;
20
+ }
21
+ export function sleep(milliSeconds) {
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ return new Promise((resolve, reject) => {
24
+ setTimeout(resolve, milliSeconds);
25
+ });
26
+ });
27
+ }
28
+ /**
29
+ * Serializes transaction and returns serialized size
30
+ * @param transaction tx to get length
31
+ * @param feePayer optional fee payer
32
+ * @returns transaction size
33
+ */
34
+ export function getTransactionSize(transaction, feePayer) {
35
+ const clonedTransaction = new Transaction({
36
+ lastValidBlockHeight: 1234,
37
+ feePayer: (transaction === null || transaction === void 0 ? void 0 : transaction.feePayer) || feePayer || transaction.instructions[0].programId,
38
+ blockhash: "CSymwgTNX1j3E4qhKfJAUE41nBWEwXufoYryPbkde5RR", // fake blockhash
39
+ }).add(transaction);
40
+ const serializedMessage = clonedTransaction.serializeMessage();
41
+ const uniqueSigners = new Set(clonedTransaction.instructions.flatMap((ix) => ix.keys.filter((meta) => meta.isSigner).map((meta) => meta.pubkey.toBase58())));
42
+ // message length + signatures length (1 byte) + signatures count * signature size (64)
43
+ return serializedMessage.length + uniqueSigners.size * 64 + 1;
44
+ }
45
+ function isVersionedTx(arg) {
46
+ return 'version' in arg;
47
+ }
48
+ export class Wallet {
49
+ constructor(keypair) {
50
+ this.keypair = keypair;
51
+ this.publicKey = keypair.publicKey;
52
+ }
53
+ signTransaction(tx, additionalSigners) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ tx.sign(this.keypair, ...(additionalSigners || []));
56
+ return Promise.resolve(tx);
57
+ });
58
+ }
59
+ signAllTransactions(txs, additionalSigners) {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
+ const promises = [];
62
+ for (const [id, tx] of txs.entries()) {
63
+ promises.push(this.signTransaction(tx, additionalSigners && additionalSigners.length > id ? additionalSigners[id] : []));
64
+ }
65
+ return Promise.all(promises);
66
+ });
67
+ }
68
+ signVersionedTransaction(tx, additionalSigners) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ tx.sign([this.keypair, ...(additionalSigners || [])]);
71
+ return Promise.resolve(tx);
72
+ });
73
+ }
74
+ ;
75
+ signAllVersionedTransactions(txs, additionalSigners) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const promises = [];
78
+ for (const [id, tx] of txs.entries()) {
79
+ promises.push(this.signVersionedTransaction(tx, additionalSigners && additionalSigners.length > id ? additionalSigners[id] : []));
80
+ }
81
+ return Promise.all(promises);
82
+ });
83
+ }
84
+ }
85
+ function sendWithRetries(connection, serialized, lastValidBlockHeight) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ const txId = yield connection.sendRawTransaction(serialized, {
88
+ skipPreflight: true,
89
+ });
90
+ let blockheight = yield connection.getBlockHeight();
91
+ const timesToSend = 5;
92
+ let sent = 0;
93
+ while (blockheight < lastValidBlockHeight && sent < timesToSend) {
94
+ yield connection.sendRawTransaction(serialized, {
95
+ skipPreflight: true,
96
+ });
97
+ yield sleep(300);
98
+ blockheight = yield connection.getBlockHeight();
99
+ sent += 1;
100
+ }
101
+ return txId;
102
+ });
103
+ }
104
+ export function sendAll(connection, wallet, transactions, signers, waitBetweenSend, skipPreflight = false, debug = false) {
105
+ return __awaiter(this, void 0, void 0, function* () {
106
+ let txIds = [];
107
+ const signAllTransactions = (txs, additionalSigners) => {
108
+ const result = [];
109
+ const txTypes = txs.map(isVersionedTx);
110
+ if (txTypes.every((isVersioned) => isVersioned === true)) {
111
+ // all txs are Versioned
112
+ if (wallet.signAllVersionedTransactions === undefined)
113
+ throw new Error("Trying to sign versioned transactions without implementation for sigining such transactions (signAllVersionedTransactions)");
114
+ return wallet.signAllVersionedTransactions(txs, additionalSigners);
115
+ }
116
+ else if (txTypes.every((isVersioned) => isVersioned === false)) {
117
+ // all txs are Legacy
118
+ return wallet.signAllTransactions(txs, additionalSigners);
119
+ }
120
+ // transactions are mixed
121
+ if (wallet.signVersionedTransaction === undefined)
122
+ throw new Error("Trying to sign versioned transaction without implementation for sigining such transaction (signVersionedTransaction)");
123
+ for (const [i, tx] of txs.entries()) {
124
+ const signers = additionalSigners && additionalSigners.length > i ? additionalSigners[i] : undefined;
125
+ if (isVersionedTx(tx)) {
126
+ result.push(wallet.signVersionedTransaction(tx, signers));
127
+ }
128
+ else {
129
+ result.push(wallet.signTransaction(tx, signers));
130
+ }
131
+ }
132
+ return Promise.all(result);
133
+ };
134
+ if (waitBetweenSend === undefined || waitBetweenSend === 0) {
135
+ const { blockhash, lastValidBlockHeight } = yield connection.getLatestBlockhash({ commitment: "confirmed" });
136
+ yield Promise.all(transactions.map((tx) => __awaiter(this, void 0, void 0, function* () {
137
+ var _a;
138
+ let txV0;
139
+ if (isVersionedTx(tx)) {
140
+ tx.message.recentBlockhash = blockhash;
141
+ txV0 = tx;
142
+ }
143
+ else {
144
+ tx.recentBlockhash = blockhash;
145
+ tx.feePayer = wallet.publicKey;
146
+ const message = Message.from(tx.serializeMessage());
147
+ txV0 = new VersionedTransaction(new MessageV0({ addressTableLookups: [], compiledInstructions: [], header: message.header, recentBlockhash: blockhash, staticAccountKeys: message.accountKeys }));
148
+ }
149
+ if (!skipPreflight) {
150
+ const simulationResult = yield connection.simulateTransaction(txV0, { sigVerify: false, replaceRecentBlockhash: true, commitment: "confirmed" });
151
+ if (simulationResult.value.err !== null) {
152
+ throw new Error(`Tx simulation Error! Transaction message dump: ${Buffer.from(tx.serialize()).toString("base64")}\n Error: ${JSON.stringify(simulationResult.value.err)}, logs:\n ${(_a = simulationResult.value.logs) === null || _a === void 0 ? void 0 : _a.join("\n")}`);
153
+ }
154
+ }
155
+ })));
156
+ // sign after setting correct blockhashes
157
+ const signed = yield signAllTransactions(transactions, signers);
158
+ txIds = yield Promise.all(signed.map((signedTx) => {
159
+ const serialized = Buffer.from(signedTx.serialize());
160
+ if (debug)
161
+ console.debug(serialized.toString("base64"));
162
+ return sendWithRetries(connection, serialized, lastValidBlockHeight);
163
+ }));
164
+ }
165
+ else {
166
+ for (let i = 0; i < transactions.length; i++) {
167
+ const tx = transactions[i];
168
+ const { blockhash } = yield connection.getLatestBlockhash();
169
+ let signed;
170
+ if (isVersionedTx(tx)) {
171
+ tx.message.recentBlockhash = blockhash;
172
+ if (wallet.signVersionedTransaction === undefined)
173
+ throw new Error("Trying to sign versioned transaction without implementation for sigining such transaction (signVersionedTransaction)");
174
+ signed = yield wallet.signVersionedTransaction(tx, signers && signers.length > i ? signers[i] : undefined);
175
+ }
176
+ else {
177
+ tx.recentBlockhash = blockhash;
178
+ tx.feePayer = wallet.publicKey;
179
+ signed = yield wallet.signTransaction(tx, signers && signers.length > i ? signers[i] : undefined);
180
+ }
181
+ const serialized = Buffer.from(signed.serialize());
182
+ if (debug)
183
+ console.debug(serialized.toString("base64"));
184
+ txIds.push(yield sendAndConfirmRawTransaction(connection, serialized, { maxRetries: 20, commitment: "confirmed", skipPreflight }));
185
+ yield sleep(waitBetweenSend);
186
+ }
187
+ }
188
+ return txIds;
189
+ });
190
+ }
191
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export * as crypto from "./crypto";
2
+ export * as constants from "./constants";
3
+ export * as interfaces from "./interfaces";
4
+ export * from "./accounts";
5
+ export * as helpers from "./helpers";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,cAAc,YAAY,CAAC;AAC3B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Buffer } from "buffer";
2
+ export function isBuffer(arg) {
3
+ return Buffer.isBuffer(arg); //(arg as Record<string, never>).constructor === Buffer;
4
+ }
5
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAahC,MAAM,UAAU,QAAQ,CAAC,GAAY;IACpC,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,wDAAwD;AACtF,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { Buffer } from "buffer";
2
+ import { PublicKey } from "@solana/web3.js";
3
+ import { BNable, SolanaPubkey } from "./interfaces";
4
+ export declare const TOKEN_METADATA_PROGRAM_ID: PublicKey;
5
+ export declare const TOKEN_PROGRAM_ID: PublicKey;
6
+ export declare const ASSOCIATED_TOKEN_PROGRAM_ID: PublicKey;
7
+ export declare const WRAPPED_SOL_MINT: PublicKey;
8
+ export declare function findAssociatedTokenAddress(wallet: PublicKey, tokenMint: PublicKey, tokenProgramId?: PublicKey, associatedTokenProramId?: PublicKey): Promise<[PublicKey, number]>;
9
+ export declare function findAssociatedTokenAddressSync(wallet: PublicKey, tokenMint: PublicKey, tokenProgramId?: PublicKey, associatedTokenProramId?: PublicKey): [PublicKey, number];
10
+ export declare function getTokenMetadataAddress(tokenMint: PublicKey, tokenMetedataProgramId: PublicKey): Promise<[PublicKey, number]>;
11
+ declare type Head<T extends unknown[]> = T extends [...infer Head, unknown] ? Head : unknown[];
12
+ declare type EmptyTuple = [];
13
+ declare type OmitLastParam<F> = F extends (...args: infer P) => infer Ret ? Head<P> extends EmptyTuple ? () => Ret : (...args: Head<P>) => Ret : never;
14
+ declare type FnContainer = {
15
+ [K: string]: AnyFn;
16
+ };
17
+ declare type AnyFn = (...args: any[]) => any;
18
+ declare type AccountResolver<T> = {
19
+ readonly methods: {
20
+ [K in keyof T]: OmitLastParam<T[K]>;
21
+ };
22
+ };
23
+ declare class Resolver<T extends FnContainer> implements AccountResolver<T> {
24
+ readonly methods: AccountResolver<T>["methods"];
25
+ readonly programId: PublicKey;
26
+ constructor(programId: SolanaPubkey, obj: T);
27
+ }
28
+ declare class ResolverContainer2<R1 extends Resolver<FnContainer>, R2 extends Resolver<FnContainer>> {
29
+ readonly methods: R1["methods"] & R2["methods"];
30
+ constructor(resolver1: R1, resolver2: R2);
31
+ }
32
+ export declare const DeBridgeResolver: (programId: SolanaPubkey, settingsProgramId: SolanaPubkey) => ResolverContainer2<Resolver<{
33
+ getClaimMarkerAddress: (DEBRIDGE_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
34
+ getExternalCallStorageAddress: (submissionId: Buffer, executorPubkey: SolanaPubkey, sourceChainId: BNable, DEBRIDGE_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
35
+ getExternalCallMetaAddress: (externalCallStorage: SolanaPubkey, DEBRIDGE_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
36
+ getNonceAddress: (DEBRIDGE_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
37
+ getSubmissionAddress: (submissionId: Buffer, DEBRIDGE_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
38
+ getSubmissionAuthAddress: (submissionAddress: SolanaPubkey, DEBRIDGE_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
39
+ getMintAuthorityAddress: (bridge: SolanaPubkey, DEBRIDGE_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
40
+ }>, Resolver<{
41
+ getTokenMetadataMasterAddress: (SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
42
+ getTokenMintAddress: (debridgeId: Buffer, SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
43
+ getStateAddress: (SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
44
+ getConfirmationsStorageAddress: (message: Buffer, SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
45
+ getBridgeFeeAddress: (bridge: PublicKey, chainId: BNable, SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
46
+ getChainSupportInfoAddress: (chainId: BNable, SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
47
+ getDiscountInfoAddress: (user: PublicKey, SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
48
+ getBridgeAddress: (tokenMint: PublicKey, SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
49
+ getBridgeMapAddress: (bridgeId: Buffer, SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
50
+ getNoDiscountAddress: (SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
51
+ getNoBridgeFeeAddress: (SETTINGS_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
52
+ }>>;
53
+ export declare const PmmSrcResolver: (programId: SolanaPubkey) => Resolver<{
54
+ getStateAccount: (PMM_SRC_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
55
+ getNonceAccount: (maker: PublicKey | Buffer, PMM_SRC_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
56
+ getGiveOrderStateAccount: (orderId: Buffer, PMM_SRC_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
57
+ getAuthorizedNativeSenderAddress: (chainId: Buffer, PMM_SRC_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
58
+ getGiveOrderWalletAddress: (orderId: Buffer, PMM_SRC_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
59
+ getFeeLedgerWalletAddress: (tokenMint: PublicKey, PMM_SRC_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
60
+ getFeeLedgerAddress: (PMM_SRC_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
61
+ }>;
62
+ export declare const PmmDstResolver: (programId: SolanaPubkey) => Resolver<{
63
+ getAuthorizedSrcContractAddress: (chainId: Buffer, PMM_DST_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
64
+ getAuthorizedDstNativeSenderAddress: (PMM_DST_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
65
+ getTakeOrderStateAddress: (orderId: Buffer, PMM_DST_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
66
+ getTakePatchAddress: (orderId: Buffer, PMM_DST_PROGRAM_ID: PublicKey) => Promise<[PublicKey, number]>;
67
+ }>;
68
+ export {};
69
+ //# sourceMappingURL=accounts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ export declare const BPS_DENOMINATOR = 10000;
2
+ export declare const SOLANA_CHAIN_ID = 7565164;
3
+ export declare const MAX_TX_SIZE = 1232;
4
+ export declare const deBridge: {
5
+ Seeds: {
6
+ STATE: string;
7
+ BRIDGE: string;
8
+ WRAPPER_TOKEN: string;
9
+ SEND_BRIDGE_MAP: string;
10
+ BRIDGE_MINTER: string;
11
+ CHAIN_SUPPORT_INFO: string;
12
+ BRIDGE_FEE_INFO: string;
13
+ DISCOUNT_INFO: string;
14
+ ORACLE_KEYS: string;
15
+ EXTERNAL_CALL_STORAGE: string;
16
+ EXTERNAL_CALL_META: string;
17
+ NONCE: string;
18
+ SUBMISSION: string;
19
+ SUBMISSION_AUTH: string;
20
+ NO_DISCOUNT: string;
21
+ CLAIM_MARKER: string;
22
+ };
23
+ Flags: {
24
+ UNWRAP_ETH: number;
25
+ REVERT_IF_EXTERNAL_FAIL: number;
26
+ PROXY_WITH_SENDER: number;
27
+ SEND_HASHED_DATA: number;
28
+ SEND_TO_ATA: number;
29
+ };
30
+ SUBMISSION_PREFIX: number;
31
+ };
32
+ export declare const deBridgeSettings: {
33
+ Seeds: {
34
+ TOKEN_METADATA: string;
35
+ WRAPPER_TOKEN: string;
36
+ STATE: string;
37
+ CONFIRMATION_STORAGE: string;
38
+ BRIDGE_FEE_INFO: string;
39
+ CHAIN_SUPPORT_INFO: string;
40
+ DISCOUNT_INFO: string;
41
+ BRIDGE: string;
42
+ NO_BRIDGE_FEE_INFO: string;
43
+ NO_DISCOUNT: string;
44
+ SEND_BRIDGE_MAP: string;
45
+ };
46
+ };
47
+ export declare const pmmSrc: {
48
+ Seeds: {
49
+ STATE: string;
50
+ NONCE: string;
51
+ ORDER_STATE: string;
52
+ AUTHORIZED_NATIVE_SENDER: string;
53
+ GIVE_ORDER_WALLET: string;
54
+ FEE_LEDGER_WALLET: string;
55
+ FEE_LEDGER: string;
56
+ };
57
+ };
58
+ export declare const pmmDst: {
59
+ Seeds: {
60
+ AUTHORIZED_SRC_CONTRACT: string;
61
+ AUTHORIZED_DST_NATIVE_SENDER: string;
62
+ ORDER_STATE: string;
63
+ TAKE_PATCH: string;
64
+ };
65
+ };
66
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +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;AAEhC,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BpB,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;CAc5B,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;CAUlB,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;CAOlB,CAAC"}
@@ -0,0 +1,35 @@
1
+ /// <reference types="node" />
2
+ import { Buffer } from "buffer";
3
+ import BN from "bn.js";
4
+ import { AutoParamsType, BNable, HashDeployInfoParams, HexString, SolanaPubkey } from "./interfaces";
5
+ export declare function denormalizeAmount(amount: BN, denominator: number): Buffer;
6
+ export declare function normalizeChainId(chainId: BNable): Buffer;
7
+ /**
8
+ * Hashes deploy info
9
+ * @param params {@link HashDeployInfoParams}
10
+ * @returns keccak256 of deployInfo structure
11
+ */
12
+ export declare function hashDeployInfo(params: HashDeployInfoParams): HexString;
13
+ /**
14
+ * Returns bridgeid hash
15
+ * @param nativeChainId chain id where token originates
16
+ * @param nativeTokenAddress address of token in native chain in format "0x<HEX STRING>"
17
+ * @returns bridge id in deBridge network
18
+ */
19
+ export declare function hashDebridgeId(nativeChainId: BNable, nativeTokenAddress: HexString | Buffer): HexString;
20
+ export declare function hashExternalCallBytes(data?: Buffer | string): Buffer;
21
+ /**
22
+ * Hashes submission for provided data
23
+ * @param params data to hash
24
+ * @returns submissionId from provided params
25
+ */
26
+ export declare function hashSubmissionIdRaw(params: {
27
+ receiver: SolanaPubkey | Buffer;
28
+ debridgeId: HexString | Buffer;
29
+ sourceChainId: BNable;
30
+ targetChainId: BNable;
31
+ amount: BNable;
32
+ nonce: number;
33
+ autoParams?: AutoParamsType;
34
+ }): string;
35
+ //# sourceMappingURL=crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,MAAM,OAAO,CAAC;AAIvB,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,oBAAoB,EAAE,SAAS,EAAE,YAAY,EAAY,MAAM,cAAc,CAAC;AAE/G,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAIzE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,CAStE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAKvG;AAED,wBAAgB,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,UAE3D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC3C,QAAQ,EAAE,YAAY,GAAG,MAAM,CAAC;IAChC,UAAU,EAAE,SAAS,GAAG,MAAM,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,cAAc,CAAC;CAC5B,UA0DA"}