@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
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEthersV5Provider = exports.getEthersProvider = exports.rpcUrlByChainId = void 0;
4
+ const types_1 = require("@shapeshiftoss/types");
5
+ const utils_1 = require("@shapeshiftoss/utils");
6
+ const ethers_1 = require("ethers");
7
+ const ethers5_1 = require("ethers5");
8
+ const rpcUrlByChainId = (chainId) => {
9
+ const url = (() => {
10
+ switch (chainId) {
11
+ case types_1.KnownChainIds.AvalancheMainnet:
12
+ return process.env.VITE_AVALANCHE_NODE_URL;
13
+ case types_1.KnownChainIds.OptimismMainnet:
14
+ return process.env.VITE_OPTIMISM_NODE_URL;
15
+ case types_1.KnownChainIds.BnbSmartChainMainnet:
16
+ return process.env.VITE_BNBSMARTCHAIN_NODE_URL;
17
+ case types_1.KnownChainIds.PolygonMainnet:
18
+ return process.env.VITE_POLYGON_NODE_URL;
19
+ case types_1.KnownChainIds.GnosisMainnet:
20
+ return process.env.VITE_GNOSIS_NODE_URL;
21
+ case types_1.KnownChainIds.EthereumMainnet:
22
+ return process.env.VITE_ETHEREUM_NODE_URL;
23
+ case types_1.KnownChainIds.ArbitrumMainnet:
24
+ return process.env.VITE_ARBITRUM_NODE_URL;
25
+ case types_1.KnownChainIds.ArbitrumNovaMainnet:
26
+ return process.env.VITE_ARBITRUM_NOVA_NODE_URL;
27
+ case types_1.KnownChainIds.BaseMainnet:
28
+ return process.env.VITE_BASE_NODE_URL;
29
+ default:
30
+ return (0, utils_1.assertUnreachable)(chainId);
31
+ }
32
+ })();
33
+ if (!url) {
34
+ throw new Error(`No RPC URL found for chainId ${chainId}`);
35
+ }
36
+ return url;
37
+ };
38
+ exports.rpcUrlByChainId = rpcUrlByChainId;
39
+ const ethersProviders = new Map();
40
+ const ethersV5Providers = new Map();
41
+ const getEthersProvider = (chainId) => {
42
+ if (!ethersProviders.has(chainId)) {
43
+ const provider = new ethers_1.JsonRpcProvider((0, exports.rpcUrlByChainId)(chainId), undefined, {
44
+ staticNetwork: true,
45
+ });
46
+ ethersProviders.set(chainId, provider);
47
+ return provider;
48
+ }
49
+ else {
50
+ // This really should be defined but I guess enough safety never hurts mang...
51
+ const provider = ethersProviders.get(chainId);
52
+ if (!provider) {
53
+ throw new Error(`No provider found for chainId ${chainId}`);
54
+ }
55
+ return provider;
56
+ }
57
+ };
58
+ exports.getEthersProvider = getEthersProvider;
59
+ // For backwards-compatibility for libraries still stuck in v5
60
+ const getEthersV5Provider = (chainId = types_1.KnownChainIds.EthereumMainnet) => {
61
+ if (!ethersV5Providers.has(chainId)) {
62
+ const provider = new ethers5_1.ethers.providers.StaticJsonRpcProvider((0, exports.rpcUrlByChainId)(chainId));
63
+ ethersV5Providers.set(chainId, provider);
64
+ return provider;
65
+ }
66
+ else {
67
+ // This really should be defined but I guess enough safety never hurts mang...
68
+ const provider = ethersV5Providers.get(chainId);
69
+ if (!provider) {
70
+ throw new Error(`No provider found for chainId ${chainId}`);
71
+ }
72
+ return provider;
73
+ }
74
+ };
75
+ exports.getEthersV5Provider = getEthersV5Provider;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./constants"), exports);
18
+ __exportStar(require("./types"), exports);
19
+ __exportStar(require("./contractManager"), exports);
20
+ __exportStar(require("./ethersProviderSingleton"), exports);
21
+ __exportStar(require("./abis"), exports);
22
+ __exportStar(require("./viemClient"), exports);
@@ -0,0 +1 @@
1
+ {"type": "commonjs"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ContractType = void 0;
4
+ var ContractType;
5
+ (function (ContractType) {
6
+ ContractType["UniV2Pair"] = "UniV2Pair";
7
+ ContractType["ERC20"] = "ERC20";
8
+ ContractType["ThorRouter"] = "ThorRouter";
9
+ })(ContractType || (exports.ContractType = ContractType = {}));
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.assertGetViemClient = exports.viemClientByNetworkId = exports.viemNetworkIdByChainId = exports.viemClientByChainId = exports.viemBaseClient = exports.viemPolygonClient = exports.viemGnosisClient = exports.viemOptimismClient = exports.viemArbitrumNovaClient = exports.viemArbitrumClient = exports.viemAvalancheClient = exports.viemBscClient = exports.viemEthMainnetClient = void 0;
7
+ const types_1 = require("@shapeshiftoss/types");
8
+ const assert_1 = __importDefault(require("assert"));
9
+ const viem_1 = require("viem");
10
+ const chains_1 = require("viem/chains");
11
+ exports.viemEthMainnetClient = (0, viem_1.createPublicClient)({
12
+ chain: chains_1.mainnet,
13
+ transport: (0, viem_1.fallback)([process.env.VITE_ETHEREUM_NODE_URL, 'https://eth.llamarpc.com']
14
+ .filter(Boolean)
15
+ .map(url => (0, viem_1.http)(url))),
16
+ });
17
+ exports.viemBscClient = (0, viem_1.createPublicClient)({
18
+ chain: chains_1.bsc,
19
+ transport: (0, viem_1.fallback)(
20
+ // https://github.com/DefiLlama/chainlist/blob/83b8cc32ee79c10e0281e1799ebe4cd1696082b7/constants/llamaNodesRpcs.js#L30
21
+ [process.env.VITE_BNBSMARTCHAIN_NODE_URL, 'https://binance.llamarpc.com']
22
+ .filter(Boolean)
23
+ .map(url => (0, viem_1.http)(url))),
24
+ });
25
+ exports.viemAvalancheClient = (0, viem_1.createPublicClient)({
26
+ chain: chains_1.avalanche,
27
+ transport: (0, viem_1.fallback)([process.env.VITE_AVALANCHE_NODE_URL].filter(Boolean).map(url => (0, viem_1.http)(url))),
28
+ });
29
+ exports.viemArbitrumClient = (0, viem_1.createPublicClient)({
30
+ chain: chains_1.arbitrum,
31
+ transport: (0, viem_1.fallback)([process.env.VITE_ARBITRUM_NODE_URL].filter(Boolean).map(url => (0, viem_1.http)(url))),
32
+ });
33
+ exports.viemArbitrumNovaClient = (0, viem_1.createPublicClient)({
34
+ chain: chains_1.arbitrumNova,
35
+ transport: (0, viem_1.fallback)([process.env.VITE_ARBITRUM_NOVA_NODE_URL].filter(Boolean).map(url => (0, viem_1.http)(url))),
36
+ });
37
+ exports.viemOptimismClient = (0, viem_1.createPublicClient)({
38
+ chain: chains_1.optimism,
39
+ transport: (0, viem_1.fallback)([process.env.VITE_OPTIMISM_NODE_URL].filter(Boolean).map(url => (0, viem_1.http)(url))),
40
+ });
41
+ exports.viemGnosisClient = (0, viem_1.createPublicClient)({
42
+ chain: chains_1.gnosis,
43
+ transport: (0, viem_1.fallback)([process.env.VITE_GNOSIS_NODE_URL].filter(Boolean).map(url => (0, viem_1.http)(url))),
44
+ });
45
+ exports.viemPolygonClient = (0, viem_1.createPublicClient)({
46
+ chain: chains_1.polygon,
47
+ transport: (0, viem_1.fallback)([process.env.VITE_POLYGON_NODE_URL].filter(Boolean).map(url => (0, viem_1.http)(url))),
48
+ });
49
+ exports.viemBaseClient = (0, viem_1.createPublicClient)({
50
+ chain: chains_1.base,
51
+ transport: (0, viem_1.fallback)(
52
+ // https://github.com/DefiLlama/chainlist/blob/83b8cc32ee79c10e0281e1799ebe4cd1696082b7/constants/llamaNodesRpcs.js#L19
53
+ [process.env.VITE_BASE_NODE_URL, 'https://base.llamarpc.com']
54
+ .filter(Boolean)
55
+ .map(url => (0, viem_1.http)(url))),
56
+ });
57
+ exports.viemClientByChainId = {
58
+ [types_1.KnownChainIds.EthereumMainnet]: exports.viemEthMainnetClient,
59
+ [types_1.KnownChainIds.BnbSmartChainMainnet]: exports.viemBscClient,
60
+ [types_1.KnownChainIds.AvalancheMainnet]: exports.viemAvalancheClient,
61
+ [types_1.KnownChainIds.ArbitrumMainnet]: exports.viemArbitrumClient,
62
+ [types_1.KnownChainIds.ArbitrumNovaMainnet]: exports.viemArbitrumNovaClient,
63
+ [types_1.KnownChainIds.GnosisMainnet]: exports.viemGnosisClient,
64
+ [types_1.KnownChainIds.PolygonMainnet]: exports.viemPolygonClient,
65
+ [types_1.KnownChainIds.OptimismMainnet]: exports.viemOptimismClient,
66
+ [types_1.KnownChainIds.BaseMainnet]: exports.viemBaseClient,
67
+ };
68
+ exports.viemNetworkIdByChainId = {
69
+ [types_1.KnownChainIds.EthereumMainnet]: chains_1.mainnet.id,
70
+ [types_1.KnownChainIds.BnbSmartChainMainnet]: chains_1.bsc.id,
71
+ [types_1.KnownChainIds.AvalancheMainnet]: chains_1.avalanche.id,
72
+ [types_1.KnownChainIds.ArbitrumMainnet]: chains_1.arbitrum.id,
73
+ [types_1.KnownChainIds.ArbitrumNovaMainnet]: chains_1.arbitrumNova.id,
74
+ [types_1.KnownChainIds.GnosisMainnet]: chains_1.gnosis.id,
75
+ [types_1.KnownChainIds.PolygonMainnet]: chains_1.polygon.id,
76
+ [types_1.KnownChainIds.OptimismMainnet]: chains_1.optimism.id,
77
+ [types_1.KnownChainIds.BaseMainnet]: chains_1.base.id,
78
+ };
79
+ exports.viemClientByNetworkId = {
80
+ [chains_1.mainnet.id]: exports.viemEthMainnetClient,
81
+ [chains_1.bsc.id]: exports.viemBscClient,
82
+ [chains_1.avalanche.id]: exports.viemAvalancheClient,
83
+ [chains_1.arbitrum.id]: exports.viemArbitrumClient,
84
+ [chains_1.arbitrumNova.id]: exports.viemArbitrumNovaClient,
85
+ [chains_1.gnosis.id]: exports.viemGnosisClient,
86
+ [chains_1.polygon.id]: exports.viemPolygonClient,
87
+ [chains_1.optimism.id]: exports.viemOptimismClient,
88
+ [chains_1.base.id]: exports.viemBaseClient,
89
+ };
90
+ const assertGetViemClient = (chainId) => {
91
+ const publicClient = exports.viemClientByChainId[chainId];
92
+ (0, assert_1.default)(publicClient !== undefined, `no public client found for chainId '${chainId}'`);
93
+ return publicClient;
94
+ };
95
+ exports.assertGetViemClient = assertGetViemClient;