@shapeshiftoss/contracts 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/dist/cjs/.tsbuildinfo +1 -0
  2. package/dist/cjs/abis/arbOutbox.js +229 -0
  3. package/dist/cjs/abis/arbProxy.js +69 -0
  4. package/dist/cjs/abis/arbRetryableTx.js +116 -0
  5. package/dist/cjs/abis/arbSys.js +142 -0
  6. package/dist/cjs/abis/evergreenFarming.js +655 -0
  7. package/dist/cjs/abis/farming.js +459 -0
  8. package/dist/cjs/abis/foxy.js +678 -0
  9. package/dist/cjs/abis/foxyStaking.js +720 -0
  10. package/dist/cjs/abis/iBep20.js +128 -0
  11. package/dist/cjs/abis/iUniswapV2Pair.js +710 -0
  12. package/dist/cjs/abis/iUniswapV3Pool.js +986 -0
  13. package/dist/cjs/abis/index.js +40 -0
  14. package/dist/cjs/abis/l1ArbitrumGateway.js +259 -0
  15. package/dist/cjs/abis/l1OrbitCustomGateway.js +378 -0
  16. package/dist/cjs/abis/l2ArbitrumGateway.js +172 -0
  17. package/dist/cjs/abis/liquidityReserve.js +550 -0
  18. package/dist/cjs/abis/rfox.js +558 -0
  19. package/dist/cjs/abis/thorchainRouter.js +445 -0
  20. package/dist/cjs/abis/tokeManager.js +511 -0
  21. package/dist/cjs/abis/tokePool.js +311 -0
  22. package/dist/cjs/abis/tokeRewardHash.js +74 -0
  23. package/dist/cjs/abis/uniV2StakingRewards.js +414 -0
  24. package/dist/cjs/abis/uniswapV2Router02.js +956 -0
  25. package/dist/cjs/abis/uniswapV3Quoter.js +196 -0
  26. package/dist/cjs/abis/weth.js +282 -0
  27. package/dist/cjs/constants.js +108 -0
  28. package/dist/cjs/contractManager.js +77 -0
  29. package/dist/cjs/ethersProviderSingleton.js +75 -0
  30. package/dist/cjs/index.js +22 -0
  31. package/dist/cjs/package.json +1 -0
  32. package/dist/cjs/types.js +9 -0
  33. package/dist/cjs/viemClient.js +95 -0
  34. package/dist/esm/.tsbuildinfo +1 -0
  35. package/dist/esm/abis/arbOutbox.d.ts +413 -0
  36. package/dist/esm/abis/arbProxy.d.ts +102 -0
  37. package/dist/esm/abis/arbRetryableTx.d.ts +230 -0
  38. package/dist/esm/abis/arbSys.d.ts +278 -0
  39. package/dist/esm/abis/evergreenFarming.d.ts +517 -0
  40. package/dist/esm/abis/farming.d.ts +361 -0
  41. package/dist/esm/abis/foxy.d.ts +519 -0
  42. package/dist/esm/abis/foxyStaking.d.ts +556 -0
  43. package/dist/esm/abis/iBep20.d.ts +201 -0
  44. package/dist/esm/abis/iUniswapV2Pair.d.ts +560 -0
  45. package/dist/esm/abis/iUniswapV3Pool.d.ts +770 -0
  46. package/dist/esm/abis/index.d.ts +24 -0
  47. package/dist/esm/abis/index.js +24 -0
  48. package/dist/esm/abis/l1ArbitrumGateway.d.ts +494 -0
  49. package/dist/esm/abis/l1OrbitCustomGateway.d.ts +769 -0
  50. package/dist/esm/abis/l2ArbitrumGateway.d.ts +308 -0
  51. package/dist/esm/abis/liquidityReserve.d.ts +421 -0
  52. package/dist/esm/abis/rfox.d.ts +680 -0
  53. package/dist/esm/abis/thorchainRouter.d.ts +349 -0
  54. package/dist/esm/abis/tokeManager.d.ts +774 -0
  55. package/dist/esm/abis/tokePool.d.ts +502 -0
  56. package/dist/esm/abis/tokeRewardHash.d.ts +112 -0
  57. package/dist/esm/abis/uniV2StakingRewards.d.ts +316 -0
  58. package/dist/esm/abis/uniswapV2Router02.d.ts +737 -0
  59. package/dist/esm/abis/uniswapV3Quoter.d.ts +147 -0
  60. package/dist/esm/abis/weth.d.ts +213 -0
  61. package/dist/esm/constants.d.ts +6640 -0
  62. package/dist/{constants.js → esm/constants.js} +6 -6
  63. package/dist/esm/contractManager.d.ts +11 -0
  64. package/dist/{contractManager.js → esm/contractManager.js} +4 -4
  65. package/dist/esm/ethersProviderSingleton.d.ts +6 -0
  66. package/dist/{ethersProviderSingleton.js → esm/ethersProviderSingleton.js} +9 -9
  67. package/dist/esm/index.d.ts +6 -0
  68. package/dist/esm/index.js +6 -0
  69. package/dist/esm/types.d.ts +21 -0
  70. package/dist/esm/viemClient.d.ts +28338 -0
  71. package/dist/{viemClient.js → esm/viemClient.js} +13 -32
  72. package/package.json +21 -9
  73. package/dist/abis/index.js +0 -24
  74. package/dist/index.js +0 -6
  75. /package/dist/{abis → cjs/abis}/arbOutbox.d.ts +0 -0
  76. /package/dist/{abis → cjs/abis}/arbProxy.d.ts +0 -0
  77. /package/dist/{abis → cjs/abis}/arbRetryableTx.d.ts +0 -0
  78. /package/dist/{abis → cjs/abis}/arbSys.d.ts +0 -0
  79. /package/dist/{abis → cjs/abis}/evergreenFarming.d.ts +0 -0
  80. /package/dist/{abis → cjs/abis}/farming.d.ts +0 -0
  81. /package/dist/{abis → cjs/abis}/foxy.d.ts +0 -0
  82. /package/dist/{abis → cjs/abis}/foxyStaking.d.ts +0 -0
  83. /package/dist/{abis → cjs/abis}/iBep20.d.ts +0 -0
  84. /package/dist/{abis → cjs/abis}/iUniswapV2Pair.d.ts +0 -0
  85. /package/dist/{abis → cjs/abis}/iUniswapV3Pool.d.ts +0 -0
  86. /package/dist/{abis → cjs/abis}/index.d.ts +0 -0
  87. /package/dist/{abis → cjs/abis}/l1ArbitrumGateway.d.ts +0 -0
  88. /package/dist/{abis → cjs/abis}/l1OrbitCustomGateway.d.ts +0 -0
  89. /package/dist/{abis → cjs/abis}/l2ArbitrumGateway.d.ts +0 -0
  90. /package/dist/{abis → cjs/abis}/liquidityReserve.d.ts +0 -0
  91. /package/dist/{abis → cjs/abis}/rfox.d.ts +0 -0
  92. /package/dist/{abis → cjs/abis}/thorchainRouter.d.ts +0 -0
  93. /package/dist/{abis → cjs/abis}/tokeManager.d.ts +0 -0
  94. /package/dist/{abis → cjs/abis}/tokePool.d.ts +0 -0
  95. /package/dist/{abis → cjs/abis}/tokeRewardHash.d.ts +0 -0
  96. /package/dist/{abis → cjs/abis}/uniV2StakingRewards.d.ts +0 -0
  97. /package/dist/{abis → cjs/abis}/uniswapV2Router02.d.ts +0 -0
  98. /package/dist/{abis → cjs/abis}/uniswapV3Quoter.d.ts +0 -0
  99. /package/dist/{abis → cjs/abis}/weth.d.ts +0 -0
  100. /package/dist/{constants.d.ts → cjs/constants.d.ts} +0 -0
  101. /package/dist/{contractManager.d.ts → cjs/contractManager.d.ts} +0 -0
  102. /package/dist/{ethersProviderSingleton.d.ts → cjs/ethersProviderSingleton.d.ts} +0 -0
  103. /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  104. /package/dist/{types.d.ts → cjs/types.d.ts} +0 -0
  105. /package/dist/{viemClient.d.ts → cjs/viemClient.d.ts} +0 -0
  106. /package/dist/{abis → esm/abis}/arbOutbox.js +0 -0
  107. /package/dist/{abis → esm/abis}/arbProxy.js +0 -0
  108. /package/dist/{abis → esm/abis}/arbRetryableTx.js +0 -0
  109. /package/dist/{abis → esm/abis}/arbSys.js +0 -0
  110. /package/dist/{abis → esm/abis}/evergreenFarming.js +0 -0
  111. /package/dist/{abis → esm/abis}/farming.js +0 -0
  112. /package/dist/{abis → esm/abis}/foxy.js +0 -0
  113. /package/dist/{abis → esm/abis}/foxyStaking.js +0 -0
  114. /package/dist/{abis → esm/abis}/iBep20.js +0 -0
  115. /package/dist/{abis → esm/abis}/iUniswapV2Pair.js +0 -0
  116. /package/dist/{abis → esm/abis}/iUniswapV3Pool.js +0 -0
  117. /package/dist/{abis → esm/abis}/l1ArbitrumGateway.js +0 -0
  118. /package/dist/{abis → esm/abis}/l1OrbitCustomGateway.js +0 -0
  119. /package/dist/{abis → esm/abis}/l2ArbitrumGateway.js +0 -0
  120. /package/dist/{abis → esm/abis}/liquidityReserve.js +0 -0
  121. /package/dist/{abis → esm/abis}/rfox.js +0 -0
  122. /package/dist/{abis → esm/abis}/thorchainRouter.js +0 -0
  123. /package/dist/{abis → esm/abis}/tokeManager.js +0 -0
  124. /package/dist/{abis → esm/abis}/tokePool.js +0 -0
  125. /package/dist/{abis → esm/abis}/tokeRewardHash.js +0 -0
  126. /package/dist/{abis → esm/abis}/uniV2StakingRewards.js +0 -0
  127. /package/dist/{abis → esm/abis}/uniswapV2Router02.js +0 -0
  128. /package/dist/{abis → esm/abis}/uniswapV3Quoter.js +0 -0
  129. /package/dist/{abis → esm/abis}/weth.js +0 -0
  130. /package/dist/{types.js → esm/types.js} +0 -0
