@atomiqlabs/chain-starknet 1.0.9 → 2.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/index.d.ts +13 -9
  2. package/dist/index.js +13 -9
  3. package/dist/starknet/StarknetChainType.d.ts +6 -2
  4. package/dist/starknet/StarknetInitializer.d.ts +3 -2
  5. package/dist/starknet/StarknetInitializer.js +17 -6
  6. package/dist/starknet/btcrelay/StarknetBtcRelay.d.ts +28 -7
  7. package/dist/starknet/btcrelay/StarknetBtcRelay.js +75 -20
  8. package/dist/starknet/{base → chain}/StarknetAction.d.ts +2 -2
  9. package/dist/starknet/chain/StarknetChainInterface.d.ts +52 -0
  10. package/dist/starknet/chain/StarknetChainInterface.js +91 -0
  11. package/dist/starknet/{base → chain}/StarknetModule.d.ts +3 -3
  12. package/dist/starknet/{base → chain}/modules/StarknetAddresses.d.ts +1 -1
  13. package/dist/starknet/{base → chain}/modules/StarknetAddresses.js +1 -1
  14. package/dist/starknet/{base → chain}/modules/StarknetSignatures.d.ts +2 -2
  15. package/dist/starknet/{base → chain}/modules/StarknetTokens.js +2 -1
  16. package/dist/starknet/{base → chain}/modules/StarknetTransactions.d.ts +7 -1
  17. package/dist/starknet/{base → chain}/modules/StarknetTransactions.js +45 -16
  18. package/dist/starknet/contract/StarknetContractBase.d.ts +5 -5
  19. package/dist/starknet/contract/StarknetContractBase.js +5 -7
  20. package/dist/starknet/contract/StarknetContractModule.d.ts +8 -0
  21. package/dist/starknet/contract/StarknetContractModule.js +11 -0
  22. package/dist/starknet/contract/modules/StarknetContractEvents.d.ts +15 -4
  23. package/dist/starknet/contract/modules/StarknetContractEvents.js +26 -6
  24. package/dist/starknet/events/StarknetChainEvents.d.ts +3 -1
  25. package/dist/starknet/events/StarknetChainEvents.js +9 -9
  26. package/dist/starknet/events/StarknetChainEventsBrowser.d.ts +23 -6
  27. package/dist/starknet/events/StarknetChainEventsBrowser.js +104 -13
  28. package/dist/starknet/provider/RpcProviderWithRetries.d.ts +21 -0
  29. package/dist/starknet/provider/RpcProviderWithRetries.js +32 -0
  30. package/dist/starknet/spv_swap/SpvVaultContractAbi.d.ts +488 -0
  31. package/dist/starknet/spv_swap/SpvVaultContractAbi.js +656 -0
  32. package/dist/starknet/spv_swap/StarknetSpvVaultContract.d.ts +65 -0
  33. package/dist/starknet/spv_swap/StarknetSpvVaultContract.js +372 -0
  34. package/dist/starknet/spv_swap/StarknetSpvVaultData.d.ts +49 -0
  35. package/dist/starknet/spv_swap/StarknetSpvVaultData.js +144 -0
  36. package/dist/starknet/spv_swap/StarknetSpvWithdrawalData.d.ts +24 -0
  37. package/dist/starknet/spv_swap/StarknetSpvWithdrawalData.js +61 -0
  38. package/dist/starknet/swaps/StarknetSwapContract.d.ts +4 -22
  39. package/dist/starknet/swaps/StarknetSwapContract.js +23 -80
  40. package/dist/starknet/swaps/StarknetSwapModule.d.ts +6 -5
  41. package/dist/starknet/swaps/StarknetSwapModule.js +5 -6
  42. package/dist/starknet/swaps/handlers/IHandler.d.ts +2 -2
  43. package/dist/starknet/swaps/handlers/claim/ClaimHandlers.d.ts +1 -1
  44. package/dist/starknet/swaps/handlers/claim/HashlockClaimHandler.d.ts +2 -2
  45. package/dist/starknet/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.d.ts +2 -2
  46. package/dist/starknet/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.d.ts +2 -2
  47. package/dist/starknet/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.d.ts +2 -2
  48. package/dist/starknet/swaps/handlers/claim/btc/IBitcoinClaimHandler.d.ts +2 -21
  49. package/dist/starknet/swaps/handlers/claim/btc/IBitcoinClaimHandler.js +7 -41
  50. package/dist/starknet/swaps/handlers/refund/TimelockRefundHandler.d.ts +2 -2
  51. package/dist/starknet/swaps/modules/StarknetLpVault.d.ts +1 -1
  52. package/dist/starknet/swaps/modules/StarknetLpVault.js +9 -9
  53. package/dist/starknet/swaps/modules/StarknetSwapClaim.d.ts +1 -1
  54. package/dist/starknet/swaps/modules/StarknetSwapClaim.js +8 -8
  55. package/dist/starknet/swaps/modules/StarknetSwapInit.d.ts +1 -1
  56. package/dist/starknet/swaps/modules/StarknetSwapInit.js +9 -9
  57. package/dist/starknet/swaps/modules/StarknetSwapRefund.d.ts +1 -3
  58. package/dist/starknet/swaps/modules/StarknetSwapRefund.js +8 -11
  59. package/dist/starknet/wallet/StarknetSigner.js +1 -1
  60. package/dist/utils/Utils.d.ts +2 -2
  61. package/dist/utils/Utils.js +3 -1
  62. package/package.json +2 -2
  63. package/src/index.ts +15 -9
  64. package/src/starknet/StarknetChainType.ts +10 -2
  65. package/src/starknet/StarknetInitializer.ts +23 -7
  66. package/src/starknet/btcrelay/StarknetBtcRelay.ts +104 -30
  67. package/src/starknet/{base → chain}/StarknetAction.ts +3 -3
  68. package/src/starknet/chain/StarknetChainInterface.ts +149 -0
  69. package/src/starknet/{base → chain}/StarknetModule.ts +3 -3
  70. package/src/starknet/{base → chain}/modules/StarknetAddresses.ts +1 -1
  71. package/src/starknet/{base → chain}/modules/StarknetSignatures.ts +2 -2
  72. package/src/starknet/{base → chain}/modules/StarknetTokens.ts +2 -1
  73. package/src/starknet/{base → chain}/modules/StarknetTransactions.ts +43 -18
  74. package/src/starknet/contract/StarknetContractBase.ts +9 -12
  75. package/src/starknet/contract/StarknetContractModule.ts +16 -0
  76. package/src/starknet/contract/modules/StarknetContractEvents.ts +33 -7
  77. package/src/starknet/events/StarknetChainEvents.ts +15 -11
  78. package/src/starknet/events/StarknetChainEventsBrowser.ts +157 -26
  79. package/src/starknet/provider/RpcProviderWithRetries.ts +43 -0
  80. package/src/starknet/spv_swap/SpvVaultContractAbi.ts +656 -0
  81. package/src/starknet/spv_swap/StarknetSpvVaultContract.ts +475 -0
  82. package/src/starknet/spv_swap/StarknetSpvVaultData.ts +194 -0
  83. package/src/starknet/spv_swap/StarknetSpvWithdrawalData.ts +68 -0
  84. package/src/starknet/swaps/StarknetSwapContract.ts +28 -116
  85. package/src/starknet/swaps/StarknetSwapModule.ts +8 -8
  86. package/src/starknet/swaps/handlers/IHandler.ts +2 -2
  87. package/src/starknet/swaps/handlers/claim/ClaimHandlers.ts +1 -1
  88. package/src/starknet/swaps/handlers/claim/HashlockClaimHandler.ts +2 -2
  89. package/src/starknet/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.ts +2 -2
  90. package/src/starknet/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.ts +2 -2
  91. package/src/starknet/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.ts +2 -2
  92. package/src/starknet/swaps/handlers/claim/btc/IBitcoinClaimHandler.ts +12 -61
  93. package/src/starknet/swaps/handlers/refund/TimelockRefundHandler.ts +2 -2
  94. package/src/starknet/swaps/modules/StarknetLpVault.ts +10 -10
  95. package/src/starknet/swaps/modules/StarknetSwapClaim.ts +9 -9
  96. package/src/starknet/swaps/modules/StarknetSwapInit.ts +10 -10
  97. package/src/starknet/swaps/modules/StarknetSwapRefund.ts +9 -13
  98. package/src/starknet/wallet/StarknetSigner.ts +1 -1
  99. package/src/utils/Utils.ts +4 -3
  100. package/dist/starknet/base/StarknetBase.d.ts +0 -34
  101. package/dist/starknet/base/StarknetBase.js +0 -29
  102. package/src/starknet/base/StarknetBase.ts +0 -56
  103. /package/dist/starknet/{base → chain}/StarknetAction.js +0 -0
  104. /package/dist/starknet/{base → chain}/StarknetModule.js +0 -0
  105. /package/dist/starknet/{base → chain}/modules/ERC20Abi.d.ts +0 -0
  106. /package/dist/starknet/{base → chain}/modules/ERC20Abi.js +0 -0
  107. /package/dist/starknet/{base → chain}/modules/StarknetAccounts.d.ts +0 -0
  108. /package/dist/starknet/{base → chain}/modules/StarknetAccounts.js +0 -0
  109. /package/dist/starknet/{base → chain}/modules/StarknetBlocks.d.ts +0 -0
  110. /package/dist/starknet/{base → chain}/modules/StarknetBlocks.js +0 -0
  111. /package/dist/starknet/{base → chain}/modules/StarknetEvents.d.ts +0 -0
  112. /package/dist/starknet/{base → chain}/modules/StarknetEvents.js +0 -0
  113. /package/dist/starknet/{base → chain}/modules/StarknetFees.d.ts +0 -0
  114. /package/dist/starknet/{base → chain}/modules/StarknetFees.js +0 -0
  115. /package/dist/starknet/{base → chain}/modules/StarknetSignatures.js +0 -0
  116. /package/dist/starknet/{base → chain}/modules/StarknetTokens.d.ts +0 -0
  117. /package/src/starknet/{base → chain}/modules/ERC20Abi.ts +0 -0
  118. /package/src/starknet/{base → chain}/modules/StarknetAccounts.ts +0 -0
  119. /package/src/starknet/{base → chain}/modules/StarknetBlocks.ts +0 -0
  120. /package/src/starknet/{base → chain}/modules/StarknetEvents.ts +0 -0
  121. /package/src/starknet/{base → chain}/modules/StarknetFees.ts +0 -0
