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

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.
@@ -75,7 +75,7 @@ class StarknetSwapContract extends StarknetContractBase_1.StarknetContractBase {
75
75
  handlerAddresses.claim = { ...defaultClaimAddresses[chainInterface.starknetChainId], ...handlerAddresses.claim };
76
76
  ClaimHandlers_1.claimHandlersList.forEach(handlerCtor => {
77
77
  const handler = new handlerCtor(handlerAddresses.claim[handlerCtor.type]);
78
- this.claimHandlersByAddress[handler.address] = handler;
78
+ this.claimHandlersByAddress[(0, Utils_1.toHex)(handler.address)] = handler;
79
79
  this.claimHandlersBySwapType[handlerCtor.type] = handler;
80
80
  });
81
81
  this.timelockRefundHandler = new TimelockRefundHandler_1.TimelockRefundHandler(handlerAddresses.refund.timelock);
@@ -277,7 +277,6 @@ class StarknetSwapData extends base_1.SwapData {
277
277
  const claimerBounty = (0, Utils_1.toBigInt)({ low: span.shift(), high: span.shift() });
278
278
  const hasSuccessAction = (0, Utils_1.toBigInt)(span.shift()) === 0n;
279
279
  if (hasSuccessAction) {
280
- const executionContract = (0, Utils_1.toHex)(span.shift());
281
280
  const executionHash = (0, Utils_1.toHex)(span.shift());
282
281
  const executionExpiry = (0, Utils_1.toBigInt)(span.shift());
283
282
  const executionFee = (0, Utils_1.toBigInt)({ low: span.shift(), high: span.shift() });
@@ -36,7 +36,7 @@ class StarknetSwapClaim extends StarknetSwapModule_1.StarknetSwapModule {
36
36
  if (checkExpiry && await this.contract.isExpired(swapData.claimer.toString(), swapData)) {
37
37
  throw new base_1.SwapDataVerificationError("Not enough time to reliably pay the invoice");
38
38
  }
39
- const claimHandler = this.contract.claimHandlersByAddress[swapData.claimHandler.toLowerCase()];
39
+ const claimHandler = this.contract.claimHandlersByAddress[(0, Utils_1.toHex)(swapData.claimHandler)];
40
40
  if (claimHandler == null)
41
41
  throw new base_1.SwapDataVerificationError("Unknown claim handler!");
42
42
  if (claimHandler.getType() !== base_1.ChainSwapType.HTLC)
@@ -61,7 +61,7 @@ class StarknetSwapClaim extends StarknetSwapModule_1.StarknetSwapModule {
61
61
  * @param feeRate fee rate to be used for the transactions
62
62
  */
63
63
  async txsClaimWithTxData(signer, swapData, tx, requiredConfirmations, vout, commitedHeader, synchronizer, feeRate) {
64
- const claimHandler = this.contract.claimHandlersByAddress[swapData.claimHandler.toLowerCase()];
64
+ const claimHandler = this.contract.claimHandlersByAddress[(0, Utils_1.toHex)(swapData.claimHandler)];
65
65
  if (claimHandler == null)
66
66
  throw new base_1.SwapDataVerificationError("Unknown claim handler!");
67
67
  if (claimHandler.getType() !== base_1.ChainSwapType.CHAIN_NONCED &&
@@ -87,7 +87,7 @@ class StarknetSwapClaim extends StarknetSwapModule_1.StarknetSwapModule {
87
87
  async getClaimFee(swapData, feeRate) {
88
88
  feeRate ?? (feeRate = await this.root.Fees.getFeeRate());
89
89
  let gasRequired = swapData.payOut ? StarknetSwapClaim.GasCosts.CLAIM_PAY_OUT : StarknetSwapClaim.GasCosts.CLAIM;
90
- const claimHandler = this.contract.claimHandlersByAddress[swapData.claimHandler.toLowerCase()];
90
+ const claimHandler = this.contract.claimHandlersByAddress[(0, Utils_1.toHex)(swapData.claimHandler)];
91
91
  if (claimHandler != null)
92
92
  gasRequired = (0, StarknetFees_1.starknetGasAdd)(gasRequired, claimHandler.getGas(swapData));
93
93
  return StarknetFees_1.StarknetFees.getGasFee(gasRequired, feeRate);
@@ -79,7 +79,7 @@ function toHex(value, length = 64) {
79
79
  switch (typeof (value)) {
80
80
  case "string":
81
81
  if (value.startsWith("0x")) {
82
- return "0x" + value.slice(2).padStart(length, "0");
82
+ return "0x" + value.slice(2).padStart(length, "0").toLowerCase();
83
83
  }
84
84
  else {
85
85
  return "0x" + BigInt(value).toString(16).padStart(length, "0");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atomiqlabs/chain-starknet",
3
- "version": "3.0.0-beta.4",
3
+ "version": "3.0.0-beta.6",
4
4
  "description": "Starknet specific base implementation",
5
5
  "main": "./dist/index.js",
6
6
  "types:": "./dist/index.d.ts",
@@ -131,7 +131,7 @@ export class StarknetSwapContract
131
131
 
132
132
  claimHandlersList.forEach(handlerCtor => {
133
133
  const handler = new handlerCtor(handlerAddresses.claim[handlerCtor.type]);
134
- this.claimHandlersByAddress[handler.address] = handler;
134
+ this.claimHandlersByAddress[toHex(handler.address)] = handler;
135
135
  this.claimHandlersBySwapType[handlerCtor.type] = handler;
136
136
  });
137
137
 
@@ -370,7 +370,6 @@ export class StarknetSwapData extends SwapData {
370
370
  const claimerBounty = toBigInt({low: span.shift(), high: span.shift()});
371
371
  const hasSuccessAction = toBigInt(span.shift()) === 0n;
372
372
  if(hasSuccessAction) {
373
- const executionContract = toHex(span.shift());
374
373
  const executionHash = toHex(span.shift());
375
374
  const executionExpiry = toBigInt(span.shift());
376
375
  const executionFee = toBigInt({low: span.shift(), high: span.shift()});
@@ -64,7 +64,7 @@ export class StarknetSwapClaim extends StarknetSwapModule {
64
64
  throw new SwapDataVerificationError("Not enough time to reliably pay the invoice");
65
65
  }
66
66
 
67
- const claimHandler: IClaimHandler<Buffer, string> = this.contract.claimHandlersByAddress[swapData.claimHandler.toLowerCase()];
67
+ const claimHandler: IClaimHandler<Buffer, string> = this.contract.claimHandlersByAddress[toHex(swapData.claimHandler)];
68
68
  if(claimHandler==null) throw new SwapDataVerificationError("Unknown claim handler!");
69
69
  if(claimHandler.getType()!==ChainSwapType.HTLC) throw new SwapDataVerificationError("Invalid claim handler!");
70
70
 
@@ -101,7 +101,7 @@ export class StarknetSwapClaim extends StarknetSwapModule {
101
101
  synchronizer?: RelaySynchronizer<StarknetBtcStoredHeader, StarknetTx, any>,
102
102
  feeRate?: string
103
103
  ): Promise<StarknetTx[] | null> {
104
- const claimHandler: IClaimHandler<any, BitcoinOutputWitnessData | BitcoinWitnessData> = this.contract.claimHandlersByAddress[swapData.claimHandler.toLowerCase()];
104
+ const claimHandler: IClaimHandler<any, BitcoinOutputWitnessData | BitcoinWitnessData> = this.contract.claimHandlersByAddress[toHex(swapData.claimHandler)];
105
105
  if(claimHandler==null) throw new SwapDataVerificationError("Unknown claim handler!");
106
106
  if(
107
107
  claimHandler.getType()!==ChainSwapType.CHAIN_NONCED &&
@@ -133,7 +133,7 @@ export class StarknetSwapClaim extends StarknetSwapModule {
133
133
 
134
134
  let gasRequired = swapData.payOut ? StarknetSwapClaim.GasCosts.CLAIM_PAY_OUT : StarknetSwapClaim.GasCosts.CLAIM;
135
135
 
136
- const claimHandler: IClaimHandler<any, any> = this.contract.claimHandlersByAddress[swapData.claimHandler.toLowerCase()];
136
+ const claimHandler: IClaimHandler<any, any> = this.contract.claimHandlersByAddress[toHex(swapData.claimHandler)];
137
137
  if(claimHandler!=null) gasRequired = starknetGasAdd(gasRequired, claimHandler.getGas(swapData));
138
138
 
139
139
  return StarknetFees.getGasFee(gasRequired, feeRate);
@@ -83,7 +83,7 @@ export function toHex(value: number | bigint | string | Buffer, length: number =
83
83
  switch(typeof(value)) {
84
84
  case "string":
85
85
  if(value.startsWith("0x")) {
86
- return "0x"+value.slice(2).padStart(length, "0");
86
+ return "0x"+value.slice(2).padStart(length, "0").toLowerCase();
87
87
  } else {
88
88
  return "0x"+BigInt(value).toString(16).padStart(length, "0");
89
89
  }