@@ -1,10 +1,10 @@
1
1
  import { erc20Abi } from 'viem';
2
- import { EVERGREEN_FARMING_ABI } from './abis/evergreenFarming';
3
- import { FARMING_ABI } from './abis/farming';
4
- import { I_UNISWAP_V2_PAIR_ABI } from './abis/iUniswapV2Pair';
5
- import { THORCHAIN_ROUTER_ABI } from './abis/thorchainRouter';
6
- import { UNISWAP_V2_ROUTER_02_ABI } from './abis/uniswapV2Router02';
7
- import { ContractType } from './types';
2
+ import { EVERGREEN_FARMING_ABI } from './abis/evergreenFarming.js';
3
+ import { FARMING_ABI } from './abis/farming.js';
4
+ import { I_UNISWAP_V2_PAIR_ABI } from './abis/iUniswapV2Pair.js';
5
+ import { THORCHAIN_ROUTER_ABI } from './abis/thorchainRouter.js';
6
+ import { UNISWAP_V2_ROUTER_02_ABI } from './abis/uniswapV2Router02.js';
7
+ import { ContractType } from './types.js';
8
8
  export const WETH_TOKEN_CONTRACT = '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2';
9
9
  export const FOX_TOKEN_CONTRACT = '0xc770EEfAd204B5180dF6a14Ee197D99d808ee52d';
