@atomiqlabs/chain-starknet 4.0.0-dev.12 → 4.0.0-dev.13
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/index.d.ts +38 -38
- package/dist/index.js +54 -54
- package/dist/starknet/StarknetChainType.d.ts +13 -13
- package/dist/starknet/StarknetChainType.js +2 -2
- package/dist/starknet/StarknetInitializer.d.ts +27 -27
- package/dist/starknet/StarknetInitializer.js +69 -69
- package/dist/starknet/btcrelay/BtcRelayAbi.d.ts +250 -250
- package/dist/starknet/btcrelay/BtcRelayAbi.js +341 -341
- package/dist/starknet/btcrelay/StarknetBtcRelay.d.ts +186 -186
- package/dist/starknet/btcrelay/StarknetBtcRelay.js +379 -379
- package/dist/starknet/btcrelay/headers/StarknetBtcHeader.d.ts +31 -31
- package/dist/starknet/btcrelay/headers/StarknetBtcHeader.js +74 -74
- package/dist/starknet/btcrelay/headers/StarknetBtcStoredHeader.d.ts +51 -51
- package/dist/starknet/btcrelay/headers/StarknetBtcStoredHeader.js +113 -113
- package/dist/starknet/chain/StarknetAction.d.ts +19 -19
- package/dist/starknet/chain/StarknetAction.js +73 -73
- package/dist/starknet/chain/StarknetChainInterface.d.ts +52 -52
- package/dist/starknet/chain/StarknetChainInterface.js +91 -91
- package/dist/starknet/chain/StarknetModule.d.ts +14 -14
- package/dist/starknet/chain/StarknetModule.js +13 -13
- 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 +24 -24
- package/dist/starknet/chain/modules/StarknetAddresses.d.ts +9 -9
- package/dist/starknet/chain/modules/StarknetAddresses.js +26 -26
- package/dist/starknet/chain/modules/StarknetBlocks.d.ts +20 -20
- package/dist/starknet/chain/modules/StarknetBlocks.js +64 -64
- package/dist/starknet/chain/modules/StarknetEvents.d.ts +44 -44
- package/dist/starknet/chain/modules/StarknetEvents.js +88 -88
- package/dist/starknet/chain/modules/StarknetFees.d.ts +77 -77
- package/dist/starknet/chain/modules/StarknetFees.js +114 -114
- 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 +69 -69
- package/dist/starknet/chain/modules/StarknetTokens.js +102 -98
- package/dist/starknet/chain/modules/StarknetTransactions.d.ts +93 -93
- package/dist/starknet/chain/modules/StarknetTransactions.js +261 -260
- package/dist/starknet/contract/StarknetContractBase.d.ts +13 -13
- package/dist/starknet/contract/StarknetContractBase.js +20 -16
- 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 +51 -51
- package/dist/starknet/contract/modules/StarknetContractEvents.js +97 -97
- package/dist/starknet/events/StarknetChainEvents.d.ts +21 -21
- package/dist/starknet/events/StarknetChainEvents.js +52 -52
- package/dist/starknet/events/StarknetChainEventsBrowser.d.ts +89 -90
- package/dist/starknet/events/StarknetChainEventsBrowser.js +296 -294
- package/dist/starknet/provider/RpcProviderWithRetries.d.ts +21 -21
- package/dist/starknet/provider/RpcProviderWithRetries.js +32 -32
- 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 +66 -66
- package/dist/starknet/spv_swap/StarknetSpvVaultContract.js +382 -382
- package/dist/starknet/spv_swap/StarknetSpvVaultData.d.ts +49 -49
- package/dist/starknet/spv_swap/StarknetSpvVaultData.js +145 -145
- package/dist/starknet/spv_swap/StarknetSpvWithdrawalData.d.ts +25 -25
- package/dist/starknet/spv_swap/StarknetSpvWithdrawalData.js +72 -72
- package/dist/starknet/swaps/EscrowManagerAbi.d.ts +431 -431
- package/dist/starknet/swaps/EscrowManagerAbi.js +583 -583
- package/dist/starknet/swaps/StarknetSwapContract.d.ts +191 -191
- package/dist/starknet/swaps/StarknetSwapContract.js +424 -424
- package/dist/starknet/swaps/StarknetSwapData.d.ts +74 -74
- package/dist/starknet/swaps/StarknetSwapData.js +325 -325
- package/dist/starknet/swaps/StarknetSwapModule.d.ts +10 -10
- package/dist/starknet/swaps/StarknetSwapModule.js +11 -11
- 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 +45 -45
- package/dist/starknet/swaps/handlers/claim/btc/IBitcoinClaimHandler.js +52 -52
- 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 +69 -69
- package/dist/starknet/swaps/modules/StarknetLpVault.js +122 -122
- package/dist/starknet/swaps/modules/StarknetSwapClaim.d.ts +53 -53
- package/dist/starknet/swaps/modules/StarknetSwapClaim.js +100 -100
- package/dist/starknet/swaps/modules/StarknetSwapInit.d.ts +94 -87
- package/dist/starknet/swaps/modules/StarknetSwapInit.js +235 -225
- package/dist/starknet/swaps/modules/StarknetSwapRefund.d.ts +62 -62
- package/dist/starknet/swaps/modules/StarknetSwapRefund.js +128 -128
- package/dist/starknet/wallet/StarknetKeypairWallet.d.ts +7 -7
- package/dist/starknet/wallet/StarknetKeypairWallet.js +35 -30
- package/dist/starknet/wallet/StarknetSigner.d.ts +12 -12
- package/dist/starknet/wallet/StarknetSigner.js +47 -46
- package/dist/utils/Utils.d.ts +37 -37
- package/dist/utils/Utils.js +260 -261
- package/package.json +43 -37
- package/src/index.ts +47 -47
- package/src/starknet/StarknetChainType.ts +28 -28
- package/src/starknet/StarknetInitializer.ts +108 -108
- package/src/starknet/btcrelay/BtcRelayAbi.ts +338 -338
- package/src/starknet/btcrelay/StarknetBtcRelay.ts +494 -494
- package/src/starknet/btcrelay/headers/StarknetBtcHeader.ts +100 -100
- package/src/starknet/btcrelay/headers/StarknetBtcStoredHeader.ts +141 -141
- package/src/starknet/chain/StarknetAction.ts +85 -85
- package/src/starknet/chain/StarknetChainInterface.ts +149 -149
- package/src/starknet/chain/StarknetModule.ts +19 -19
- package/src/starknet/chain/modules/ERC20Abi.ts +1029 -1029
- package/src/starknet/chain/modules/StarknetAccounts.ts +25 -25
- package/src/starknet/chain/modules/StarknetAddresses.ts +22 -22
- package/src/starknet/chain/modules/StarknetBlocks.ts +75 -74
- package/src/starknet/chain/modules/StarknetEvents.ts +104 -104
- package/src/starknet/chain/modules/StarknetFees.ts +154 -154
- package/src/starknet/chain/modules/StarknetSignatures.ts +91 -91
- package/src/starknet/chain/modules/StarknetTokens.ts +120 -116
- package/src/starknet/chain/modules/StarknetTransactions.ts +285 -283
- package/src/starknet/contract/StarknetContractBase.ts +30 -26
- package/src/starknet/contract/StarknetContractModule.ts +16 -16
- package/src/starknet/contract/modules/StarknetContractEvents.ts +134 -134
- package/src/starknet/events/StarknetChainEvents.ts +67 -67
- package/src/starknet/events/StarknetChainEventsBrowser.ts +411 -411
- package/src/starknet/provider/RpcProviderWithRetries.ts +43 -43
- package/src/starknet/spv_swap/SpvVaultContractAbi.ts +656 -656
- package/src/starknet/spv_swap/StarknetSpvVaultContract.ts +483 -483
- package/src/starknet/spv_swap/StarknetSpvVaultData.ts +195 -195
- package/src/starknet/spv_swap/StarknetSpvWithdrawalData.ts +79 -79
- package/src/starknet/swaps/EscrowManagerAbi.ts +582 -582
- package/src/starknet/swaps/StarknetSwapContract.ts +647 -647
- package/src/starknet/swaps/StarknetSwapData.ts +455 -455
- package/src/starknet/swaps/StarknetSwapModule.ts +17 -17
- package/src/starknet/swaps/handlers/IHandler.ts +20 -20
- package/src/starknet/swaps/handlers/claim/ClaimHandlers.ts +23 -23
- package/src/starknet/swaps/handlers/claim/HashlockClaimHandler.ts +53 -53
- package/src/starknet/swaps/handlers/claim/btc/BitcoinNoncedOutputClaimHandler.ts +73 -73
- package/src/starknet/swaps/handlers/claim/btc/BitcoinOutputClaimHandler.ts +67 -67
- package/src/starknet/swaps/handlers/claim/btc/BitcoinTxIdClaimHandler.ts +50 -50
- package/src/starknet/swaps/handlers/claim/btc/IBitcoinClaimHandler.ts +102 -102
- package/src/starknet/swaps/handlers/refund/TimelockRefundHandler.ts +38 -38
- package/src/starknet/swaps/modules/StarknetLpVault.ts +147 -147
- package/src/starknet/swaps/modules/StarknetSwapClaim.ts +141 -141
- package/src/starknet/swaps/modules/StarknetSwapInit.ts +300 -287
- package/src/starknet/swaps/modules/StarknetSwapRefund.ts +196 -196
- package/src/starknet/wallet/StarknetKeypairWallet.ts +44 -39
- package/src/starknet/wallet/StarknetSigner.ts +55 -55
- package/src/utils/Utils.ts +251 -252
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StarknetAction = void 0;
|
|
4
|
-
const StarknetFees_1 = require("./modules/StarknetFees");
|
|
5
|
-
class StarknetAction {
|
|
6
|
-
constructor(mainSigner, root, instructions = [], gasLimit, feeRate) {
|
|
7
|
-
this.mainSigner = mainSigner;
|
|
8
|
-
this.root = root;
|
|
9
|
-
this.instructions = Array.isArray(instructions) ? instructions : [instructions];
|
|
10
|
-
this.gas = {
|
|
11
|
-
l1Gas: gasLimit?.l1Gas ?? 0,
|
|
12
|
-
l2Gas: gasLimit?.l2Gas ?? 0,
|
|
13
|
-
l1DataGas: gasLimit?.l1DataGas ?? 0,
|
|
14
|
-
};
|
|
15
|
-
this.feeRate = feeRate;
|
|
16
|
-
}
|
|
17
|
-
estimateFeeRate() {
|
|
18
|
-
return this.root.Fees.getFeeRate();
|
|
19
|
-
}
|
|
20
|
-
addIx(instruction, gasLimit) {
|
|
21
|
-
this.instructions.push(instruction);
|
|
22
|
-
this.gas = (0, StarknetFees_1.starknetGasAdd)(this.gas, gasLimit);
|
|
23
|
-
}
|
|
24
|
-
add(action) {
|
|
25
|
-
return this.addAction(action);
|
|
26
|
-
}
|
|
27
|
-
addAction(action, index = this.instructions.length) {
|
|
28
|
-
if (action.mainSigner !== this.mainSigner)
|
|
29
|
-
throw new Error("Actions need to have the same signer!");
|
|
30
|
-
if (this.gas.l1Gas == null && action.gas.l1Gas != null)
|
|
31
|
-
this.gas.l1Gas = action.gas.l1Gas;
|
|
32
|
-
if (this.gas.l2Gas == null && action.gas.l2Gas != null)
|
|
33
|
-
this.gas.l2Gas = action.gas.l2Gas;
|
|
34
|
-
if (this.gas.l1DataGas == null && action.gas.l1DataGas != null)
|
|
35
|
-
this.gas.l1DataGas = action.gas.l1DataGas;
|
|
36
|
-
if (this.gas.l1Gas != null && action.gas.l1Gas != null)
|
|
37
|
-
this.gas.l1Gas += action.gas.l1Gas;
|
|
38
|
-
if (this.gas.l2Gas != null && action.gas.l2Gas != null)
|
|
39
|
-
this.gas.l2Gas += action.gas.l2Gas;
|
|
40
|
-
if (this.gas.l1DataGas != null && action.gas.l1DataGas != null)
|
|
41
|
-
this.gas.l1DataGas += action.gas.l1DataGas;
|
|
42
|
-
this.instructions.splice(index, 0, ...action.instructions);
|
|
43
|
-
if (this.feeRate == null)
|
|
44
|
-
this.feeRate = action.feeRate;
|
|
45
|
-
return this;
|
|
46
|
-
}
|
|
47
|
-
async tx(feeRate) {
|
|
48
|
-
if (feeRate == null)
|
|
49
|
-
feeRate = this.feeRate;
|
|
50
|
-
if (feeRate == null)
|
|
51
|
-
feeRate = await this.estimateFeeRate();
|
|
52
|
-
return {
|
|
53
|
-
type: "INVOKE",
|
|
54
|
-
tx: this.instructions,
|
|
55
|
-
details: {
|
|
56
|
-
...this.root.Fees.getFeeDetails(this.gas, feeRate),
|
|
57
|
-
walletAddress: this.mainSigner,
|
|
58
|
-
cairoVersion: "1",
|
|
59
|
-
chainId: this.root.starknetChainId,
|
|
60
|
-
nonce: null,
|
|
61
|
-
accountDeploymentData: [],
|
|
62
|
-
skipValidate: false
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
async addToTxs(txs, feeRate) {
|
|
67
|
-
txs.push(await this.tx(feeRate));
|
|
68
|
-
}
|
|
69
|
-
ixsLength() {
|
|
70
|
-
return this.instructions.length;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
exports.StarknetAction = StarknetAction;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StarknetAction = void 0;
|
|
4
|
+
const StarknetFees_1 = require("./modules/StarknetFees");
|
|
5
|
+
class StarknetAction {
|
|
6
|
+
constructor(mainSigner, root, instructions = [], gasLimit, feeRate) {
|
|
7
|
+
this.mainSigner = mainSigner;
|
|
8
|
+
this.root = root;
|
|
9
|
+
this.instructions = Array.isArray(instructions) ? instructions : [instructions];
|
|
10
|
+
this.gas = {
|
|
11
|
+
l1Gas: gasLimit?.l1Gas ?? 0,
|
|
12
|
+
l2Gas: gasLimit?.l2Gas ?? 0,
|
|
13
|
+
l1DataGas: gasLimit?.l1DataGas ?? 0,
|
|
14
|
+
};
|
|
15
|
+
this.feeRate = feeRate;
|
|
16
|
+
}
|
|
17
|
+
estimateFeeRate() {
|
|
18
|
+
return this.root.Fees.getFeeRate();
|
|
19
|
+
}
|
|
20
|
+
addIx(instruction, gasLimit) {
|
|
21
|
+
this.instructions.push(instruction);
|
|
22
|
+
this.gas = (0, StarknetFees_1.starknetGasAdd)(this.gas, gasLimit);
|
|
23
|
+
}
|
|
24
|
+
add(action) {
|
|
25
|
+
return this.addAction(action);
|
|
26
|
+
}
|
|
27
|
+
addAction(action, index = this.instructions.length) {
|
|
28
|
+
if (action.mainSigner !== this.mainSigner)
|
|
29
|
+
throw new Error("Actions need to have the same signer!");
|
|
30
|
+
if (this.gas.l1Gas == null && action.gas.l1Gas != null)
|
|
31
|
+
this.gas.l1Gas = action.gas.l1Gas;
|
|
32
|
+
if (this.gas.l2Gas == null && action.gas.l2Gas != null)
|
|
33
|
+
this.gas.l2Gas = action.gas.l2Gas;
|
|
34
|
+
if (this.gas.l1DataGas == null && action.gas.l1DataGas != null)
|
|
35
|
+
this.gas.l1DataGas = action.gas.l1DataGas;
|
|
36
|
+
if (this.gas.l1Gas != null && action.gas.l1Gas != null)
|
|
37
|
+
this.gas.l1Gas += action.gas.l1Gas;
|
|
38
|
+
if (this.gas.l2Gas != null && action.gas.l2Gas != null)
|
|
39
|
+
this.gas.l2Gas += action.gas.l2Gas;
|
|
40
|
+
if (this.gas.l1DataGas != null && action.gas.l1DataGas != null)
|
|
41
|
+
this.gas.l1DataGas += action.gas.l1DataGas;
|
|
42
|
+
this.instructions.splice(index, 0, ...action.instructions);
|
|
43
|
+
if (this.feeRate == null)
|
|
44
|
+
this.feeRate = action.feeRate;
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
async tx(feeRate) {
|
|
48
|
+
if (feeRate == null)
|
|
49
|
+
feeRate = this.feeRate;
|
|
50
|
+
if (feeRate == null)
|
|
51
|
+
feeRate = await this.estimateFeeRate();
|
|
52
|
+
return {
|
|
53
|
+
type: "INVOKE",
|
|
54
|
+
tx: this.instructions,
|
|
55
|
+
details: {
|
|
56
|
+
...this.root.Fees.getFeeDetails(this.gas, feeRate),
|
|
57
|
+
walletAddress: this.mainSigner,
|
|
58
|
+
cairoVersion: "1",
|
|
59
|
+
chainId: this.root.starknetChainId,
|
|
60
|
+
nonce: null,
|
|
61
|
+
accountDeploymentData: [],
|
|
62
|
+
skipValidate: false
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
async addToTxs(txs, feeRate) {
|
|
67
|
+
txs.push(await this.tx(feeRate));
|
|
68
|
+
}
|
|
69
|
+
ixsLength() {
|
|
70
|
+
return this.instructions.length;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.StarknetAction = StarknetAction;
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import { Provider, constants } from "starknet";
|
|
2
|
-
import { StarknetTransactions, StarknetTx } from "./modules/StarknetTransactions";
|
|
3
|
-
import { StarknetFees } from "./modules/StarknetFees";
|
|
4
|
-
import { StarknetTokens } from "./modules/StarknetTokens";
|
|
5
|
-
import { StarknetEvents } from "./modules/StarknetEvents";
|
|
6
|
-
import { StarknetSignatures } from "./modules/StarknetSignatures";
|
|
7
|
-
import { StarknetAccounts } from "./modules/StarknetAccounts";
|
|
8
|
-
import { StarknetBlocks } from "./modules/StarknetBlocks";
|
|
9
|
-
import { ChainInterface, TransactionConfirmationOptions } from "@atomiqlabs/base";
|
|
10
|
-
import { StarknetSigner } from "../wallet/StarknetSigner";
|
|
11
|
-
export type StarknetRetryPolicy = {
|
|
12
|
-
maxRetries?: number;
|
|
13
|
-
delay?: number;
|
|
14
|
-
exponential?: boolean;
|
|
15
|
-
};
|
|
16
|
-
export declare class StarknetChainInterface implements ChainInterface {
|
|
17
|
-
readonly chainId = "STARKNET";
|
|
18
|
-
readonly provider: Provider;
|
|
19
|
-
readonly retryPolicy: StarknetRetryPolicy;
|
|
20
|
-
readonly starknetChainId: constants.StarknetChainId;
|
|
21
|
-
Fees: StarknetFees;
|
|
22
|
-
readonly Tokens: StarknetTokens;
|
|
23
|
-
readonly Transactions: StarknetTransactions;
|
|
24
|
-
readonly Signatures: StarknetSignatures;
|
|
25
|
-
readonly Events: StarknetEvents;
|
|
26
|
-
readonly Accounts: StarknetAccounts;
|
|
27
|
-
readonly Blocks: StarknetBlocks;
|
|
28
|
-
protected readonly logger: {
|
|
29
|
-
debug: (msg: any, ...args: any[]) => void;
|
|
30
|
-
info: (msg: any, ...args: any[]) => void;
|
|
31
|
-
warn: (msg: any, ...args: any[]) => void;
|
|
32
|
-
error: (msg: any, ...args: any[]) => void;
|
|
33
|
-
};
|
|
34
|
-
constructor(chainId: constants.StarknetChainId, provider: Provider, retryPolicy?: StarknetRetryPolicy, solanaFeeEstimator?: StarknetFees);
|
|
35
|
-
getBalance(signer: string, tokenAddress: string): Promise<bigint>;
|
|
36
|
-
getNativeCurrencyAddress(): string;
|
|
37
|
-
isValidToken(tokenIdentifier: string): boolean;
|
|
38
|
-
isValidAddress(address: string): boolean;
|
|
39
|
-
offBeforeTxReplace(callback: (oldTx: string, oldTxId: string, newTx: string, newTxId: string) => Promise<void>): boolean;
|
|
40
|
-
onBeforeTxReplace(callback: (oldTx: string, oldTxId: string, newTx: string, newTxId: string) => Promise<void>): void;
|
|
41
|
-
onBeforeTxSigned(callback: (tx: StarknetTx) => Promise<void>): void;
|
|
42
|
-
offBeforeTxSigned(callback: (tx: StarknetTx) => Promise<void>): boolean;
|
|
43
|
-
randomAddress(): string;
|
|
44
|
-
randomSigner(): StarknetSigner;
|
|
45
|
-
sendAndConfirm(signer: StarknetSigner, txs: StarknetTx[], waitForConfirmation?: boolean, abortSignal?: AbortSignal, parallel?: boolean, onBeforePublish?: (txId: string, rawTx: string) => Promise<void>): Promise<string[]>;
|
|
46
|
-
serializeTx(tx: StarknetTx): Promise<string>;
|
|
47
|
-
deserializeTx(txData: string): Promise<StarknetTx>;
|
|
48
|
-
getTxIdStatus(txId: string): Promise<"not_found" | "pending" | "success" | "reverted">;
|
|
49
|
-
getTxStatus(tx: string): Promise<"not_found" | "pending" | "success" | "reverted">;
|
|
50
|
-
txsTransfer(signer: string, token: string, amount: bigint, dstAddress: string, feeRate?: string): Promise<StarknetTx[]>;
|
|
51
|
-
transfer(signer: StarknetSigner, token: string, amount: bigint, dstAddress: string, txOptions?: TransactionConfirmationOptions): Promise<string>;
|
|
52
|
-
}
|
|
1
|
+
import { Provider, constants } from "starknet";
|
|
2
|
+
import { StarknetTransactions, StarknetTx } from "./modules/StarknetTransactions";
|
|
3
|
+
import { StarknetFees } from "./modules/StarknetFees";
|
|
4
|
+
import { StarknetTokens } from "./modules/StarknetTokens";
|
|
5
|
+
import { StarknetEvents } from "./modules/StarknetEvents";
|
|
6
|
+
import { StarknetSignatures } from "./modules/StarknetSignatures";
|
|
7
|
+
import { StarknetAccounts } from "./modules/StarknetAccounts";
|
|
8
|
+
import { StarknetBlocks } from "./modules/StarknetBlocks";
|
|
9
|
+
import { ChainInterface, TransactionConfirmationOptions } from "@atomiqlabs/base";
|
|
10
|
+
import { StarknetSigner } from "../wallet/StarknetSigner";
|
|
11
|
+
export type StarknetRetryPolicy = {
|
|
12
|
+
maxRetries?: number;
|
|
13
|
+
delay?: number;
|
|
14
|
+
exponential?: boolean;
|
|
15
|
+
};
|
|
16
|
+
export declare class StarknetChainInterface implements ChainInterface {
|
|
17
|
+
readonly chainId = "STARKNET";
|
|
18
|
+
readonly provider: Provider;
|
|
19
|
+
readonly retryPolicy: StarknetRetryPolicy;
|
|
20
|
+
readonly starknetChainId: constants.StarknetChainId;
|
|
21
|
+
Fees: StarknetFees;
|
|
22
|
+
readonly Tokens: StarknetTokens;
|
|
23
|
+
readonly Transactions: StarknetTransactions;
|
|
24
|
+
readonly Signatures: StarknetSignatures;
|
|
25
|
+
readonly Events: StarknetEvents;
|
|
26
|
+
readonly Accounts: StarknetAccounts;
|
|
27
|
+
readonly Blocks: StarknetBlocks;
|
|
28
|
+
protected readonly logger: {
|
|
29
|
+
debug: (msg: any, ...args: any[]) => void;
|
|
30
|
+
info: (msg: any, ...args: any[]) => void;
|
|
31
|
+
warn: (msg: any, ...args: any[]) => void;
|
|
32
|
+
error: (msg: any, ...args: any[]) => void;
|
|
33
|
+
};
|
|
34
|
+
constructor(chainId: constants.StarknetChainId, provider: Provider, retryPolicy?: StarknetRetryPolicy, solanaFeeEstimator?: StarknetFees);
|
|
35
|
+
getBalance(signer: string, tokenAddress: string): Promise<bigint>;
|
|
36
|
+
getNativeCurrencyAddress(): string;
|
|
37
|
+
isValidToken(tokenIdentifier: string): boolean;
|
|
38
|
+
isValidAddress(address: string): boolean;
|
|
39
|
+
offBeforeTxReplace(callback: (oldTx: string, oldTxId: string, newTx: string, newTxId: string) => Promise<void>): boolean;
|
|
40
|
+
onBeforeTxReplace(callback: (oldTx: string, oldTxId: string, newTx: string, newTxId: string) => Promise<void>): void;
|
|
41
|
+
onBeforeTxSigned(callback: (tx: StarknetTx) => Promise<void>): void;
|
|
42
|
+
offBeforeTxSigned(callback: (tx: StarknetTx) => Promise<void>): boolean;
|
|
43
|
+
randomAddress(): string;
|
|
44
|
+
randomSigner(): StarknetSigner;
|
|
45
|
+
sendAndConfirm(signer: StarknetSigner, txs: StarknetTx[], waitForConfirmation?: boolean, abortSignal?: AbortSignal, parallel?: boolean, onBeforePublish?: (txId: string, rawTx: string) => Promise<void>): Promise<string[]>;
|
|
46
|
+
serializeTx(tx: StarknetTx): Promise<string>;
|
|
47
|
+
deserializeTx(txData: string): Promise<StarknetTx>;
|
|
48
|
+
getTxIdStatus(txId: string): Promise<"not_found" | "pending" | "success" | "reverted">;
|
|
49
|
+
getTxStatus(tx: string): Promise<"not_found" | "pending" | "success" | "reverted">;
|
|
50
|
+
txsTransfer(signer: string, token: string, amount: bigint, dstAddress: string, feeRate?: string): Promise<StarknetTx[]>;
|
|
51
|
+
transfer(signer: StarknetSigner, token: string, amount: bigint, dstAddress: string, txOptions?: TransactionConfirmationOptions): Promise<string>;
|
|
52
|
+
}
|
|
@@ -1,91 +1,91 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StarknetChainInterface = void 0;
|
|
4
|
-
const starknet_1 = require("starknet");
|
|
5
|
-
const Utils_1 = require("../../utils/Utils");
|
|
6
|
-
const StarknetTransactions_1 = require("./modules/StarknetTransactions");
|
|
7
|
-
const StarknetFees_1 = require("./modules/StarknetFees");
|
|
8
|
-
const StarknetAddresses_1 = require("./modules/StarknetAddresses");
|
|
9
|
-
const StarknetTokens_1 = require("./modules/StarknetTokens");
|
|
10
|
-
const StarknetEvents_1 = require("./modules/StarknetEvents");
|
|
11
|
-
const StarknetSignatures_1 = require("./modules/StarknetSignatures");
|
|
12
|
-
const StarknetAccounts_1 = require("./modules/StarknetAccounts");
|
|
13
|
-
const StarknetBlocks_1 = require("./modules/StarknetBlocks");
|
|
14
|
-
const StarknetSigner_1 = require("../wallet/StarknetSigner");
|
|
15
|
-
const buffer_1 = require("buffer");
|
|
16
|
-
const StarknetKeypairWallet_1 = require("../wallet/StarknetKeypairWallet");
|
|
17
|
-
class StarknetChainInterface {
|
|
18
|
-
constructor(chainId, provider, retryPolicy, solanaFeeEstimator = new StarknetFees_1.StarknetFees(provider)) {
|
|
19
|
-
this.chainId = "STARKNET";
|
|
20
|
-
this.logger = (0, Utils_1.getLogger)("StarknetChainInterface: ");
|
|
21
|
-
this.starknetChainId = chainId;
|
|
22
|
-
this.provider = provider;
|
|
23
|
-
this.retryPolicy = retryPolicy;
|
|
24
|
-
this.Fees = solanaFeeEstimator;
|
|
25
|
-
this.Tokens = new StarknetTokens_1.StarknetTokens(this);
|
|
26
|
-
this.Transactions = new StarknetTransactions_1.StarknetTransactions(this);
|
|
27
|
-
this.Signatures = new StarknetSignatures_1.StarknetSignatures(this);
|
|
28
|
-
this.Events = new StarknetEvents_1.StarknetEvents(this);
|
|
29
|
-
this.Accounts = new StarknetAccounts_1.StarknetAccounts(this);
|
|
30
|
-
this.Blocks = new StarknetBlocks_1.StarknetBlocks(this);
|
|
31
|
-
}
|
|
32
|
-
async getBalance(signer, tokenAddress) {
|
|
33
|
-
//TODO: For native token we should discount the cost of deploying an account if it is not deployed yet
|
|
34
|
-
return await this.Tokens.getTokenBalance(signer, tokenAddress);
|
|
35
|
-
}
|
|
36
|
-
getNativeCurrencyAddress() {
|
|
37
|
-
return this.Tokens.getNativeCurrencyAddress();
|
|
38
|
-
}
|
|
39
|
-
isValidToken(tokenIdentifier) {
|
|
40
|
-
return this.Tokens.isValidToken(tokenIdentifier);
|
|
41
|
-
}
|
|
42
|
-
isValidAddress(address) {
|
|
43
|
-
return StarknetAddresses_1.StarknetAddresses.isValidAddress(address);
|
|
44
|
-
}
|
|
45
|
-
///////////////////////////////////
|
|
46
|
-
//// Callbacks & handlers
|
|
47
|
-
offBeforeTxReplace(callback) {
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
onBeforeTxReplace(callback) { }
|
|
51
|
-
onBeforeTxSigned(callback) {
|
|
52
|
-
this.Transactions.onBeforeTxSigned(callback);
|
|
53
|
-
}
|
|
54
|
-
offBeforeTxSigned(callback) {
|
|
55
|
-
return this.Transactions.offBeforeTxSigned(callback);
|
|
56
|
-
}
|
|
57
|
-
randomAddress() {
|
|
58
|
-
return (0, Utils_1.toHex)(starknet_1.stark.randomAddress());
|
|
59
|
-
}
|
|
60
|
-
randomSigner() {
|
|
61
|
-
const privateKey = "0x" + buffer_1.Buffer.from(starknet_1.ec.starkCurve.utils.randomPrivateKey()).toString("hex");
|
|
62
|
-
const wallet = new StarknetKeypairWallet_1.StarknetKeypairWallet(this.provider, privateKey);
|
|
63
|
-
return new StarknetSigner_1.StarknetSigner(wallet);
|
|
64
|
-
}
|
|
65
|
-
////////////////////////////////////////////
|
|
66
|
-
//// Transactions
|
|
67
|
-
sendAndConfirm(signer, txs, waitForConfirmation, abortSignal, parallel, onBeforePublish) {
|
|
68
|
-
return this.Transactions.sendAndConfirm(signer, txs, waitForConfirmation, abortSignal, parallel, onBeforePublish);
|
|
69
|
-
}
|
|
70
|
-
serializeTx(tx) {
|
|
71
|
-
return this.Transactions.serializeTx(tx);
|
|
72
|
-
}
|
|
73
|
-
deserializeTx(txData) {
|
|
74
|
-
return this.Transactions.deserializeTx(txData);
|
|
75
|
-
}
|
|
76
|
-
getTxIdStatus(txId) {
|
|
77
|
-
return this.Transactions.getTxIdStatus(txId);
|
|
78
|
-
}
|
|
79
|
-
getTxStatus(tx) {
|
|
80
|
-
return this.Transactions.getTxStatus(tx);
|
|
81
|
-
}
|
|
82
|
-
txsTransfer(signer, token, amount, dstAddress, feeRate) {
|
|
83
|
-
return this.Tokens.txsTransfer(signer, token, amount, dstAddress, feeRate);
|
|
84
|
-
}
|
|
85
|
-
async transfer(signer, token, amount, dstAddress, txOptions) {
|
|
86
|
-
const txs = await this.Tokens.txsTransfer(signer.getAddress(), token, amount, dstAddress, txOptions?.feeRate);
|
|
87
|
-
const [txId] = await this.Transactions.sendAndConfirm(signer, txs, txOptions?.waitForConfirmation, txOptions?.abortSignal, false);
|
|
88
|
-
return txId;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
exports.StarknetChainInterface = StarknetChainInterface;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StarknetChainInterface = void 0;
|
|
4
|
+
const starknet_1 = require("starknet");
|
|
5
|
+
const Utils_1 = require("../../utils/Utils");
|
|
6
|
+
const StarknetTransactions_1 = require("./modules/StarknetTransactions");
|
|
7
|
+
const StarknetFees_1 = require("./modules/StarknetFees");
|
|
8
|
+
const StarknetAddresses_1 = require("./modules/StarknetAddresses");
|
|
9
|
+
const StarknetTokens_1 = require("./modules/StarknetTokens");
|
|
10
|
+
const StarknetEvents_1 = require("./modules/StarknetEvents");
|
|
11
|
+
const StarknetSignatures_1 = require("./modules/StarknetSignatures");
|
|
12
|
+
const StarknetAccounts_1 = require("./modules/StarknetAccounts");
|
|
13
|
+
const StarknetBlocks_1 = require("./modules/StarknetBlocks");
|
|
14
|
+
const StarknetSigner_1 = require("../wallet/StarknetSigner");
|
|
15
|
+
const buffer_1 = require("buffer");
|
|
16
|
+
const StarknetKeypairWallet_1 = require("../wallet/StarknetKeypairWallet");
|
|
17
|
+
class StarknetChainInterface {
|
|
18
|
+
constructor(chainId, provider, retryPolicy, solanaFeeEstimator = new StarknetFees_1.StarknetFees(provider)) {
|
|
19
|
+
this.chainId = "STARKNET";
|
|
20
|
+
this.logger = (0, Utils_1.getLogger)("StarknetChainInterface: ");
|
|
21
|
+
this.starknetChainId = chainId;
|
|
22
|
+
this.provider = provider;
|
|
23
|
+
this.retryPolicy = retryPolicy;
|
|
24
|
+
this.Fees = solanaFeeEstimator;
|
|
25
|
+
this.Tokens = new StarknetTokens_1.StarknetTokens(this);
|
|
26
|
+
this.Transactions = new StarknetTransactions_1.StarknetTransactions(this);
|
|
27
|
+
this.Signatures = new StarknetSignatures_1.StarknetSignatures(this);
|
|
28
|
+
this.Events = new StarknetEvents_1.StarknetEvents(this);
|
|
29
|
+
this.Accounts = new StarknetAccounts_1.StarknetAccounts(this);
|
|
30
|
+
this.Blocks = new StarknetBlocks_1.StarknetBlocks(this);
|
|
31
|
+
}
|
|
32
|
+
async getBalance(signer, tokenAddress) {
|
|
33
|
+
//TODO: For native token we should discount the cost of deploying an account if it is not deployed yet
|
|
34
|
+
return await this.Tokens.getTokenBalance(signer, tokenAddress);
|
|
35
|
+
}
|
|
36
|
+
getNativeCurrencyAddress() {
|
|
37
|
+
return this.Tokens.getNativeCurrencyAddress();
|
|
38
|
+
}
|
|
39
|
+
isValidToken(tokenIdentifier) {
|
|
40
|
+
return this.Tokens.isValidToken(tokenIdentifier);
|
|
41
|
+
}
|
|
42
|
+
isValidAddress(address) {
|
|
43
|
+
return StarknetAddresses_1.StarknetAddresses.isValidAddress(address);
|
|
44
|
+
}
|
|
45
|
+
///////////////////////////////////
|
|
46
|
+
//// Callbacks & handlers
|
|
47
|
+
offBeforeTxReplace(callback) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
onBeforeTxReplace(callback) { }
|
|
51
|
+
onBeforeTxSigned(callback) {
|
|
52
|
+
this.Transactions.onBeforeTxSigned(callback);
|
|
53
|
+
}
|
|
54
|
+
offBeforeTxSigned(callback) {
|
|
55
|
+
return this.Transactions.offBeforeTxSigned(callback);
|
|
56
|
+
}
|
|
57
|
+
randomAddress() {
|
|
58
|
+
return (0, Utils_1.toHex)(starknet_1.stark.randomAddress());
|
|
59
|
+
}
|
|
60
|
+
randomSigner() {
|
|
61
|
+
const privateKey = "0x" + buffer_1.Buffer.from(starknet_1.ec.starkCurve.utils.randomPrivateKey()).toString("hex");
|
|
62
|
+
const wallet = new StarknetKeypairWallet_1.StarknetKeypairWallet(this.provider, privateKey);
|
|
63
|
+
return new StarknetSigner_1.StarknetSigner(wallet);
|
|
64
|
+
}
|
|
65
|
+
////////////////////////////////////////////
|
|
66
|
+
//// Transactions
|
|
67
|
+
sendAndConfirm(signer, txs, waitForConfirmation, abortSignal, parallel, onBeforePublish) {
|
|
68
|
+
return this.Transactions.sendAndConfirm(signer, txs, waitForConfirmation, abortSignal, parallel, onBeforePublish);
|
|
69
|
+
}
|
|
70
|
+
serializeTx(tx) {
|
|
71
|
+
return this.Transactions.serializeTx(tx);
|
|
72
|
+
}
|
|
73
|
+
deserializeTx(txData) {
|
|
74
|
+
return this.Transactions.deserializeTx(txData);
|
|
75
|
+
}
|
|
76
|
+
getTxIdStatus(txId) {
|
|
77
|
+
return this.Transactions.getTxIdStatus(txId);
|
|
78
|
+
}
|
|
79
|
+
getTxStatus(tx) {
|
|
80
|
+
return this.Transactions.getTxStatus(tx);
|
|
81
|
+
}
|
|
82
|
+
txsTransfer(signer, token, amount, dstAddress, feeRate) {
|
|
83
|
+
return this.Tokens.txsTransfer(signer, token, amount, dstAddress, feeRate);
|
|
84
|
+
}
|
|
85
|
+
async transfer(signer, token, amount, dstAddress, txOptions) {
|
|
86
|
+
const txs = await this.Tokens.txsTransfer(signer.getAddress(), token, amount, dstAddress, txOptions?.feeRate);
|
|
87
|
+
const [txId] = await this.Transactions.sendAndConfirm(signer, txs, txOptions?.waitForConfirmation, txOptions?.abortSignal, false);
|
|
88
|
+
return txId;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.StarknetChainInterface = StarknetChainInterface;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Provider } from "starknet";
|
|
2
|
-
import { StarknetChainInterface, StarknetRetryPolicy } from "./StarknetChainInterface";
|
|
3
|
-
export declare class StarknetModule {
|
|
4
|
-
protected readonly provider: Provider;
|
|
5
|
-
protected readonly retryPolicy: StarknetRetryPolicy;
|
|
6
|
-
protected readonly root: StarknetChainInterface;
|
|
7
|
-
protected readonly logger: {
|
|
8
|
-
debug: (msg: any, ...args: any[]) => void;
|
|
9
|
-
info: (msg: any, ...args: any[]) => void;
|
|
10
|
-
warn: (msg: any, ...args: any[]) => void;
|
|
11
|
-
error: (msg: any, ...args: any[]) => void;
|
|
12
|
-
};
|
|
13
|
-
constructor(root: StarknetChainInterface);
|
|
14
|
-
}
|
|
1
|
+
import { Provider } from "starknet";
|
|
2
|
+
import { StarknetChainInterface, StarknetRetryPolicy } from "./StarknetChainInterface";
|
|
3
|
+
export declare class StarknetModule {
|
|
4
|
+
protected readonly provider: Provider;
|
|
5
|
+
protected readonly retryPolicy: StarknetRetryPolicy;
|
|
6
|
+
protected readonly root: StarknetChainInterface;
|
|
7
|
+
protected readonly logger: {
|
|
8
|
+
debug: (msg: any, ...args: any[]) => void;
|
|
9
|
+
info: (msg: any, ...args: any[]) => void;
|
|
10
|
+
warn: (msg: any, ...args: any[]) => void;
|
|
11
|
+
error: (msg: any, ...args: any[]) => void;
|
|
12
|
+
};
|
|
13
|
+
constructor(root: StarknetChainInterface);
|
|
14
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.StarknetModule = void 0;
|
|
4
|
-
const Utils_1 = require("../../utils/Utils");
|
|
5
|
-
class StarknetModule {
|
|
6
|
-
constructor(root) {
|
|
7
|
-
this.logger = (0, Utils_1.getLogger)(this.constructor.name + ": ");
|
|
8
|
-
this.provider = root.provider;
|
|
9
|
-
this.retryPolicy = root.retryPolicy;
|
|
10
|
-
this.root = root;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.StarknetModule = StarknetModule;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StarknetModule = void 0;
|
|
4
|
+
const Utils_1 = require("../../utils/Utils");
|
|
5
|
+
class StarknetModule {
|
|
6
|
+
constructor(root) {
|
|
7
|
+
this.logger = (0, Utils_1.getLogger)(this.constructor.name + ": ");
|
|
8
|
+
this.provider = root.provider;
|
|
9
|
+
this.retryPolicy = root.retryPolicy;
|
|
10
|
+
this.root = root;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.StarknetModule = StarknetModule;
|