@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.
@@ -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;AAEnB,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;IACD,iBAAiB,EAAE,CAAC;CACpB,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"}
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"}
@@ -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 constants_1 = require("./constants");
8
+ const js_sha3_1 = require("js-sha3");
10
9
  const helpers_1 = require("./helpers");
11
10
  const interfaces_1 = require("./interfaces");
11
+ const _1 = require(".");
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 = ethers_1.utils.solidityKeccak256(["string"], [params.tokenName]);
28
- const symbolHash = ethers_1.utils.solidityKeccak256(["string"], [params.tokenSymbol]);
29
- const deployInfoHash = ethers_1.utils.solidityKeccak256(["uint256", "uint256", "uint256", "uint256", "uint8"], [2, params.debridgeId, nameHash, symbolHash, params.decimals]);
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"], [_1.constants.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 = ethers_1.utils.solidityKeccak256(["uint256", "bytes"], [chainIdBuffer, nativeTokenAddress]);
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)(ethers_1.utils.solidityKeccak256(["bytes"], [data ? data : buffer_1.Buffer.from([])]), 32);
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.deBridge.SUBMISSION_PREFIX,
80
+ _1.constants.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 = ethers_1.utils.solidityKeccak256(packParams, packData);
112
+ const submissionIdHash = (0, exports.solidityKeccak256)(packParams, packData);
105
113
  return submissionIdHash;
106
114
  }
107
115
  exports.hashSubmissionIdRaw = hashSubmissionIdRaw;
@@ -1 +1 @@
1
- {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../src/crypto.ts"],"names":[],"mappings":"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"}
@@ -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 && info.rentEpoch === 0)
11
+ if (info.lamports === 0)
11
12
  return null;
12
13
  return info;
13
14
  }
@@ -85,17 +86,17 @@ class Wallet {
85
86
  }
86
87
  }
87
88
  exports.Wallet = Wallet;
