@atomiqlabs/chain-evm 1.0.0-dev.75 → 1.0.0-dev.77
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.
- package/LICENSE +201 -201
- package/dist/chains/botanix/BotanixChainType.d.ts +13 -13
- package/dist/chains/botanix/BotanixChainType.js +2 -2
- package/dist/chains/botanix/BotanixInitializer.d.ts +30 -30
- package/dist/chains/botanix/BotanixInitializer.js +122 -122
- package/dist/chains/citrea/CitreaBtcRelay.d.ts +21 -21
- package/dist/chains/citrea/CitreaBtcRelay.js +43 -43
- package/dist/chains/citrea/CitreaChainType.d.ts +13 -13
- package/dist/chains/citrea/CitreaChainType.js +2 -2
- package/dist/chains/citrea/CitreaFees.d.ts +29 -29
- package/dist/chains/citrea/CitreaFees.js +67 -67
- package/dist/chains/citrea/CitreaInitializer.d.ts +30 -30
- package/dist/chains/citrea/CitreaInitializer.js +129 -129
- package/dist/chains/citrea/CitreaSpvVaultContract.d.ts +15 -15
- package/dist/chains/citrea/CitreaSpvVaultContract.js +74 -74
- package/dist/chains/citrea/CitreaSwapContract.d.ts +22 -22
- package/dist/chains/citrea/CitreaSwapContract.js +96 -96
- package/dist/chains/citrea/CitreaTokens.d.ts +9 -9
- package/dist/chains/citrea/CitreaTokens.js +20 -20
- package/dist/evm/btcrelay/BtcRelayAbi.d.ts +198 -198
- package/dist/evm/btcrelay/BtcRelayAbi.js +261 -261
- package/dist/evm/btcrelay/BtcRelayTypechain.d.ts +172 -172
- package/dist/evm/btcrelay/BtcRelayTypechain.js +2 -2
- package/dist/evm/btcrelay/EVMBtcRelay.d.ts +197 -197
- package/dist/evm/btcrelay/EVMBtcRelay.js +435 -435
- package/dist/evm/btcrelay/headers/EVMBtcHeader.d.ts +33 -33
- package/dist/evm/btcrelay/headers/EVMBtcHeader.js +84 -84
- package/dist/evm/btcrelay/headers/EVMBtcStoredHeader.d.ts +56 -56
- package/dist/evm/btcrelay/headers/EVMBtcStoredHeader.js +123 -123
- package/dist/evm/chain/EVMChainInterface.d.ts +51 -51
- package/dist/evm/chain/EVMChainInterface.js +89 -89
- package/dist/evm/chain/EVMModule.d.ts +9 -9
- package/dist/evm/chain/EVMModule.js +13 -13
- package/dist/evm/chain/modules/ERC20Abi.d.ts +168 -168
- package/dist/evm/chain/modules/ERC20Abi.js +225 -225
- package/dist/evm/chain/modules/EVMAddresses.d.ts +10 -10
- package/dist/evm/chain/modules/EVMAddresses.js +30 -30
- package/dist/evm/chain/modules/EVMBlocks.d.ts +20 -20
- package/dist/evm/chain/modules/EVMBlocks.js +64 -64
- package/dist/evm/chain/modules/EVMEvents.d.ts +36 -36
- package/dist/evm/chain/modules/EVMEvents.js +122 -122
- package/dist/evm/chain/modules/EVMFees.d.ts +36 -36
- package/dist/evm/chain/modules/EVMFees.js +74 -74
- package/dist/evm/chain/modules/EVMSignatures.d.ts +29 -29
- package/dist/evm/chain/modules/EVMSignatures.js +68 -68
- package/dist/evm/chain/modules/EVMTokens.d.ts +70 -70
- package/dist/evm/chain/modules/EVMTokens.js +142 -142
- package/dist/evm/chain/modules/EVMTransactions.d.ts +94 -94
- package/dist/evm/chain/modules/EVMTransactions.js +286 -286
- package/dist/evm/contract/EVMContractBase.d.ts +22 -22
- package/dist/evm/contract/EVMContractBase.js +34 -34
- package/dist/evm/contract/EVMContractModule.d.ts +8 -8
- package/dist/evm/contract/EVMContractModule.js +11 -11
- package/dist/evm/contract/modules/EVMContractEvents.d.ts +42 -42
- package/dist/evm/contract/modules/EVMContractEvents.js +75 -75
- package/dist/evm/events/EVMChainEvents.d.ts +22 -22
- package/dist/evm/events/EVMChainEvents.js +69 -69
- package/dist/evm/events/EVMChainEventsBrowser.d.ts +102 -102
- package/dist/evm/events/EVMChainEventsBrowser.js +413 -404
- package/dist/evm/providers/JsonRpcProviderWithRetries.d.ts +15 -15
- package/dist/evm/providers/JsonRpcProviderWithRetries.js +19 -19
- package/dist/evm/providers/ReconnectingWebSocketProvider.d.ts +22 -22
- package/dist/evm/providers/ReconnectingWebSocketProvider.js +87 -87
- package/dist/evm/providers/SocketProvider.d.ts +111 -111
- package/dist/evm/providers/SocketProvider.js +334 -334
- package/dist/evm/providers/WebSocketProviderWithRetries.d.ts +17 -17
- package/dist/evm/providers/WebSocketProviderWithRetries.js +19 -19
- package/dist/evm/spv_swap/EVMSpvVaultContract.d.ts +79 -79
- package/dist/evm/spv_swap/EVMSpvVaultContract.js +482 -482
- package/dist/evm/spv_swap/EVMSpvVaultData.d.ts +39 -39
- package/dist/evm/spv_swap/EVMSpvVaultData.js +0 -180
- package/dist/evm/spv_swap/EVMSpvWithdrawalData.d.ts +19 -19
- package/dist/evm/spv_swap/EVMSpvWithdrawalData.js +55 -55
- package/dist/evm/spv_swap/SpvVaultContractAbi.d.ts +91 -91
- package/dist/evm/spv_swap/SpvVaultContractAbi.js +849 -849
- package/dist/evm/spv_swap/SpvVaultContractTypechain.d.ts +450 -450
- package/dist/evm/spv_swap/SpvVaultContractTypechain.js +2 -2
- package/dist/evm/swaps/EVMSwapContract.d.ts +193 -193
- package/dist/evm/swaps/EVMSwapContract.js +378 -378
- package/dist/evm/swaps/EVMSwapData.d.ts +66 -66
- package/dist/evm/swaps/EVMSwapData.js +260 -260
- package/dist/evm/swaps/EVMSwapModule.d.ts +9 -9
- package/dist/evm/swaps/EVMSwapModule.js +11 -11
- package/dist/evm/swaps/EscrowManagerAbi.d.ts +120 -120
- package/dist/evm/swaps/EscrowManagerAbi.js +985 -985
- package/dist/evm/swaps/EscrowManagerTypechain.d.ts +475 -475
- package/dist/evm/swaps/EscrowManagerTypechain.js +2 -2
- package/dist/evm/swaps/handlers/IHandler.d.ts +13 -13
- package/dist/evm/swaps/handlers/IHandler.js +2 -2
- package/dist/evm/swaps/handlers/claim/ClaimHandlers.d.ts +10 -10
- package/dist/evm/swaps/handlers/claim/ClaimHandlers.js +13 -13
- package/dist/evm/swaps/handlers/claim/HashlockClaimHandler.d.ts +20 -20
- package/dist/evm/swaps/handlers/claim/HashlockClaimHandler.js +39 -39
- package/dist/evm/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.d.ts +24 -24
- package/dist/evm/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.js +59 -59
- package/dist/evm/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.d.ts +25 -25
- package/dist/evm/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.js +51 -51
- package/dist/evm/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.d.ts +21 -21
- package/dist/evm/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.js +28 -28
- package/dist/evm/swaps/handlers/claim/btc/IBitcoinClaimHandler.d.ts +48 -48
- package/dist/evm/swaps/handlers/claim/btc/IBitcoinClaimHandler.js +63 -63
- package/dist/evm/swaps/handlers/refund/TimelockRefundHandler.d.ts +17 -17
- package/dist/evm/swaps/handlers/refund/TimelockRefundHandler.js +28 -28
- package/dist/evm/swaps/modules/EVMLpVault.d.ts +69 -69
- package/dist/evm/swaps/modules/EVMLpVault.js +134 -134
- package/dist/evm/swaps/modules/EVMSwapClaim.d.ts +54 -54
- package/dist/evm/swaps/modules/EVMSwapClaim.js +137 -137
- package/dist/evm/swaps/modules/EVMSwapInit.d.ts +88 -88
- package/dist/evm/swaps/modules/EVMSwapInit.js +274 -274
- package/dist/evm/swaps/modules/EVMSwapRefund.d.ts +62 -62
- package/dist/evm/swaps/modules/EVMSwapRefund.js +167 -167
- package/dist/evm/typechain/common.d.ts +50 -50
- package/dist/evm/typechain/common.js +2 -2
- package/dist/evm/wallet/EVMBrowserSigner.d.ts +5 -5
- package/dist/evm/wallet/EVMBrowserSigner.js +11 -11
- package/dist/evm/wallet/EVMPersistentSigner.d.ts +29 -29
- package/dist/evm/wallet/EVMPersistentSigner.js +222 -222
- package/dist/evm/wallet/EVMSigner.d.ts +11 -11
- package/dist/evm/wallet/EVMSigner.js +24 -24
- package/dist/index.d.ts +44 -44
- package/dist/index.js +60 -60
- package/dist/utils/Utils.d.ts +17 -17
- package/dist/utils/Utils.js +81 -81
- package/package.json +39 -39
- package/src/chains/botanix/BotanixChainType.ts +28 -28
- package/src/chains/botanix/BotanixInitializer.ts +171 -171
- package/src/chains/citrea/CitreaBtcRelay.ts +57 -57
- package/src/chains/citrea/CitreaChainType.ts +28 -28
- package/src/chains/citrea/CitreaFees.ts +77 -77
- package/src/chains/citrea/CitreaInitializer.ts +178 -178
- package/src/chains/citrea/CitreaSpvVaultContract.ts +75 -75
- package/src/chains/citrea/CitreaSwapContract.ts +102 -102
- package/src/chains/citrea/CitreaTokens.ts +21 -21
- package/src/evm/btcrelay/BtcRelayAbi.ts +258 -258
- package/src/evm/btcrelay/BtcRelayTypechain.ts +371 -371
- package/src/evm/btcrelay/EVMBtcRelay.ts +537 -537
- package/src/evm/btcrelay/headers/EVMBtcHeader.ts +109 -109
- package/src/evm/btcrelay/headers/EVMBtcStoredHeader.ts +152 -152
- package/src/evm/chain/EVMChainInterface.ts +155 -155
- package/src/evm/chain/EVMModule.ts +21 -21
- package/src/evm/chain/modules/ERC20Abi.ts +222 -222
- package/src/evm/chain/modules/EVMAddresses.ts +28 -28
- package/src/evm/chain/modules/EVMBlocks.ts +75 -75
- package/src/evm/chain/modules/EVMEvents.ts +139 -139
- package/src/evm/chain/modules/EVMFees.ts +104 -104
- package/src/evm/chain/modules/EVMSignatures.ts +76 -76
- package/src/evm/chain/modules/EVMTokens.ts +155 -155
- package/src/evm/chain/modules/EVMTransactions.ts +325 -325
- package/src/evm/contract/EVMContractBase.ts +63 -63
- package/src/evm/contract/EVMContractModule.ts +16 -16
- package/src/evm/contract/modules/EVMContractEvents.ts +102 -102
- package/src/evm/events/EVMChainEvents.ts +82 -82
- package/src/evm/events/EVMChainEventsBrowser.ts +534 -525
- package/src/evm/providers/JsonRpcProviderWithRetries.ts +24 -24
- package/src/evm/providers/ReconnectingWebSocketProvider.ts +101 -101
- package/src/evm/providers/SocketProvider.ts +368 -368
- package/src/evm/providers/WebSocketProviderWithRetries.ts +27 -27
- package/src/evm/spv_swap/EVMSpvVaultContract.ts +615 -615
- package/src/evm/spv_swap/EVMSpvVaultData.ts +224 -224
- package/src/evm/spv_swap/EVMSpvWithdrawalData.ts +70 -70
- package/src/evm/spv_swap/SpvVaultContractAbi.ts +846 -846
- package/src/evm/spv_swap/SpvVaultContractTypechain.ts +685 -685
- package/src/evm/swaps/EVMSwapContract.ts +600 -600
- package/src/evm/swaps/EVMSwapData.ts +378 -378
- package/src/evm/swaps/EVMSwapModule.ts +16 -16
- package/src/evm/swaps/EscrowManagerAbi.ts +982 -982
- package/src/evm/swaps/EscrowManagerTypechain.ts +723 -723
- package/src/evm/swaps/handlers/IHandler.ts +17 -17
- package/src/evm/swaps/handlers/claim/ClaimHandlers.ts +20 -20
- package/src/evm/swaps/handlers/claim/HashlockClaimHandler.ts +46 -46
- package/src/evm/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.ts +82 -82
- package/src/evm/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.ts +76 -76
- package/src/evm/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.ts +46 -46
- package/src/evm/swaps/handlers/claim/btc/IBitcoinClaimHandler.ts +115 -115
- package/src/evm/swaps/handlers/refund/TimelockRefundHandler.ts +37 -37
- package/src/evm/swaps/modules/EVMLpVault.ts +154 -154
- package/src/evm/swaps/modules/EVMSwapClaim.ts +172 -172
- package/src/evm/swaps/modules/EVMSwapInit.ts +328 -328
- package/src/evm/swaps/modules/EVMSwapRefund.ts +229 -229
- package/src/evm/typechain/common.ts +131 -131
- package/src/evm/wallet/EVMBrowserSigner.ts +11 -11
- package/src/evm/wallet/EVMPersistentSigner.ts +298 -298
- package/src/evm/wallet/EVMSigner.ts +31 -31
- package/src/index.ts +53 -53
- package/src/utils/Utils.ts +92 -92
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CitreaSwapContract = void 0;
|
|
4
|
-
const EVMSwapContract_1 = require("../../evm/swaps/EVMSwapContract");
|
|
5
|
-
const CitreaFees_1 = require("./CitreaFees");
|
|
6
|
-
class CitreaSwapContract extends EVMSwapContract_1.EVMSwapContract {
|
|
7
|
-
calculateStateDiff(signer, tokenStateChanges) {
|
|
8
|
-
let stateDiffSize = 0;
|
|
9
|
-
tokenStateChanges.forEach(val => {
|
|
10
|
-
const [address, token] = val.split(":");
|
|
11
|
-
if (token.toLowerCase() === this.Chain.getNativeCurrencyAddress().toLowerCase()) {
|
|
12
|
-
stateDiffSize += address.toLowerCase() === signer?.toLowerCase() ? CitreaSwapContract.StateDiffSize.NATIVE_SELF_TRANSFER_DIFF_SIZE : CitreaSwapContract.StateDiffSize.NATIVE_TRANSFER_DIFF_SIZE;
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
stateDiffSize += CitreaSwapContract.StateDiffSize.ERC_20_TRANSFER_DIFF_SIZE;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
return stateDiffSize;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Get the estimated solana fee of the commit transaction
|
|
22
|
-
*/
|
|
23
|
-
async getCommitFee(signer, swapData, feeRate) {
|
|
24
|
-
feeRate ?? (feeRate = await this.Chain.Fees.getFeeRate());
|
|
25
|
-
const tokenStateChanges = new Set();
|
|
26
|
-
let diffSize = CitreaSwapContract.StateDiffSize.BASE_DIFF_SIZE;
|
|
27
|
-
if (!swapData.isPayIn()) {
|
|
28
|
-
diffSize += CitreaSwapContract.StateDiffSize.LP_VAULT_UPDATE_DIFF_SIZE;
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
tokenStateChanges.add(swapData.getOfferer().toLowerCase() + ":" + swapData.getToken().toLowerCase());
|
|
32
|
-
}
|
|
33
|
-
if (swapData.getTotalDeposit() > 0n) {
|
|
34
|
-
tokenStateChanges.add(signer.toLowerCase() + ":" + swapData.getDepositToken().toLowerCase());
|
|
35
|
-
}
|
|
36
|
-
diffSize += this.calculateStateDiff(signer, tokenStateChanges);
|
|
37
|
-
const gasFee = await this.Init.getInitFee(swapData, feeRate);
|
|
38
|
-
return gasFee + CitreaFees_1.CitreaFees.getGasFee(0, feeRate, diffSize);
|
|
39
|
-
}
|
|
40
|
-
async getClaimFee(signer, swapData, feeRate) {
|
|
41
|
-
feeRate ?? (feeRate = await this.Chain.Fees.getFeeRate());
|
|
42
|
-
const tokenStateChanges = new Set();
|
|
43
|
-
let diffSize = CitreaSwapContract.StateDiffSize.BASE_DIFF_SIZE;
|
|
44
|
-
if (swapData.reputation)
|
|
45
|
-
diffSize += CitreaSwapContract.StateDiffSize.REPUTATION_UPDATE_DIFF_SIZE;
|
|
46
|
-
if (!swapData.isPayOut()) {
|
|
47
|
-
diffSize += CitreaSwapContract.StateDiffSize.LP_VAULT_UPDATE_DIFF_SIZE;
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
tokenStateChanges.add(swapData.getClaimer().toLowerCase() + ":" + swapData.getToken().toLowerCase());
|
|
51
|
-
}
|
|
52
|
-
if (swapData.getClaimerBounty() > 0) {
|
|
53
|
-
tokenStateChanges.add(signer.toLowerCase() + ":" + swapData.getDepositToken().toLowerCase());
|
|
54
|
-
}
|
|
55
|
-
if (swapData.getSecurityDeposit() > swapData.getClaimerBounty()) {
|
|
56
|
-
tokenStateChanges.add(swapData.getClaimer().toLowerCase() + ":" + swapData.getDepositToken().toLowerCase());
|
|
57
|
-
}
|
|
58
|
-
diffSize += this.calculateStateDiff(signer, tokenStateChanges);
|
|
59
|
-
const gasFee = await this.Claim.getClaimFee(swapData, feeRate);
|
|
60
|
-
return gasFee + CitreaFees_1.CitreaFees.getGasFee(0, feeRate, diffSize);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Get the estimated solana transaction fee of the refund transaction
|
|
64
|
-
*/
|
|
65
|
-
async getRefundFee(signer, swapData, feeRate) {
|
|
66
|
-
feeRate ?? (feeRate = await this.Chain.Fees.getFeeRate());
|
|
67
|
-
const tokenStateChanges = new Set();
|
|
68
|
-
let diffSize = CitreaSwapContract.StateDiffSize.BASE_DIFF_SIZE;
|
|
69
|
-
if (swapData.reputation)
|
|
70
|
-
diffSize += CitreaSwapContract.StateDiffSize.REPUTATION_UPDATE_DIFF_SIZE;
|
|
71
|
-
if (!swapData.isPayIn()) {
|
|
72
|
-
diffSize += CitreaSwapContract.StateDiffSize.LP_VAULT_UPDATE_DIFF_SIZE;
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
tokenStateChanges.add(swapData.getOfferer().toLowerCase() + ":" + swapData.getToken().toLowerCase());
|
|
76
|
-
}
|
|
77
|
-
if (swapData.getSecurityDeposit() > 0) {
|
|
78
|
-
tokenStateChanges.add(swapData.getOfferer().toLowerCase() + ":" + swapData.getDepositToken().toLowerCase());
|
|
79
|
-
}
|
|
80
|
-
if (swapData.getClaimerBounty() > swapData.getSecurityDeposit()) {
|
|
81
|
-
tokenStateChanges.add(swapData.getClaimer().toLowerCase() + ":" + swapData.getDepositToken().toLowerCase());
|
|
82
|
-
}
|
|
83
|
-
diffSize += this.calculateStateDiff(signer, tokenStateChanges);
|
|
84
|
-
const gasFee = await this.Refund.getRefundFee(swapData, feeRate);
|
|
85
|
-
return gasFee + CitreaFees_1.CitreaFees.getGasFee(0, feeRate, diffSize);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
exports.CitreaSwapContract = CitreaSwapContract;
|
|
89
|
-
CitreaSwapContract.StateDiffSize = {
|
|
90
|
-
BASE_DIFF_SIZE: 35,
|
|
91
|
-
REPUTATION_UPDATE_DIFF_SIZE: 25,
|
|
92
|
-
LP_VAULT_UPDATE_DIFF_SIZE: 25,
|
|
93
|
-
ERC_20_TRANSFER_DIFF_SIZE: 50,
|
|
94
|
-
NATIVE_SELF_TRANSFER_DIFF_SIZE: 20,
|
|
95
|
-
NATIVE_TRANSFER_DIFF_SIZE: 30
|
|
96
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CitreaSwapContract = void 0;
|
|
4
|
+
const EVMSwapContract_1 = require("../../evm/swaps/EVMSwapContract");
|
|
5
|
+
const CitreaFees_1 = require("./CitreaFees");
|
|
6
|
+
class CitreaSwapContract extends EVMSwapContract_1.EVMSwapContract {
|
|
7
|
+
calculateStateDiff(signer, tokenStateChanges) {
|
|
8
|
+
let stateDiffSize = 0;
|
|
9
|
+
tokenStateChanges.forEach(val => {
|
|
10
|
+
const [address, token] = val.split(":");
|
|
11
|
+
if (token.toLowerCase() === this.Chain.getNativeCurrencyAddress().toLowerCase()) {
|
|
12
|
+
stateDiffSize += address.toLowerCase() === signer?.toLowerCase() ? CitreaSwapContract.StateDiffSize.NATIVE_SELF_TRANSFER_DIFF_SIZE : CitreaSwapContract.StateDiffSize.NATIVE_TRANSFER_DIFF_SIZE;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
stateDiffSize += CitreaSwapContract.StateDiffSize.ERC_20_TRANSFER_DIFF_SIZE;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
return stateDiffSize;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get the estimated solana fee of the commit transaction
|
|
22
|
+
*/
|
|
23
|
+
async getCommitFee(signer, swapData, feeRate) {
|
|
24
|
+
feeRate ?? (feeRate = await this.Chain.Fees.getFeeRate());
|
|
25
|
+
const tokenStateChanges = new Set();
|
|
26
|
+
let diffSize = CitreaSwapContract.StateDiffSize.BASE_DIFF_SIZE;
|
|
27
|
+
if (!swapData.isPayIn()) {
|
|
28
|
+
diffSize += CitreaSwapContract.StateDiffSize.LP_VAULT_UPDATE_DIFF_SIZE;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
tokenStateChanges.add(swapData.getOfferer().toLowerCase() + ":" + swapData.getToken().toLowerCase());
|
|
32
|
+
}
|
|
33
|
+
if (swapData.getTotalDeposit() > 0n) {
|
|
34
|
+
tokenStateChanges.add(signer.toLowerCase() + ":" + swapData.getDepositToken().toLowerCase());
|
|
35
|
+
}
|
|
36
|
+
diffSize += this.calculateStateDiff(signer, tokenStateChanges);
|
|
37
|
+
const gasFee = await this.Init.getInitFee(swapData, feeRate);
|
|
38
|
+
return gasFee + CitreaFees_1.CitreaFees.getGasFee(0, feeRate, diffSize);
|
|
39
|
+
}
|
|
40
|
+
async getClaimFee(signer, swapData, feeRate) {
|
|
41
|
+
feeRate ?? (feeRate = await this.Chain.Fees.getFeeRate());
|
|
42
|
+
const tokenStateChanges = new Set();
|
|
43
|
+
let diffSize = CitreaSwapContract.StateDiffSize.BASE_DIFF_SIZE;
|
|
44
|
+
if (swapData.reputation)
|
|
45
|
+
diffSize += CitreaSwapContract.StateDiffSize.REPUTATION_UPDATE_DIFF_SIZE;
|
|
46
|
+
if (!swapData.isPayOut()) {
|
|
47
|
+
diffSize += CitreaSwapContract.StateDiffSize.LP_VAULT_UPDATE_DIFF_SIZE;
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
tokenStateChanges.add(swapData.getClaimer().toLowerCase() + ":" + swapData.getToken().toLowerCase());
|
|
51
|
+
}
|
|
52
|
+
if (swapData.getClaimerBounty() > 0) {
|
|
53
|
+
tokenStateChanges.add(signer.toLowerCase() + ":" + swapData.getDepositToken().toLowerCase());
|
|
54
|
+
}
|
|
55
|
+
if (swapData.getSecurityDeposit() > swapData.getClaimerBounty()) {
|
|
56
|
+
tokenStateChanges.add(swapData.getClaimer().toLowerCase() + ":" + swapData.getDepositToken().toLowerCase());
|
|
57
|
+
}
|
|
58
|
+
diffSize += this.calculateStateDiff(signer, tokenStateChanges);
|
|
59
|
+
const gasFee = await this.Claim.getClaimFee(swapData, feeRate);
|
|
60
|
+
return gasFee + CitreaFees_1.CitreaFees.getGasFee(0, feeRate, diffSize);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Get the estimated solana transaction fee of the refund transaction
|
|
64
|
+
*/
|
|
65
|
+
async getRefundFee(signer, swapData, feeRate) {
|
|
66
|
+
feeRate ?? (feeRate = await this.Chain.Fees.getFeeRate());
|
|
67
|
+
const tokenStateChanges = new Set();
|
|
68
|
+
let diffSize = CitreaSwapContract.StateDiffSize.BASE_DIFF_SIZE;
|
|
69
|
+
if (swapData.reputation)
|
|
70
|
+
diffSize += CitreaSwapContract.StateDiffSize.REPUTATION_UPDATE_DIFF_SIZE;
|
|
71
|
+
if (!swapData.isPayIn()) {
|
|
72
|
+
diffSize += CitreaSwapContract.StateDiffSize.LP_VAULT_UPDATE_DIFF_SIZE;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
tokenStateChanges.add(swapData.getOfferer().toLowerCase() + ":" + swapData.getToken().toLowerCase());
|
|
76
|
+
}
|
|
77
|
+
if (swapData.getSecurityDeposit() > 0) {
|
|
78
|
+
tokenStateChanges.add(swapData.getOfferer().toLowerCase() + ":" + swapData.getDepositToken().toLowerCase());
|
|
79
|
+
}
|
|
80
|
+
if (swapData.getClaimerBounty() > swapData.getSecurityDeposit()) {
|
|
81
|
+
tokenStateChanges.add(swapData.getClaimer().toLowerCase() + ":" + swapData.getDepositToken().toLowerCase());
|
|
82
|
+
}
|
|
83
|
+
diffSize += this.calculateStateDiff(signer, tokenStateChanges);
|
|
84
|
+
const gasFee = await this.Refund.getRefundFee(swapData, feeRate);
|
|
85
|
+
return gasFee + CitreaFees_1.CitreaFees.getGasFee(0, feeRate, diffSize);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.CitreaSwapContract = CitreaSwapContract;
|
|
89
|
+
CitreaSwapContract.StateDiffSize = {
|
|
90
|
+
BASE_DIFF_SIZE: 35,
|
|
91
|
+
REPUTATION_UPDATE_DIFF_SIZE: 25,
|
|
92
|
+
LP_VAULT_UPDATE_DIFF_SIZE: 25,
|
|
93
|
+
ERC_20_TRANSFER_DIFF_SIZE: 50,
|
|
94
|
+
NATIVE_SELF_TRANSFER_DIFF_SIZE: 20,
|
|
95
|
+
NATIVE_TRANSFER_DIFF_SIZE: 30
|
|
96
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { EVMTokens } from "../../evm/chain/modules/EVMTokens";
|
|
2
|
-
export declare class CitreaTokens extends EVMTokens {
|
|
3
|
-
static readonly StateDiffSize: {
|
|
4
|
-
APPROVE_DIFF_SIZE: number;
|
|
5
|
-
TRANSFER_DIFF_SIZE: number;
|
|
6
|
-
};
|
|
7
|
-
getApproveFee(feeRate?: string): Promise<bigint>;
|
|
8
|
-
getTransferFee(feeRate?: string): Promise<bigint>;
|
|
9
|
-
}
|
|
1
|
+
import { EVMTokens } from "../../evm/chain/modules/EVMTokens";
|
|
2
|
+
export declare class CitreaTokens extends EVMTokens {
|
|
3
|
+
static readonly StateDiffSize: {
|
|
4
|
+
APPROVE_DIFF_SIZE: number;
|
|
5
|
+
TRANSFER_DIFF_SIZE: number;
|
|
6
|
+
};
|
|
7
|
+
getApproveFee(feeRate?: string): Promise<bigint>;
|
|
8
|
+
getTransferFee(feeRate?: string): Promise<bigint>;
|
|
9
|
+
}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CitreaTokens = void 0;
|
|
4
|
-
const EVMTokens_1 = require("../../evm/chain/modules/EVMTokens");
|
|
5
|
-
const CitreaFees_1 = require("./CitreaFees");
|
|
6
|
-
class CitreaTokens extends EVMTokens_1.EVMTokens {
|
|
7
|
-
async getApproveFee(feeRate) {
|
|
8
|
-
feeRate ?? (feeRate = await this.root.Fees.getFeeRate());
|
|
9
|
-
return CitreaFees_1.CitreaFees.getGasFee(EVMTokens_1.EVMTokens.GasCosts.APPROVE, feeRate, CitreaTokens.StateDiffSize.APPROVE_DIFF_SIZE);
|
|
10
|
-
}
|
|
11
|
-
async getTransferFee(feeRate) {
|
|
12
|
-
feeRate ?? (feeRate = await this.root.Fees.getFeeRate());
|
|
13
|
-
return CitreaFees_1.CitreaFees.getGasFee(EVMTokens_1.EVMTokens.GasCosts.APPROVE, feeRate, CitreaTokens.StateDiffSize.TRANSFER_DIFF_SIZE);
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.CitreaTokens = CitreaTokens;
|
|
17
|
-
CitreaTokens.StateDiffSize = {
|
|
18
|
-
APPROVE_DIFF_SIZE: 35,
|
|
19
|
-
TRANSFER_DIFF_SIZE: 55
|
|
20
|
-
};
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CitreaTokens = void 0;
|
|
4
|
+
const EVMTokens_1 = require("../../evm/chain/modules/EVMTokens");
|
|
5
|
+
const CitreaFees_1 = require("./CitreaFees");
|
|
6
|
+
class CitreaTokens extends EVMTokens_1.EVMTokens {
|
|
7
|
+
async getApproveFee(feeRate) {
|
|
8
|
+
feeRate ?? (feeRate = await this.root.Fees.getFeeRate());
|
|
9
|
+
return CitreaFees_1.CitreaFees.getGasFee(EVMTokens_1.EVMTokens.GasCosts.APPROVE, feeRate, CitreaTokens.StateDiffSize.APPROVE_DIFF_SIZE);
|
|
10
|
+
}
|
|
11
|
+
async getTransferFee(feeRate) {
|
|
12
|
+
feeRate ?? (feeRate = await this.root.Fees.getFeeRate());
|
|
13
|
+
return CitreaFees_1.CitreaFees.getGasFee(EVMTokens_1.EVMTokens.GasCosts.APPROVE, feeRate, CitreaTokens.StateDiffSize.TRANSFER_DIFF_SIZE);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.CitreaTokens = CitreaTokens;
|
|
17
|
+
CitreaTokens.StateDiffSize = {
|
|
18
|
+
APPROVE_DIFF_SIZE: 35,
|
|
19
|
+
TRANSFER_DIFF_SIZE: 55
|
|
20
|
+
};
|
|
@@ -1,198 +1,198 @@
|
|
|
1
|
-
export declare const BtcRelayAbi: readonly [{
|
|
2
|
-
readonly inputs: readonly [{
|
|
3
|
-
readonly components: readonly [{
|
|
4
|
-
readonly internalType: "bytes32[5]";
|
|
5
|
-
readonly name: "data";
|
|
6
|
-
readonly type: "bytes32[5]";
|
|
7
|
-
}];
|
|
8
|
-
readonly internalType: "struct StoredBlockHeader";
|
|
9
|
-
readonly name: "storedHeader";
|
|
10
|
-
readonly type: "tuple";
|
|
11
|
-
}, {
|
|
12
|
-
readonly internalType: "bool";
|
|
13
|
-
readonly name: "clampBlockTarget";
|
|
14
|
-
readonly type: "bool";
|
|
15
|
-
}];
|
|
16
|
-
readonly stateMutability: "nonpayable";
|
|
17
|
-
readonly type: "constructor";
|
|
18
|
-
}, {
|
|
19
|
-
readonly anonymous: false;
|
|
20
|
-
readonly inputs: readonly [{
|
|
21
|
-
readonly indexed: true;
|
|
22
|
-
readonly internalType: "bytes32";
|
|
23
|
-
readonly name: "commitHash";
|
|
24
|
-
readonly type: "bytes32";
|
|
25
|
-
}, {
|
|
26
|
-
readonly indexed: true;
|
|
27
|
-
readonly internalType: "bytes32";
|
|
28
|
-
readonly name: "blockHash";
|
|
29
|
-
readonly type: "bytes32";
|
|
30
|
-
}, {
|
|
31
|
-
readonly indexed: true;
|
|
32
|
-
readonly internalType: "uint256";
|
|
33
|
-
readonly name: "forkId";
|
|
34
|
-
readonly type: "uint256";
|
|
35
|
-
}, {
|
|
36
|
-
readonly indexed: false;
|
|
37
|
-
readonly internalType: "address";
|
|
38
|
-
readonly name: "submitter";
|
|
39
|
-
readonly type: "address";
|
|
40
|
-
}, {
|
|
41
|
-
readonly indexed: false;
|
|
42
|
-
readonly internalType: "uint256";
|
|
43
|
-
readonly name: "startHeight";
|
|
44
|
-
readonly type: "uint256";
|
|
45
|
-
}];
|
|
46
|
-
readonly name: "ChainReorg";
|
|
47
|
-
readonly type: "event";
|
|
48
|
-
}, {
|
|
49
|
-
readonly anonymous: false;
|
|
50
|
-
readonly inputs: readonly [{
|
|
51
|
-
readonly indexed: true;
|
|
52
|
-
readonly internalType: "bytes32";
|
|
53
|
-
readonly name: "commitHash";
|
|
54
|
-
readonly type: "bytes32";
|
|
55
|
-
}, {
|
|
56
|
-
readonly indexed: true;
|
|
57
|
-
readonly internalType: "bytes32";
|
|
58
|
-
readonly name: "blockHash";
|
|
59
|
-
readonly type: "bytes32";
|
|
60
|
-
}, {
|
|
61
|
-
readonly indexed: true;
|
|
62
|
-
readonly internalType: "uint256";
|
|
63
|
-
readonly name: "forkId";
|
|
64
|
-
readonly type: "uint256";
|
|
65
|
-
}];
|
|
66
|
-
readonly name: "StoreForkHeader";
|
|
67
|
-
readonly type: "event";
|
|
68
|
-
}, {
|
|
69
|
-
readonly anonymous: false;
|
|
70
|
-
readonly inputs: readonly [{
|
|
71
|
-
readonly indexed: true;
|
|
72
|
-
readonly internalType: "bytes32";
|
|
73
|
-
readonly name: "commitHash";
|
|
74
|
-
readonly type: "bytes32";
|
|
75
|
-
}, {
|
|
76
|
-
readonly indexed: true;
|
|
77
|
-
readonly internalType: "bytes32";
|
|
78
|
-
readonly name: "blockHash";
|
|
79
|
-
readonly type: "bytes32";
|
|
80
|
-
}];
|
|
81
|
-
readonly name: "StoreHeader";
|
|
82
|
-
readonly type: "event";
|
|
83
|
-
}, {
|
|
84
|
-
readonly inputs: readonly [];
|
|
85
|
-
readonly name: "getBlockheight";
|
|
86
|
-
readonly outputs: readonly [{
|
|
87
|
-
readonly internalType: "uint32";
|
|
88
|
-
readonly name: "blockheight";
|
|
89
|
-
readonly type: "uint32";
|
|
90
|
-
}];
|
|
91
|
-
readonly stateMutability: "view";
|
|
92
|
-
readonly type: "function";
|
|
93
|
-
}, {
|
|
94
|
-
readonly inputs: readonly [];
|
|
95
|
-
readonly name: "getChainwork";
|
|
96
|
-
readonly outputs: readonly [{
|
|
97
|
-
readonly internalType: "uint224";
|
|
98
|
-
readonly name: "chainWork";
|
|
99
|
-
readonly type: "uint224";
|
|
100
|
-
}];
|
|
101
|
-
readonly stateMutability: "view";
|
|
102
|
-
readonly type: "function";
|
|
103
|
-
}, {
|
|
104
|
-
readonly inputs: readonly [{
|
|
105
|
-
readonly internalType: "uint256";
|
|
106
|
-
readonly name: "height";
|
|
107
|
-
readonly type: "uint256";
|
|
108
|
-
}];
|
|
109
|
-
readonly name: "getCommitHash";
|
|
110
|
-
readonly outputs: readonly [{
|
|
111
|
-
readonly internalType: "bytes32";
|
|
112
|
-
readonly name: "";
|
|
113
|
-
readonly type: "bytes32";
|
|
114
|
-
}];
|
|
115
|
-
readonly stateMutability: "view";
|
|
116
|
-
readonly type: "function";
|
|
117
|
-
}, {
|
|
118
|
-
readonly inputs: readonly [];
|
|
119
|
-
readonly name: "getTipCommitHash";
|
|
120
|
-
readonly outputs: readonly [{
|
|
121
|
-
readonly internalType: "bytes32";
|
|
122
|
-
readonly name: "";
|
|
123
|
-
readonly type: "bytes32";
|
|
124
|
-
}];
|
|
125
|
-
readonly stateMutability: "view";
|
|
126
|
-
readonly type: "function";
|
|
127
|
-
}, {
|
|
128
|
-
readonly inputs: readonly [{
|
|
129
|
-
readonly internalType: "uint256";
|
|
130
|
-
readonly name: "forkId";
|
|
131
|
-
readonly type: "uint256";
|
|
132
|
-
}, {
|
|
133
|
-
readonly internalType: "bytes";
|
|
134
|
-
readonly name: "data";
|
|
135
|
-
readonly type: "bytes";
|
|
136
|
-
}];
|
|
137
|
-
readonly name: "submitForkBlockheaders";
|
|
138
|
-
readonly outputs: readonly [];
|
|
139
|
-
readonly stateMutability: "nonpayable";
|
|
140
|
-
readonly type: "function";
|
|
141
|
-
}, {
|
|
142
|
-
readonly inputs: readonly [{
|
|
143
|
-
readonly internalType: "bytes";
|
|
144
|
-
readonly name: "data";
|
|
145
|
-
readonly type: "bytes";
|
|
146
|
-
}];
|
|
147
|
-
readonly name: "submitMainBlockheaders";
|
|
148
|
-
readonly outputs: readonly [];
|
|
149
|
-
readonly stateMutability: "nonpayable";
|
|
150
|
-
readonly type: "function";
|
|
151
|
-
}, {
|
|
152
|
-
readonly inputs: readonly [{
|
|
153
|
-
readonly internalType: "bytes";
|
|
154
|
-
readonly name: "data";
|
|
155
|
-
readonly type: "bytes";
|
|
156
|
-
}];
|
|
157
|
-
readonly name: "submitShortForkBlockheaders";
|
|
158
|
-
readonly outputs: readonly [];
|
|
159
|
-
readonly stateMutability: "nonpayable";
|
|
160
|
-
readonly type: "function";
|
|
161
|
-
}, {
|
|
162
|
-
readonly inputs: readonly [{
|
|
163
|
-
readonly components: readonly [{
|
|
164
|
-
readonly internalType: "bytes32[5]";
|
|
165
|
-
readonly name: "data";
|
|
166
|
-
readonly type: "bytes32[5]";
|
|
167
|
-
}];
|
|
168
|
-
readonly internalType: "struct StoredBlockHeader";
|
|
169
|
-
readonly name: "storedHeader";
|
|
170
|
-
readonly type: "tuple";
|
|
171
|
-
}];
|
|
172
|
-
readonly name: "verifyBlockheader";
|
|
173
|
-
readonly outputs: readonly [{
|
|
174
|
-
readonly internalType: "uint256";
|
|
175
|
-
readonly name: "confirmations";
|
|
176
|
-
readonly type: "uint256";
|
|
177
|
-
}];
|
|
178
|
-
readonly stateMutability: "view";
|
|
179
|
-
readonly type: "function";
|
|
180
|
-
}, {
|
|
181
|
-
readonly inputs: readonly [{
|
|
182
|
-
readonly internalType: "uint256";
|
|
183
|
-
readonly name: "height";
|
|
184
|
-
readonly type: "uint256";
|
|
185
|
-
}, {
|
|
186
|
-
readonly internalType: "bytes32";
|
|
187
|
-
readonly name: "commitmentHash";
|
|
188
|
-
readonly type: "bytes32";
|
|
189
|
-
}];
|
|
190
|
-
readonly name: "verifyBlockheaderHash";
|
|
191
|
-
readonly outputs: readonly [{
|
|
192
|
-
readonly internalType: "uint256";
|
|
193
|
-
readonly name: "confirmations";
|
|
194
|
-
readonly type: "uint256";
|
|
195
|
-
}];
|
|
196
|
-
readonly stateMutability: "view";
|
|
197
|
-
readonly type: "function";
|
|
198
|
-
}];
|
|
1
|
+
export declare const BtcRelayAbi: readonly [{
|
|
2
|
+
readonly inputs: readonly [{
|
|
3
|
+
readonly components: readonly [{
|
|
4
|
+
readonly internalType: "bytes32[5]";
|
|
5
|
+
readonly name: "data";
|
|
6
|
+
readonly type: "bytes32[5]";
|
|
7
|
+
}];
|
|
8
|
+
readonly internalType: "struct StoredBlockHeader";
|
|
9
|
+
readonly name: "storedHeader";
|
|
10
|
+
readonly type: "tuple";
|
|
11
|
+
}, {
|
|
12
|
+
readonly internalType: "bool";
|
|
13
|
+
readonly name: "clampBlockTarget";
|
|
14
|
+
readonly type: "bool";
|
|
15
|
+
}];
|
|
16
|
+
readonly stateMutability: "nonpayable";
|
|
17
|
+
readonly type: "constructor";
|
|
18
|
+
}, {
|
|
19
|
+
readonly anonymous: false;
|
|
20
|
+
readonly inputs: readonly [{
|
|
21
|
+
readonly indexed: true;
|
|
22
|
+
readonly internalType: "bytes32";
|
|
23
|
+
readonly name: "commitHash";
|
|
24
|
+
readonly type: "bytes32";
|
|
25
|
+
}, {
|
|
26
|
+
readonly indexed: true;
|
|
27
|
+
readonly internalType: "bytes32";
|
|
28
|
+
readonly name: "blockHash";
|
|
29
|
+
readonly type: "bytes32";
|
|
30
|
+
}, {
|
|
31
|
+
readonly indexed: true;
|
|
32
|
+
readonly internalType: "uint256";
|
|
33
|
+
readonly name: "forkId";
|
|
34
|
+
readonly type: "uint256";
|
|
35
|
+
}, {
|
|
36
|
+
readonly indexed: false;
|
|
37
|
+
readonly internalType: "address";
|
|
38
|
+
readonly name: "submitter";
|
|
39
|
+
readonly type: "address";
|
|
40
|
+
}, {
|
|
41
|
+
readonly indexed: false;
|
|
42
|
+
readonly internalType: "uint256";
|
|
43
|
+
readonly name: "startHeight";
|
|
44
|
+
readonly type: "uint256";
|
|
45
|
+
}];
|
|
46
|
+
readonly name: "ChainReorg";
|
|
47
|
+
readonly type: "event";
|
|
48
|
+
}, {
|
|
49
|
+
readonly anonymous: false;
|
|
50
|
+
readonly inputs: readonly [{
|
|
51
|
+
readonly indexed: true;
|
|
52
|
+
readonly internalType: "bytes32";
|
|
53
|
+
readonly name: "commitHash";
|
|
54
|
+
readonly type: "bytes32";
|
|
55
|
+
}, {
|
|
56
|
+
readonly indexed: true;
|
|
57
|
+
readonly internalType: "bytes32";
|
|
58
|
+
readonly name: "blockHash";
|
|
59
|
+
readonly type: "bytes32";
|
|
60
|
+
}, {
|
|
61
|
+
readonly indexed: true;
|
|
62
|
+
readonly internalType: "uint256";
|
|
63
|
+
readonly name: "forkId";
|
|
64
|
+
readonly type: "uint256";
|
|
65
|
+
}];
|
|
66
|
+
readonly name: "StoreForkHeader";
|
|
67
|
+
readonly type: "event";
|
|
68
|
+
}, {
|
|
69
|
+
readonly anonymous: false;
|
|
70
|
+
readonly inputs: readonly [{
|
|
71
|
+
readonly indexed: true;
|
|
72
|
+
readonly internalType: "bytes32";
|
|
73
|
+
readonly name: "commitHash";
|
|
74
|
+
readonly type: "bytes32";
|
|
75
|
+
}, {
|
|
76
|
+
readonly indexed: true;
|
|
77
|
+
readonly internalType: "bytes32";
|
|
78
|
+
readonly name: "blockHash";
|
|
79
|
+
readonly type: "bytes32";
|
|
80
|
+
}];
|
|
81
|
+
readonly name: "StoreHeader";
|
|
82
|
+
readonly type: "event";
|
|
83
|
+
}, {
|
|
84
|
+
readonly inputs: readonly [];
|
|
85
|
+
readonly name: "getBlockheight";
|
|
86
|
+
readonly outputs: readonly [{
|
|
87
|
+
readonly internalType: "uint32";
|
|
88
|
+
readonly name: "blockheight";
|
|
89
|
+
readonly type: "uint32";
|
|
90
|
+
}];
|
|
91
|
+
readonly stateMutability: "view";
|
|
92
|
+
readonly type: "function";
|
|
93
|
+
}, {
|
|
94
|
+
readonly inputs: readonly [];
|
|
95
|
+
readonly name: "getChainwork";
|
|
96
|
+
readonly outputs: readonly [{
|
|
97
|
+
readonly internalType: "uint224";
|
|
98
|
+
readonly name: "chainWork";
|
|
99
|
+
readonly type: "uint224";
|
|
100
|
+
}];
|
|
101
|
+
readonly stateMutability: "view";
|
|
102
|
+
readonly type: "function";
|
|
103
|
+
}, {
|
|
104
|
+
readonly inputs: readonly [{
|
|
105
|
+
readonly internalType: "uint256";
|
|
106
|
+
readonly name: "height";
|
|
107
|
+
readonly type: "uint256";
|
|
108
|
+
}];
|
|
109
|
+
readonly name: "getCommitHash";
|
|
110
|
+
readonly outputs: readonly [{
|
|
111
|
+
readonly internalType: "bytes32";
|
|
112
|
+
readonly name: "";
|
|
113
|
+
readonly type: "bytes32";
|
|
114
|
+
}];
|
|
115
|
+
readonly stateMutability: "view";
|
|
116
|
+
readonly type: "function";
|
|
117
|
+
}, {
|
|
118
|
+
readonly inputs: readonly [];
|
|
119
|
+
readonly name: "getTipCommitHash";
|
|
120
|
+
readonly outputs: readonly [{
|
|
121
|
+
readonly internalType: "bytes32";
|
|
122
|
+
readonly name: "";
|
|
123
|
+
readonly type: "bytes32";
|
|
124
|
+
}];
|
|
125
|
+
readonly stateMutability: "view";
|
|
126
|
+
readonly type: "function";
|
|
127
|
+
}, {
|
|
128
|
+
readonly inputs: readonly [{
|
|
129
|
+
readonly internalType: "uint256";
|
|
130
|
+
readonly name: "forkId";
|
|
131
|
+
readonly type: "uint256";
|
|
132
|
+
}, {
|
|
133
|
+
readonly internalType: "bytes";
|
|
134
|
+
readonly name: "data";
|
|
135
|
+
readonly type: "bytes";
|
|
136
|
+
}];
|
|
137
|
+
readonly name: "submitForkBlockheaders";
|
|
138
|
+
readonly outputs: readonly [];
|
|
139
|
+
readonly stateMutability: "nonpayable";
|
|
140
|
+
readonly type: "function";
|
|
141
|
+
}, {
|
|
142
|
+
readonly inputs: readonly [{
|
|
143
|
+
readonly internalType: "bytes";
|
|
144
|
+
readonly name: "data";
|
|
145
|
+
readonly type: "bytes";
|
|
146
|
+
}];
|
|
147
|
+
readonly name: "submitMainBlockheaders";
|
|
148
|
+
readonly outputs: readonly [];
|
|
149
|
+
readonly stateMutability: "nonpayable";
|
|
150
|
+
readonly type: "function";
|
|
151
|
+
}, {
|
|
152
|
+
readonly inputs: readonly [{
|
|
153
|
+
readonly internalType: "bytes";
|
|
154
|
+
readonly name: "data";
|
|
155
|
+
readonly type: "bytes";
|
|
156
|
+
}];
|
|
157
|
+
readonly name: "submitShortForkBlockheaders";
|
|
158
|
+
readonly outputs: readonly [];
|
|
159
|
+
readonly stateMutability: "nonpayable";
|
|
160
|
+
readonly type: "function";
|
|
161
|
+
}, {
|
|
162
|
+
readonly inputs: readonly [{
|
|
163
|
+
readonly components: readonly [{
|
|
164
|
+
readonly internalType: "bytes32[5]";
|
|
165
|
+
readonly name: "data";
|
|
166
|
+
readonly type: "bytes32[5]";
|
|
167
|
+
}];
|
|
168
|
+
readonly internalType: "struct StoredBlockHeader";
|
|
169
|
+
readonly name: "storedHeader";
|
|
170
|
+
readonly type: "tuple";
|
|
171
|
+
}];
|
|
172
|
+
readonly name: "verifyBlockheader";
|
|
173
|
+
readonly outputs: readonly [{
|
|
174
|
+
readonly internalType: "uint256";
|
|
175
|
+
readonly name: "confirmations";
|
|
176
|
+
readonly type: "uint256";
|
|
177
|
+
}];
|
|
178
|
+
readonly stateMutability: "view";
|
|
179
|
+
readonly type: "function";
|
|
180
|
+
}, {
|
|
181
|
+
readonly inputs: readonly [{
|
|
182
|
+
readonly internalType: "uint256";
|
|
183
|
+
readonly name: "height";
|
|
184
|
+
readonly type: "uint256";
|
|
185
|
+
}, {
|
|
186
|
+
readonly internalType: "bytes32";
|
|
187
|
+
readonly name: "commitmentHash";
|
|
188
|
+
readonly type: "bytes32";
|
|
189
|
+
}];
|
|
190
|
+
readonly name: "verifyBlockheaderHash";
|
|
191
|
+
readonly outputs: readonly [{
|
|
192
|
+
readonly internalType: "uint256";
|
|
193
|
+
readonly name: "confirmations";
|
|
194
|
+
readonly type: "uint256";
|
|
195
|
+
}];
|
|
196
|
+
readonly stateMutability: "view";
|
|
197
|
+
readonly type: "function";
|
|
198
|
+
}];
|