@atomiqlabs/chain-starknet 8.0.13 → 8.1.10

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 (119) hide show
  1. package/dist/index.d.ts +18 -18
  2. package/dist/index.js +42 -42
  3. package/dist/starknet/StarknetChainType.d.ts +19 -19
  4. package/dist/starknet/StarknetChainType.js +2 -2
  5. package/dist/starknet/StarknetInitializer.d.ts +66 -63
  6. package/dist/starknet/StarknetInitializer.js +101 -101
  7. package/dist/starknet/btcrelay/BtcRelayAbi.d.ts +250 -250
  8. package/dist/starknet/btcrelay/BtcRelayAbi.js +341 -341
  9. package/dist/starknet/btcrelay/StarknetBtcRelay.d.ts +196 -196
  10. package/dist/starknet/btcrelay/StarknetBtcRelay.js +419 -411
  11. package/dist/starknet/btcrelay/headers/StarknetBtcHeader.d.ts +70 -70
  12. package/dist/starknet/btcrelay/headers/StarknetBtcHeader.js +115 -115
  13. package/dist/starknet/btcrelay/headers/StarknetBtcStoredHeader.d.ts +91 -91
  14. package/dist/starknet/btcrelay/headers/StarknetBtcStoredHeader.js +155 -155
  15. package/dist/starknet/chain/StarknetAction.d.ts +19 -19
  16. package/dist/starknet/chain/StarknetAction.js +74 -74
  17. package/dist/starknet/chain/StarknetChainInterface.d.ts +142 -143
  18. package/dist/starknet/chain/StarknetChainInterface.js +198 -199
  19. package/dist/starknet/chain/StarknetModule.d.ts +8 -8
  20. package/dist/starknet/chain/StarknetModule.js +12 -12
  21. package/dist/starknet/chain/modules/ERC20Abi.d.ts +755 -755
  22. package/dist/starknet/chain/modules/ERC20Abi.js +1032 -1032
  23. package/dist/starknet/chain/modules/StarknetAccounts.d.ts +6 -6
  24. package/dist/starknet/chain/modules/StarknetAccounts.js +26 -26
  25. package/dist/starknet/chain/modules/StarknetAddresses.d.ts +10 -10
  26. package/dist/starknet/chain/modules/StarknetAddresses.js +27 -27
  27. package/dist/starknet/chain/modules/StarknetBlocks.d.ts +27 -27
  28. package/dist/starknet/chain/modules/StarknetBlocks.js +82 -82
  29. package/dist/starknet/chain/modules/StarknetEvents.d.ts +47 -47
  30. package/dist/starknet/chain/modules/StarknetEvents.js +90 -90
  31. package/dist/starknet/chain/modules/StarknetFees.d.ts +118 -104
  32. package/dist/starknet/chain/modules/StarknetFees.js +150 -146
  33. package/dist/starknet/chain/modules/StarknetSignatures.d.ts +29 -29
  34. package/dist/starknet/chain/modules/StarknetSignatures.js +72 -72
  35. package/dist/starknet/chain/modules/StarknetTokens.d.ts +66 -66
  36. package/dist/starknet/chain/modules/StarknetTokens.js +99 -99
  37. package/dist/starknet/chain/modules/StarknetTransactions.d.ts +122 -115
  38. package/dist/starknet/chain/modules/StarknetTransactions.js +633 -612
  39. package/dist/starknet/contract/StarknetContractBase.d.ts +14 -13
  40. package/dist/starknet/contract/StarknetContractBase.js +21 -20
  41. package/dist/starknet/contract/StarknetContractModule.d.ts +8 -8
  42. package/dist/starknet/contract/StarknetContractModule.js +11 -11
  43. package/dist/starknet/contract/modules/StarknetContractEvents.d.ts +56 -57
  44. package/dist/starknet/contract/modules/StarknetContractEvents.js +111 -111
  45. package/dist/starknet/events/StarknetChainEvents.d.ts +21 -21
  46. package/dist/starknet/events/StarknetChainEvents.js +61 -61
  47. package/dist/starknet/events/StarknetChainEventsBrowser.d.ts +178 -190
  48. package/dist/starknet/events/StarknetChainEventsBrowser.js +523 -582
  49. package/dist/starknet/provider/RpcProviderWithRetries.d.ts +49 -53
  50. package/dist/starknet/provider/RpcProviderWithRetries.js +94 -94
  51. package/dist/starknet/provider/WebSocketChannelWithRetries.d.ts +21 -21
  52. package/dist/starknet/provider/WebSocketChannelWithRetries.js +46 -46
  53. package/dist/starknet/spv_swap/SpvVaultContractAbi.d.ts +488 -488
  54. package/dist/starknet/spv_swap/SpvVaultContractAbi.js +656 -656
  55. package/dist/starknet/spv_swap/StarknetSpvVaultContract.d.ts +225 -219
  56. package/dist/starknet/spv_swap/StarknetSpvVaultContract.js +663 -621
  57. package/dist/starknet/spv_swap/StarknetSpvVaultData.d.ts +108 -108
  58. package/dist/starknet/spv_swap/StarknetSpvVaultData.js +190 -190
  59. package/dist/starknet/spv_swap/StarknetSpvWithdrawalData.d.ts +56 -56
  60. package/dist/starknet/spv_swap/StarknetSpvWithdrawalData.js +103 -103
  61. package/dist/starknet/swaps/EscrowManagerAbi.d.ts +431 -431
  62. package/dist/starknet/swaps/EscrowManagerAbi.js +583 -583
  63. package/dist/starknet/swaps/StarknetSwapContract.d.ts +309 -278
  64. package/dist/starknet/swaps/StarknetSwapContract.js +755 -579
  65. package/dist/starknet/swaps/StarknetSwapData.d.ts +234 -234
  66. package/dist/starknet/swaps/StarknetSwapData.js +474 -474
  67. package/dist/starknet/swaps/StarknetSwapModule.d.ts +10 -10
  68. package/dist/starknet/swaps/StarknetSwapModule.js +12 -12
  69. package/dist/starknet/swaps/handlers/IHandler.d.ts +13 -13
  70. package/dist/starknet/swaps/handlers/IHandler.js +2 -2
  71. package/dist/starknet/swaps/handlers/claim/ClaimHandlers.d.ts +13 -13
  72. package/dist/starknet/swaps/handlers/claim/ClaimHandlers.js +13 -13
  73. package/dist/starknet/swaps/handlers/claim/HashlockClaimHandler.d.ts +21 -21
  74. package/dist/starknet/swaps/handlers/claim/HashlockClaimHandler.js +44 -44
  75. package/dist/starknet/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.d.ts +24 -24
  76. package/dist/starknet/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.js +48 -48
  77. package/dist/starknet/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.d.ts +25 -25
  78. package/dist/starknet/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.js +40 -40
  79. package/dist/starknet/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.d.ts +20 -20
  80. package/dist/starknet/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.js +30 -30
  81. package/dist/starknet/swaps/handlers/claim/btc/IBitcoinClaimHandler.d.ts +42 -45
  82. package/dist/starknet/swaps/handlers/claim/btc/IBitcoinClaimHandler.js +50 -54
  83. package/dist/starknet/swaps/handlers/refund/TimelockRefundHandler.d.ts +17 -17
  84. package/dist/starknet/swaps/handlers/refund/TimelockRefundHandler.js +27 -27
  85. package/dist/starknet/swaps/modules/StarknetLpVault.d.ts +67 -67
  86. package/dist/starknet/swaps/modules/StarknetLpVault.js +122 -122
  87. package/dist/starknet/swaps/modules/StarknetSwapClaim.d.ts +52 -52
  88. package/dist/starknet/swaps/modules/StarknetSwapClaim.js +99 -99
  89. package/dist/starknet/swaps/modules/StarknetSwapInit.d.ts +94 -94
  90. package/dist/starknet/swaps/modules/StarknetSwapInit.js +239 -239
  91. package/dist/starknet/swaps/modules/StarknetSwapRefund.d.ts +60 -60
  92. package/dist/starknet/swaps/modules/StarknetSwapRefund.js +126 -126
  93. package/dist/starknet/wallet/StarknetBrowserSigner.d.ts +11 -11
  94. package/dist/starknet/wallet/StarknetBrowserSigner.js +17 -17
  95. package/dist/starknet/wallet/StarknetPersistentSigner.d.ts +76 -76
  96. package/dist/starknet/wallet/StarknetPersistentSigner.js +291 -291
  97. package/dist/starknet/wallet/StarknetSigner.d.ts +72 -72
  98. package/dist/starknet/wallet/StarknetSigner.js +114 -114
  99. package/dist/starknet/wallet/accounts/StarknetKeypairWallet.d.ts +18 -18
  100. package/dist/starknet/wallet/accounts/StarknetKeypairWallet.js +45 -45
  101. package/dist/utils/Utils.d.ts +77 -77
  102. package/dist/utils/Utils.js +304 -303
  103. package/package.json +2 -2
  104. package/src/starknet/StarknetInitializer.ts +6 -3
  105. package/src/starknet/btcrelay/StarknetBtcRelay.ts +19 -6
  106. package/src/starknet/btcrelay/headers/StarknetBtcHeader.ts +7 -7
  107. package/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts +6 -6
  108. package/src/starknet/chain/StarknetAction.ts +1 -0
  109. package/src/starknet/chain/StarknetChainInterface.ts +0 -2
  110. package/src/starknet/chain/modules/StarknetFees.ts +15 -2
  111. package/src/starknet/chain/modules/StarknetTransactions.ts +24 -0
  112. package/src/starknet/contract/StarknetContractBase.ts +7 -4
  113. package/src/starknet/contract/StarknetContractModule.ts +1 -1
  114. package/src/starknet/contract/modules/StarknetContractEvents.ts +7 -7
  115. package/src/starknet/events/StarknetChainEventsBrowser.ts +2 -64
  116. package/src/starknet/provider/RpcProviderWithRetries.ts +1 -1
  117. package/src/starknet/spv_swap/StarknetSpvVaultContract.ts +84 -18
  118. package/src/starknet/swaps/StarknetSwapContract.ts +242 -6
  119. package/src/starknet/swaps/handlers/claim/btc/IBitcoinClaimHandler.ts +0 -4