10
10
  // Staking contract addresses as string literals
@@ -0,0 +1,11 @@
1
+ import type { AssetId, ChainId } from '@shapeshiftoss/caip';
2
+ import type { Address } from 'viem';
3
+ import type { KnownContractAddress, KnownContractByAddress, KnownContractByType } from './types.js';
4
+ import { ContractType } from './types.js';
5
+ export declare const getOrCreateContractByAddress: <A extends KnownContractAddress>(address: A) => KnownContractByAddress<A>;
6
+ export declare const getOrCreateContractByType: <A extends KnownContractAddress, T extends ContractType>({ address, type, chainId, }: {
7
+ address: string | Address;
8
+ type: T;
9
+ chainId: ChainId;
10
+ }) => KnownContractByType<A, T>;
11
+ export declare const fetchUniV2PairData: ((pairAssetId: AssetId) => Promise<import("@uniswap/sdk").Pair>) & import("lodash").MemoizedFunction;
@@ -4,10 +4,10 @@ import { Fetcher } from '@uniswap/sdk';
4
4
  import assert from 'assert';
5
5
  import memoize from 'lodash/memoize';
6
6
  import { getAddress, getContract } from 'viem';
7
- import { CONTRACT_ADDRESS_TO_ABI, CONTRACT_TYPE_TO_ABI } from './constants';
8
- import { getEthersV5Provider } from './ethersProviderSingleton';
9
- import { ContractType } from './types';
10
- import { viemClientByChainId, viemEthMainnetClient } from './viemClient';
7
+ import { CONTRACT_ADDRESS_TO_ABI, CONTRACT_TYPE_TO_ABI } from './constants.js';
8
+ import { getEthersV5Provider } from './ethersProviderSingleton.js';
9
+ import { ContractType } from './types.js';
10
+ import { viemClientByChainId, viemEthMainnetClient } from './viemClient.js';
11
11
  const definedContracts = {};
