@atomiqlabs/chain-starknet 3.0.0-beta.6 → 3.0.0-beta.8

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,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StarknetInitializer = exports.initializeStarknet = exports.StarknetAssets = void 0;
3
+ exports.StarknetInitializer = exports.StarknetAssets = void 0;
4
+ exports.initializeStarknet = initializeStarknet;
4
5
  const starknet_1 = require("starknet");
5
6
  const StarknetFees_1 = require("./chain/modules/StarknetFees");
6
7
  const StarknetChainInterface_1 = require("./chain/StarknetChainInterface");
@@ -58,7 +59,6 @@ function initializeStarknet(options, bitcoinRpc, network) {
58
59
  spvVaultWithdrawalDataConstructor: StarknetSpvWithdrawalData_1.StarknetSpvWithdrawalData
59
60
  };
60
61
  }
61
- exports.initializeStarknet = initializeStarknet;
62
62
  ;
63
63
  exports.StarknetInitializer = {
64
64
  chainId: "STARKNET",
@@ -1,17 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StarknetFees = exports.starknetGasAdd = exports.starknetGasMul = void 0;
3
+ exports.StarknetFees = void 0;
4
+ exports.starknetGasMul = starknetGasMul;
5
+ exports.starknetGasAdd = starknetGasAdd;
4
6
  const Utils_1 = require("../../../utils/Utils");
5
7
  const StarknetTokens_1 = require("./StarknetTokens");
6
8
  const MAX_FEE_AGE = 5000;
7
9
  function starknetGasMul(gas, scalar) {
8
10
  return { l1Gas: gas.l1Gas * scalar, l2Gas: gas.l2Gas * scalar, l1DataGas: gas.l1DataGas * scalar };
9
11
  }
10
- exports.starknetGasMul = starknetGasMul;
11
12
  function starknetGasAdd(a, b) {
12
13
  return { l1Gas: a.l1Gas + b.l1Gas, l2Gas: a.l2Gas + b.l2Gas, l1DataGas: a.l1DataGas + b.l1DataGas };
13
14
  }
14
- exports.starknetGasAdd = starknetGasAdd;
15
15
  class StarknetFees {
16
16
  constructor(provider, maxFeeRate = { l1GasCost: 1000000000000000n, l2GasCost: 1000000000000000n, l1DataGasCost: 1000000000000000n } /*100 * 10000 GWei*/, feeMultiplier = 1.25, da) {
17
17
  this.logger = (0, Utils_1.getLogger)("StarknetFees: ");
@@ -100,9 +100,9 @@ class StarknetFees {
100
100
  return {
101
101
  version: "0x3",
102
102
  resourceBounds: {
103
- l1_gas: { max_amount: (0, Utils_1.toHex)(gas.l1Gas, 16), max_price_per_unit: (0, Utils_1.toHex)((0, Utils_1.toBigInt)(l1GasCostStr), 16) },
104
- l2_gas: { max_amount: (0, Utils_1.toHex)(gas.l2Gas, 16), max_price_per_unit: (0, Utils_1.toHex)((0, Utils_1.toBigInt)(l2GasCostStr), 16) },
105
- l1_data_gas: { max_amount: (0, Utils_1.toHex)(gas.l1DataGas, 16), max_price_per_unit: (0, Utils_1.toHex)((0, Utils_1.toBigInt)(l1DataGasCostStr), 16) }
103
+ l1_gas: { max_amount: (0, Utils_1.toHex)(gas.l1Gas, 16), max_price_per_unit: (0, Utils_1.toHex)(BigInt(l1GasCostStr), 16) },
104
+ l2_gas: { max_amount: (0, Utils_1.toHex)(gas.l2Gas, 16), max_price_per_unit: (0, Utils_1.toHex)(BigInt(l2GasCostStr), 16) },
105
+ l1_data_gas: { max_amount: (0, Utils_1.toHex)(gas.l1DataGas, 16), max_price_per_unit: (0, Utils_1.toHex)(BigInt(l1DataGasCostStr), 16) }
106
106
  },
107
107
  tip: "0x0",
108
108
  paymasterData: [],
@@ -16,9 +16,6 @@ export declare const EscrowManagerAbi: readonly [{
16
16
  readonly type: "struct";
17
17
  readonly name: "escrow_manager::structs::escrow::EscrowExecution";
18
18
  readonly members: readonly [{
19
- readonly name: "contract";
20
- readonly type: "core::starknet::contract_address::ContractAddress";
21
- }, {
22
19
  readonly name: "hash";
23
20
  readonly type: "core::felt252";
24
21
  }, {
@@ -25,10 +25,6 @@ exports.EscrowManagerAbi = [
25
25
  "type": "struct",
26
26
  "name": "escrow_manager::structs::escrow::EscrowExecution",
27
27
  "members": [
28
- {
29
- "name": "contract",
30
- "type": "core::starknet::contract_address::ContractAddress"
31
- },
32
28
  {
33
29
  "name": "hash",
34
30
  "type": "core::felt252"
@@ -1,6 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findLastIndex = exports.parseInitFunctionCalldata = exports.poseidonHashRange = exports.bufferToByteArray = exports.bufferToBytes31Span = exports.bytes31SpanToBuffer = exports.toBigInt = exports.bigNumberishToBuffer = exports.u32ReverseEndianness = exports.bufferToU32Array = exports.u32ArrayToBuffer = exports.calculateHash = exports.toHex = exports.tryWithRetries = exports.getLogger = exports.onceAsync = exports.timeoutPromise = exports.isUint256 = void 0;
3
+ exports.isUint256 = isUint256;
4
+ exports.timeoutPromise = timeoutPromise;
5
+ exports.onceAsync = onceAsync;
6
+ exports.getLogger = getLogger;
7
+ exports.tryWithRetries = tryWithRetries;
8
+ exports.toHex = toHex;
9
+ exports.calculateHash = calculateHash;
10
+ exports.u32ArrayToBuffer = u32ArrayToBuffer;
11
+ exports.bufferToU32Array = bufferToU32Array;
12
+ exports.u32ReverseEndianness = u32ReverseEndianness;
13
+ exports.bigNumberishToBuffer = bigNumberishToBuffer;
14
+ exports.toBigInt = toBigInt;
15
+ exports.bytes31SpanToBuffer = bytes31SpanToBuffer;
16
+ exports.bufferToBytes31Span = bufferToBytes31Span;
17
+ exports.bufferToByteArray = bufferToByteArray;
18
+ exports.poseidonHashRange = poseidonHashRange;
19
+ exports.parseInitFunctionCalldata = parseInitFunctionCalldata;
20
+ exports.findLastIndex = findLastIndex;
4
21
  const starknet_types_08_1 = require("@starknet-io/starknet-types-08");
5
22
  const starknet_1 = require("starknet");
6
23
  const buffer_1 = require("buffer");
@@ -8,7 +25,6 @@ const StarknetSwapData_1 = require("../starknet/swaps/StarknetSwapData");
8
25
  function isUint256(val) {
9
26
  return val.low != null && val.high != null;
10
27
  }
11
- exports.isUint256 = isUint256;
12
28
  function timeoutPromise(timeoutMillis, abortSignal) {
13
29
  return new Promise((resolve, reject) => {
14
30
  const timeout = setTimeout(resolve, timeoutMillis);
@@ -19,7 +35,6 @@ function timeoutPromise(timeoutMillis, abortSignal) {
19
35
  });
20
36
  });
21
37
  }
22
- exports.timeoutPromise = timeoutPromise;
23
38
  function onceAsync(executor) {
24
39
  let promise;
25
40
  return () => {
@@ -32,7 +47,6 @@ function onceAsync(executor) {
32
47
  }
33
48
  };
34
49
  }
35
- exports.onceAsync = onceAsync;
36
50
  function getLogger(prefix) {
37
51
  return {
38
52
  // @ts-ignore
@@ -45,7 +59,6 @@ function getLogger(prefix) {
45
59
  error: (msg, ...args) => (global.atomiqLogLevel == null || global.atomiqLogLevel >= 0) && console.error(prefix + msg, ...args)
46
60
  };
47
61
  }
48
- exports.getLogger = getLogger;
49
62
  const logger = getLogger("Utils: ");
50
63
  async function tryWithRetries(func, retryPolicy, errorAllowed, abortSignal) {
51
64
  retryPolicy = retryPolicy || {};
@@ -72,7 +85,6 @@ async function tryWithRetries(func, retryPolicy, errorAllowed, abortSignal) {
72
85
  }
73
86
  throw err;
74
87
  }
75
- exports.tryWithRetries = tryWithRetries;
76
88
  function toHex(value, length = 64) {
77
89
  if (value == null)
78
90
  return null;
@@ -90,7 +102,6 @@ function toHex(value, length = 64) {
90
102
  }
91
103
  return "0x" + value.toString("hex").padStart(length, "0");
92
104
  }
93
- exports.toHex = toHex;
94
105
  function calculateHash(tx) {
95
106
  const commonData = {
96
107
  version: tx.details.version,
@@ -126,7 +137,6 @@ function calculateHash(tx) {
126
137
  throw new Error("Unsupported tx type!");
127
138
  }
128
139
  }
129
- exports.calculateHash = calculateHash;
130
140
  function u32ArrayToBuffer(arr) {
131
141
  const buffer = buffer_1.Buffer.alloc(4 * arr.length);
132
142
  for (let i = 0; i < arr.length; i++) {
@@ -134,7 +144,6 @@ function u32ArrayToBuffer(arr) {
134
144
  }
135
145
  return buffer;
136
146
  }
137
- exports.u32ArrayToBuffer = u32ArrayToBuffer;
138
147
  function bufferToU32Array(buffer) {
139
148
  const result = [];
140
149
  for (let i = 0; i < buffer.length; i += 4) {
@@ -142,7 +151,6 @@ function bufferToU32Array(buffer) {
142
151
  }
143
152
  return result;
144
153
  }
145
- exports.bufferToU32Array = bufferToU32Array;
146
154
  function u32ReverseEndianness(value) {
147
155
  const valueBN = BigInt(value);
148
156
  return Number(((valueBN & 0xffn) << 24n) |
@@ -150,7 +158,6 @@ function u32ReverseEndianness(value) {
150
158
  ((valueBN >> 8n) & 0xff00n) |
151
159
  ((valueBN >> 24n) & 0xffn));
152
160
  }
153
- exports.u32ReverseEndianness = u32ReverseEndianness;
154
161
  function bigNumberishToBuffer(value, length) {
155
162
  if (isUint256(value)) {
156
163
  return buffer_1.Buffer.concat([bigNumberishToBuffer(value.high, 16), bigNumberishToBuffer(value.low, 16)]);
@@ -173,7 +180,6 @@ function bigNumberishToBuffer(value, length) {
173
180
  return buff.slice(buff.length - length);
174
181
  return buff;
175
182
  }
176
- exports.bigNumberishToBuffer = bigNumberishToBuffer;
177
183
  function toBigInt(value) {
178
184
  if (value == null)
179
185
  return null;
@@ -190,7 +196,6 @@ function toBigInt(value) {
190
196
  }
191
197
  return BigInt(value);
192
198
  }
193
- exports.toBigInt = toBigInt;
194
199
  function bytes31SpanToBuffer(span, length) {
195
200
  const buffers = [];
196
201
  const numFullBytes31 = Math.floor(length / 31);
@@ -206,7 +211,6 @@ function bytes31SpanToBuffer(span, length) {
206
211
  buffers.push(bigNumberishToBuffer(span[i], additionalBytes));
207
212
  return buffer_1.Buffer.concat(buffers);
208
213
  }
209
- exports.bytes31SpanToBuffer = bytes31SpanToBuffer;
210
214
  function bufferToBytes31Span(buffer, startIndex = 0, endIndex = buffer.length) {
211
215
  const values = [];
212
216
  for (let i = startIndex + 31; i < endIndex; i += 31) {
@@ -216,7 +220,6 @@ function bufferToBytes31Span(buffer, startIndex = 0, endIndex = buffer.length) {
216
220
  values.push(BigInt("0x" + buffer.slice(startIndex + (values.length * 31), endIndex).toString("hex")));
217
221
  return values;
218
222
  }
219
- exports.bufferToBytes31Span = bufferToBytes31Span;
220
223
  function bufferToByteArray(buffer, startIndex = 0, endIndex = buffer.length) {
221
224
  const values = [];
222
225
  for (let i = startIndex + 31; i < endIndex; i += 31) {
@@ -234,11 +237,9 @@ function bufferToByteArray(buffer, startIndex = 0, endIndex = buffer.length) {
234
237
  pendingWordLen
235
238
  ];
236
239
  }
237
- exports.bufferToByteArray = bufferToByteArray;
238
240
  function poseidonHashRange(buffer, startIndex = 0, endIndex = buffer.length) {
239
241
  return starknet_1.hash.computePoseidonHashOnElements(bufferToBytes31Span(buffer, startIndex, endIndex));
240
242
  }
241
- exports.poseidonHashRange = poseidonHashRange;
242
243
  function parseInitFunctionCalldata(calldata, claimHandler) {
243
244
  const escrow = StarknetSwapData_1.StarknetSwapData.fromSerializedFeltArray(calldata, claimHandler);
244
245
  const signatureLen = Number(toBigInt(calldata.shift()));
@@ -250,7 +251,6 @@ function parseInitFunctionCalldata(calldata, claimHandler) {
250
251
  throw new Error("Calldata not read fully!");
251
252
  return { escrow, signature, timeout, extraData };
252
253
  }
253
- exports.parseInitFunctionCalldata = parseInitFunctionCalldata;
254
254
  function findLastIndex(array, callback) {
255
255
  for (let i = array.length - 1; i >= 0; i--) {
256
256
  if (callback(array[i], i))
@@ -258,4 +258,3 @@ function findLastIndex(array, callback) {
258
258
  }
259
259
  return -1;
260
260
  }
261
- exports.findLastIndex = findLastIndex;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atomiqlabs/chain-starknet",
3
- "version": "3.0.0-beta.6",
3
+ "version": "3.0.0-beta.8",
4
4
  "description": "Starknet specific base implementation",
5
5
  "main": "./dist/index.js",
6
6
  "types:": "./dist/index.d.ts",
@@ -141,9 +141,9 @@ export class StarknetFees {
141
141
  return {
142
142
  version: "0x3" as const,
143
143
  resourceBounds: {
144
- l1_gas: {max_amount: toHex(gas.l1Gas, 16), max_price_per_unit: toHex(toBigInt(l1GasCostStr), 16)},
145
- l2_gas: {max_amount: toHex(gas.l2Gas, 16), max_price_per_unit: toHex(toBigInt(l2GasCostStr), 16)},
146
- l1_data_gas: {max_amount: toHex(gas.l1DataGas, 16), max_price_per_unit: toHex(toBigInt(l1DataGasCostStr), 16)}
144
+ l1_gas: {max_amount: toHex(gas.l1Gas, 16), max_price_per_unit: toHex(BigInt(l1GasCostStr), 16)},
145
+ l2_gas: {max_amount: toHex(gas.l2Gas, 16), max_price_per_unit: toHex(BigInt(l2GasCostStr), 16)},
146
+ l1_data_gas: {max_amount: toHex(gas.l1DataGas, 16), max_price_per_unit: toHex(BigInt(l1DataGasCostStr), 16)}
147
147
  },
148
148
  tip: "0x0",
149
149
  paymasterData: [],
@@ -22,10 +22,6 @@ export const EscrowManagerAbi = [
22
22
  "type": "struct",
23
23
  "name": "escrow_manager::structs::escrow::EscrowExecution",
24
24
  "members": [
25
- {
26
- "name": "contract",
27
- "type": "core::starknet::contract_address::ContractAddress"
28
- },
29
25
  {
30
26
  "name": "hash",
31
27
  "type": "core::felt252"