@levrbet/shared 0.5.2 → 0.5.4
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,4 +37,19 @@ export declare function getLevrMarketContract(marketIdentifier: MarketType | Lev
|
|
|
37
37
|
publicClient?: PublicClient;
|
|
38
38
|
walletClient?: WalletClient;
|
|
39
39
|
}): MarketContractReturn;
|
|
40
|
+
/**
|
|
41
|
+
* Like `getLevrMarketContract` but uses an explicit contract address instead of
|
|
42
|
+
* the registered address for the current environment. Use this when a position
|
|
43
|
+
* was created on a contract that has since been superseded (e.g. after a
|
|
44
|
+
* redeployment) and you need to reach the original contract directly.
|
|
45
|
+
*
|
|
46
|
+
* @param address - The exact on-chain address of the market contract.
|
|
47
|
+
* @param marketIdentifier - The market type or LevrMarketId that determines which ABI to use.
|
|
48
|
+
* @param chainId - The chain ID where the contract is deployed.
|
|
49
|
+
* @param opts - Optional publicClient / walletClient overrides.
|
|
50
|
+
*/
|
|
51
|
+
export declare function getLevrMarketContractAt(address: Address, marketIdentifier: MarketType | LevrMarketId, chainId: LevrChain, opts?: {
|
|
52
|
+
publicClient?: PublicClient;
|
|
53
|
+
walletClient?: WalletClient;
|
|
54
|
+
}): MarketContractReturn;
|
|
40
55
|
export {};
|
|
@@ -4,6 +4,7 @@ exports.getLevrContractAddress = getLevrContractAddress;
|
|
|
4
4
|
exports.getLevrContract = getLevrContract;
|
|
5
5
|
exports.getErc20Contract = getErc20Contract;
|
|
6
6
|
exports.getLevrMarketContract = getLevrMarketContract;
|
|
7
|
+
exports.getLevrMarketContractAt = getLevrMarketContractAt;
|
|
7
8
|
const viem_1 = require("viem");
|
|
8
9
|
const abis_1 = require("./abis");
|
|
9
10
|
const addresses_1 = require("./addresses");
|
|
@@ -78,4 +79,33 @@ function getLevrMarketContract(marketIdentifier, chainId, levrEnv, opts) {
|
|
|
78
79
|
throw new Error(`Unsupported market type: ${marketIdentifier}`);
|
|
79
80
|
return getLevrContract(contractName, chainId, levrEnv, opts ?? {});
|
|
80
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* Like `getLevrMarketContract` but uses an explicit contract address instead of
|
|
84
|
+
* the registered address for the current environment. Use this when a position
|
|
85
|
+
* was created on a contract that has since been superseded (e.g. after a
|
|
86
|
+
* redeployment) and you need to reach the original contract directly.
|
|
87
|
+
*
|
|
88
|
+
* @param address - The exact on-chain address of the market contract.
|
|
89
|
+
* @param marketIdentifier - The market type or LevrMarketId that determines which ABI to use.
|
|
90
|
+
* @param chainId - The chain ID where the contract is deployed.
|
|
91
|
+
* @param opts - Optional publicClient / walletClient overrides.
|
|
92
|
+
*/
|
|
93
|
+
function getLevrMarketContractAt(address, marketIdentifier, chainId, opts) {
|
|
94
|
+
const marketType = Object.values(constants_1.LevrMarketId).includes(marketIdentifier)
|
|
95
|
+
? constants_1.LevrMarketIdToMarketType[marketIdentifier]
|
|
96
|
+
: marketIdentifier;
|
|
97
|
+
const contractName = MARKET_TYPE_TO_CONTRACT[marketType];
|
|
98
|
+
if (!contractName)
|
|
99
|
+
throw new Error(`Unsupported market type: ${marketIdentifier}`);
|
|
100
|
+
const abi = abis_1.abis[contractName];
|
|
101
|
+
const publicClient = opts?.publicClient ?? clients_1.publicClientService.getPublicClient(chainId);
|
|
102
|
+
if (opts?.walletClient) {
|
|
103
|
+
return (0, viem_1.getContract)({
|
|
104
|
+
address,
|
|
105
|
+
abi,
|
|
106
|
+
client: { public: publicClient, wallet: opts.walletClient },
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
return (0, viem_1.getContract)({ address, abi, client: publicClient });
|
|
110
|
+
}
|
|
81
111
|
//# sourceMappingURL=instances.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instances.js","sourceRoot":"","sources":["../../../src/core/contracts/instances.ts"],"names":[],"mappings":";;AAaA,wDAMC;AAaD,0CA4BC;AAED,4CAuBC;AAUD,sDAeC;
|
|
1
|
+
{"version":3,"file":"instances.js","sourceRoot":"","sources":["../../../src/core/contracts/instances.ts"],"names":[],"mappings":";;AAaA,wDAMC;AAaD,0CA4BC;AAED,4CAuBC;AAUD,sDAeC;AAaD,0DA0BC;AApJD,+BAA4C;AAE5C,iCAA6B;AAC7B,2CAAmD;AACnD,uCAA+C;AAC/C,2CAAoE;AACpE,2CAA2C;AAM3C,SAAgB,sBAAsB,CAAC,YAAiC,EAAE,OAAkB,EAAE,OAAgB;IAC1G,MAAM,OAAO,GAAG,iCAAqB,CAAC,OAAO,CAAC,CAAC,OAAwD,CAAC,CAAC,YAAY,CAEtG,CAAA;IACf,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,CAAC,YAAY,CAAC,aAAa,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IACtH,OAAO,OAAO,CAAA;AAClB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,eAAe,CAC3B,YAAe,EACf,OAAkB,EAClB,OAAgB,EAChB,EAAE,YAAY,EAAE,YAAY,KAAmE,EAAE;IAEjG,MAAM,OAAO,GAAG,sBAAsB,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;IAEtE,MAAM,GAAG,GAAG,WAAI,CAAC,YAAY,CAAC,CAAA;IAE9B,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,6BAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAEzF,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,IAAA,kBAAW,EAAC;YACf,OAAO;YACP,GAAG;YACH,MAAM,EAAE;gBACJ,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,YAAY;aACvB;SACJ,CAAgE,CAAA;IACrE,CAAC;IAED,OAAO,IAAA,kBAAW,EAAC;QACf,OAAO;QACP,GAAG;QACH,MAAM,EAAE,YAAY;KACvB,CAAgE,CAAA;AACrE,CAAC;AAED,SAAgB,gBAAgB,CAC5B,OAAgB,EAChB,OAAkB,EAClB,EAAE,YAAY,EAAE,YAAY,KAAmE,EAAE;IAEjG,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,6BAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAEzF,IAAI,YAAY,EAAE,CAAC;QACf,OAAO,IAAA,kBAAW,EAAC;YACf,OAAO;YACP,GAAG,EAAE,eAAQ;YACb,MAAM,EAAE;gBACJ,MAAM,EAAE,YAAY;gBACpB,MAAM,EAAE,YAAY;aACvB;SACJ,CAA+D,CAAA;IACpE,CAAC;IAED,OAAO,IAAA,kBAAW,EAAC;QACf,OAAO;QACP,GAAG,EAAE,eAAQ;QACb,MAAM,EAAE,YAAY;KACvB,CAA0E,CAAA;AAC/E,CAAC;AAED,MAAM,uBAAuB,GAAG;IAC5B,CAAC,mBAAU,CAAC,cAAc,CAAC,EAAE,oBAAoB;IACjD,CAAC,mBAAU,CAAC,SAAS,CAAC,EAAE,qBAAqB;CACS,CAAA;AAK1D,SAAgB,qBAAqB,CACjC,gBAA2C,EAC3C,OAAkB,EAClB,OAAgB,EAChB,IAAmE;IAEnE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,wBAAY,CAAC,CAAC,QAAQ,CAAC,gBAAgC,CAAC;QACrF,CAAC,CAAE,oCAAwB,CAAC,gBAAgB,CAAgB;QAC5D,CAAC,CAAE,gBAA+B,CAAA;IAEtC,MAAM,YAAY,GACd,uBAAuB,CAAC,UAAkD,CAAC,CAAA;IAC/E,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,gBAAgB,EAAE,CAAC,CAAA;IAElF,OAAO,eAAe,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;AACtE,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,uBAAuB,CACnC,OAAgB,EAChB,gBAA2C,EAC3C,OAAkB,EAClB,IAAmE;IAEnE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,wBAAY,CAAC,CAAC,QAAQ,CAAC,gBAAgC,CAAC;QACrF,CAAC,CAAE,oCAAwB,CAAC,gBAAgB,CAAgB;QAC5D,CAAC,CAAE,gBAA+B,CAAA;IAEtC,MAAM,YAAY,GACd,uBAAuB,CAAC,UAAkD,CAAC,CAAA;IAC/E,IAAI,CAAC,YAAY;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,gBAAgB,EAAE,CAAC,CAAA;IAElF,MAAM,GAAG,GAAG,WAAI,CAAC,YAAY,CAAC,CAAA;IAC9B,MAAM,YAAY,GAAG,IAAI,EAAE,YAAY,IAAI,6BAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;IAEvF,IAAI,IAAI,EAAE,YAAY,EAAE,CAAC;QACrB,OAAO,IAAA,kBAAW,EAAC;YACf,OAAO;YACP,GAAG;YACH,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE;SAC9D,CAAoC,CAAA;IACzC,CAAC;IAED,OAAO,IAAA,kBAAW,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAoC,CAAA;AACjG,CAAC"}
|