@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.
- package/dist/index.d.ts +18 -18
- package/dist/index.js +42 -42
- package/dist/starknet/StarknetChainType.d.ts +19 -19
- package/dist/starknet/StarknetChainType.js +2 -2
- package/dist/starknet/StarknetInitializer.d.ts +66 -63
- package/dist/starknet/StarknetInitializer.js +101 -101
- package/dist/starknet/btcrelay/BtcRelayAbi.d.ts +250 -250
- package/dist/starknet/btcrelay/BtcRelayAbi.js +341 -341
- package/dist/starknet/btcrelay/StarknetBtcRelay.d.ts +196 -196
- package/dist/starknet/btcrelay/StarknetBtcRelay.js +419 -411
- package/dist/starknet/btcrelay/headers/StarknetBtcHeader.d.ts +70 -70
- package/dist/starknet/btcrelay/headers/StarknetBtcHeader.js +115 -115
- package/dist/starknet/btcrelay/headers/StarknetBtcStoredHeader.d.ts +91 -91
- package/dist/starknet/btcrelay/headers/StarknetBtcStoredHeader.js +155 -155
- package/dist/starknet/chain/StarknetAction.d.ts +19 -19
- package/dist/starknet/chain/StarknetAction.js +74 -74
- package/dist/starknet/chain/StarknetChainInterface.d.ts +142 -143
- package/dist/starknet/chain/StarknetChainInterface.js +198 -199
- package/dist/starknet/chain/StarknetModule.d.ts +8 -8
- package/dist/starknet/chain/StarknetModule.js +12 -12
- package/dist/starknet/chain/modules/ERC20Abi.d.ts +755 -755
- package/dist/starknet/chain/modules/ERC20Abi.js +1032 -1032
- package/dist/starknet/chain/modules/StarknetAccounts.d.ts +6 -6
- package/dist/starknet/chain/modules/StarknetAccounts.js +26 -26
- package/dist/starknet/chain/modules/StarknetAddresses.d.ts +10 -10
- package/dist/starknet/chain/modules/StarknetAddresses.js +27 -27
- package/dist/starknet/chain/modules/StarknetBlocks.d.ts +27 -27
- package/dist/starknet/chain/modules/StarknetBlocks.js +82 -82
- package/dist/starknet/chain/modules/StarknetEvents.d.ts +47 -47
- package/dist/starknet/chain/modules/StarknetEvents.js +90 -90
- package/dist/starknet/chain/modules/StarknetFees.d.ts +118 -104
- package/dist/starknet/chain/modules/StarknetFees.js +150 -146
- package/dist/starknet/chain/modules/StarknetSignatures.d.ts +29 -29
- package/dist/starknet/chain/modules/StarknetSignatures.js +72 -72
- package/dist/starknet/chain/modules/StarknetTokens.d.ts +66 -66
- package/dist/starknet/chain/modules/StarknetTokens.js +99 -99
- package/dist/starknet/chain/modules/StarknetTransactions.d.ts +122 -115
- package/dist/starknet/chain/modules/StarknetTransactions.js +633 -612
- package/dist/starknet/contract/StarknetContractBase.d.ts +14 -13
- package/dist/starknet/contract/StarknetContractBase.js +21 -20
- package/dist/starknet/contract/StarknetContractModule.d.ts +8 -8
- package/dist/starknet/contract/StarknetContractModule.js +11 -11
- package/dist/starknet/contract/modules/StarknetContractEvents.d.ts +56 -57
- package/dist/starknet/contract/modules/StarknetContractEvents.js +111 -111
- package/dist/starknet/events/StarknetChainEvents.d.ts +21 -21
- package/dist/starknet/events/StarknetChainEvents.js +61 -61
- package/dist/starknet/events/StarknetChainEventsBrowser.d.ts +178 -190
- package/dist/starknet/events/StarknetChainEventsBrowser.js +523 -582
- package/dist/starknet/provider/RpcProviderWithRetries.d.ts +49 -53
- package/dist/starknet/provider/RpcProviderWithRetries.js +94 -94
- package/dist/starknet/provider/WebSocketChannelWithRetries.d.ts +21 -21
- package/dist/starknet/provider/WebSocketChannelWithRetries.js +46 -46
- package/dist/starknet/spv_swap/SpvVaultContractAbi.d.ts +488 -488
- package/dist/starknet/spv_swap/SpvVaultContractAbi.js +656 -656
- package/dist/starknet/spv_swap/StarknetSpvVaultContract.d.ts +225 -219
- package/dist/starknet/spv_swap/StarknetSpvVaultContract.js +663 -621
- package/dist/starknet/spv_swap/StarknetSpvVaultData.d.ts +108 -108
- package/dist/starknet/spv_swap/StarknetSpvVaultData.js +190 -190
- package/dist/starknet/spv_swap/StarknetSpvWithdrawalData.d.ts +56 -56
- package/dist/starknet/spv_swap/StarknetSpvWithdrawalData.js +103 -103
- package/dist/starknet/swaps/EscrowManagerAbi.d.ts +431 -431
- package/dist/starknet/swaps/EscrowManagerAbi.js +583 -583
- package/dist/starknet/swaps/StarknetSwapContract.d.ts +309 -278
- package/dist/starknet/swaps/StarknetSwapContract.js +755 -579
- package/dist/starknet/swaps/StarknetSwapData.d.ts +234 -234
- package/dist/starknet/swaps/StarknetSwapData.js +474 -474
- package/dist/starknet/swaps/StarknetSwapModule.d.ts +10 -10
- package/dist/starknet/swaps/StarknetSwapModule.js +12 -12
- package/dist/starknet/swaps/handlers/IHandler.d.ts +13 -13
- package/dist/starknet/swaps/handlers/IHandler.js +2 -2
- package/dist/starknet/swaps/handlers/claim/ClaimHandlers.d.ts +13 -13
- package/dist/starknet/swaps/handlers/claim/ClaimHandlers.js +13 -13
- package/dist/starknet/swaps/handlers/claim/HashlockClaimHandler.d.ts +21 -21
- package/dist/starknet/swaps/handlers/claim/HashlockClaimHandler.js +44 -44
- package/dist/starknet/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.d.ts +24 -24
- package/dist/starknet/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.js +48 -48
- package/dist/starknet/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.d.ts +25 -25
- package/dist/starknet/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.js +40 -40
- package/dist/starknet/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.d.ts +20 -20
- package/dist/starknet/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.js +30 -30
- package/dist/starknet/swaps/handlers/claim/btc/IBitcoinClaimHandler.d.ts +42 -45
- package/dist/starknet/swaps/handlers/claim/btc/IBitcoinClaimHandler.js +50 -54
- package/dist/starknet/swaps/handlers/refund/TimelockRefundHandler.d.ts +17 -17
- package/dist/starknet/swaps/handlers/refund/TimelockRefundHandler.js +27 -27
- package/dist/starknet/swaps/modules/StarknetLpVault.d.ts +67 -67
- package/dist/starknet/swaps/modules/StarknetLpVault.js +122 -122
- package/dist/starknet/swaps/modules/StarknetSwapClaim.d.ts +52 -52
- package/dist/starknet/swaps/modules/StarknetSwapClaim.js +99 -99
- package/dist/starknet/swaps/modules/StarknetSwapInit.d.ts +94 -94
- package/dist/starknet/swaps/modules/StarknetSwapInit.js +239 -239
- package/dist/starknet/swaps/modules/StarknetSwapRefund.d.ts +60 -60
- package/dist/starknet/swaps/modules/StarknetSwapRefund.js +126 -126
- package/dist/starknet/wallet/StarknetBrowserSigner.d.ts +11 -11
- package/dist/starknet/wallet/StarknetBrowserSigner.js +17 -17
- package/dist/starknet/wallet/StarknetPersistentSigner.d.ts +76 -76
- package/dist/starknet/wallet/StarknetPersistentSigner.js +291 -291
- package/dist/starknet/wallet/StarknetSigner.d.ts +72 -72
- package/dist/starknet/wallet/StarknetSigner.js +114 -114
- package/dist/starknet/wallet/accounts/StarknetKeypairWallet.d.ts +18 -18
- package/dist/starknet/wallet/accounts/StarknetKeypairWallet.js +45 -45
- package/dist/utils/Utils.d.ts +77 -77
- package/dist/utils/Utils.js +304 -303
- package/package.json +2 -2
- package/src/starknet/StarknetInitializer.ts +6 -3
- package/src/starknet/btcrelay/StarknetBtcRelay.ts +19 -6
- package/src/starknet/btcrelay/headers/StarknetBtcHeader.ts +7 -7
- package/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts +6 -6
- package/src/starknet/chain/StarknetAction.ts +1 -0
- package/src/starknet/chain/StarknetChainInterface.ts +0 -2
- package/src/starknet/chain/modules/StarknetFees.ts +15 -2
- package/src/starknet/chain/modules/StarknetTransactions.ts +24 -0
- package/src/starknet/contract/StarknetContractBase.ts +7 -4
- package/src/starknet/contract/StarknetContractModule.ts +1 -1
- package/src/starknet/contract/modules/StarknetContractEvents.ts +7 -7
- package/src/starknet/events/StarknetChainEventsBrowser.ts +2 -64
- package/src/starknet/provider/RpcProviderWithRetries.ts +1 -1
- package/src/starknet/spv_swap/StarknetSpvVaultContract.ts +84 -18
- package/src/starknet/swaps/StarknetSwapContract.ts +242 -6
- package/src/starknet/swaps/handlers/claim/btc/IBitcoinClaimHandler.ts +0 -4
|
@@ -1,56 +1,56 @@
|
|
|
1
|
-
import { SpvWithdrawalTransactionData } from "@atomiqlabs/base";
|
|
2
|
-
import { Buffer } from "buffer";
|
|
3
|
-
import { BigNumberish } from "starknet";
|
|
4
|
-
/**
|
|
5
|
-
* Represents parsed data for withdrawal (calling `claim()`) of the assets in the SPV vault (UTXO-controlled vault)
|
|
6
|
-
*
|
|
7
|
-
* @category Swaps
|
|
8
|
-
*/
|
|
9
|
-
export declare class StarknetSpvWithdrawalData extends SpvWithdrawalTransactionData {
|
|
10
|
-
/**
|
|
11
|
-
*
|
|
12
|
-
* @param data
|
|
13
|
-
* @protected
|
|
14
|
-
*/
|
|
15
|
-
protected fromOpReturnData(data: Buffer): {
|
|
16
|
-
recipient: string;
|
|
17
|
-
rawAmounts: bigint[];
|
|
18
|
-
executionHash?: string;
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* @inheritDoc
|
|
22
|
-
*/
|
|
23
|
-
isRecipient(address: string): boolean;
|
|
24
|
-
/**
|
|
25
|
-
* @inheritDoc
|
|
26
|
-
*/
|
|
27
|
-
getTxHash(): bigint;
|
|
28
|
-
/**
|
|
29
|
-
* @inheritDoc
|
|
30
|
-
*/
|
|
31
|
-
getFrontingAmount(): bigint[];
|
|
32
|
-
/**
|
|
33
|
-
* @inheritDoc
|
|
34
|
-
*/
|
|
35
|
-
serialize(): any;
|
|
36
|
-
/**
|
|
37
|
-
* Serializes the withdrawal data to a starknet.js struct
|
|
38
|
-
*/
|
|
39
|
-
serializeToStruct(): {
|
|
40
|
-
recipient: string;
|
|
41
|
-
amount: Record<number, boolean | object | BigNumberish>;
|
|
42
|
-
caller_fee: Record<number, boolean | object | BigNumberish>;
|
|
43
|
-
fronting_fee: Record<number, boolean | object | BigNumberish>;
|
|
44
|
-
execution_handler_fee_amount_0: bigint;
|
|
45
|
-
execution_hash: bigint;
|
|
46
|
-
execution_expiry: bigint;
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Serializes the withdrawal data to a raw array of felt252 of length 10
|
|
50
|
-
*/
|
|
51
|
-
serializeToFelts(): BigNumberish[];
|
|
52
|
-
/**
|
|
53
|
-
* @inheritDoc
|
|
54
|
-
*/
|
|
55
|
-
getFrontingId(): string;
|
|
56
|
-
}
|
|
1
|
+
import { SpvWithdrawalTransactionData } from "@atomiqlabs/base";
|
|
2
|
+
import { Buffer } from "buffer";
|
|
3
|
+
import { BigNumberish } from "starknet";
|
|
4
|
+
/**
|
|
5
|
+
* Represents parsed data for withdrawal (calling `claim()`) of the assets in the SPV vault (UTXO-controlled vault)
|
|
6
|
+
*
|
|
7
|
+
* @category Swaps
|
|
8
|
+
*/
|
|
9
|
+
export declare class StarknetSpvWithdrawalData extends SpvWithdrawalTransactionData {
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
* @param data
|
|
13
|
+
* @protected
|
|
14
|
+
*/
|
|
15
|
+
protected fromOpReturnData(data: Buffer): {
|
|
16
|
+
recipient: string;
|
|
17
|
+
rawAmounts: bigint[];
|
|
18
|
+
executionHash?: string;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* @inheritDoc
|
|
22
|
+
*/
|
|
23
|
+
isRecipient(address: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* @inheritDoc
|
|
26
|
+
*/
|
|
27
|
+
getTxHash(): bigint;
|
|
28
|
+
/**
|
|
29
|
+
* @inheritDoc
|
|
30
|
+
*/
|
|
31
|
+
getFrontingAmount(): bigint[];
|
|
32
|
+
/**
|
|
33
|
+
* @inheritDoc
|
|
34
|
+
*/
|
|
35
|
+
serialize(): any;
|
|
36
|
+
/**
|
|
37
|
+
* Serializes the withdrawal data to a starknet.js struct
|
|
38
|
+
*/
|
|
39
|
+
serializeToStruct(): {
|
|
40
|
+
recipient: string;
|
|
41
|
+
amount: Record<number, boolean | object | BigNumberish>;
|
|
42
|
+
caller_fee: Record<number, boolean | object | BigNumberish>;
|
|
43
|
+
fronting_fee: Record<number, boolean | object | BigNumberish>;
|
|
44
|
+
execution_handler_fee_amount_0: bigint;
|
|
45
|
+
execution_hash: bigint;
|
|
46
|
+
execution_expiry: bigint;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Serializes the withdrawal data to a raw array of felt252 of length 10
|
|
50
|
+
*/
|
|
51
|
+
serializeToFelts(): BigNumberish[];
|
|
52
|
+
/**
|
|
53
|
+
* @inheritDoc
|
|
54
|
+
*/
|
|
55
|
+
getFrontingId(): string;
|
|
56
|
+
}
|
|
@@ -1,103 +1,103 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StarknetSpvWithdrawalData = void 0;
|
|
4
|
-
const base_1 = require("@atomiqlabs/base");
|
|
5
|
-
const buffer_1 = require("buffer");
|
|
6
|
-
const starknet_1 = require("starknet");
|
|
7
|
-
const Utils_1 = require("../../utils/Utils");
|
|
8
|
-
const StarknetSpvVaultContract_1 = require("./StarknetSpvVaultContract");
|
|
9
|
-
/**
|
|
10
|
-
* Represents parsed data for withdrawal (calling `claim()`) of the assets in the SPV vault (UTXO-controlled vault)
|
|
11
|
-
*
|
|
12
|
-
* @category Swaps
|
|
13
|
-
*/
|
|
14
|
-
class StarknetSpvWithdrawalData extends base_1.SpvWithdrawalTransactionData {
|
|
15
|
-
/**
|
|
16
|
-
*
|
|
17
|
-
* @param data
|
|
18
|
-
* @protected
|
|
19
|
-
*/
|
|
20
|
-
fromOpReturnData(data) {
|
|
21
|
-
return StarknetSpvVaultContract_1.StarknetSpvVaultContract.fromOpReturnData(data);
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* @inheritDoc
|
|
25
|
-
*/
|
|
26
|
-
isRecipient(address) {
|
|
27
|
-
return this.getRecipient().toLowerCase() === address.toLowerCase();
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* @inheritDoc
|
|
31
|
-
*/
|
|
32
|
-
getTxHash() {
|
|
33
|
-
return BigInt("0x" + buffer_1.Buffer.from(this.btcTx.txid, "hex").reverse().toString("hex"));
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* @inheritDoc
|
|
37
|
-
*/
|
|
38
|
-
getFrontingAmount() {
|
|
39
|
-
return [this.rawAmounts[0] + this.getExecutionFee()[0], this.rawAmounts[1]];
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* @inheritDoc
|
|
43
|
-
*/
|
|
44
|
-
serialize() {
|
|
45
|
-
return {
|
|
46
|
-
type: "STARKNET",
|
|
47
|
-
...super.serialize()
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Serializes the withdrawal data to a starknet.js struct
|
|
52
|
-
*/
|
|
53
|
-
serializeToStruct() {
|
|
54
|
-
const callerFee = this.getCallerFee();
|
|
55
|
-
const frontingFee = this.getFrontingFee();
|
|
56
|
-
const executionFee = this.getExecutionFee();
|
|
57
|
-
return {
|
|
58
|
-
recipient: this.recipient,
|
|
59
|
-
amount: starknet_1.cairo.tuple(this.rawAmounts[0], this.rawAmounts[1]),
|
|
60
|
-
caller_fee: starknet_1.cairo.tuple(callerFee[0], callerFee[1]),
|
|
61
|
-
fronting_fee: starknet_1.cairo.tuple(frontingFee[0], frontingFee[1]),
|
|
62
|
-
execution_handler_fee_amount_0: executionFee[0],
|
|
63
|
-
execution_hash: (0, Utils_1.toBigInt)(this.executionHash) ?? 0n,
|
|
64
|
-
execution_expiry: BigInt(this.executionExpiry)
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Serializes the withdrawal data to a raw array of felt252 of length 10
|
|
69
|
-
*/
|
|
70
|
-
serializeToFelts() {
|
|
71
|
-
const callerFee = this.getCallerFee();
|
|
72
|
-
const frontingFee = this.getFrontingFee();
|
|
73
|
-
const executionFee = this.getExecutionFee();
|
|
74
|
-
return [
|
|
75
|
-
this.recipient,
|
|
76
|
-
this.rawAmounts[0],
|
|
77
|
-
this.rawAmounts[1],
|
|
78
|
-
callerFee[0],
|
|
79
|
-
callerFee[1],
|
|
80
|
-
frontingFee[0],
|
|
81
|
-
frontingFee[1],
|
|
82
|
-
executionFee[0],
|
|
83
|
-
(0, Utils_1.toBigInt)(this.executionHash) ?? 0n,
|
|
84
|
-
BigInt(this.executionExpiry)
|
|
85
|
-
];
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* @inheritDoc
|
|
89
|
-
*/
|
|
90
|
-
getFrontingId() {
|
|
91
|
-
const txHashU256 = starknet_1.cairo.uint256(base_1.BigIntBufferUtils.fromBuffer(buffer_1.Buffer.from(this.btcTx.txid, "hex"), "le"));
|
|
92
|
-
let frontingId = starknet_1.hash.computePoseidonHashOnElements([
|
|
93
|
-
txHashU256.low,
|
|
94
|
-
txHashU256.high,
|
|
95
|
-
...this.serializeToFelts()
|
|
96
|
-
]);
|
|
97
|
-
if (frontingId.startsWith("0x"))
|
|
98
|
-
frontingId = frontingId.slice(2);
|
|
99
|
-
return frontingId.padStart(64, "0");
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
exports.StarknetSpvWithdrawalData = StarknetSpvWithdrawalData;
|
|
103
|
-
base_1.SpvWithdrawalTransactionData.deserializers["STARKNET"] = StarknetSpvWithdrawalData;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StarknetSpvWithdrawalData = void 0;
|
|
4
|
+
const base_1 = require("@atomiqlabs/base");
|
|
5
|
+
const buffer_1 = require("buffer");
|
|
6
|
+
const starknet_1 = require("starknet");
|
|
7
|
+
const Utils_1 = require("../../utils/Utils");
|
|
8
|
+
const StarknetSpvVaultContract_1 = require("./StarknetSpvVaultContract");
|
|
9
|
+
/**
|
|
10
|
+
* Represents parsed data for withdrawal (calling `claim()`) of the assets in the SPV vault (UTXO-controlled vault)
|
|
11
|
+
*
|
|
12
|
+
* @category Swaps
|
|
13
|
+
*/
|
|
14
|
+
class StarknetSpvWithdrawalData extends base_1.SpvWithdrawalTransactionData {
|
|
15
|
+
/**
|
|
16
|
+
*
|
|
17
|
+
* @param data
|
|
18
|
+
* @protected
|
|
19
|
+
*/
|
|
20
|
+
fromOpReturnData(data) {
|
|
21
|
+
return StarknetSpvVaultContract_1.StarknetSpvVaultContract.fromOpReturnData(data);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* @inheritDoc
|
|
25
|
+
*/
|
|
26
|
+
isRecipient(address) {
|
|
27
|
+
return this.getRecipient().toLowerCase() === address.toLowerCase();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @inheritDoc
|
|
31
|
+
*/
|
|
32
|
+
getTxHash() {
|
|
33
|
+
return BigInt("0x" + buffer_1.Buffer.from(this.btcTx.txid, "hex").reverse().toString("hex"));
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @inheritDoc
|
|
37
|
+
*/
|
|
38
|
+
getFrontingAmount() {
|
|
39
|
+
return [this.rawAmounts[0] + this.getExecutionFee()[0], this.rawAmounts[1]];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* @inheritDoc
|
|
43
|
+
*/
|
|
44
|
+
serialize() {
|
|
45
|
+
return {
|
|
46
|
+
type: "STARKNET",
|
|
47
|
+
...super.serialize()
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Serializes the withdrawal data to a starknet.js struct
|
|
52
|
+
*/
|
|
53
|
+
serializeToStruct() {
|
|
54
|
+
const callerFee = this.getCallerFee();
|
|
55
|
+
const frontingFee = this.getFrontingFee();
|
|
56
|
+
const executionFee = this.getExecutionFee();
|
|
57
|
+
return {
|
|
58
|
+
recipient: this.recipient,
|
|
59
|
+
amount: starknet_1.cairo.tuple(this.rawAmounts[0], this.rawAmounts[1]),
|
|
60
|
+
caller_fee: starknet_1.cairo.tuple(callerFee[0], callerFee[1]),
|
|
61
|
+
fronting_fee: starknet_1.cairo.tuple(frontingFee[0], frontingFee[1]),
|
|
62
|
+
execution_handler_fee_amount_0: executionFee[0],
|
|
63
|
+
execution_hash: (0, Utils_1.toBigInt)(this.executionHash) ?? 0n,
|
|
64
|
+
execution_expiry: BigInt(this.executionExpiry)
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Serializes the withdrawal data to a raw array of felt252 of length 10
|
|
69
|
+
*/
|
|
70
|
+
serializeToFelts() {
|
|
71
|
+
const callerFee = this.getCallerFee();
|
|
72
|
+
const frontingFee = this.getFrontingFee();
|
|
73
|
+
const executionFee = this.getExecutionFee();
|
|
74
|
+
return [
|
|
75
|
+
this.recipient,
|
|
76
|
+
this.rawAmounts[0],
|
|
77
|
+
this.rawAmounts[1],
|
|
78
|
+
callerFee[0],
|
|
79
|
+
callerFee[1],
|
|
80
|
+
frontingFee[0],
|
|
81
|
+
frontingFee[1],
|
|
82
|
+
executionFee[0],
|
|
83
|
+
(0, Utils_1.toBigInt)(this.executionHash) ?? 0n,
|
|
84
|
+
BigInt(this.executionExpiry)
|
|
85
|
+
];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* @inheritDoc
|
|
89
|
+
*/
|
|
90
|
+
getFrontingId() {
|
|
91
|
+
const txHashU256 = starknet_1.cairo.uint256(base_1.BigIntBufferUtils.fromBuffer(buffer_1.Buffer.from(this.btcTx.txid, "hex"), "le"));
|
|
92
|
+
let frontingId = starknet_1.hash.computePoseidonHashOnElements([
|
|
93
|
+
txHashU256.low,
|
|
94
|
+
txHashU256.high,
|
|
95
|
+
...this.serializeToFelts()
|
|
96
|
+
]);
|
|
97
|
+
if (frontingId.startsWith("0x"))
|
|
98
|
+
frontingId = frontingId.slice(2);
|
|
99
|
+
return frontingId.padStart(64, "0");
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.StarknetSpvWithdrawalData = StarknetSpvWithdrawalData;
|
|
103
|
+
base_1.SpvWithdrawalTransactionData.deserializers["STARKNET"] = StarknetSpvWithdrawalData;
|