@gainsnetwork/sdk 0.0.51-multi-collat-rc4 → 0.0.51-multi-collat-rc7

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/lib/constants.js CHANGED
@@ -231,7 +231,7 @@ exports.stockSplits = {
231
231
  exports.delistedPairIxs = new Set([
232
232
  6, 31, 36, 42, 45, 48, 50, 54, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
233
233
  70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88,
234
- 89, 97, 99, 101, 106, 107, 108, 52, 131, 147, 157, 158, 160, 161, 166, 170,
235
- 179, 180, 181, 182, 183, 186, 188, 189, 190,
234
+ 89, 97, 99, 101, 106, 107, 108, 52, 131, 147, 157, 160, 179, 182, 183, 188,
235
+ 189, 190,
236
236
  ]);
237
237
  exports.delistedGroupsIxs = new Set([6, 7]);
@@ -1,2 +1,3 @@
1
1
  import { CollateralTypes, ContractAddresses } from "./types";
2
2
  export declare const getContractAddressesForChain: (chainId: number, collateral?: CollateralTypes) => ContractAddresses;
3
+ export declare const getCollateralByAddressForChain: (chainId: number, address: string) => CollateralTypes;
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getContractAddressesForChain = void 0;
6
+ exports.getCollateralByAddressForChain = exports.getContractAddressesForChain = void 0;
7
7
  const types_1 = require("./types");
8
8
  const addresses_json_1 = __importDefault(require("./addresses.json"));
9
9
  const getContractAddressesForChain = (chainId, collateral = types_1.CollateralTypes.DAI) => {
@@ -12,8 +12,20 @@ const getContractAddressesForChain = (chainId, collateral = types_1.CollateralTy
12
12
  throw new Error(`Unknown chain id (${chainId}). No known contracts have been deployed on this chain.`);
13
13
  }
14
14
  if (!_addresses[chainId][collateral]) {
15
- throw new Error(`Unknown collateral (${collateral}) for chain id (${chainId}). No known contracts have been deployed on this chain.`);
15
+ throw new Error(`Unknown collateral (${collateral}) for chain id (${chainId}). No known contracts have been deployed for this collateral.`);
16
16
  }
17
- return _addresses[chainId][collateral];
17
+ return Object.assign(Object.assign({}, _addresses[chainId]["global"]), _addresses[chainId][collateral]);
18
18
  };
19
19
  exports.getContractAddressesForChain = getContractAddressesForChain;
20
+ const getCollateralByAddressForChain = (chainId, address) => {
21
+ const _addresses = addresses_json_1.default;
22
+ if (!_addresses[chainId]) {
23
+ throw new Error(`Unknown chain id (${chainId}). No known contracts have been deployed on this chain.`);
24
+ }
25
+ for (const collateral in types_1.CollateralTypes) {
26
+ if (Object.values(_addresses[chainId][collateral] || {}).some(contract => contract.toLowerCase() === address.toLowerCase()))
27
+ return collateral;
28
+ }
29
+ throw new Error(`Unable to find collateral for address (${address}) and chain id (${chainId}). No known contracts match requested address.`);
30
+ };
31
+ exports.getCollateralByAddressForChain = getCollateralByAddressForChain;
@@ -1,70 +1,89 @@
1
1
  {
2
2
  "137": {
3
+ "global": {
4
+ "gnsMultiCollatDiamond": "0x209A9A01980377916851af2cA075C2b170452018"
5
+ },
3
6
  "DAI": {
4
7
  "gfarmTradingStorageV5": "0xaee4d11a16B2bc65EDD6416Fb626EB404a6D65BD",
5
- "gnsMultiCollatDiamond": "0x6e5326e944F528c243B9Ca5d14fe5C9269a8c922",
6
8
  "gTokenOpenPnlFeed": "0x8d687276543b92819F2f2B5C3faad4AD27F4440c",
7
- "gnsNftRewardsV6": "0x3470756E5B490a974Bc25FeEeEb24c11102f5268",
8
- "gnsNftRewardsV6_3_1": "0x8103C0665A544201BBF606d90845d1B2D8005F1c",
9
+ "gnsNftRewards": "0x8103C0665A544201BBF606d90845d1B2D8005F1c",
10
+ "gnsBorrowingFees": "0x83AE6fADB88872D77299550Dc746b95D0196FE15",
11
+ "gnsTradingCallbacks": "0x82e59334da8c667797009bbe82473b55c7a6b311",
12
+ "gToken": "0x91993f2101cc758D0dEB7279d41e880F7dEFe827"
13
+ },
14
+ "ETH": {
15
+ "gfarmTradingStorageV5": "0xaee4d11a16B2bc65EDD6416Fb626EB404a6D65BD",
16
+ "gTokenOpenPnlFeed": "0x8d687276543b92819F2f2B5C3faad4AD27F4440c",
17
+ "gnsNftRewards": "",
9
18
  "gnsBorrowingFees": "0x83AE6fADB88872D77299550Dc746b95D0196FE15",
10
19
  "gnsTradingCallbacks": "0x82e59334da8c667797009bbe82473b55c7a6b311",
11
- "gDai": "0x91993f2101cc758D0dEB7279d41e880F7dEFe827"
20
+ "gToken": "0x91993f2101cc758D0dEB7279d41e880F7dEFe827"
21
+ },
22
+ "USDC": {
23
+ "gfarmTradingStorageV5": "0xaee4d11a16B2bc65EDD6416Fb626EB404a6D65BD",
24
+ "gTokenOpenPnlFeed": "0x8d687276543b92819F2f2B5C3faad4AD27F4440c",
25
+ "gnsNftRewards": "",
26
+ "gnsBorrowingFees": "0x83AE6fADB88872D77299550Dc746b95D0196FE15",
27
+ "gnsTradingCallbacks": "",
28
+ "gToken": "0x91993f2101cc758D0dEB7279d41e880F7dEFe827"
12
29
  }
13
30
  },
14
31
  "42161": {
32
+ "global": {
33
+ "gnsMultiCollatDiamond": "0xFF162c694eAA571f685030649814282eA457f169"
34
+ },
15
35
  "DAI": {
16
36
  "gfarmTradingStorageV5": "0xcFa6ebD475d89dB04cAd5A756fff1cb2BC5bE33c",
17
- "gnsMultiCollatDiamond": "0xf67Df2a4339eC1591615d94599081Dd037960d4b",
18
37
  "gTokenOpenPnlFeed": "0x990BA9Edd8a9615A23E4c452E63A80e519A4a23D",
19
- "gnsNftRewardsV6": "0xc2d107e870927E3fb1127E6c1a33De5C863505b8",
20
- "gnsNftRewardsV6_3_1": "0xde5750071CacA8db173FC6543D23d0BCACACFEC3",
38
+ "gnsNftRewards": "0xde5750071CacA8db173FC6543D23d0BCACACFEC3",
21
39
  "gnsBorrowingFees": "0xA03e32a42C75FDdDc9a39973ddd082F147393154",
22
40
  "gnsTradingCallbacks": "0x298a695906e16aea0a184a2815a76ead1a0b7522",
23
- "gDai": "0xd85E038593d7A098614721EaE955EC2022B9B91B"
41
+ "gToken": "0xd85E038593d7A098614721EaE955EC2022B9B91B"
42
+ },
43
+ "ETH": {
44
+ "gfarmTradingStorageV5": "0xFe54a9A1C2C276cf37C56CeeE30737FDc6dA4d27",
45
+ "gTokenOpenPnlFeed": "0x018D9A3F0D06cCb7C305B7C9219a4307e1f9f27e",
46
+ "gnsNftRewards": "0x0d3EcF681C38D50a06C414C3e530Ce564F32C611",
47
+ "gnsBorrowingFees": "0x4475935686154a68B7b2a4B50BD917FD50aD3536",
48
+ "gnsTradingCallbacks": "0x62a9f50c92a57C719Ff741133caa55c7A81Ce019",
49
+ "gToken": "0x5977A9682D7AF81D347CFc338c61692163a2784C"
50
+ },
51
+ "USDC": {
52
+ "gfarmTradingStorageV5": "0x3B09fCa4cC6b140fDd364f28db830ccE01Fd60fD",
53
+ "gTokenOpenPnlFeed": "0xBF55C78132ab06a2B217040b7A7F20B5cBD47982",
54
+ "gnsNftRewards": "0xaCb9C3196b23413fE1e8E997C8Aa27600c4d2c88",
55
+ "gnsBorrowingFees": "0x0775dC8Fc3E389e5eF3442c06de70Ea3181bdD66",
56
+ "gnsTradingCallbacks": "0x4542256C583bCaD66a19a525B57203773a6485bf",
57
+ "gToken": "0xd3443ee1e91aF28e5FB858Fbd0D72A63bA8046E0"
24
58
  }
25
59
  },
26
60
  "80001": {
61
+ "global": {
62
+ "gnsMultiCollatDiamond": "0xDee93dD1Cb54ce80D690eC07a20CB0ce9d7F741C"
63
+ },
27
64
  "DAI": {
28
65
  "gfarmTradingStorageV5": "0x4d2dF485c608aa55A23d8d98dD2B4FA24Ba0f2Cf",
29
- "gnsMultiCollatDiamond": "0xDee93dD1Cb54ce80D690eC07a20CB0ce9d7F741C",
30
66
  "gTokenOpenPnlFeed": "0xA7C829CB2346E12DC49Fd5ea8002Abaf48E9396C",
31
- "gnsNftRewardsV6": "0x3982E3de77DAd60373C0c2c539fCb93Bd288D2f5",
32
- "gnsNftRewardsV6_3_1": "0xf7Ac400b45Bdd2E098FaCA3642bE4d01071BC73B",
67
+ "gnsNftRewards": "0xf7Ac400b45Bdd2E098FaCA3642bE4d01071BC73B",
33
68
  "gnsBorrowingFees": "0xA280c8e34dcD6A835183E13CA82c6fAE20988644",
34
69
  "gnsTradingCallbacks": "0xA7443A20B42f9156F7D9DB01e51523C42CAC8eCE",
35
- "gDai": "0x5215C8B3e76D493c8bcb9A7352F7afe18A6bb091"
70
+ "gToken": "0x5215C8B3e76D493c8bcb9A7352F7afe18A6bb091"
36
71
  },
37
72
  "ETH": {
38
- "gfarmTradingStorageV5": "0x3468885B028271e586419a8827C12c19673DBbcc",
39
- "gnsMultiCollatDiamond": "0xDee93dD1Cb54ce80D690eC07a20CB0ce9d7F741C",
40
- "gTokenOpenPnlFeed": "0x14148383529690EF511d35a3a24dE78b9414895c",
41
- "gnsNftRewardsV6": "0x820781b85F446eDc4165C1c1D1e273B33d0B57aB",
42
- "gnsNftRewardsV6_3_1": "0xf7Ac400b45Bdd2E098FaCA3642bE4d01071BC73B",
43
- "gnsBorrowingFees": "0xBaE5EdF3DF8d1CA3DB5Ff9E9B43937c8e8f4CeC5",
44
- "gnsTradingCallbacks": "0x9b897661E03ac0131d0f5E522eC188d9193Cb1f5",
45
- "gDai": "0xBCfCE19e1a97222cbE2eeebC87196670Fce46c87"
46
- }
47
- },
48
- "421613": {
49
- "ETH": {
50
- "gfarmTradingStorageV5": "0xcFa6ebD475d89dB04cAd5A756fff1cb2BC5bE33c",
51
- "gnsMultiCollatDiamond": "0xf67Df2a4339eC1591615d94599081Dd037960d4b",
52
- "gTokenOpenPnlFeed": "0x990BA9Edd8a9615A23E4c452E63A80e519A4a23D",
53
- "gnsNftRewardsV6": "0xc2d107e870927E3fb1127E6c1a33De5C863505b8",
54
- "gnsNftRewardsV6_3_1": "0xde5750071CacA8db173FC6543D23d0BCACACFEC3",
55
- "gnsBorrowingFees": "0xA03e32a42C75FDdDc9a39973ddd082F147393154",
56
- "gnsTradingCallbacks": "0x298a695906e16aea0a184a2815a76ead1a0b7522",
57
- "gDai": "0xd85E038593d7A098614721EaE955EC2022B9B91B"
73
+ "gfarmTradingStorageV5": "0x989DF13f4feE478cAc463CCCDB784Aa36108aB37",
74
+ "gTokenOpenPnlFeed": "0xC8D8d6efBC343604f8B6288a20C00a9D7f697A38",
75
+ "gnsNftRewards": "0xa974360d916877D97635d7595565CBBF1776D2Cc",
76
+ "gnsBorrowingFees": "0x61bd04984adde83Baa904eC70885038c66459e48",
77
+ "gnsTradingCallbacks": "0x0Bb7f01c3808Ec9B7af16E20d71eCb7a27C7ECf5",
78
+ "gToken": "0x71A52242f7430cF4a290854d93f6719a8C35F287"
58
79
  },
59
- "DAI": {
60
- "gfarmTradingStorageV5": "0xcFa6ebD475d89dB04cAd5A756fff1cb2BC5bE33c",
61
- "gnsMultiCollatDiamond": "0xf67Df2a4339eC1591615d94599081Dd037960d4b",
62
- "gTokenOpenPnlFeed": "0x990BA9Edd8a9615A23E4c452E63A80e519A4a23D",
63
- "gnsNftRewardsV6": "0xc2d107e870927E3fb1127E6c1a33De5C863505b8",
64
- "gnsNftRewardsV6_3_1": "0xde5750071CacA8db173FC6543D23d0BCACACFEC3",
65
- "gnsBorrowingFees": "0xA03e32a42C75FDdDc9a39973ddd082F147393154",
66
- "gnsTradingCallbacks": "0x298a695906e16aea0a184a2815a76ead1a0b7522",
67
- "gDai": "0xd85E038593d7A098614721EaE955EC2022B9B91B"
80
+ "USDC": {
81
+ "gfarmTradingStorageV5": "0x13ed64798DfC826f6384F226913509e18662ab0B",
82
+ "gTokenOpenPnlFeed": "0x540E381b5Aef048D317A715667b12ec999D397Bc",
83
+ "gnsNftRewards": "0x9b19727268CF23E1874b8681694CAE7F66E40aE3",
84
+ "gnsBorrowingFees": "0xcC160C98eC5dad51021266284048F59a2535b329",
85
+ "gnsTradingCallbacks": "0x0c8C70eF2744A9376195855C63B59A3360FEEbBe",
86
+ "gToken": "0xd7F8D728414a6aD18476B5a72a0C20be5704f868"
68
87
  }
69
88
  }
70
89
  }
@@ -2,5 +2,6 @@ import type { Signer } from "ethers";
2
2
  import type { Provider } from "@ethersproject/providers";
3
3
  import { CollateralTypes, Contracts } from "./types";
4
4
  export declare const getContractsForChain: (chainId: number, signerOrProvider?: Signer | Provider, collateral?: CollateralTypes) => Contracts;
5
+ export declare const getContractsForChainByRequester: (chainId: number, requester: string, signerOrProvider?: Signer | Provider) => Contracts;
5
6
  export * from "./utils";
6
7
  export * from "./addresses";
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.getContractsForChain = void 0;
17
+ exports.getContractsForChainByRequester = exports.getContractsForChain = void 0;
18
18
  const addresses_1 = require("./addresses");
19
19
  const factories_1 = require("./types/generated/factories");
20
20
  const getContractsForChain = (chainId, signerOrProvider, collateral) => {
@@ -26,9 +26,13 @@ const getContractsForChain = (chainId, signerOrProvider, collateral) => {
26
26
  gnsNftRewards: factories_1.GNSNftRewardsV6_3_1__factory.connect(addresses.gnsNftRewardsV6_3_1, signerOrProvider),
27
27
  gnsBorrowingFees: factories_1.GNSBorrowingFees__factory.connect(addresses.gnsBorrowingFees, signerOrProvider),
28
28
  gnsTradingCallbacks: factories_1.GNSTradingCallbacks__factory.connect(addresses.gnsTradingCallbacks, signerOrProvider),
29
- gDai: factories_1.GTokenV6_3_2__factory.connect(addresses.gDai, signerOrProvider),
29
+ gToken: factories_1.GToken__factory.connect(addresses.gToken, signerOrProvider),
30
30
  };
31
31
  };
32
32
  exports.getContractsForChain = getContractsForChain;
33
+ const getContractsForChainByRequester = (chainId, requester, signerOrProvider) => {
34
+ return (0, exports.getContractsForChain)(chainId, signerOrProvider, (0, addresses_1.getCollateralByAddressForChain)(chainId, requester));
35
+ };
36
+ exports.getContractsForChainByRequester = getContractsForChainByRequester;
33
37
  __exportStar(require("./utils"), exports);
34
38
  __exportStar(require("./addresses"), exports);