88
- async function sendWithRetries(connection, serialized, lastValidBlockHeight, timesToSend = 5) {
89
+ async function sendWithRetries(connection, serialized, lastValidBlockHeight, timesToSend = 5, blockhashCommitment = "finalized") {
89
90
  const txId = await connection.sendRawTransaction(serialized, {
90
- skipPreflight: true,
91
- maxRetries: 1000,
91
+ skipPreflight: false, // never skip preflight
92
92
  });
93
93
  let blockheight = await connection.getBlockHeight();
94
- let sent = 0;
94
+ let sent = 1;
95
95
  while (blockheight < lastValidBlockHeight && sent < timesToSend) {
96
96
  await connection.sendRawTransaction(serialized, {
97
97
  skipPreflight: true,
98
- maxRetries: 1000,
98
+ preflightCommitment: blockhashCommitment,
99
+ maxRetries: 100,
99
100
  });
100
101
  await sleep(300);
101
102
  blockheight = await connection.getBlockHeight();
@@ -116,27 +117,48 @@ function txToV0(transaction, payer, blockhash) {
116
117
  return new web3_js_1.VersionedTransaction(v0Message);
117
118
  }
118
119
  }
119
- async function sendAll(connection, wallet, transactions, signers, waitBetweenSend, skipPreflight = false, debug = false, convertIntoTxV0 = true, rpcCalls = 5) {
120
+ function setBlockhash(transaction, blockhash) {
121
+ if (isVersionedTx(transaction)) {
122
+ transaction.message.recentBlockhash = blockhash;
123
+ }
124
+ else {
125
+ transaction.recentBlockhash = blockhash;
126
+ }
127
+ }
128
+ /**
129
+ *
130
+ * @param connection rpc connection
131
+ * @param wallet wallet interface to sign transaction
132
+ * @param transactions transaction(s) to send
133
+ * @param options additional {@link SendAllOptions|options}
134
+ * @returns
135
+ */
136
+ async function sendAll(connection, wallet, transactions, options) {
137
+ const blockhashCommitment = options?.blockhashCommitment === undefined ? "finalized" : options.blockhashCommitment;
138
+ const convertIntoTxV0 = options?.convertIntoTxV0 === undefined ? true : options.convertIntoTxV0;
139
+ const debug = options?.debug === undefined ? false : options.debug;
140
+ const skipPreflight = options?.skipPreflight === undefined ? false : options.skipPreflight;
141
+ const rpcCalls = options?.rpcCalls === undefined ? 3 : options.rpcCalls;
142
+ if (!Array.isArray(transactions))
143
+ transactions = [transactions];
120
144
  if (convertIntoTxV0) {
121
- const fakeBlockHash = "1".repeat(32);
122
- transactions = transactions.map((tx) => txToV0(tx, wallet.publicKey, fakeBlockHash));
145
+ transactions = transactions.map((tx) => txToV0(tx, wallet.publicKey, constants_1.FAKE_BLOCKHASH));
123
146
  }
124
147
  let txIds = [];
125
- if (waitBetweenSend === undefined || waitBetweenSend === 0) {
126
- const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash({ commitment: "confirmed" });
148
+ if (options?.waitBetweenSend === undefined || options.waitBetweenSend === 0) {
127
149
  await Promise.all(transactions.map(async (tx) => {
128
150
  let txV0;
129
151
  if (isVersionedTx(tx)) {
130
- tx.message.recentBlockhash = blockhash;
152
+ tx.message.recentBlockhash = constants_1.FAKE_BLOCKHASH;
131
153
  txV0 = tx;
132
154
  }
133
155
  else {
134
- tx.recentBlockhash = blockhash;
156
+ tx.recentBlockhash = constants_1.FAKE_BLOCKHASH;
135
157
  tx.feePayer = wallet.publicKey;
136
158
  txV0 = new web3_js_1.VersionedTransaction(web3_js_1.MessageV0.compile({
137
159
  addressLookupTableAccounts: [],
138
160
  instructions: tx.instructions,
139
- recentBlockhash: blockhash,
161
+ recentBlockhash: constants_1.FAKE_BLOCKHASH,
140
162
  payerKey: tx.feePayer,
141
163
  }));
142
164
  }
@@ -151,19 +173,22 @@ async function sendAll(connection, wallet, transactions, signers, waitBetweenSen
151
173
  }
152
174
  }
153
175
  }));
176
+ const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash({ commitment: blockhashCommitment });
177
+ // set real blockhash
178
+ transactions.map((tx) => setBlockhash(tx, blockhash));
154
179
  // sign after setting correct blockhashes
155
- const signed = await wallet.signAllTransactions(transactions, signers);
180
+ const signed = await wallet.signAllTransactions(transactions, options?.signers);
156
181
  txIds = await Promise.all(signed.map((signedTx) => {
157
182
  const serialized = buffer_1.Buffer.from(signedTx.serialize());
158
183
  if (debug)
159
184
  console.debug(serialized.toString("base64"));
160
- return sendWithRetries(connection, serialized, lastValidBlockHeight, rpcCalls);
185
+ return sendWithRetries(connection, serialized, lastValidBlockHeight, rpcCalls, blockhashCommitment);
161
186
  }));
162
187
  }
163
188
  else {
164
189
  for (let i = 0; i < transactions.length; i++) {
165
190
  const tx = transactions[i];
166
- const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash();
191
+ const { blockhash, lastValidBlockHeight } = await connection.getLatestBlockhash({ commitment: blockhashCommitment });
167
192
  let txV0;
168
193
  if (isVersionedTx(tx)) {
169
194
  tx.message.recentBlockhash = blockhash;
@@ -179,7 +204,7 @@ async function sendAll(connection, wallet, transactions, signers, waitBetweenSen
179
204
  payerKey: tx.feePayer,
180
205
  }));
181
206
  }
182
- const signed = await wallet.signTransaction(tx, signers && signers.length > i ? signers[i] : undefined);
207
+ const signed = await wallet.signTransaction(tx, options?.signers && options?.signers.length > i ? options.signers[i] : undefined);
183
208
  if (!skipPreflight) {
184
209
  const simulationResult = await connection.simulateTransaction(txV0, {
185
210
  sigVerify: false,
@@ -193,8 +218,8 @@ async function sendAll(connection, wallet, transactions, signers, waitBetweenSen
193
218
  const serialized = buffer_1.Buffer.from(signed.serialize());
194
219
  if (debug)
195
220
  console.debug(serialized.toString("base64"));
196
- txIds.push(await sendWithRetries(connection, serialized, lastValidBlockHeight, rpcCalls));
197
- await sleep(waitBetweenSend);
221
+ txIds.push(await sendWithRetries(connection, serialized, lastValidBlockHeight, rpcCalls, blockhashCommitment));
222
+ await sleep(options.waitBetweenSend);
198
223
  }
199
224
  }
200
225
  return txIds;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAChC,6CAAmI;AAEnI,2CAA6C;AAEtC,KAAK,UAAU,cAAc,CAAC,UAAsB,EAAE,OAAkB,EAAE,aAAyB,WAAW;IACpH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClE,IAAI,IAAI,EAAE;QACT,kBAAkB;QAClB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAErC,OAAO,IAAI,CAAC;KACZ;SAAM;QACN,OAAO,IAAI,CAAC;KACZ;AACF,CAAC;AAVD,wCAUC;AAED,SAAgB,WAAW,CAAC,IAAY,EAAE,KAAc;IACvD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IACxF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY;IAClC,IAAI,CAAC,IAAI;QAAE,OAAO,eAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAElC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,kEAAkE;IAC9G,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC;IACnB,IAAI,KAAK,IAAI,SAAS,GAAG,KAAK,EAAE;QAC/B,OAAO,eAAM,CAAC,MAAM,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,GAAG,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,eAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;KACtH;IAED,OAAO,eAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;AAbD,kCAaC;AAED,SAAgB,WAAW,CAAC,IAAoC;IAC/D,OAAO,KAAK,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;AACjD,CAAC;AAFD,kCAEC;AAEM,KAAK,UAAU,KAAK,CAAC,YAAoB;IAC/C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC5C,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACJ,CAAC;AAJD,sBAIC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAAC,WAAwB,EAAE,QAAoB;IAChF,MAAM,iBAAiB,GAAG,IAAI,qBAAW,CAAC;QACzC,oBAAoB,EAAE,IAAI;QAC1B,QAAQ,EAAE,WAAW,EAAE,QAAQ,IAAI,QAAQ,IAAI,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QACpF,SAAS,EAAE,8CAA8C,EAAE,iBAAiB;KAC5E,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACpB,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;IAC/D,MAAM,aAAa,GAAG,IAAI,GAAG,CAC5B,iBAAiB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAC7H,CAAC;IAEF,uFAAuF;IACvF,OAAO,iBAAiB,CAAC,MAAM,GAAG,aAAa,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,CAAC;AAC/D,CAAC;AAbD,gDAaC;AAED,SAAS,aAAa,CAAC,GAAQ;IAC9B,OAAO,SAAS,IAAI,GAAG,CAAC;AACzB,CAAC;AAID,MAAa,MAAM;IAGlB,YAAoB,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;QACnC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,eAAe,CAA+C,EAAK,EAAE,iBAA4B;QACtG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE;YACvB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC;SACpD;aAAM;YACN,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;SACtD;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,mBAAmB,CAA+C,GAAQ,EAAE,iBAA4C;QAC7H,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE;YACrC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACzH;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;CACD;AAzBD,wBAyBC;AAED,KAAK,UAAU,eAAe,CAAC,UAAsB,EAAE,UAAkB,EAAE,oBAA4B,EAAE,cAAsB,CAAC,EAAE,sBAAkC,WAAW;IAC9K,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,UAAU,EAAE;QAC5D,aAAa,EAAE,KAAK,EAAE,uBAAuB;KAC7C,CAAC,CAAC;IACH,IAAI,WAAW,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC;IACpD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,OAAO,WAAW,GAAG,oBAAoB,IAAI,IAAI,GAAG,WAAW,EAAE;QAChE,MAAM,UAAU,CAAC,kBAAkB,CAAC,UAAU,EAAE;YAC/C,aAAa,EAAE,IAAI;YACnB,mBAAmB,EAAE,mBAAmB;YACxC,UAAU,EAAE,GAAG;SACf,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACjB,WAAW,GAAG,MAAM,UAAU,CAAC,cAAc,EAAE,CAAC;QAChD,IAAI,IAAI,CAAC,CAAC;KACV;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,MAAM,CAAC,WAA2B,EAAE,KAAgB,EAAE,SAAiB;IAC/E,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE;QAC/B,OAAO,WAAW,CAAC;KACnB;SAAM;QACN,MAAM,SAAS,GAAG,mBAAS,CAAC,OAAO,CAAC;YACnC,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,QAAQ,EAAE,WAAW,CAAC,QAAQ,IAAI,KAAK;YACvC,eAAe,EAAE,WAAW,CAAC,eAAe,IAAI,SAAS;SACzD,CAAC,CAAC;QACH,OAAO,IAAI,8BAAoB,CAAC,SAAS,CAAC,CAAC;KAC3C;AACF,CAAC;AAED,SAAS,YAAY,CAAC,WAA2B,EAAE,SAAiB;IACnE,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE;QAC/B,WAAW,CAAC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAA;KAC/C;SAAM;QACN,WAAW,CAAC,eAAe,GAAG,SAAS,CAAC;KACxC;AACF,CAAC;AAgCD;;;;;;;GAOG;AACI,KAAK,UAAU,OAAO,CAC5B,UAAsB,EACtB,MAA0B,EAC1B,YAA+C,EAC/C,OAAwB;IAExB,MAAM,mBAAmB,GAAe,OAAO,EAAE,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAC/H,MAAM,eAAe,GAAG,OAAO,EAAE,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAChG,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACnE,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC3F,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAExE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;QAAE,YAAY,GAAG,CAAC,YAAY,CAAC,CAAC;IAEhE,IAAI,eAAe,EAAE;QACpB,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,0BAAc,CAAC,CAAC,CAAC;KACtF;IACD,IAAI,KAAK,GAAa,EAAE,CAAC;IACzB,IAAI,OAAO,EAAE,eAAe,KAAK,SAAS,IAAI,OAAO,CAAC,eAAe,KAAK,CAAC,EAAE;QAC5E,MAAM,OAAO,CAAC,GAAG,CAChB,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAC7B,IAAI,IAA0B,CAAC;YAC/B,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE;gBACtB,EAAE,CAAC,OAAO,CAAC,eAAe,GAAG,0BAAc,CAAC;gBAC5C,IAAI,GAAG,EAAE,CAAC;aACV;iBAAM;gBACN,EAAE,CAAC,eAAe,GAAG,0BAAc,CAAC;gBACpC,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC/B,IAAI,GAAG,IAAI,8BAAoB,CAC9B,mBAAS,CAAC,OAAO,CAAC;oBACjB,0BAA0B,EAAE,EAAE;oBAC9B,YAAY,EAAE,EAAE,CAAC,YAAY;oBAC7B,eAAe,EAAE,0BAAc;oBAC/B,QAAQ,EAAE,EAAE,CAAC,QAAQ;iBACrB,CAAC,CACF,CAAC;aACF;YAED,IAAI,CAAC,aAAa,EAAE;gBACnB,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,IAAI,EAAE;oBACnE,SAAS,EAAE,KAAK;oBAChB,sBAAsB,EAAE,IAAI;oBAC5B,UAAU,EAAE,WAAW;iBACvB,CAAC,CAAC;gBACH,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE;oBACxC,MAAM,IAAI,KAAK,CACd,kDAAkD,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CACvF,QAAQ,CACR,aAAa,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9G,CAAC;iBACF;aACD;QACF,CAAC,CAAC,CACF,CAAC;QAEF,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC,CAAC;QACrH,qBAAqB;QACrB,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;QACtD,yCAAyC;QACzC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAChF,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CACxB,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YACvB,MAAM,UAAU,GAAG,eAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;YACrD,IAAI,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,OAAO,eAAe,CAAC,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QACrG,CAAC,CAAC,CACF,CAAC;KACF;SAAM;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,GAAG,MAAM,UAAU,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACrH,IAAI,IAA0B,CAAC;YAC/B,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE;gBACtB,EAAE,CAAC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;gBACvC,IAAI,GAAG,EAAE,CAAC;aACV;iBAAM;gBACN,EAAE,CAAC,eAAe,GAAG,SAAS,CAAC;gBAC/B,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC;gBAC/B,IAAI,GAAG,IAAI,8BAAoB,CAC9B,mBAAS,CAAC,OAAO,CAAC;oBACjB,0BAA0B,EAAE,EAAE;oBAC9B,YAAY,EAAE,EAAE,CAAC,YAAY;oBAC7B,eAAe,EAAE,SAAS;oBAC1B,QAAQ,EAAE,EAAE,CAAC,QAAQ;iBACrB,CAAC,CACF,CAAC;aACF;YACD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAClI,IAAI,CAAC,aAAa,EAAE;gBACnB,MAAM,gBAAgB,GAAG,MAAM,UAAU,CAAC,mBAAmB,CAAC,IAAI,EAAE;oBACnE,SAAS,EAAE,KAAK;oBAChB,sBAAsB,EAAE,IAAI;oBAC5B,UAAU,EAAE,WAAW;iBACvB,CAAC,CAAC;gBACH,IAAI,gBAAgB,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,EAAE;oBACxC,MAAM,IAAI,KAAK,CACd,kDAAkD,eAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,CACvF,QAAQ,CACR,aAAa,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9G,CAAC;iBACF;aACD;YACD,MAAM,UAAU,GAAG,eAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YACnD,IAAI,KAAK;gBAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,MAAM,eAAe,CAAC,UAAU,EAAE,UAAU,EAAE,oBAAoB,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC,CAAC;YAC/G,MAAM,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;SACrC;KACD;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AA9GD,0BA8GC"}
@@ -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 _1 = require(".");
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 _1.helpers.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
@@ -2,12 +2,32 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkIfAssociatedWalletExists = exports.updateWsolBalance = exports.buildReplenishWsolBalanceTransaction = exports.getTokenAccountsWithBalance = exports.getAllTokenAccountsWithBalances = exports.getSPLWalletBalance = exports.getAssocSPLWalletBalance = exports.getNativeWalletBalance = exports.getAccountWithType = exports.isWalletCorrectATA = exports.parseSplAccount = exports.createAssociatedWalletInstruction = exports.AccountType = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const spl_token_1 = require("@coral-xyz/spl-token");
6
5
  const web3_js_1 = require("@solana/web3.js");
6
+ const bl = tslib_1.__importStar(require("@solana/buffer-layout"));
7
+ const blu = tslib_1.__importStar(require("@solana/buffer-layout-utils"));
7
8
  const bn_js_1 = tslib_1.__importDefault(require("bn.js"));
8
9
  const buffer_1 = require("buffer");
9
10
  const accounts_1 = require("./accounts");
10
11
  const helpers_1 = require("./helpers");
12
+ var AccountState;
13
+ (function (AccountState) {
14
+ AccountState[AccountState["Uninitialized"] = 0] = "Uninitialized";
15
+ AccountState[AccountState["Initialized"] = 1] = "Initialized";
16
+ AccountState[AccountState["Frozen"] = 2] = "Frozen";
17
+ })(AccountState || (AccountState = {}));
18
+ const AccountLayout = bl.struct([
19
+ blu.publicKey('mint'),
20
+ blu.publicKey('owner'),
21
+ blu.u64('amount'),
22
+ bl.u32('delegateOption'),
23
+ blu.publicKey('delegate'),
24
+ bl.u8('state'),
25
+ bl.u32('isNativeOption'),
26
+ blu.u64('isNative'),
27
+ blu.u64('delegatedAmount'),
28
+ bl.u32('closeAuthorityOption'),
29
+ blu.publicKey('closeAuthority'),
30
+ ]);
11
31
  var AccountType;
12
32
  (function (AccountType) {
13
33
  AccountType[AccountType["System"] = 0] = "System";
@@ -66,10 +86,8 @@ function createAssociatedWalletInstruction(tokenMint, associatedAccount, owner,
66
86
  }
67
87
  exports.createAssociatedWalletInstruction = createAssociatedWalletInstruction;
68
88
  function parseSplAccount(data) {
69
- const tokenProgram = (0, spl_token_1.splTokenProgram)({ provider: {} });
70
89
  try {
71
- const decoded = tokenProgram.coder.accounts.decode("account", data);
72
- return decoded;
90
+ return AccountLayout.decode(data);
73
91
  }
74
92
  catch (e) {
75
93
  console.error(e);
@@ -212,26 +230,20 @@ exports.buildReplenishWsolBalanceTransaction = buildReplenishWsolBalanceTransact
212
230
  async function updateWsolBalance(connection, amount, owner) {
213
231
  owner = new web3_js_1.PublicKey(owner);
214
232
  const tx = new web3_js_1.Transaction();
215
- const accountSize = 165;
216
233
  const [wSolATA] = (0, accounts_1.findAssociatedTokenAddress)(owner, accounts_1.WRAPPED_SOL_MINT);
217
234
  const existingATA = await (0, helpers_1.getAccountInfo)(connection, wSolATA);
218
235
  let amountToWrap = new bn_js_1.default(amount);
219
236
  if (existingATA === null) {
220
- tx.add(web3_js_1.SystemProgram.createAccount({
221
- fromPubkey: owner,
222
- space: accountSize,
223
- programId: accounts_1.TOKEN_PROGRAM_ID,
224
- newAccountPubkey: wSolATA,
225
- lamports: await connection.getMinimumBalanceForRentExemption(accountSize),
226
- }));
237
+ tx.add(createAssociatedWalletInstruction(accounts_1.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
- if (amountToWrap.lte(parsed.amount))
243
+ const parsedAmount = new bn_js_1.default(parsed.amount.toString());
244
+ if (amountToWrap.lte(parsedAmount))
233
245
  return null; // don't need to wrap
234
- amountToWrap = parsed.amount.sub(amountToWrap);
246
+ amountToWrap = amountToWrap.sub(parsedAmount);
235
247
  }
236
248
  const replenishTx = buildReplenishWsolBalanceTransaction(amountToWrap, owner, wSolATA);
237
249
  tx.add(replenishTx);
@@ -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"}
@@ -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;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"}
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"}