@@ -1,126 +1,126 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StarknetSwapRefund = void 0;
4
- const base_1 = require("@atomiqlabs/base");
5
- const Utils_1 = require("../../../utils/Utils");
6
- const StarknetSwapModule_1 = require("../StarknetSwapModule");
7
- const StarknetAction_1 = require("../../chain/StarknetAction");
8
- const StarknetFees_1 = require("../../chain/modules/StarknetFees");
9
- const Refund = [
10
- { name: 'Swap hash', type: 'felt' },
11
- { name: 'Timeout', type: 'timestamp' }
12
- ];
13
- class StarknetSwapRefund extends StarknetSwapModule_1.StarknetSwapModule {
14
- /**
15
- * Action for generic Refund instruction
16
- *
17
- * @param signer
18
- * @param swapData
19
- * @param witness
20
- * @param handlerGas
21
- * @private
22
- */
23
- Refund(signer, swapData, witness, handlerGas) {
24
- return new StarknetAction_1.StarknetAction(signer, this.root, this.swapContract.populateTransaction.refund(swapData.toEscrowStruct(), witness), (0, StarknetFees_1.starknetGasAdd)(swapData.payIn ? StarknetSwapRefund.GasCosts.REFUND_PAY_OUT : StarknetSwapRefund.GasCosts.REFUND, handlerGas));
25
- }
26
- /**
27
- * Action for cooperative refunding with signature
28
- *
29
- * @param sender
30
- * @param swapData
31
- * @param timeout
32
- * @param signature
33
- * @private
34
- */
35
- RefundWithSignature(sender, swapData, timeout, signature) {
36
- return new StarknetAction_1.StarknetAction(sender, this.root, this.swapContract.populateTransaction.cooperative_refund(swapData.toEscrowStruct(), signature, BigInt(timeout)), swapData.payIn ? StarknetSwapRefund.GasCosts.REFUND_PAY_OUT : StarknetSwapRefund.GasCosts.REFUND);
37
- }
38
- async signSwapRefund(signer, swapData, authorizationTimeout) {
39
- const authPrefix = "refund";
40
- const authTimeout = Math.floor(Date.now() / 1000) + authorizationTimeout;
41
- const signature = await this.root.Signatures.signTypedMessage(signer, Refund, "Refund", {
42
- "Swap hash": "0x" + swapData.getEscrowHash(),
43
- "Timeout": (0, Utils_1.toHex)(authTimeout)
44
- });
45
- return {
46
- prefix: authPrefix,
47
- timeout: authTimeout.toString(10),
48
- signature: signature
49
- };
50
- }
51
- async isSignatureValid(swapData, timeout, prefix, signature) {
52
- if (prefix !== "refund")
53
- throw new base_1.SignatureVerificationError("Invalid prefix");
54
- const expiryTimestamp = BigInt(timeout);
55
- const currentTimestamp = BigInt(Math.floor(Date.now() / 1000));
56
- const isExpired = (expiryTimestamp - currentTimestamp) < BigInt(this.contract.authGracePeriod);
57
- if (isExpired)
58
- throw new base_1.SignatureVerificationError("Authorization expired!");
59
- const valid = await this.root.Signatures.isValidSignature(signature, swapData.claimer, Refund, "Refund", {
60
- "Swap hash": "0x" + swapData.getEscrowHash(),
61
- "Timeout": (0, Utils_1.toHex)(expiryTimestamp)
62
- });
63
- if (!valid) {
64
- throw new base_1.SignatureVerificationError("Invalid signature!");
65
- }
66
- return null;
67
- }
68
- /**
69
- * Creates transactions required for refunding timed out swap
70
- *
71
- * @param signer
72
- * @param swapData swap data to refund
73
- * @param check whether to check if swap is already expired and refundable
74
- * @param feeRate fee rate to be used for the transactions
75
- * @param witnessData
76
- */
77
- async txsRefund(signer, swapData, check, feeRate, witnessData) {
78
- const refundHandler = this.contract.refundHandlersByAddress[swapData.refundHandler.toLowerCase()];
79
- if (refundHandler == null)
80
- throw new Error("Invalid refund handler");
81
- if (check && !await this.contract.isRequestRefundable(swapData.offerer.toString(), swapData)) {
82
- throw new base_1.SwapDataVerificationError("Not refundable yet!");
83
- }
84
- feeRate ?? (feeRate = await this.root.Fees.getFeeRate());
85
- const { initialTxns, witness } = await refundHandler.getWitness(signer, swapData, witnessData, feeRate);
86
- const action = this.Refund(signer, swapData, witness, refundHandler.getGas(swapData));
87
- await action.addToTxs(initialTxns, feeRate);
88
- this.logger.debug("txsRefund(): creating refund transaction, swap: " + swapData.getClaimHash());
89
- return initialTxns;
90
- }
91
- /**
92
- * Creates transactions required for refunding the swap with authorization signature, also unwraps WSOL to SOL
93
- *
94
- * @param signer
95
- * @param swapData swap data to refund
96
- * @param timeout signature timeout
97
- * @param prefix signature prefix of the counterparty
98
- * @param signature signature of the counterparty
99
- * @param check whether to check if swap is committed before attempting refund
100
- * @param feeRate fee rate to be used for the transactions
101
- */
102
- async txsRefundWithAuthorization(signer, swapData, timeout, prefix, signature, check, feeRate) {
103
- if (check && !await this.contract.isCommited(swapData)) {
104
- throw new base_1.SwapDataVerificationError("Not correctly committed");
105
- }
106
- await this.isSignatureValid(swapData, timeout, prefix, signature);
107
- const action = this.RefundWithSignature(signer, swapData, timeout, JSON.parse(signature));
108
- feeRate ?? (feeRate = await this.root.Fees.getFeeRate());
109
- this.logger.debug("txsRefundWithAuthorization(): creating refund transaction, swap: " + swapData.getClaimHash() +
110
- " auth expiry: " + timeout + " signature: " + signature);
111
- return [await action.tx(feeRate)];
112
- }
113
- /**
114
- * Get the estimated solana transaction fee of the refund transaction, in the worst case scenario in case where the
115
- * ATA needs to be initialized again (i.e. adding the ATA rent exempt lamports to the fee)
116
- */
117
- async getRefundFee(swapData, feeRate) {
118
- feeRate ?? (feeRate = await this.root.Fees.getFeeRate());
119
- return StarknetFees_1.StarknetFees.getGasFee(swapData.payIn ? StarknetSwapRefund.GasCosts.REFUND_PAY_OUT : StarknetSwapRefund.GasCosts.REFUND, feeRate);
120
- }
121
- }
122
- exports.StarknetSwapRefund = StarknetSwapRefund;
123
- StarknetSwapRefund.GasCosts = {
124
- REFUND: { l1DataGas: 750, l2Gas: 4000000, l1Gas: 0 },
125
- REFUND_PAY_OUT: { l1DataGas: 900, l2Gas: 6000000, l1Gas: 0 }
126
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StarknetSwapRefund = void 0;
4
+ const base_1 = require("@atomiqlabs/base");
5
+ const Utils_1 = require("../../../utils/Utils");
6
+ const StarknetSwapModule_1 = require("../StarknetSwapModule");
7
+ const StarknetAction_1 = require("../../chain/StarknetAction");
8
+ const StarknetFees_1 = require("../../chain/modules/StarknetFees");
9
+ const Refund = [
10
+ { name: 'Swap hash', type: 'felt' },
11
+ { name: 'Timeout', type: 'timestamp' }
12
+ ];
13
+ class StarknetSwapRefund extends StarknetSwapModule_1.StarknetSwapModule {
14
+ /**
15
+ * Action for generic Refund instruction
16
+ *
17
+ * @param signer
18
+ * @param swapData
19
+ * @param witness
20
+ * @param handlerGas
21
+ * @private
22
+ */
23
+ Refund(signer, swapData, witness, handlerGas) {
24
+ return new StarknetAction_1.StarknetAction(signer, this.root, this.swapContract.populateTransaction.refund(swapData.toEscrowStruct(), witness), (0, StarknetFees_1.starknetGasAdd)(swapData.payIn ? StarknetSwapRefund.GasCosts.REFUND_PAY_OUT : StarknetSwapRefund.GasCosts.REFUND, handlerGas));
25
+ }
26
+ /**
27
+ * Action for cooperative refunding with signature
28
+ *
29
+ * @param sender
30
+ * @param swapData
31
+ * @param timeout
32
+ * @param signature
33
+ * @private
34
+ */
35
+ RefundWithSignature(sender, swapData, timeout, signature) {
36
+ return new StarknetAction_1.StarknetAction(sender, this.root, this.swapContract.populateTransaction.cooperative_refund(swapData.toEscrowStruct(), signature, BigInt(timeout)), swapData.payIn ? StarknetSwapRefund.GasCosts.REFUND_PAY_OUT : StarknetSwapRefund.GasCosts.REFUND);
37
+ }
38
+ async signSwapRefund(signer, swapData, authorizationTimeout) {
39
+ const authPrefix = "refund";
40
+ const authTimeout = Math.floor(Date.now() / 1000) + authorizationTimeout;
41
+ const signature = await this.root.Signatures.signTypedMessage(signer, Refund, "Refund", {
42
+ "Swap hash": "0x" + swapData.getEscrowHash(),
43
+ "Timeout": (0, Utils_1.toHex)(authTimeout)
44
+ });
45
+ return {
46
+ prefix: authPrefix,
47
+ timeout: authTimeout.toString(10),
48
+ signature: signature
49
+ };
50
+ }
51
+ async isSignatureValid(swapData, timeout, prefix, signature) {
52
+ if (prefix !== "refund")
53
+ throw new base_1.SignatureVerificationError("Invalid prefix");
54
+ const expiryTimestamp = BigInt(timeout);
55
+ const currentTimestamp = BigInt(Math.floor(Date.now() / 1000));
56
+ const isExpired = (expiryTimestamp - currentTimestamp) < BigInt(this.contract.authGracePeriod);
57
+ if (isExpired)
58
+ throw new base_1.SignatureVerificationError("Authorization expired!");
59
+ const valid = await this.root.Signatures.isValidSignature(signature, swapData.claimer, Refund, "Refund", {
60
+ "Swap hash": "0x" + swapData.getEscrowHash(),
61
+ "Timeout": (0, Utils_1.toHex)(expiryTimestamp)
62
+ });
63
+ if (!valid) {
64
+ throw new base_1.SignatureVerificationError("Invalid signature!");
65
+ }
66
+ return null;
67
+ }
68
+ /**
69
+ * Creates transactions required for refunding timed out swap
70
+ *
71
+ * @param signer
72
+ * @param swapData swap data to refund
73
+ * @param check whether to check if swap is already expired and refundable
74
+ * @param feeRate fee rate to be used for the transactions
75
+ * @param witnessData
76
+ */
77
+ async txsRefund(signer, swapData, check, feeRate, witnessData) {
78
+ const refundHandler = this.contract.refundHandlersByAddress[swapData.refundHandler.toLowerCase()];
79
+ if (refundHandler == null)
80
+ throw new Error("Invalid refund handler");
81
+ if (check && !await this.contract.isRequestRefundable(swapData.offerer.toString(), swapData)) {
82
+ throw new base_1.SwapDataVerificationError("Not refundable yet!");
83
+ }
84
+ feeRate ?? (feeRate = await this.root.Fees.getFeeRate());
85
+ const { initialTxns, witness } = await refundHandler.getWitness(signer, swapData, witnessData, feeRate);
86
+ const action = this.Refund(signer, swapData, witness, refundHandler.getGas(swapData));
87
+ await action.addToTxs(initialTxns, feeRate);
88
+ this.logger.debug("txsRefund(): creating refund transaction, swap: " + swapData.getClaimHash());
89
+ return initialTxns;
90
+ }
91
+ /**
92
+ * Creates transactions required for refunding the swap with authorization signature, also unwraps WSOL to SOL
93
+ *
94
+ * @param signer
95
+ * @param swapData swap data to refund
96
+ * @param timeout signature timeout
97
+ * @param prefix signature prefix of the counterparty
98
+ * @param signature signature of the counterparty
99
+ * @param check whether to check if swap is committed before attempting refund
100
+ * @param feeRate fee rate to be used for the transactions
101
+ */
102
+ async txsRefundWithAuthorization(signer, swapData, timeout, prefix, signature, check, feeRate) {
103
+ if (check && !await this.contract.isCommited(swapData)) {
104
+ throw new base_1.SwapDataVerificationError("Not correctly committed");
105
+ }
106
+ await this.isSignatureValid(swapData, timeout, prefix, signature);
107
+ const action = this.RefundWithSignature(signer, swapData, timeout, JSON.parse(signature));
108
+ feeRate ?? (feeRate = await this.root.Fees.getFeeRate());
109
+ this.logger.debug("txsRefundWithAuthorization(): creating refund transaction, swap: " + swapData.getClaimHash() +
110
+ " auth expiry: " + timeout + " signature: " + signature);
111
+ return [await action.tx(feeRate)];
112
+ }
113
+ /**
114
+ * Get the estimated solana transaction fee of the refund transaction, in the worst case scenario in case where the
115
+ * ATA needs to be initialized again (i.e. adding the ATA rent exempt lamports to the fee)
116
+ */
117
+ async getRefundFee(swapData, feeRate) {
118
+ feeRate ?? (feeRate = await this.root.Fees.getFeeRate());
119
+ return StarknetFees_1.StarknetFees.getGasFee(swapData.payIn ? StarknetSwapRefund.GasCosts.REFUND_PAY_OUT : StarknetSwapRefund.GasCosts.REFUND, feeRate);
120
+ }
121
+ }
122
+ exports.StarknetSwapRefund = StarknetSwapRefund;
123
+ StarknetSwapRefund.GasCosts = {
124
+ REFUND: { l1DataGas: 750, l2Gas: 4000000, l1Gas: 0 },
125
+ REFUND_PAY_OUT: { l1DataGas: 900, l2Gas: 6000000, l1Gas: 0 }
126
+ };
@@ -1,11 +1,11 @@
1
- import { StarknetSigner } from "./StarknetSigner";
2
- import { Account } from "starknet";
3
- /**
4
- * Browser-based Starknet signer, use with browser based signer accounts, this ensures that
5
- * no signTransaction calls are made and only sendTransaction is supported!
6
- *
7
- * @category Wallets
8
- */
9
- export declare class StarknetBrowserSigner extends StarknetSigner {
10
- constructor(account: Account);
11
- }
1
+ import { StarknetSigner } from "./StarknetSigner";
2
+ import { Account } from "starknet";
3
+ /**
4
+ * Browser-based Starknet signer, use with browser based signer accounts, this ensures that
5
+ * no signTransaction calls are made and only sendTransaction is supported!
6
+ *
7
+ * @category Wallets
8
+ */
9
+ export declare class StarknetBrowserSigner extends StarknetSigner {
10
+ constructor(account: Account);
11
+ }
@@ -1,17 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StarknetBrowserSigner = void 0;
4
- const StarknetSigner_1 = require("./StarknetSigner");
5
- /**
6
- * Browser-based Starknet signer, use with browser based signer accounts, this ensures that
7
- * no signTransaction calls are made and only sendTransaction is supported!
8
- *
9
- * @category Wallets
10
- */
11
- class StarknetBrowserSigner extends StarknetSigner_1.StarknetSigner {
12
- constructor(account) {
13
- super(account, false);
14
- this.signTransaction = undefined;
15
- }
16
- }
17
- exports.StarknetBrowserSigner = StarknetBrowserSigner;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StarknetBrowserSigner = void 0;
4
+ const StarknetSigner_1 = require("./StarknetSigner");
5
+ /**
6
+ * Browser-based Starknet signer, use with browser based signer accounts, this ensures that
7
+ * no signTransaction calls are made and only sendTransaction is supported!
8
+ *
9
+ * @category Wallets
10
+ */
11
+ class StarknetBrowserSigner extends StarknetSigner_1.StarknetSigner {
12
+ constructor(account) {
13
+ super(account, false);
14
+ this.signTransaction = undefined;
15
+ }
16
+ }
17
+ exports.StarknetBrowserSigner = StarknetBrowserSigner;
@@ -1,76 +1,76 @@
1
- import { StarknetSigner } from "./StarknetSigner";
2
- import { StarknetTx } from "../chain/modules/StarknetTransactions";
3
- import { StarknetChainInterface } from "../chain/StarknetChainInterface";
4
- import { Account } from "starknet";
5
- /**
6
- * Configuration for the persistent signer
7
- *
8
- * @category Wallets
9
- */
10
- export type StarknetPersistentSignerConfig = {
11
- /**
12
- * How long to wait for the transaction to confirm before bumping the fee (default 15,000ms = 15s)
13
- */
14
- waitBeforeBump?: number;
15
- /**
16
- * Minimum fee increment in absolute terms in base units of STRK token (default 1,000,000 = 0.001GFri)
17
- */
18
- minFeeIncreaseAbsolute?: bigint;
19
- /**
20
- * Minimum fee increase in PPM (parts per million, i.e. 10,000 = 1%) (default 110,000 = 11%)
21
- */
22
- minFeeIncreasePpm?: bigint;
23
- /**
24
- * Minimum tip increment in absolute terms in base units of STRK token (default 1,000,000,000 = 1GFri)
25
- */
26
- minTipIncreaseAbsolute?: bigint;
27
- /**
28
- * Minimum tip increase in PPM (parts per million, i.e. 10,000 = 1%) (default 110,000 = 11%)
29
- */
30
- minTipIncreasePpm?: bigint;
31
- };
32
- /**
33
- * A complex starknet signer implementation with internal nonce management, with race condition preventions,
34
- * automatic transaction rebroadcasting and failovers. Uses the NodeJS `fs` library to persist transaction
35
- * data across application restarts, hence this doesn't work on frontends and is intended to be used as a
36
- * robust backend wallet implementation.
37
- *
38
- * @category Wallets
39
- */
40
- export declare class StarknetPersistentSigner extends StarknetSigner {
41
- private pendingTxs;
42
- private confirmedNonce;
43
- private pendingNonce;
44
- private feeBumper;
45
- private stopped;
46
- private readonly directory;
47
- private readonly config;
48
- private readonly chainInterface;
49
- private readonly logger;
50
- constructor(account: Account, chainInterface: StarknetChainInterface, directory: string, config?: StarknetPersistentSignerConfig);
51
- private load;
52
- private priorSavePromise?;
53
- private saveCount;
54
- private save;
55
- private checkPastTransactions;
56
- private startFeeBumper;
57
- private syncNonceFromChain;
58
- /**
59
- * @inheritDoc
60
- */
61
- init(): Promise<void>;
62
- /**
63
- * @inheritDoc
64
- */
65
- stop(): Promise<void>;
66
- private readonly sendTransactionQueue;
67
- /**
68
- * Signs and sends the starknet transaction, the `onBeforePublish` callback is called after the transaction
69
- * is signed and before it is broadcast. Ensures that transactions are always sent in order by using a
70
- * "single-threaded" promise queue, and no nonce collision happen.
71
- *
72
- * @param transaction A transaction to sign and send
73
- * @param onBeforePublish A callback that is called before the transaction gets broadcasted
74
- */
75
- sendTransaction(transaction: StarknetTx, onBeforePublish?: (txId: string, rawTx: string) => Promise<void>): Promise<string>;
76
- }
1
+ import { StarknetSigner } from "./StarknetSigner";
2
+ import { StarknetTx } from "../chain/modules/StarknetTransactions";
3
+ import { StarknetChainInterface } from "../chain/StarknetChainInterface";
4
+ import { Account } from "starknet";
5
+ /**
6
+ * Configuration for the persistent signer
7
+ *
8
+ * @category Wallets
9
+ */
10
+ export type StarknetPersistentSignerConfig = {
11
+ /**
12
+ * How long to wait for the transaction to confirm before bumping the fee (default 15,000ms = 15s)
13
+ */
14
+ waitBeforeBump?: number;
15
+ /**
16
+ * Minimum fee increment in absolute terms in base units of STRK token (default 1,000,000 = 0.001GFri)
17
+ */
18
+ minFeeIncreaseAbsolute?: bigint;
19
+ /**
20
+ * Minimum fee increase in PPM (parts per million, i.e. 10,000 = 1%) (default 110,000 = 11%)
21
+ */
22
+ minFeeIncreasePpm?: bigint;
23
+ /**
24
+ * Minimum tip increment in absolute terms in base units of STRK token (default 1,000,000,000 = 1GFri)
25
+ */
26
+ minTipIncreaseAbsolute?: bigint;
27
+ /**
28
+ * Minimum tip increase in PPM (parts per million, i.e. 10,000 = 1%) (default 110,000 = 11%)
29
+ */
30
+ minTipIncreasePpm?: bigint;
31
+ };
32
+ /**
33
+ * A complex starknet signer implementation with internal nonce management, with race condition preventions,
34
+ * automatic transaction rebroadcasting and failovers. Uses the NodeJS `fs` library to persist transaction
35
+ * data across application restarts, hence this doesn't work on frontends and is intended to be used as a
36
+ * robust backend wallet implementation.
37
+ *
38
+ * @category Wallets
39
+ */
40
+ export declare class StarknetPersistentSigner extends StarknetSigner {
41
+ private pendingTxs;
42
+ private confirmedNonce;
43
+ private pendingNonce;
44
+ private feeBumper;
45
+ private stopped;
46
+ private readonly directory;
47
+ private readonly config;
48
+ private readonly chainInterface;
49
+ private readonly logger;
50
+ constructor(account: Account, chainInterface: StarknetChainInterface, directory: string, config?: StarknetPersistentSignerConfig);
51
+ private load;
52
+ private priorSavePromise?;
53
+ private saveCount;
54
+ private save;
55
+ private checkPastTransactions;
56
+ private startFeeBumper;
57
+ private syncNonceFromChain;
58
+ /**
59
+ * @inheritDoc
60
+ */
61
+ init(): Promise<void>;
62
+ /**
63
+ * @inheritDoc
64
+ */
65
+ stop(): Promise<void>;
66
+ private readonly sendTransactionQueue;
67
+ /**
68
+ * Signs and sends the starknet transaction, the `onBeforePublish` callback is called after the transaction
69
+ * is signed and before it is broadcast. Ensures that transactions are always sent in order by using a
70
+ * "single-threaded" promise queue, and no nonce collision happen.
71
+ *
72
+ * @param transaction A transaction to sign and send
73
+ * @param onBeforePublish A callback that is called before the transaction gets broadcasted
74
+ */
75
+ sendTransaction(transaction: StarknetTx, onBeforePublish?: (txId: string, rawTx: string) => Promise<void>): Promise<string>;
76
+ }