@@ -2,11 +2,11 @@ import {ChainSwapType, RelaySynchronizer, SwapDataVerificationError} from "@atom
2
2
  import {toHex} from "../../../utils/Utils";
3
3
  import {StarknetSwapModule} from "../StarknetSwapModule";
4
4
  import {StarknetSwapData} from "../StarknetSwapData";
5
- import {StarknetAction, StarknetGas, sumStarknetGas} from "../../base/StarknetAction";
5
+ import {StarknetAction, StarknetGas, sumStarknetGas} from "../../chain/StarknetAction";
6
6
  import {BigNumberish} from "starknet";
7
7
  import {IClaimHandler} from "../handlers/claim/ClaimHandlers";
8
- import {StarknetTx} from "../../base/modules/StarknetTransactions";
9
- import {StarknetFees} from "../../base/modules/StarknetFees";
8
+ import {StarknetTx} from "../../chain/modules/StarknetTransactions";
9
+ import {StarknetFees} from "../../chain/modules/StarknetFees";
10
10
  import {StarknetBtcStoredHeader} from "../../btcrelay/headers/StarknetBtcStoredHeader";
11
11
  import {BitcoinOutputWitnessData} from "../handlers/claim/btc/BitcoinOutputClaimHandler";
12
12
  import {BitcoinWitnessData} from "../handlers/claim/btc/IBitcoinClaimHandler";