12
12
  export const getOrCreateContractByAddress = (address) => {
13
13
  const checksumAddress = getAddress(address);
@@ -0,0 +1,6 @@
1
+ import type { EvmChainId } from '@shapeshiftoss/types';
2
+ import { JsonRpcProvider } from 'ethers';
3
+ import { ethers as ethersV5 } from 'ethers5';
4
+ export declare const rpcUrlByChainId: (chainId: EvmChainId) => string;
5
+ export declare const getEthersProvider: (chainId: EvmChainId) => JsonRpcProvider;
6
+ export declare const getEthersV5Provider: (chainId?: EvmChainId) => ethersV5.providers.JsonRpcProvider;
@@ -6,23 +6,23 @@ export const rpcUrlByChainId = (chainId) => {
6
6
  const url = (() => {
7
7
  switch (chainId) {
8
8
  case KnownChainIds.AvalancheMainnet:
9
- return import.meta.env.VITE_AVALANCHE_NODE_URL;
9
+ return process.env.VITE_AVALANCHE_NODE_URL;
10
10
  case KnownChainIds.OptimismMainnet:
11
- return import.meta.env.VITE_OPTIMISM_NODE_URL;
11
+ return process.env.VITE_OPTIMISM_NODE_URL;
12
12
  case KnownChainIds.BnbSmartChainMainnet:
13
- return import.meta.env.VITE_BNBSMARTCHAIN_NODE_URL;
13
+ return process.env.VITE_BNBSMARTCHAIN_NODE_URL;
14
14
  case KnownChainIds.PolygonMainnet:
15
- return import.meta.env.VITE_POLYGON_NODE_URL;
15
+ return process.env.VITE_POLYGON_NODE_URL;
16
16
  case KnownChainIds.GnosisMainnet:
17
- return import.meta.env.VITE_GNOSIS_NODE_URL;
17
+ return process.env.VITE_GNOSIS_NODE_URL;
18
18
  case KnownChainIds.EthereumMainnet:
19
- return import.meta.env.VITE_ETHEREUM_NODE_URL;
19
+ return process.env.VITE_ETHEREUM_NODE_URL;
20
20
  case KnownChainIds.ArbitrumMainnet:
21
- return import.meta.env.VITE_ARBITRUM_NODE_URL;
21
+ return process.env.VITE_ARBITRUM_NODE_URL;
22
22
  case KnownChainIds.ArbitrumNovaMainnet:
23
- return import.meta.env.VITE_ARBITRUM_NOVA_NODE_URL;
23
+ return process.env.VITE_ARBITRUM_NOVA_NODE_URL;
24
24
  case KnownChainIds.BaseMainnet:
25
- return import.meta.env.VITE_BASE_NODE_URL;
25
+ return process.env.VITE_BASE_NODE_URL;
26
26
  default:
27
27
  return assertUnreachable(chainId);
28
28
  }
@@ -0,0 +1,6 @@
1
+ export * from './constants.js';
2
+ export * from './types.js';
3
+ export * from './contractManager.js';
4
+ export * from './ethersProviderSingleton.js';
5
+ export * from './abis/index.js';
6
+ export * from './viemClient.js';
@@ -0,0 +1,6 @@
1
+ export * from './constants.js';
2
+ export * from './types.js';
3
+ export * from './contractManager.js';
4
+ export * from './ethersProviderSingleton.js';
5
+ export * from './abis/index.js';
6
+ export * from './viemClient.js';
@@ -0,0 +1,21 @@
1
+ import type { Address, GetContractReturnType, PublicClient } from 'viem';
2
+ import type { EVERGREEN_FARMING_ABI, FARMING_ABI } from './abis/index.js';
3
+ import type { CONTRACT_ADDRESS_TO_ABI, CONTRACT_TYPE_TO_ABI, ETH_FOX_POOL_CONTRACT, FOX_TOKEN_CONTRACT, foxEthStakingContractAddresses, THOR_ROUTER_CONTRACT_MAINNET, UNISWAP_V2_ROUTER_02_CONTRACT_MAINNET } from './constants.js';
4
+ export declare enum ContractType {
5
+ UniV2Pair = "UniV2Pair",
6
+ ERC20 = "ERC20",
7
+ ThorRouter = "ThorRouter"
8
+ }
9
+ export type KnownContractAbiByAddress<T extends KnownContractAddress> = (typeof CONTRACT_ADDRESS_TO_ABI)[T];
10
+ export type KnownContractAbiByType<T extends ContractType> = (typeof CONTRACT_TYPE_TO_ABI)[T];
11
+ export type KnownContractByAddress<T extends KnownContractAddress> = GetContractReturnType<KnownContractAbiByAddress<T>, PublicClient, T>;
12
+ export type KnownContract = KnownContractByAddress<KnownContractAddress>;
13
+ export type KnownContractByType<A extends KnownContractAddress, T extends ContractType> = GetContractReturnType<KnownContractAbiByType<T>, PublicClient, A>;
14
+ export type KnownContractAddress = typeof ETH_FOX_POOL_CONTRACT | FoxEthStakingContractAddress | typeof FOX_TOKEN_CONTRACT | typeof UNISWAP_V2_ROUTER_02_CONTRACT_MAINNET | typeof THOR_ROUTER_CONTRACT_MAINNET;
15
+ export type DefinedContract = {
16
+ contract: KnownContractByAddress<KnownContractAddress>;
17
+ address: KnownContractAddress;
18
+ };
19
+ export type FoxEthStakingContractAddress = (typeof foxEthStakingContractAddresses)[number];
20
+ export type FoxEthStakingContractAbi = typeof FARMING_ABI | typeof EVERGREEN_FARMING_ABI;
21
+ export type FoxEthStakingContract<T extends FoxEthStakingContractAbi> = T extends typeof FARMING_ABI ? GetContractReturnType<typeof FARMING_ABI, PublicClient, Address> : GetContractReturnType<typeof EVERGREEN_FARMING_ABI, PublicClient, Address>;