@atomiqlabs/chain-starknet 2.0.0-beta.5 → 2.0.0-beta.6

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.
@@ -37,7 +37,7 @@ function initializeStarknet(options, bitcoinRpc, network) {
37
37
  const chainId = options.chainId ??
38
38
  (network === base_1.BitcoinNetwork.MAINNET ? starknet_1.constants.StarknetChainId.SN_MAIN : starknet_1.constants.StarknetChainId.SN_SEPOLIA);
39
39
  const chainInterface = new StarknetChainInterface_1.StarknetChainInterface(chainId, provider, options.retryPolicy, Fees);
40
- const btcRelay = new StarknetBtcRelay_1.StarknetBtcRelay(chainInterface, bitcoinRpc, options.btcRelayContract ?? (network === base_1.BitcoinNetwork.TESTNET4 ? "0x0099b63f39f0cabb767361de3d8d3e97212351a51540e2687c2571f4da490dbe" : undefined));
40
+ const btcRelay = new StarknetBtcRelay_1.StarknetBtcRelay(chainInterface, bitcoinRpc, network, options.btcRelayContract);
41
41
  const swapContract = new StarknetSwapContract_1.StarknetSwapContract(chainInterface, btcRelay, options.swapContract);
42
42
  const spvVaultContract = new StarknetSpvVaultContract_1.StarknetSpvVaultContract(chainInterface, btcRelay, bitcoinRpc, options.spvVaultContract);
43
43
  const chainEvents = new StarknetChainEventsBrowser_1.StarknetChainEventsBrowser(chainInterface, swapContract, spvVaultContract);
@@ -1,6 +1,6 @@
1
1
  import { Buffer } from "buffer";
2
2
  import { StarknetBtcHeader } from "./headers/StarknetBtcHeader";
3
- import { BitcoinRpc, BtcBlock, BtcRelay, RelaySynchronizer } from "@atomiqlabs/base";
3
+ import { BitcoinNetwork, BitcoinRpc, BtcBlock, BtcRelay, RelaySynchronizer } from "@atomiqlabs/base";
4
4
  import { StarknetContractBase } from "../contract/StarknetContractBase";
5
5
  import { StarknetBtcStoredHeader } from "./headers/StarknetBtcStoredHeader";
6
6
  import { StarknetTx } from "../chain/modules/StarknetTransactions";
@@ -16,7 +16,7 @@ export declare class StarknetBtcRelay<B extends BtcBlock> extends StarknetContra
16
16
  readonly maxHeadersPerTx: number;
17
17
  readonly maxForkHeadersPerTx: number;
18
18
  readonly maxShortForkHeadersPerTx: number;
19
- constructor(chainInterface: StarknetChainInterface, bitcoinRpc: BitcoinRpc<B>, contractAddress?: string);
19
+ constructor(chainInterface: StarknetChainInterface, bitcoinRpc: BitcoinRpc<B>, bitcoinNetwork: BitcoinNetwork, contractAddress?: string);
20
20
  /**
21
21
  * Computes subsequent commited headers as they will appear on the blockchain when transactions
22
22
  * are submitted & confirmed
@@ -25,8 +25,9 @@ function serializeBlockHeader(e) {
25
25
  const GAS_PER_BLOCKHEADER = 850;
26
26
  const GAS_PER_BLOCKHEADER_FORK = 1000;
27
27
  const btcRelayAddreses = {
28
- [starknet_1.constants.StarknetChainId.SN_SEPOLIA]: "0x068601c79da2231d21e015ccfd59c243861156fa523a12c9f987ec28eb8dbc8c",
29
- [starknet_1.constants.StarknetChainId.SN_MAIN]: "0x057b14a4231b82f1e525ff35a722d893ca3dd2bde0baa6cee97937c5be861dbc"
28
+ [base_1.BitcoinNetwork.TESTNET4]: "0x0099b63f39f0cabb767361de3d8d3e97212351a51540e2687c2571f4da490dbe",
29
+ [base_1.BitcoinNetwork.TESTNET]: "0x068601c79da2231d21e015ccfd59c243861156fa523a12c9f987ec28eb8dbc8c",
30
+ [base_1.BitcoinNetwork.MAINNET]: "0x057b14a4231b82f1e525ff35a722d893ca3dd2bde0baa6cee97937c5be861dbc"
30
31
  };
31
32
  function serializeCalldata(headers, storedHeader, span) {
32
33
  span.push((0, Utils_1.toHex)(headers.length));
@@ -59,7 +60,7 @@ class StarknetBtcRelay extends StarknetContractBase_1.StarknetContractBase {
59
60
  calldata: serializeCalldata(forkHeaders, storedHeader, [(0, Utils_1.toHex)(forkId)])
60
61
  }, { l1: (GAS_PER_BLOCKHEADER * forkHeaders.length) + (GAS_PER_BLOCKHEADER_FORK * totalForkHeaders), l2: 0 });
61
62
  }
62
- constructor(chainInterface, bitcoinRpc, contractAddress = btcRelayAddreses[chainInterface.starknetChainId]) {
63
+ constructor(chainInterface, bitcoinRpc, bitcoinNetwork, contractAddress = btcRelayAddreses[bitcoinNetwork]) {
63
64
  super(chainInterface, contractAddress, BtcRelayAbi_1.BtcRelayAbi);
64
65
  this.maxHeadersPerTx = 100;
65
66
  this.maxForkHeadersPerTx = 100;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atomiqlabs/chain-starknet",
3
- "version": "2.0.0-beta.5",
3
+ "version": "2.0.0-beta.6",
4
4
  "description": "Starknet specific base implementation",
5
5
  "main": "./dist/index.js",
6
6
  "types:": "./dist/index.d.ts",
@@ -59,7 +59,7 @@ export function initializeStarknet(
59
59
  const chainInterface = new StarknetChainInterface(chainId, provider, options.retryPolicy, Fees);
60
60
 
61
61
  const btcRelay = new StarknetBtcRelay(
62
- chainInterface, bitcoinRpc, options.btcRelayContract ?? (network===BitcoinNetwork.TESTNET4 ? "0x0099b63f39f0cabb767361de3d8d3e97212351a51540e2687c2571f4da490dbe" : undefined)
62
+ chainInterface, bitcoinRpc, network, options.btcRelayContract
63
63
  );
64
64
 
65
65
  const swapContract = new StarknetSwapContract(
@@ -1,6 +1,6 @@
1
1
  import {Buffer} from "buffer";
2
2
  import {StarknetBtcHeader} from "./headers/StarknetBtcHeader";
3
- import {BitcoinRpc, BtcBlock, BtcRelay, RelaySynchronizer, StatePredictorUtils} from "@atomiqlabs/base";
3
+ import {BitcoinNetwork, BitcoinRpc, BtcBlock, BtcRelay, RelaySynchronizer, StatePredictorUtils} from "@atomiqlabs/base";
4
4
  import {
5
5
  bigNumberishToBuffer,
6
6
  bufferToU32Array, getLogger,
@@ -12,7 +12,7 @@ import {StarknetBtcStoredHeader} from "./headers/StarknetBtcStoredHeader";
12
12
  import {StarknetTx} from "../chain/modules/StarknetTransactions";
13
13
  import {StarknetSigner} from "../wallet/StarknetSigner";
14
14
  import {BtcRelayAbi} from "./BtcRelayAbi";
15
- import {BigNumberish, constants, hash} from "starknet";
15
+ import {BigNumberish, hash} from "starknet";
16
16
  import {StarknetFees} from "../chain/modules/StarknetFees";
17
17
  import {StarknetChainInterface} from "../chain/StarknetChainInterface";
18
18
  import {StarknetAction} from "../chain/StarknetAction";
@@ -33,8 +33,9 @@ const GAS_PER_BLOCKHEADER = 850;
33
33
  const GAS_PER_BLOCKHEADER_FORK = 1000;
34
34
 
35
35
  const btcRelayAddreses = {
36
- [constants.StarknetChainId.SN_SEPOLIA]: "0x068601c79da2231d21e015ccfd59c243861156fa523a12c9f987ec28eb8dbc8c",
37
- [constants.StarknetChainId.SN_MAIN]: "0x057b14a4231b82f1e525ff35a722d893ca3dd2bde0baa6cee97937c5be861dbc"
36
+ [BitcoinNetwork.TESTNET4]: "0x0099b63f39f0cabb767361de3d8d3e97212351a51540e2687c2571f4da490dbe",
37
+ [BitcoinNetwork.TESTNET]: "0x068601c79da2231d21e015ccfd59c243861156fa523a12c9f987ec28eb8dbc8c",
38
+ [BitcoinNetwork.MAINNET]: "0x057b14a4231b82f1e525ff35a722d893ca3dd2bde0baa6cee97937c5be861dbc"
38
39
  };
39
40
 
40
41
  function serializeCalldata(headers: StarknetBtcHeader[], storedHeader: StarknetBtcStoredHeader, span: BigNumberish[]) {
@@ -96,7 +97,8 @@ export class StarknetBtcRelay<B extends BtcBlock>
96
97
  constructor(
97
98
  chainInterface: StarknetChainInterface,
98
99
  bitcoinRpc: BitcoinRpc<B>,
99
- contractAddress: string = btcRelayAddreses[chainInterface.starknetChainId],
100
+ bitcoinNetwork: BitcoinNetwork,
101
+ contractAddress: string = btcRelayAddreses[bitcoinNetwork],
100
102
  ) {
101
103
  super(chainInterface, contractAddress, BtcRelayAbi);
102
104
  this.bitcoinRpc = bitcoinRpc;