@@ -36,7 +36,7 @@ export class StarknetSwapClaim extends StarknetSwapModule {
36
36
  claimHandlerGas?: StarknetGas
37
37
  ): StarknetAction {
38
38
  return new StarknetAction(signer, this.root,
39
- this.contract.populateTransaction.claim(swapData.toEscrowStruct(), witness),
39
+ this.swapContract.populateTransaction.claim(swapData.toEscrowStruct(), witness),
40
40
  sumStarknetGas(swapData.payOut ? StarknetSwapClaim.GasCosts.CLAIM_PAY_OUT : StarknetSwapClaim.GasCosts.CLAIM, claimHandlerGas)
41
41
  );
42
42
  }
@@ -60,11 +60,11 @@ export class StarknetSwapClaim extends StarknetSwapModule {
60
60
  ): Promise<StarknetTx[]> {
61
61
  //We need to be sure that this transaction confirms in time, otherwise we reveal the secret to the counterparty
62
62
  // and won't claim the funds
63
- if(checkExpiry && await this.root.isExpired(swapData.claimer.toString(), swapData)) {
63
+ if(checkExpiry && await this.contract.isExpired(swapData.claimer.toString(), swapData)) {
64
64
  throw new SwapDataVerificationError("Not enough time to reliably pay the invoice");
65
65
  }
66
66
 
67
- const claimHandler: IClaimHandler<Buffer, string> = this.root.claimHandlersByAddress[swapData.claimHandler.toLowerCase()];
67
+ const claimHandler: IClaimHandler<Buffer, string> = this.contract.claimHandlersByAddress[swapData.claimHandler.toLowerCase()];
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.root.claimHandlersByAddress[swapData.claimHandler.toLowerCase()];
104
+ const claimHandler: IClaimHandler<any, BitcoinOutputWitnessData | BitcoinWitnessData> = this.contract.claimHandlersByAddress[swapData.claimHandler.toLowerCase()];
105
105
  if(claimHandler==null) throw new SwapDataVerificationError("Unknown claim handler!");
106
106
  if(
107
107
  claimHandler.getType()!==ChainSwapType.CHAIN_NONCED &&
@@ -116,7 +116,7 @@ export class StarknetSwapClaim extends StarknetSwapModule {
116
116
  vout,
117
117
  requiredConfirmations,
118
118
  commitedHeader,
119
- btcRelay: this.root.btcRelay,
119
+ btcRelay: this.contract.btcRelay,
120
120
  synchronizer,
121
121
  }, feeRate);
122
122
  const action = this.Claim(signer, swapData, witness, claimHandler.getGas(swapData));
@@ -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.root.claimHandlersByAddress[swapData.claimHandler.toLowerCase()];
136
+ const claimHandler: IClaimHandler<any, any> = this.contract.claimHandlersByAddress[swapData.claimHandler.toLowerCase()];
137
137
  if(claimHandler!=null) gasRequired = sumStarknetGas(gasRequired, claimHandler.getGas(swapData));
138
138
 
139
139
  return StarknetFees.getGasFee(gasRequired.l1, feeRate);
@@ -2,12 +2,12 @@ import {SignatureVerificationError, SwapCommitStatus, SwapDataVerificationError}
2
2
  import {bufferToBytes31Span, toBigInt, toHex, tryWithRetries} from "../../../utils/Utils";
3
3
  import {Buffer} from "buffer";
4
4
  import {StarknetSwapData} from "../StarknetSwapData";
5
- import {StarknetAction} from "../../base/StarknetAction";
5
+ import {StarknetAction} from "../../chain/StarknetAction";
6
6
  import {StarknetSwapModule} from "../StarknetSwapModule";
7
7
  import {BigNumberish} from "starknet";
8
8
  import {StarknetSigner} from "../../wallet/StarknetSigner";
9
- import {StarknetFees} from "../../base/modules/StarknetFees";
10
- import {StarknetTx} from "../../base/modules/StarknetTransactions";
9
+ import {StarknetFees} from "../../chain/modules/StarknetFees";
10
+ import {StarknetTx} from "../../chain/modules/StarknetTransactions";
11
11
 
12
12
  export type StarknetPreFetchVerification = {
13
13
  pendingBlockTime?: number
@@ -37,7 +37,7 @@ export class StarknetSwapInit extends StarknetSwapModule {
37
37
  return new StarknetAction(
38
38
  swapData.payIn ? swapData.offerer : swapData.claimer,
39
39
  this.root,
40
- this.contract.populateTransaction.initialize(
40
+ this.swapContract.populateTransaction.initialize(
41
41
  swapData.toEscrowStruct(),
42
42
  signature,
43
43
  timeout,
@@ -112,7 +112,7 @@ export class StarknetSwapInit extends StarknetSwapModule {
112
112
  const sender = swapData.isPayIn() ? swapData.offerer : swapData.claimer;
113
113
  const signer = swapData.isPayIn() ? swapData.claimer : swapData.offerer;
114
114
 
115
- if(!swapData.isPayIn() && await this.root.isExpired(sender.toString(), swapData)) {
115
+ if(!swapData.isPayIn() && await this.contract.isExpired(sender.toString(), swapData)) {
116
116
  throw new SignatureVerificationError("Swap will expire too soon!");
117
117
  }
118
118
 
@@ -120,7 +120,7 @@ export class StarknetSwapInit extends StarknetSwapModule {
120
120
 
121
121
  const currentTimestamp = BigInt(Math.floor(Date.now() / 1000));
122
122
  const timeoutBN = BigInt(timeout);
123
- const isExpired = (timeoutBN - currentTimestamp) < BigInt(this.root.authGracePeriod);
123
+ const isExpired = (timeoutBN - currentTimestamp) < BigInt(this.contract.authGracePeriod);
124
124
  if (isExpired) throw new SignatureVerificationError("Authorization expired!");
125
125
  if(await this.isSignatureExpired(timeout, preFetchData)) throw new SignatureVerificationError("Authorization expired!");
126
126
 
@@ -144,7 +144,7 @@ export class StarknetSwapInit extends StarknetSwapModule {
144
144
  timeout: string
145
145
  ): Promise<number> {
146
146
  const now = Date.now();
147
- const timeoutExpiryTime = (parseInt(timeout)-this.root.authGracePeriod)*1000;
147
+ const timeoutExpiryTime = (parseInt(timeout)-this.contract.authGracePeriod)*1000;
148
148
 
149
149
  if(timeoutExpiryTime<now) return 0;
150
150
 
@@ -194,7 +194,7 @@ export class StarknetSwapInit extends StarknetSwapModule {
194
194
  () => this.isSignatureValid(swapData, timeout, prefix, signature),
195
195
  this.retryPolicy, (e) => e instanceof SignatureVerificationError
196
196
  ),
197
- tryWithRetries(() => this.root.getCommitStatus(sender, swapData), this.retryPolicy)
197
+ tryWithRetries(() => this.contract.getCommitStatus(sender, swapData), this.retryPolicy)
198
198
  ]);
199
199
  if(payStatus!==SwapCommitStatus.NOT_COMMITED) throw new SwapDataVerificationError("Invoice already being paid for or paid");
200
200
  }
@@ -203,10 +203,10 @@ export class StarknetSwapInit extends StarknetSwapModule {
203
203
 
204
204
  const initAction = this.Init(swapData, BigInt(timeout), JSON.parse(signature));
205
205
  if(swapData.payIn) initAction.addAction(
206
- this.root.Tokens.Approve(sender, this.contract.address, swapData.token, swapData.amount), 0
206
+ this.root.Tokens.Approve(sender, this.swapContract.address, swapData.token, swapData.amount), 0
207
207
  ); //Add erc20 approve
208
208
  if(swapData.getTotalDeposit() !== 0n) initAction.addAction(
209
- this.root.Tokens.Approve(sender, this.contract.address, swapData.feeToken, swapData.getTotalDeposit()), 0
209
+ this.root.Tokens.Approve(sender, this.swapContract.address, swapData.feeToken, swapData.getTotalDeposit()), 0
210
210
  ); //Add deposit erc20 approve
211
211
 
212
212
  this.logger.debug("txsInitPayIn(): create swap init TX, swap: "+swapData.getClaimHash()+
@@ -2,13 +2,13 @@ import {SignatureVerificationError, SwapDataVerificationError} from "@atomiqlabs
2
2
  import {toHex, tryWithRetries} from "../../../utils/Utils";
3
3
  import {StarknetSwapModule} from "../StarknetSwapModule";
4
4
  import {StarknetSwapData} from "../StarknetSwapData";
5
- import {StarknetAction, StarknetGas, sumStarknetGas} from "../../base/StarknetAction";
5
+ import {StarknetAction, StarknetGas, sumStarknetGas} from "../../chain/StarknetAction";
6
6
  import {StarknetSwapContract} from "../StarknetSwapContract";
7
7
  import {IHandler} from "../handlers/IHandler";
8
8
  import {BigNumberish} from "starknet";
9
- import {StarknetTx} from "../../base/modules/StarknetTransactions";
9
+ import {StarknetTx} from "../../chain/modules/StarknetTransactions";
10
10
  import {StarknetSigner} from "../../wallet/StarknetSigner";
11
- import {StarknetFees} from "../../base/modules/StarknetFees";
11
+ import {StarknetFees} from "../../chain/modules/StarknetFees";
12
12
 
13
13
  const Refund = [
14
14
  { name: 'Swap hash', type: 'felt' },
@@ -39,7 +39,7 @@ export class StarknetSwapRefund extends StarknetSwapModule {
39
39
  handlerGas?: StarknetGas
40
40
  ): StarknetAction {
41
41
  return new StarknetAction(signer, this.root,
42
- this.contract.populateTransaction.refund(swapData.toEscrowStruct(), witness),
42
+ this.swapContract.populateTransaction.refund(swapData.toEscrowStruct(), witness),
43
43
  sumStarknetGas(swapData.payIn ? StarknetSwapRefund.GasCosts.REFUND_PAY_OUT : StarknetSwapRefund.GasCosts.REFUND, handlerGas)
44
44
  );
45
45
  }
@@ -61,15 +61,11 @@ export class StarknetSwapRefund extends StarknetSwapModule {
61
61
  signature: BigNumberish[]
62
62
  ): StarknetAction {
63
63
  return new StarknetAction(sender, this.root,
64
- this.contract.populateTransaction.cooperative_refund(swapData.toEscrowStruct(), signature, BigInt(timeout)),
64
+ this.swapContract.populateTransaction.cooperative_refund(swapData.toEscrowStruct(), signature, BigInt(timeout)),
65
65
  swapData.payIn ? StarknetSwapRefund.GasCosts.REFUND_PAY_OUT : StarknetSwapRefund.GasCosts.REFUND
66
66
  );
67
67
  }
68
68
 
69
- constructor(root: StarknetSwapContract) {
70
- super(root);
71
- }
72
-
73
69
  public async signSwapRefund(
74
70
  signer: StarknetSigner,
75
71
  swapData: StarknetSwapData,
@@ -101,7 +97,7 @@ export class StarknetSwapRefund extends StarknetSwapModule {
101
97
  const expiryTimestamp = BigInt(timeout);
102
98
  const currentTimestamp = BigInt(Math.floor(Date.now() / 1000));
103
99
 
104
- const isExpired = (expiryTimestamp - currentTimestamp) < BigInt(this.root.authGracePeriod);
100
+ const isExpired = (expiryTimestamp - currentTimestamp) < BigInt(this.contract.authGracePeriod);
105
101
  if(isExpired) throw new SignatureVerificationError("Authorization expired!");
106
102
 
107
103
  const valid = await this.root.Signatures.isValidSignature(signature, swapData.claimer, Refund, "Refund", {
@@ -132,10 +128,10 @@ export class StarknetSwapRefund extends StarknetSwapModule {
132
128
  feeRate?: string,
133
129
  witnessData?: T
134
130
  ): Promise<StarknetTx[]> {
135
- const refundHandler: IHandler<any, T> = this.root.refundHandlersByAddress[swapData.refundHandler.toLowerCase()];
131
+ const refundHandler: IHandler<any, T> = this.contract.refundHandlersByAddress[swapData.refundHandler.toLowerCase()];
136
132
  if(refundHandler==null) throw new Error("Invalid refund handler");
137
133
 
138
- if(check && !await tryWithRetries(() => this.root.isRequestRefundable(swapData.offerer.toString(), swapData), this.retryPolicy)) {
134
+ if(check && !await tryWithRetries(() => this.contract.isRequestRefundable(swapData.offerer.toString(), swapData), this.retryPolicy)) {
139
135
  throw new SwapDataVerificationError("Not refundable yet!");
140
136
  }
141
137
 
@@ -171,7 +167,7 @@ export class StarknetSwapRefund extends StarknetSwapModule {
171
167
  check?: boolean,
172
168
  feeRate?: string
173
169
  ): Promise<StarknetTx[]> {
174
- if(check && !await tryWithRetries(() => this.root.isCommited(swapData), this.retryPolicy)) {
170
+ if(check && !await tryWithRetries(() => this.contract.isCommited(swapData), this.retryPolicy)) {
175
171
  throw new SwapDataVerificationError("Not correctly committed");
176
172
  }
177
173
  await tryWithRetries(
@@ -27,7 +27,7 @@ export class StarknetSigner implements AbstractSigner {
27
27
  //TODO: Introduce proper nonce management!
28
28
  async getNonce(): Promise<bigint> {
29
29
  try {
30
- return BigInt(await this.account.getNonceForAddress(this.getAddress()));
30
+ return BigInt(await this.account.getNonceForAddress(this.getAddress(), "pending"));
31
31
  } catch (e) {
32
32
  if(e.message!=null && e.message.includes("20: Contract not found")) {
33
33
  return BigInt(0);
@@ -1,6 +1,6 @@
1
1
  import {EDAMode} from "starknet-types-07";
2
2
  import {BigNumberish, CallData, hash, Uint256} from "starknet";
3
- import {StarknetTx} from "../starknet/base/modules/StarknetTransactions";
3
+ import {StarknetTx} from "../starknet/chain/modules/StarknetTransactions";
4
4
  import {Buffer} from "buffer";
5
5
  import {StarknetSwapData} from "../starknet/swaps/StarknetSwapData";
6
6
  import {IClaimHandler} from "../starknet/swaps/handlers/claim/ClaimHandlers";
@@ -150,7 +150,7 @@ export function u32ReverseEndianness(value: number): number {
150
150
  ((valueBN >> 24n) & 0xFFn));
151
151
  }
152
152
 
153
- export function bigNumberishToBuffer(value: BigNumberish | Uint256, length: number): Buffer {
153
+ export function bigNumberishToBuffer(value: BigNumberish | Uint256, length?: number): Buffer {
154
154
  if(isUint256(value)) {
155
155
  return Buffer.concat([bigNumberishToBuffer(value.high, 16), bigNumberishToBuffer(value.low, 16)])
156
156
  }
@@ -163,7 +163,8 @@ export function bigNumberishToBuffer(value: BigNumberish | Uint256, length: numb
163
163
  } else {
164
164
  value = value.toString(16);
165
165
  }
166
- const buff = Buffer.from(value.padStart(length*2, "0"), "hex");
166
+ if(length!=null) value = value.padStart(length*2, "0");
167
+ const buff = Buffer.from(value, "hex");
167
168
  if(buff.length > length) return buff.slice(buff.length-length);
168
169
  return buff;
169
170
  }
@@ -1,34 +0,0 @@
1
- import { Provider, constants } from "starknet";
2
- import { StarknetTransactions } from "./modules/StarknetTransactions";
3
- import { StarknetFees } from "./modules/StarknetFees";
4
- import { StarknetAddresses } from "./modules/StarknetAddresses";
5
- import { StarknetTokens } from "./modules/StarknetTokens";
6
- import { StarknetEvents } from "./modules/StarknetEvents";
7
- import { StarknetSignatures } from "./modules/StarknetSignatures";
8
- import { StarknetAccounts } from "./modules/StarknetAccounts";
9
- import { StarknetBlocks } from "./modules/StarknetBlocks";
10
- export type StarknetRetryPolicy = {
11
- maxRetries?: number;
12
- delay?: number;
13
- exponential?: boolean;
14
- };
15
- export declare class StarknetBase {
16
- readonly provider: Provider;
17
- readonly retryPolicy: StarknetRetryPolicy;
18
- readonly starknetChainId: constants.StarknetChainId;
19
- Fees: StarknetFees;
20
- readonly Tokens: StarknetTokens;
21
- readonly Transactions: StarknetTransactions;
22
- readonly Addresses: StarknetAddresses;
23
- readonly Signatures: StarknetSignatures;
24
- readonly Events: StarknetEvents;
25
- readonly Accounts: StarknetAccounts;
26
- readonly Blocks: StarknetBlocks;
27
- protected readonly logger: {
28
- debug: (msg: any, ...args: any[]) => void;
29
- info: (msg: any, ...args: any[]) => void;
30
- warn: (msg: any, ...args: any[]) => void;
31
- error: (msg: any, ...args: any[]) => void;
32
- };
33
- constructor(chainId: constants.StarknetChainId, provider: Provider, retryPolicy?: StarknetRetryPolicy, solanaFeeEstimator?: StarknetFees);
34
- }
@@ -1,29 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StarknetBase = void 0;
4
- const Utils_1 = require("../../utils/Utils");
5
- const StarknetTransactions_1 = require("./modules/StarknetTransactions");
6
- const StarknetFees_1 = require("./modules/StarknetFees");
7
- const StarknetAddresses_1 = require("./modules/StarknetAddresses");
8
- const StarknetTokens_1 = require("./modules/StarknetTokens");
9
- const StarknetEvents_1 = require("./modules/StarknetEvents");
10
- const StarknetSignatures_1 = require("./modules/StarknetSignatures");
11
- const StarknetAccounts_1 = require("./modules/StarknetAccounts");
12
- const StarknetBlocks_1 = require("./modules/StarknetBlocks");
13
- class StarknetBase {
14
- constructor(chainId, provider, retryPolicy, solanaFeeEstimator = new StarknetFees_1.StarknetFees(provider)) {
15
- this.logger = (0, Utils_1.getLogger)(this.constructor.name + ": ");
16
- this.starknetChainId = chainId;
17
- this.provider = provider;
18
- this.retryPolicy = retryPolicy;
19
- this.Fees = solanaFeeEstimator;
20
- this.Tokens = new StarknetTokens_1.StarknetTokens(this);
21
- this.Transactions = new StarknetTransactions_1.StarknetTransactions(this);
22
- this.Addresses = new StarknetAddresses_1.StarknetAddresses(this);
23
- this.Signatures = new StarknetSignatures_1.StarknetSignatures(this);
24
- this.Events = new StarknetEvents_1.StarknetEvents(this);
25
- this.Accounts = new StarknetAccounts_1.StarknetAccounts(this);
26
- this.Blocks = new StarknetBlocks_1.StarknetBlocks(this);
27
- }
28
- }
29
- exports.StarknetBase = StarknetBase;
@@ -1,56 +0,0 @@
1
- import {Provider, constants} from "starknet";
2
- import {getLogger} from "../../utils/Utils";
3
- import {StarknetTransactions} from "./modules/StarknetTransactions";
4
- import {StarknetFees} from "./modules/StarknetFees";
5
- import {StarknetAddresses} from "./modules/StarknetAddresses";
6
- import {StarknetTokens} from "./modules/StarknetTokens";
7
- import {StarknetEvents} from "./modules/StarknetEvents";
8
- import {StarknetSignatures} from "./modules/StarknetSignatures";
9
- import {StarknetAccounts} from "./modules/StarknetAccounts";
10
- import {StarknetBlocks} from "./modules/StarknetBlocks";
11
-
12
- export type StarknetRetryPolicy = {
13
- maxRetries?: number,
14
- delay?: number,
15
- exponential?: boolean
16
- }
17
-
18
- export class StarknetBase {
19
-
20
- readonly provider: Provider;
21
- readonly retryPolicy: StarknetRetryPolicy;
22
-
23
- public readonly starknetChainId: constants.StarknetChainId;
24
-
25
- public Fees: StarknetFees;
26
- public readonly Tokens: StarknetTokens;
27
- public readonly Transactions: StarknetTransactions;
28
- public readonly Addresses: StarknetAddresses;
29
- public readonly Signatures: StarknetSignatures;
30
- public readonly Events: StarknetEvents;
31
- public readonly Accounts: StarknetAccounts;
32
- public readonly Blocks: StarknetBlocks;
33
-
34
- protected readonly logger = getLogger(this.constructor.name+": ");
35
-
36
- constructor(
37
- chainId: constants.StarknetChainId,
38
- provider: Provider,
39
- retryPolicy?: StarknetRetryPolicy,
40
- solanaFeeEstimator: StarknetFees = new StarknetFees(provider)
41
- ) {
42
- this.starknetChainId = chainId;
43
- this.provider = provider;
44
- this.retryPolicy = retryPolicy;
45
-
46
- this.Fees = solanaFeeEstimator;
47
- this.Tokens = new StarknetTokens(this);
48
- this.Transactions = new StarknetTransactions(this);
49
- this.Addresses = new StarknetAddresses(this);
50
- this.Signatures = new StarknetSignatures(this);
51
- this.Events = new StarknetEvents(this);
52
- this.Accounts = new StarknetAccounts(this);
53
- this.Blocks = new StarknetBlocks(this);
54
- }
55
-
56
- }
File without changes
File without changes