@lidofinance/lido-csm-sdk 2.0.0-alpha.59 → 2.0.0-alpha.60
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/dist/bond-sdk/bond-sdk.cjs +9 -10
- package/dist/bond-sdk/bond-sdk.cjs.map +1 -1
- package/dist/bond-sdk/bond-sdk.d.cts.map +1 -1
- package/dist/bond-sdk/bond-sdk.d.mts.map +1 -1
- package/dist/bond-sdk/bond-sdk.mjs +9 -10
- package/dist/bond-sdk/bond-sdk.mjs.map +1 -1
- package/dist/common/decorators/utils.cjs +1 -1
- package/dist/common/decorators/utils.cjs.map +1 -1
- package/dist/common/decorators/utils.mjs +1 -1
- package/dist/common/decorators/utils.mjs.map +1 -1
- package/dist/core-sdk/core-sdk.cjs +6 -8
- package/dist/core-sdk/core-sdk.cjs.map +1 -1
- package/dist/core-sdk/core-sdk.d.cts +146 -146
- package/dist/core-sdk/core-sdk.d.cts.map +1 -1
- package/dist/core-sdk/core-sdk.d.mts +146 -146
- package/dist/core-sdk/core-sdk.d.mts.map +1 -1
- package/dist/core-sdk/core-sdk.mjs +6 -8
- package/dist/core-sdk/core-sdk.mjs.map +1 -1
- package/dist/core-sdk/types.d.cts +2 -2
- package/dist/core-sdk/types.d.cts.map +1 -1
- package/dist/core-sdk/types.d.mts +2 -2
- package/dist/core-sdk/types.d.mts.map +1 -1
- package/dist/curated-gate-sdk/curated-gate-sdk.cjs +1 -2
- package/dist/curated-gate-sdk/curated-gate-sdk.cjs.map +1 -1
- package/dist/curated-gate-sdk/curated-gate-sdk.mjs +1 -2
- package/dist/curated-gate-sdk/curated-gate-sdk.mjs.map +1 -1
- package/dist/delayed-penalty-sdk/delayed-penalty-sdk.cjs +2 -3
- package/dist/delayed-penalty-sdk/delayed-penalty-sdk.cjs.map +1 -1
- package/dist/delayed-penalty-sdk/delayed-penalty-sdk.mjs +2 -3
- package/dist/delayed-penalty-sdk/delayed-penalty-sdk.mjs.map +1 -1
- package/dist/deposit-queue-sdk/deposit-queue-sdk.cjs +2 -3
- package/dist/deposit-queue-sdk/deposit-queue-sdk.cjs.map +1 -1
- package/dist/deposit-queue-sdk/deposit-queue-sdk.mjs +2 -3
- package/dist/deposit-queue-sdk/deposit-queue-sdk.mjs.map +1 -1
- package/dist/frame-sdk/frame-sdk.d.cts +2 -2
- package/dist/frame-sdk/frame-sdk.d.cts.map +1 -1
- package/dist/frame-sdk/frame-sdk.d.mts +2 -2
- package/dist/frame-sdk/frame-sdk.d.mts.map +1 -1
- package/dist/index.cjs +1 -3
- package/dist/index.d.cts +1 -2
- package/dist/index.d.mts +1 -2
- package/dist/index.mjs +2 -3
- package/dist/keys-sdk/keys-sdk.cjs +7 -8
- package/dist/keys-sdk/keys-sdk.cjs.map +1 -1
- package/dist/keys-sdk/keys-sdk.d.cts.map +1 -1
- package/dist/keys-sdk/keys-sdk.d.mts.map +1 -1
- package/dist/keys-sdk/keys-sdk.mjs +7 -8
- package/dist/keys-sdk/keys-sdk.mjs.map +1 -1
- package/dist/lido-sdk-cm.cjs +1 -1
- package/dist/lido-sdk-cm.mjs +1 -1
- package/dist/lido-sdk-csm.cjs +1 -1
- package/dist/lido-sdk-csm.mjs +1 -1
- package/dist/meta-registry-sdk/meta-registry-sdk.cjs +1 -2
- package/dist/meta-registry-sdk/meta-registry-sdk.cjs.map +1 -1
- package/dist/meta-registry-sdk/meta-registry-sdk.mjs +1 -2
- package/dist/meta-registry-sdk/meta-registry-sdk.mjs.map +1 -1
- package/dist/node_modules/abitype/dist/types/abi.d.cts +1 -7
- package/dist/node_modules/abitype/dist/types/abi.d.cts.map +1 -1
- package/dist/node_modules/abitype/dist/types/abi.d.mts +1 -7
- package/dist/node_modules/abitype/dist/types/abi.d.mts.map +1 -1
- package/dist/permissionless-gate-sdk/permissionless-gate-sdk.cjs +4 -5
- package/dist/permissionless-gate-sdk/permissionless-gate-sdk.cjs.map +1 -1
- package/dist/permissionless-gate-sdk/permissionless-gate-sdk.d.cts.map +1 -1
- package/dist/permissionless-gate-sdk/permissionless-gate-sdk.d.mts.map +1 -1
- package/dist/permissionless-gate-sdk/permissionless-gate-sdk.mjs +4 -5
- package/dist/permissionless-gate-sdk/permissionless-gate-sdk.mjs.map +1 -1
- package/dist/roles-sdk/roles-sdk.cjs +8 -9
- package/dist/roles-sdk/roles-sdk.cjs.map +1 -1
- package/dist/roles-sdk/roles-sdk.d.cts.map +1 -1
- package/dist/roles-sdk/roles-sdk.d.mts.map +1 -1
- package/dist/roles-sdk/roles-sdk.mjs +8 -9
- package/dist/roles-sdk/roles-sdk.mjs.map +1 -1
- package/dist/tx-sdk/tx-sdk.cjs +3 -4
- package/dist/tx-sdk/tx-sdk.cjs.map +1 -1
- package/dist/tx-sdk/tx-sdk.d.cts.map +1 -1
- package/dist/tx-sdk/tx-sdk.d.mts.map +1 -1
- package/dist/tx-sdk/tx-sdk.mjs +3 -4
- package/dist/tx-sdk/tx-sdk.mjs.map +1 -1
- package/dist/tx-sdk.cjs +0 -2
- package/dist/tx-sdk.d.cts +1 -2
- package/dist/tx-sdk.d.mts +1 -2
- package/dist/tx-sdk.mjs +1 -2
- package/dist/vetted-gate-sdk/vetted-gate-sdk.cjs +5 -6
- package/dist/vetted-gate-sdk/vetted-gate-sdk.cjs.map +1 -1
- package/dist/vetted-gate-sdk/vetted-gate-sdk.d.cts.map +1 -1
- package/dist/vetted-gate-sdk/vetted-gate-sdk.d.mts.map +1 -1
- package/dist/vetted-gate-sdk/vetted-gate-sdk.mjs +5 -6
- package/dist/vetted-gate-sdk/vetted-gate-sdk.mjs.map +1 -1
- package/package.json +3 -3
- package/dist/tx-sdk/prep-call.cjs +0 -16
- package/dist/tx-sdk/prep-call.cjs.map +0 -1
- package/dist/tx-sdk/prep-call.d.cts +0 -30
- package/dist/tx-sdk/prep-call.d.cts.map +0 -1
- package/dist/tx-sdk/prep-call.d.mts +0 -30
- package/dist/tx-sdk/prep-call.d.mts.map +0 -1
- package/dist/tx-sdk/prep-call.mjs +0 -15
- package/dist/tx-sdk/prep-call.mjs.map +0 -1
|
@@ -7,7 +7,6 @@ const require_csm_sdk_module = require("../common/class-primitives/csm-sdk-modul
|
|
|
7
7
|
const require_parse_claim_props = require("../common/utils/parse-claim-props.cjs");
|
|
8
8
|
const require_error_handler = require("../common/decorators/error-handler.cjs");
|
|
9
9
|
const require_logger = require("../common/decorators/logger.cjs");
|
|
10
|
-
const require_prep_call = require("../tx-sdk/prep-call.cjs");
|
|
11
10
|
const require_parse_cover_receipt_events = require("./parse-cover-receipt-events.cjs");
|
|
12
11
|
//#region src/bond-sdk/bond-sdk.ts
|
|
13
12
|
var __create = Object.create;
|
|
@@ -150,7 +149,7 @@ var BondSDK = class extends (_a = require_csm_sdk_module.CsmSDKModule, _getBondS
|
|
|
150
149
|
const { nodeOperatorId, amount, permit, ...rest } = props;
|
|
151
150
|
return this.bus.tx.perform({
|
|
152
151
|
...rest,
|
|
153
|
-
call: () =>
|
|
152
|
+
call: () => this.accountingContract.encode.depositETH([nodeOperatorId], { value: amount }),
|
|
154
153
|
decodeResult: () => this.getBondSummary(nodeOperatorId)
|
|
155
154
|
});
|
|
156
155
|
}
|
|
@@ -163,7 +162,7 @@ var BondSDK = class extends (_a = require_csm_sdk_module.CsmSDKModule, _getBondS
|
|
|
163
162
|
amount,
|
|
164
163
|
permit
|
|
165
164
|
},
|
|
166
|
-
call: ({ permit: permit2 }) =>
|
|
165
|
+
call: ({ permit: permit2 }) => this.accountingContract.encode.depositStETH([
|
|
167
166
|
nodeOperatorId,
|
|
168
167
|
amount,
|
|
169
168
|
permit2
|
|
@@ -180,7 +179,7 @@ var BondSDK = class extends (_a = require_csm_sdk_module.CsmSDKModule, _getBondS
|
|
|
180
179
|
amount,
|
|
181
180
|
permit
|
|
182
181
|
},
|
|
183
|
-
call: ({ permit: permit2 }) =>
|
|
182
|
+
call: ({ permit: permit2 }) => this.accountingContract.encode.depositWstETH([
|
|
184
183
|
nodeOperatorId,
|
|
185
184
|
amount,
|
|
186
185
|
permit2
|
|
@@ -204,7 +203,7 @@ var BondSDK = class extends (_a = require_csm_sdk_module.CsmSDKModule, _getBondS
|
|
|
204
203
|
const { nodeOperatorId, ...rest } = props;
|
|
205
204
|
return this.bus.tx.perform({
|
|
206
205
|
...rest,
|
|
207
|
-
call: () =>
|
|
206
|
+
call: () => this.moduleContract.encode.compensateGeneralDelayedPenalty([nodeOperatorId]),
|
|
208
207
|
decodeResult: (receipt) => require_parse_cover_receipt_events.parseCoverReceiptEvents(receipt)
|
|
209
208
|
});
|
|
210
209
|
}
|
|
@@ -212,14 +211,14 @@ var BondSDK = class extends (_a = require_csm_sdk_module.CsmSDKModule, _getBondS
|
|
|
212
211
|
const { nodeOperatorId, ...rest } = props;
|
|
213
212
|
return this.bus.tx.perform({
|
|
214
213
|
...rest,
|
|
215
|
-
call: () =>
|
|
214
|
+
call: () => this.accountingContract.encode.unlockExpiredLock([nodeOperatorId])
|
|
216
215
|
});
|
|
217
216
|
}
|
|
218
217
|
async pullRewards(props) {
|
|
219
218
|
const { nodeOperatorId, shares, proof, ...rest } = require_parse_claim_props.parseClaimProps(props);
|
|
220
219
|
return this.bus.tx.perform({
|
|
221
220
|
...rest,
|
|
222
|
-
call: () =>
|
|
221
|
+
call: () => this.accountingContract.encode.pullAndSplitFeeRewards([
|
|
223
222
|
nodeOperatorId,
|
|
224
223
|
shares,
|
|
225
224
|
proof
|
|
@@ -230,7 +229,7 @@ var BondSDK = class extends (_a = require_csm_sdk_module.CsmSDKModule, _getBondS
|
|
|
230
229
|
const { nodeOperatorId, amount, shares, proof, ...rest } = require_parse_claim_props.parseClaimProps(props);
|
|
231
230
|
return this.bus.tx.perform({
|
|
232
231
|
...rest,
|
|
233
|
-
call: () =>
|
|
232
|
+
call: () => this.accountingContract.encode.claimRewardsUnstETH([
|
|
234
233
|
nodeOperatorId,
|
|
235
234
|
amount,
|
|
236
235
|
shares,
|
|
@@ -242,7 +241,7 @@ var BondSDK = class extends (_a = require_csm_sdk_module.CsmSDKModule, _getBondS
|
|
|
242
241
|
const { nodeOperatorId, amount, shares, proof, ...rest } = require_parse_claim_props.parseClaimProps(props);
|
|
243
242
|
return this.bus.tx.perform({
|
|
244
243
|
...rest,
|
|
245
|
-
call: () =>
|
|
244
|
+
call: () => this.accountingContract.encode.claimRewardsStETH([
|
|
246
245
|
nodeOperatorId,
|
|
247
246
|
amount,
|
|
248
247
|
shares,
|
|
@@ -254,7 +253,7 @@ var BondSDK = class extends (_a = require_csm_sdk_module.CsmSDKModule, _getBondS
|
|
|
254
253
|
const { nodeOperatorId, amount, shares, proof, ...rest } = require_parse_claim_props.parseClaimProps(props);
|
|
255
254
|
return this.bus.tx.perform({
|
|
256
255
|
...rest,
|
|
257
|
-
call: () =>
|
|
256
|
+
call: () => this.accountingContract.encode.claimRewardsWstETH([
|
|
258
257
|
nodeOperatorId,
|
|
259
258
|
amount,
|
|
260
259
|
shares,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bond-sdk.cjs","names":["permit"],"sources":["../../src/bond-sdk/bond-sdk.ts"],"sourcesContent":["import { CsmSDKModule } from '../common/class-primitives/csm-sdk-module';\nimport {\n Access,\n AccessLevel,\n ErrorHandler,\n Logger,\n} from '../common/decorators/index';\nimport {\n CONTRACT_NAMES,\n ERROR_CODE,\n NodeOperatorId,\n SDKError,\n TOKENS,\n WithToken,\n} from '../common/index';\nimport { parseClaimProps } from '../common/utils/parse-claim-props';\nimport { prepCall, TxSDK } from '../tx-sdk/index';\nimport { parseCoverReceiptEvents } from './parse-cover-receipt-events';\nimport {\n AddBondProps,\n AddBondResult,\n ClaimBondProps,\n CompensateLockedBondProps,\n PullRewardsProps,\n UnlockExpiredLockProps,\n} from './types';\n\nexport class BondSDK extends CsmSDKModule<{ tx: TxSDK }> {\n private get accountingContract() {\n return this.core.getContract(CONTRACT_NAMES.accounting);\n }\n\n private get moduleContract() {\n return this.core.contractBaseModule;\n }\n\n @Logger('Views:')\n @ErrorHandler()\n private async getBondSummary(id: NodeOperatorId): Promise<AddBondResult> {\n // TODO: review for CM\n const [current, required] =\n await this.accountingContract.read.getBondSummary([id]);\n return { current, required };\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async addBondETH(props: AddBondProps) {\n const { nodeOperatorId, amount, permit, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n prepCall(\n this.accountingContract,\n 'depositETH',\n [nodeOperatorId],\n amount,\n ),\n decodeResult: () => this.getBondSummary(nodeOperatorId),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async addBondStETH(props: AddBondProps) {\n const { nodeOperatorId, amount, permit, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n spend: { token: TOKENS.steth, amount, permit },\n call: ({ permit }) =>\n prepCall(this.accountingContract, 'depositStETH', [\n nodeOperatorId,\n amount,\n permit,\n ]),\n decodeResult: () => this.getBondSummary(nodeOperatorId),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async addBondWstETH(props: AddBondProps) {\n const { nodeOperatorId, amount, permit, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n spend: { token: TOKENS.wsteth, amount, permit },\n call: ({ permit }) =>\n prepCall(this.accountingContract, 'depositWstETH', [\n nodeOperatorId,\n amount,\n permit,\n ]),\n decodeResult: () => this.getBondSummary(nodeOperatorId),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n public async addBond(props: WithToken<AddBondProps>) {\n const { token } = props;\n switch (token) {\n case TOKENS.eth:\n return this.addBondETH(props);\n case TOKENS.steth:\n return this.addBondStETH(props);\n case TOKENS.wsteth:\n return this.addBondWstETH(props);\n default:\n throw new SDKError({\n message: 'unsupported token',\n code: ERROR_CODE.INVALID_ARGUMENT,\n });\n }\n }\n\n @Access({ level: AccessLevel.MANAGER })\n @Logger('Call:')\n @ErrorHandler()\n public async compensateLockedBond(props: CompensateLockedBondProps) {\n const { nodeOperatorId, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n prepCall(this.moduleContract, 'compensateGeneralDelayedPenalty', [\n nodeOperatorId,\n ]),\n decodeResult: (receipt) => parseCoverReceiptEvents(receipt),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async unlockExpiredLock(props: UnlockExpiredLockProps) {\n const { nodeOperatorId, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n prepCall(this.accountingContract, 'unlockExpiredLock', [\n nodeOperatorId,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async pullRewards(props: PullRewardsProps) {\n const { nodeOperatorId, shares, proof, ...rest } = parseClaimProps(props);\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n prepCall(this.accountingContract, 'pullAndSplitFeeRewards', [\n nodeOperatorId,\n shares,\n proof,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.CLAIMER })\n @Logger('Call:')\n @ErrorHandler()\n public async claimBondUnstETH(props: ClaimBondProps) {\n const { nodeOperatorId, amount, shares, proof, ...rest } =\n parseClaimProps(props);\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n prepCall(this.accountingContract, 'claimRewardsUnstETH', [\n nodeOperatorId,\n amount,\n shares,\n proof,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.CLAIMER })\n @Logger('Call:')\n @ErrorHandler()\n public async claimBondStETH(props: ClaimBondProps) {\n const { nodeOperatorId, amount, shares, proof, ...rest } =\n parseClaimProps(props);\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n prepCall(this.accountingContract, 'claimRewardsStETH', [\n nodeOperatorId,\n amount,\n shares,\n proof,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.CLAIMER })\n @Logger('Call:')\n @ErrorHandler()\n public async claimBondWstETH(props: ClaimBondProps) {\n const { nodeOperatorId, amount, shares, proof, ...rest } =\n parseClaimProps(props);\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n prepCall(this.accountingContract, 'claimRewardsWstETH', [\n nodeOperatorId,\n amount,\n shares,\n proof,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.CLAIMER })\n public async claimBond(props: WithToken<ClaimBondProps>) {\n const { token, amount } = props;\n\n switch (true) {\n case amount === 0n:\n return this.pullRewards(props);\n case token === TOKENS.eth:\n return this.claimBondUnstETH(props);\n case token === TOKENS.steth:\n return this.claimBondStETH(props);\n case token === TOKENS.wsteth:\n return this.claimBondWstETH(props);\n default:\n throw new SDKError({\n message: 'unsupported token',\n code: ERROR_CODE.INVALID_ARGUMENT,\n });\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bond-sdk.cjs","names":["permit"],"sources":["../../src/bond-sdk/bond-sdk.ts"],"sourcesContent":["import { CsmSDKModule } from '../common/class-primitives/csm-sdk-module';\nimport {\n Access,\n AccessLevel,\n ErrorHandler,\n Logger,\n} from '../common/decorators/index';\nimport {\n CONTRACT_NAMES,\n ERROR_CODE,\n NodeOperatorId,\n SDKError,\n TOKENS,\n WithToken,\n} from '../common/index';\nimport { parseClaimProps } from '../common/utils/parse-claim-props';\nimport { TxSDK } from '../tx-sdk/index';\nimport { parseCoverReceiptEvents } from './parse-cover-receipt-events';\nimport {\n AddBondProps,\n AddBondResult,\n ClaimBondProps,\n CompensateLockedBondProps,\n PullRewardsProps,\n UnlockExpiredLockProps,\n} from './types';\n\nexport class BondSDK extends CsmSDKModule<{ tx: TxSDK }> {\n private get accountingContract() {\n return this.core.getContract(CONTRACT_NAMES.accounting);\n }\n\n private get moduleContract() {\n return this.core.contractBaseModule;\n }\n\n @Logger('Views:')\n @ErrorHandler()\n private async getBondSummary(id: NodeOperatorId): Promise<AddBondResult> {\n // TODO: review for CM\n const [current, required] =\n await this.accountingContract.read.getBondSummary([id]);\n return { current, required };\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async addBondETH(props: AddBondProps) {\n const { nodeOperatorId, amount, permit, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n this.accountingContract.encode.depositETH([nodeOperatorId], {\n value: amount,\n }),\n decodeResult: () => this.getBondSummary(nodeOperatorId),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async addBondStETH(props: AddBondProps) {\n const { nodeOperatorId, amount, permit, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n spend: { token: TOKENS.steth, amount, permit },\n call: ({ permit }) =>\n this.accountingContract.encode.depositStETH([\n nodeOperatorId,\n amount,\n permit,\n ]),\n decodeResult: () => this.getBondSummary(nodeOperatorId),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async addBondWstETH(props: AddBondProps) {\n const { nodeOperatorId, amount, permit, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n spend: { token: TOKENS.wsteth, amount, permit },\n call: ({ permit }) =>\n this.accountingContract.encode.depositWstETH([\n nodeOperatorId,\n amount,\n permit,\n ]),\n decodeResult: () => this.getBondSummary(nodeOperatorId),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n public async addBond(props: WithToken<AddBondProps>) {\n const { token } = props;\n switch (token) {\n case TOKENS.eth:\n return this.addBondETH(props);\n case TOKENS.steth:\n return this.addBondStETH(props);\n case TOKENS.wsteth:\n return this.addBondWstETH(props);\n default:\n throw new SDKError({\n message: 'unsupported token',\n code: ERROR_CODE.INVALID_ARGUMENT,\n });\n }\n }\n\n @Access({ level: AccessLevel.MANAGER })\n @Logger('Call:')\n @ErrorHandler()\n public async compensateLockedBond(props: CompensateLockedBondProps) {\n const { nodeOperatorId, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n this.moduleContract.encode.compensateGeneralDelayedPenalty([\n nodeOperatorId,\n ]),\n decodeResult: (receipt) => parseCoverReceiptEvents(receipt),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async unlockExpiredLock(props: UnlockExpiredLockProps) {\n const { nodeOperatorId, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n this.accountingContract.encode.unlockExpiredLock([nodeOperatorId]),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async pullRewards(props: PullRewardsProps) {\n const { nodeOperatorId, shares, proof, ...rest } = parseClaimProps(props);\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n this.accountingContract.encode.pullAndSplitFeeRewards([\n nodeOperatorId,\n shares,\n proof,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.CLAIMER })\n @Logger('Call:')\n @ErrorHandler()\n public async claimBondUnstETH(props: ClaimBondProps) {\n const { nodeOperatorId, amount, shares, proof, ...rest } =\n parseClaimProps(props);\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n this.accountingContract.encode.claimRewardsUnstETH([\n nodeOperatorId,\n amount,\n shares,\n proof,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.CLAIMER })\n @Logger('Call:')\n @ErrorHandler()\n public async claimBondStETH(props: ClaimBondProps) {\n const { nodeOperatorId, amount, shares, proof, ...rest } =\n parseClaimProps(props);\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n this.accountingContract.encode.claimRewardsStETH([\n nodeOperatorId,\n amount,\n shares,\n proof,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.CLAIMER })\n @Logger('Call:')\n @ErrorHandler()\n public async claimBondWstETH(props: ClaimBondProps) {\n const { nodeOperatorId, amount, shares, proof, ...rest } =\n parseClaimProps(props);\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n this.accountingContract.encode.claimRewardsWstETH([\n nodeOperatorId,\n amount,\n shares,\n proof,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.CLAIMER })\n public async claimBond(props: WithToken<ClaimBondProps>) {\n const { token, amount } = props;\n\n switch (true) {\n case amount === 0n:\n return this.pullRewards(props);\n case token === TOKENS.eth:\n return this.claimBondUnstETH(props);\n case token === TOKENS.steth:\n return this.claimBondStETH(props);\n case token === TOKENS.wsteth:\n return this.claimBondWstETH(props);\n default:\n throw new SDKError({\n message: 'unsupported token',\n code: ERROR_CODE.INVALID_ARGUMENT,\n });\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bond-sdk.d.cts","names":[],"sources":["../../src/bond-sdk/bond-sdk.ts"],"mappings":";;;;;;;cA2Ba,OAAA,SAAgB,YAAA;EAAe,EAAA,EAAI,KAAA;AAAA;EAAA,YAClC,kBAAA,CAAA;EAAA,YAIA,cAAA,CAAA;EAAA,QAME,cAAA;EAUD,UAAA,CAAW,KAAA,EAAO,YAAA,GAAY,OAAA,CAAA,iCAAA,CAAA,iBAAA,CAAA,aAAA;
|
|
1
|
+
{"version":3,"file":"bond-sdk.d.cts","names":[],"sources":["../../src/bond-sdk/bond-sdk.ts"],"mappings":";;;;;;;cA2Ba,OAAA,SAAgB,YAAA;EAAe,EAAA,EAAI,KAAA;AAAA;EAAA,YAClC,kBAAA,CAAA;EAAA,YAIA,cAAA,CAAA;EAAA,QAME,cAAA;EAUD,UAAA,CAAW,KAAA,EAAO,YAAA,GAAY,OAAA,CAAA,iCAAA,CAAA,iBAAA,CAAA,aAAA;EAgB9B,YAAA,CAAa,KAAA,EAAO,YAAA,GAAY,OAAA,CAAA,iCAAA,CAAA,iBAAA,CAAA,aAAA;EAmBhC,aAAA,CAAc,KAAA,EAAO,YAAA,GAAY,OAAA,CAAA,iCAAA,CAAA,iBAAA,CAAA,aAAA;EAiBjC,OAAA,CAAQ,KAAA,EAAO,SAAA,CAAU,YAAA,IAAa,OAAA,CAAA,iCAAA,CAAA,iBAAA,CAAA,aAAA;EAoBtC,oBAAA,CAAqB,KAAA,EAAO,yBAAA,GAAyB,OAAA,CAAA,iCAAA,CAAA,iBAAA;EAgBrD,iBAAA,CAAkB,KAAA,EAAO,sBAAA,GAAsB,OAAA,CAAA,iCAAA,CAAA,iBAAA;EAa/C,WAAA,CAAY,KAAA,EAAO,gBAAA,GAAgB,OAAA,CAAA,iCAAA,CAAA,iBAAA;EAiBnC,gBAAA,CAAiB,KAAA,EAAO,cAAA,GAAc,OAAA,CAAA,iCAAA,CAAA,iBAAA;EAmBtC,cAAA,CAAe,KAAA,EAAO,cAAA,GAAc,OAAA,CAAA,iCAAA,CAAA,iBAAA;EAmBpC,eAAA,CAAgB,KAAA,EAAO,cAAA,GAAc,OAAA,CAAA,iCAAA,CAAA,iBAAA;EAiBrC,SAAA,CAAU,KAAA,EAAO,SAAA,CAAU,cAAA,IAAe,OAAA,CAAhB,iCAAA,CAAgB,iBAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bond-sdk.d.mts","names":[],"sources":["../../src/bond-sdk/bond-sdk.ts"],"mappings":";;;;;;;cA2Ba,OAAA,SAAgB,YAAA;EAAe,EAAA,EAAI,KAAA;AAAA;EAAA,YAClC,kBAAA,CAAA;EAAA,YAIA,cAAA,CAAA;EAAA,QAME,cAAA;EAUD,UAAA,CAAW,KAAA,EAAO,YAAA,GAAY,OAAA,CAAA,iCAAA,CAAA,iBAAA,CAAA,aAAA;
|
|
1
|
+
{"version":3,"file":"bond-sdk.d.mts","names":[],"sources":["../../src/bond-sdk/bond-sdk.ts"],"mappings":";;;;;;;cA2Ba,OAAA,SAAgB,YAAA;EAAe,EAAA,EAAI,KAAA;AAAA;EAAA,YAClC,kBAAA,CAAA;EAAA,YAIA,cAAA,CAAA;EAAA,QAME,cAAA;EAUD,UAAA,CAAW,KAAA,EAAO,YAAA,GAAY,OAAA,CAAA,iCAAA,CAAA,iBAAA,CAAA,aAAA;EAgB9B,YAAA,CAAa,KAAA,EAAO,YAAA,GAAY,OAAA,CAAA,iCAAA,CAAA,iBAAA,CAAA,aAAA;EAmBhC,aAAA,CAAc,KAAA,EAAO,YAAA,GAAY,OAAA,CAAA,iCAAA,CAAA,iBAAA,CAAA,aAAA;EAiBjC,OAAA,CAAQ,KAAA,EAAO,SAAA,CAAU,YAAA,IAAa,OAAA,CAAA,iCAAA,CAAA,iBAAA,CAAA,aAAA;EAoBtC,oBAAA,CAAqB,KAAA,EAAO,yBAAA,GAAyB,OAAA,CAAA,iCAAA,CAAA,iBAAA;EAgBrD,iBAAA,CAAkB,KAAA,EAAO,sBAAA,GAAsB,OAAA,CAAA,iCAAA,CAAA,iBAAA;EAa/C,WAAA,CAAY,KAAA,EAAO,gBAAA,GAAgB,OAAA,CAAA,iCAAA,CAAA,iBAAA;EAiBnC,gBAAA,CAAiB,KAAA,EAAO,cAAA,GAAc,OAAA,CAAA,iCAAA,CAAA,iBAAA;EAmBtC,cAAA,CAAe,KAAA,EAAO,cAAA,GAAc,OAAA,CAAA,iCAAA,CAAA,iBAAA;EAmBpC,eAAA,CAAgB,KAAA,EAAO,cAAA,GAAc,OAAA,CAAA,iCAAA,CAAA,iBAAA;EAiBrC,SAAA,CAAU,KAAA,EAAO,SAAA,CAAU,cAAA,IAAe,OAAA,CAAhB,iCAAA,CAAgB,iBAAA;AAAA"}
|
|
@@ -7,7 +7,6 @@ import { CsmSDKModule } from "../common/class-primitives/csm-sdk-module.mjs";
|
|
|
7
7
|
import { parseClaimProps } from "../common/utils/parse-claim-props.mjs";
|
|
8
8
|
import { ErrorHandler } from "../common/decorators/error-handler.mjs";
|
|
9
9
|
import { Logger } from "../common/decorators/logger.mjs";
|
|
10
|
-
import { prepCall } from "../tx-sdk/prep-call.mjs";
|
|
11
10
|
import { parseCoverReceiptEvents } from "./parse-cover-receipt-events.mjs";
|
|
12
11
|
//#region src/bond-sdk/bond-sdk.ts
|
|
13
12
|
var __create = Object.create;
|
|
@@ -150,7 +149,7 @@ var BondSDK = class extends (_a = CsmSDKModule, _getBondSummary_dec = [Logger("V
|
|
|
150
149
|
const { nodeOperatorId, amount, permit, ...rest } = props;
|
|
151
150
|
return this.bus.tx.perform({
|
|
152
151
|
...rest,
|
|
153
|
-
call: () =>
|
|
152
|
+
call: () => this.accountingContract.encode.depositETH([nodeOperatorId], { value: amount }),
|
|
154
153
|
decodeResult: () => this.getBondSummary(nodeOperatorId)
|
|
155
154
|
});
|
|
156
155
|
}
|
|
@@ -163,7 +162,7 @@ var BondSDK = class extends (_a = CsmSDKModule, _getBondSummary_dec = [Logger("V
|
|
|
163
162
|
amount,
|
|
164
163
|
permit
|
|
165
164
|
},
|
|
166
|
-
call: ({ permit: permit2 }) =>
|
|
165
|
+
call: ({ permit: permit2 }) => this.accountingContract.encode.depositStETH([
|
|
167
166
|
nodeOperatorId,
|
|
168
167
|
amount,
|
|
169
168
|
permit2
|
|
@@ -180,7 +179,7 @@ var BondSDK = class extends (_a = CsmSDKModule, _getBondSummary_dec = [Logger("V
|
|
|
180
179
|
amount,
|
|
181
180
|
permit
|
|
182
181
|
},
|
|
183
|
-
call: ({ permit: permit2 }) =>
|
|
182
|
+
call: ({ permit: permit2 }) => this.accountingContract.encode.depositWstETH([
|
|
184
183
|
nodeOperatorId,
|
|
185
184
|
amount,
|
|
186
185
|
permit2
|
|
@@ -204,7 +203,7 @@ var BondSDK = class extends (_a = CsmSDKModule, _getBondSummary_dec = [Logger("V
|
|
|
204
203
|
const { nodeOperatorId, ...rest } = props;
|
|
205
204
|
return this.bus.tx.perform({
|
|
206
205
|
...rest,
|
|
207
|
-
call: () =>
|
|
206
|
+
call: () => this.moduleContract.encode.compensateGeneralDelayedPenalty([nodeOperatorId]),
|
|
208
207
|
decodeResult: (receipt) => parseCoverReceiptEvents(receipt)
|
|
209
208
|
});
|
|
210
209
|
}
|
|
@@ -212,14 +211,14 @@ var BondSDK = class extends (_a = CsmSDKModule, _getBondSummary_dec = [Logger("V
|
|
|
212
211
|
const { nodeOperatorId, ...rest } = props;
|
|
213
212
|
return this.bus.tx.perform({
|
|
214
213
|
...rest,
|
|
215
|
-
call: () =>
|
|
214
|
+
call: () => this.accountingContract.encode.unlockExpiredLock([nodeOperatorId])
|
|
216
215
|
});
|
|
217
216
|
}
|
|
218
217
|
async pullRewards(props) {
|
|
219
218
|
const { nodeOperatorId, shares, proof, ...rest } = parseClaimProps(props);
|
|
220
219
|
return this.bus.tx.perform({
|
|
221
220
|
...rest,
|
|
222
|
-
call: () =>
|
|
221
|
+
call: () => this.accountingContract.encode.pullAndSplitFeeRewards([
|
|
223
222
|
nodeOperatorId,
|
|
224
223
|
shares,
|
|
225
224
|
proof
|
|
@@ -230,7 +229,7 @@ var BondSDK = class extends (_a = CsmSDKModule, _getBondSummary_dec = [Logger("V
|
|
|
230
229
|
const { nodeOperatorId, amount, shares, proof, ...rest } = parseClaimProps(props);
|
|
231
230
|
return this.bus.tx.perform({
|
|
232
231
|
...rest,
|
|
233
|
-
call: () =>
|
|
232
|
+
call: () => this.accountingContract.encode.claimRewardsUnstETH([
|
|
234
233
|
nodeOperatorId,
|
|
235
234
|
amount,
|
|
236
235
|
shares,
|
|
@@ -242,7 +241,7 @@ var BondSDK = class extends (_a = CsmSDKModule, _getBondSummary_dec = [Logger("V
|
|
|
242
241
|
const { nodeOperatorId, amount, shares, proof, ...rest } = parseClaimProps(props);
|
|
243
242
|
return this.bus.tx.perform({
|
|
244
243
|
...rest,
|
|
245
|
-
call: () =>
|
|
244
|
+
call: () => this.accountingContract.encode.claimRewardsStETH([
|
|
246
245
|
nodeOperatorId,
|
|
247
246
|
amount,
|
|
248
247
|
shares,
|
|
@@ -254,7 +253,7 @@ var BondSDK = class extends (_a = CsmSDKModule, _getBondSummary_dec = [Logger("V
|
|
|
254
253
|
const { nodeOperatorId, amount, shares, proof, ...rest } = parseClaimProps(props);
|
|
255
254
|
return this.bus.tx.perform({
|
|
256
255
|
...rest,
|
|
257
|
-
call: () =>
|
|
256
|
+
call: () => this.accountingContract.encode.claimRewardsWstETH([
|
|
258
257
|
nodeOperatorId,
|
|
259
258
|
amount,
|
|
260
259
|
shares,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bond-sdk.mjs","names":["permit"],"sources":["../../src/bond-sdk/bond-sdk.ts"],"sourcesContent":["import { CsmSDKModule } from '../common/class-primitives/csm-sdk-module';\nimport {\n Access,\n AccessLevel,\n ErrorHandler,\n Logger,\n} from '../common/decorators/index';\nimport {\n CONTRACT_NAMES,\n ERROR_CODE,\n NodeOperatorId,\n SDKError,\n TOKENS,\n WithToken,\n} from '../common/index';\nimport { parseClaimProps } from '../common/utils/parse-claim-props';\nimport { prepCall, TxSDK } from '../tx-sdk/index';\nimport { parseCoverReceiptEvents } from './parse-cover-receipt-events';\nimport {\n AddBondProps,\n AddBondResult,\n ClaimBondProps,\n CompensateLockedBondProps,\n PullRewardsProps,\n UnlockExpiredLockProps,\n} from './types';\n\nexport class BondSDK extends CsmSDKModule<{ tx: TxSDK }> {\n private get accountingContract() {\n return this.core.getContract(CONTRACT_NAMES.accounting);\n }\n\n private get moduleContract() {\n return this.core.contractBaseModule;\n }\n\n @Logger('Views:')\n @ErrorHandler()\n private async getBondSummary(id: NodeOperatorId): Promise<AddBondResult> {\n // TODO: review for CM\n const [current, required] =\n await this.accountingContract.read.getBondSummary([id]);\n return { current, required };\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async addBondETH(props: AddBondProps) {\n const { nodeOperatorId, amount, permit, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n prepCall(\n this.accountingContract,\n 'depositETH',\n [nodeOperatorId],\n amount,\n ),\n decodeResult: () => this.getBondSummary(nodeOperatorId),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async addBondStETH(props: AddBondProps) {\n const { nodeOperatorId, amount, permit, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n spend: { token: TOKENS.steth, amount, permit },\n call: ({ permit }) =>\n prepCall(this.accountingContract, 'depositStETH', [\n nodeOperatorId,\n amount,\n permit,\n ]),\n decodeResult: () => this.getBondSummary(nodeOperatorId),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async addBondWstETH(props: AddBondProps) {\n const { nodeOperatorId, amount, permit, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n spend: { token: TOKENS.wsteth, amount, permit },\n call: ({ permit }) =>\n prepCall(this.accountingContract, 'depositWstETH', [\n nodeOperatorId,\n amount,\n permit,\n ]),\n decodeResult: () => this.getBondSummary(nodeOperatorId),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n public async addBond(props: WithToken<AddBondProps>) {\n const { token } = props;\n switch (token) {\n case TOKENS.eth:\n return this.addBondETH(props);\n case TOKENS.steth:\n return this.addBondStETH(props);\n case TOKENS.wsteth:\n return this.addBondWstETH(props);\n default:\n throw new SDKError({\n message: 'unsupported token',\n code: ERROR_CODE.INVALID_ARGUMENT,\n });\n }\n }\n\n @Access({ level: AccessLevel.MANAGER })\n @Logger('Call:')\n @ErrorHandler()\n public async compensateLockedBond(props: CompensateLockedBondProps) {\n const { nodeOperatorId, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n prepCall(this.moduleContract, 'compensateGeneralDelayedPenalty', [\n nodeOperatorId,\n ]),\n decodeResult: (receipt) => parseCoverReceiptEvents(receipt),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async unlockExpiredLock(props: UnlockExpiredLockProps) {\n const { nodeOperatorId, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n prepCall(this.accountingContract, 'unlockExpiredLock', [\n nodeOperatorId,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async pullRewards(props: PullRewardsProps) {\n const { nodeOperatorId, shares, proof, ...rest } = parseClaimProps(props);\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n prepCall(this.accountingContract, 'pullAndSplitFeeRewards', [\n nodeOperatorId,\n shares,\n proof,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.CLAIMER })\n @Logger('Call:')\n @ErrorHandler()\n public async claimBondUnstETH(props: ClaimBondProps) {\n const { nodeOperatorId, amount, shares, proof, ...rest } =\n parseClaimProps(props);\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n prepCall(this.accountingContract, 'claimRewardsUnstETH', [\n nodeOperatorId,\n amount,\n shares,\n proof,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.CLAIMER })\n @Logger('Call:')\n @ErrorHandler()\n public async claimBondStETH(props: ClaimBondProps) {\n const { nodeOperatorId, amount, shares, proof, ...rest } =\n parseClaimProps(props);\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n prepCall(this.accountingContract, 'claimRewardsStETH', [\n nodeOperatorId,\n amount,\n shares,\n proof,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.CLAIMER })\n @Logger('Call:')\n @ErrorHandler()\n public async claimBondWstETH(props: ClaimBondProps) {\n const { nodeOperatorId, amount, shares, proof, ...rest } =\n parseClaimProps(props);\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n prepCall(this.accountingContract, 'claimRewardsWstETH', [\n nodeOperatorId,\n amount,\n shares,\n proof,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.CLAIMER })\n public async claimBond(props: WithToken<ClaimBondProps>) {\n const { token, amount } = props;\n\n switch (true) {\n case amount === 0n:\n return this.pullRewards(props);\n case token === TOKENS.eth:\n return this.claimBondUnstETH(props);\n case token === TOKENS.steth:\n return this.claimBondStETH(props);\n case token === TOKENS.wsteth:\n return this.claimBondWstETH(props);\n default:\n throw new SDKError({\n message: 'unsupported token',\n code: ERROR_CODE.INVALID_ARGUMENT,\n });\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,gBAAA,sBAAA,qBAAA,uBAAA,kBAAA,wBAAA,2BAAA,cAAA,oBAAA,mBAAA,iBAAA,qBAAA,IAAA;AA2BO,IAAM,UAAN,eAAsB,KAAA,cAS3B,sBAAA,CAAC,OAAO,SAAQ,EACf,cAAa,CAAA,EAQd,kBAAA;CAAC,OAAO,EAAE,OAAO,YAAY,QAAQ,CAAA;CACpC,OAAO,QAAO;CACd,cAAa;CAAA,EAiBd,oBAAA;CAAC,OAAO,EAAE,OAAO,YAAY,QAAQ,CAAA;CACpC,OAAO,QAAO;CACd,cAAa;CAAA,EAiBd,qBAAA;CAAC,OAAO,EAAE,OAAO,YAAY,QAAQ,CAAA;CACpC,OAAO,QAAO;CACd,cAAa;CAAA,EAiBd,eAAA,CAAC,OAAO,EAAE,OAAO,YAAY,QAAQ,CAAA,CAAA,EAkBrC,4BAAA;CAAC,OAAO,EAAE,OAAO,YAAY,SAAS,CAAA;CACrC,OAAO,QAAO;CACd,cAAa;CAAA,EAcd,yBAAA;CAAC,OAAO,EAAE,OAAO,YAAY,QAAQ,CAAA;CACpC,OAAO,QAAO;CACd,cAAa;CAAA,EAad,mBAAA;CAAC,OAAO,EAAE,OAAO,YAAY,QAAQ,CAAA;CACpC,OAAO,QAAO;CACd,cAAa;CAAA,EAed,wBAAA;CAAC,OAAO,EAAE,OAAO,YAAY,SAAS,CAAA;CACrC,OAAO,QAAO;CACd,cAAa;CAAA,EAiBd,sBAAA;CAAC,OAAO,EAAE,OAAO,YAAY,SAAS,CAAA;CACrC,OAAO,QAAO;CACd,cAAa;CAAA,EAiBd,uBAAA;CAAC,OAAO,EAAE,OAAO,YAAY,SAAS,CAAA;CACrC,OAAO,QAAO;CACd,cAAa;CAAA,EAiBd,iBAAA,CAAC,OAAO,EAAE,OAAO,YAAY,SAAS,CAAA,CAAA,EAtMX,IAA4B;CAAlD,cAAA;AAAA,QAAA,GAAA,UAAA;AAAA,oBAAA,OAAA,GAAA,KAAA;;CACL,IAAY,qBAAqB;AAC/B,SAAO,KAAK,KAAK,YAAY,eAAe,WAAU;;CAGxD,IAAY,iBAAiB;AAC3B,SAAO,KAAK,KAAK;;CAKnB,MAAc,eAAe,IAA4C;EAEvE,MAAM,CAAC,SAAS,YACd,MAAM,KAAK,mBAAmB,KAAK,eAAe,CAAC,GAAG,CAAA;AACxD,SAAO;GAAE;GAAS;GAAS;;CAM7B,MAAa,WAAW,OAAqB;EAC3C,MAAM,EAAE,gBAAgB,QAAQ,QAAQ,GAAG,SAAS;AAEpD,SAAO,KAAK,IAAI,GAAG,QAAQ;GACzB,GAAG;GACH,YACE,SACE,KAAK,oBACL,cACA,CAAC,eAAc,EACf,OACF;GACF,oBAAoB,KAAK,eAAe,eAAc;GACvD,CAAA;;CAMH,MAAa,aAAa,OAAqB;EAC7C,MAAM,EAAE,gBAAgB,QAAQ,QAAQ,GAAG,SAAS;AAEpD,SAAO,KAAK,IAAI,GAAG,QAAQ;GACzB,GAAG;GACH,OAAO;IAAE,OAAO,OAAO;IAAO;IAAQ;IAAO;GAC7C,OAAO,EAAE,QAAAA,cACP,SAAS,KAAK,oBAAoB,gBAAgB;IAChD;IACA;IACAA;IACD,CAAA;GACH,oBAAoB,KAAK,eAAe,eAAc;GACvD,CAAA;;CAMH,MAAa,cAAc,OAAqB;EAC9C,MAAM,EAAE,gBAAgB,QAAQ,QAAQ,GAAG,SAAS;AAEpD,SAAO,KAAK,IAAI,GAAG,QAAQ;GACzB,GAAG;GACH,OAAO;IAAE,OAAO,OAAO;IAAQ;IAAQ;IAAO;GAC9C,OAAO,EAAE,QAAAA,cACP,SAAS,KAAK,oBAAoB,iBAAiB;IACjD;IACA;IACAA;IACD,CAAA;GACH,oBAAoB,KAAK,eAAe,eAAc;GACvD,CAAA;;CAIH,MAAa,QAAQ,OAAgC;EACnD,MAAM,EAAE,UAAU;AAClB,UAAQ,OAAR;GACE,KAAK,OAAO,IACV,QAAO,KAAK,WAAW,MAAK;GAC9B,KAAK,OAAO,MACV,QAAO,KAAK,aAAa,MAAK;GAChC,KAAK,OAAO,OACV,QAAO,KAAK,cAAc,MAAK;GACjC,QACE,OAAM,IAAI,SAAS;IACjB,SAAS;IACT,MAAM,WAAW;IAClB,CAAA;;;CAOP,MAAa,qBAAqB,OAAkC;EAClE,MAAM,EAAE,gBAAgB,GAAG,SAAS;AAEpC,SAAO,KAAK,IAAI,GAAG,QAAQ;GACzB,GAAG;GACH,YACE,SAAS,KAAK,gBAAgB,mCAAmC,CAC/D,eACD,CAAA;GACH,eAAe,YAAY,wBAAwB,QAAO;GAC3D,CAAA;;CAMH,MAAa,kBAAkB,OAA+B;EAC5D,MAAM,EAAE,gBAAgB,GAAG,SAAS;AAEpC,SAAO,KAAK,IAAI,GAAG,QAAQ;GACzB,GAAG;GACH,YACE,SAAS,KAAK,oBAAoB,qBAAqB,CACrD,eACD,CAAA;GACJ,CAAA;;CAMH,MAAa,YAAY,OAAyB;EAChD,MAAM,EAAE,gBAAgB,QAAQ,OAAO,GAAG,SAAS,gBAAgB,MAAK;AAExE,SAAO,KAAK,IAAI,GAAG,QAAQ;GACzB,GAAG;GACH,YACE,SAAS,KAAK,oBAAoB,0BAA0B;IAC1D;IACA;IACA;IACD,CAAA;GACJ,CAAA;;CAMH,MAAa,iBAAiB,OAAuB;EACnD,MAAM,EAAE,gBAAgB,QAAQ,QAAQ,OAAO,GAAG,SAChD,gBAAgB,MAAK;AAEvB,SAAO,KAAK,IAAI,GAAG,QAAQ;GACzB,GAAG;GACH,YACE,SAAS,KAAK,oBAAoB,uBAAuB;IACvD;IACA;IACA;IACA;IACD,CAAA;GACJ,CAAA;;CAMH,MAAa,eAAe,OAAuB;EACjD,MAAM,EAAE,gBAAgB,QAAQ,QAAQ,OAAO,GAAG,SAChD,gBAAgB,MAAK;AAEvB,SAAO,KAAK,IAAI,GAAG,QAAQ;GACzB,GAAG;GACH,YACE,SAAS,KAAK,oBAAoB,qBAAqB;IACrD;IACA;IACA;IACA;IACD,CAAA;GACJ,CAAA;;CAMH,MAAa,gBAAgB,OAAuB;EAClD,MAAM,EAAE,gBAAgB,QAAQ,QAAQ,OAAO,GAAG,SAChD,gBAAgB,MAAK;AAEvB,SAAO,KAAK,IAAI,GAAG,QAAQ;GACzB,GAAG;GACH,YACE,SAAS,KAAK,oBAAoB,sBAAsB;IACtD;IACA;IACA;IACA;IACD,CAAA;GACJ,CAAA;;CAIH,MAAa,UAAU,OAAkC;EACvD,MAAM,EAAE,OAAO,WAAW;AAE1B,UAAQ,MAAR;GACE,KAAK,WAAW,GACd,QAAO,KAAK,YAAY,MAAK;GAC/B,KAAK,UAAU,OAAO,IACpB,QAAO,KAAK,iBAAiB,MAAK;GACpC,KAAK,UAAU,OAAO,MACpB,QAAO,KAAK,eAAe,MAAK;GAClC,KAAK,UAAU,OAAO,OACpB,QAAO,KAAK,gBAAgB,MAAK;GACnC,QACE,OAAM,IAAI,SAAS;IACjB,SAAS;IACT,MAAM,WAAW;IAClB,CAAA;;;;AAvNF,QAAA,iBAAA,GAAA;AAWL,kBAAA,OAAA,GAAc,kBAFd,qBATW,QAAA;AAqBX,kBAAA,OAAA,GAAa,cAHb,iBAlBW,QAAA;AAwCX,kBAAA,OAAA,GAAa,gBAHb,mBArCW,QAAA;AA2DX,kBAAA,OAAA,GAAa,iBAHb,oBAxDW,QAAA;AA4EX,kBAAA,OAAA,GAAa,WADb,cA3EW,QAAA;AAgGX,kBAAA,OAAA,GAAa,wBAHb,2BA7FW,QAAA;AAgHX,kBAAA,OAAA,GAAa,qBAHb,wBA7GW,QAAA;AA+HX,kBAAA,OAAA,GAAa,eAHb,kBA5HW,QAAA;AAgJX,kBAAA,OAAA,GAAa,oBAHb,uBA7IW,QAAA;AAmKX,kBAAA,OAAA,GAAa,kBAHb,qBAhKW,QAAA;AAsLX,kBAAA,OAAA,GAAa,mBAHb,sBAnLW,QAAA;AAuMX,kBAAA,OAAA,GAAa,aADb,gBAtMW,QAAA;AAAN,oBAAA,OAAM,QAAA"}
|
|
1
|
+
{"version":3,"file":"bond-sdk.mjs","names":["permit"],"sources":["../../src/bond-sdk/bond-sdk.ts"],"sourcesContent":["import { CsmSDKModule } from '../common/class-primitives/csm-sdk-module';\nimport {\n Access,\n AccessLevel,\n ErrorHandler,\n Logger,\n} from '../common/decorators/index';\nimport {\n CONTRACT_NAMES,\n ERROR_CODE,\n NodeOperatorId,\n SDKError,\n TOKENS,\n WithToken,\n} from '../common/index';\nimport { parseClaimProps } from '../common/utils/parse-claim-props';\nimport { TxSDK } from '../tx-sdk/index';\nimport { parseCoverReceiptEvents } from './parse-cover-receipt-events';\nimport {\n AddBondProps,\n AddBondResult,\n ClaimBondProps,\n CompensateLockedBondProps,\n PullRewardsProps,\n UnlockExpiredLockProps,\n} from './types';\n\nexport class BondSDK extends CsmSDKModule<{ tx: TxSDK }> {\n private get accountingContract() {\n return this.core.getContract(CONTRACT_NAMES.accounting);\n }\n\n private get moduleContract() {\n return this.core.contractBaseModule;\n }\n\n @Logger('Views:')\n @ErrorHandler()\n private async getBondSummary(id: NodeOperatorId): Promise<AddBondResult> {\n // TODO: review for CM\n const [current, required] =\n await this.accountingContract.read.getBondSummary([id]);\n return { current, required };\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async addBondETH(props: AddBondProps) {\n const { nodeOperatorId, amount, permit, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n this.accountingContract.encode.depositETH([nodeOperatorId], {\n value: amount,\n }),\n decodeResult: () => this.getBondSummary(nodeOperatorId),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async addBondStETH(props: AddBondProps) {\n const { nodeOperatorId, amount, permit, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n spend: { token: TOKENS.steth, amount, permit },\n call: ({ permit }) =>\n this.accountingContract.encode.depositStETH([\n nodeOperatorId,\n amount,\n permit,\n ]),\n decodeResult: () => this.getBondSummary(nodeOperatorId),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async addBondWstETH(props: AddBondProps) {\n const { nodeOperatorId, amount, permit, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n spend: { token: TOKENS.wsteth, amount, permit },\n call: ({ permit }) =>\n this.accountingContract.encode.depositWstETH([\n nodeOperatorId,\n amount,\n permit,\n ]),\n decodeResult: () => this.getBondSummary(nodeOperatorId),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n public async addBond(props: WithToken<AddBondProps>) {\n const { token } = props;\n switch (token) {\n case TOKENS.eth:\n return this.addBondETH(props);\n case TOKENS.steth:\n return this.addBondStETH(props);\n case TOKENS.wsteth:\n return this.addBondWstETH(props);\n default:\n throw new SDKError({\n message: 'unsupported token',\n code: ERROR_CODE.INVALID_ARGUMENT,\n });\n }\n }\n\n @Access({ level: AccessLevel.MANAGER })\n @Logger('Call:')\n @ErrorHandler()\n public async compensateLockedBond(props: CompensateLockedBondProps) {\n const { nodeOperatorId, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n this.moduleContract.encode.compensateGeneralDelayedPenalty([\n nodeOperatorId,\n ]),\n decodeResult: (receipt) => parseCoverReceiptEvents(receipt),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async unlockExpiredLock(props: UnlockExpiredLockProps) {\n const { nodeOperatorId, ...rest } = props;\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n this.accountingContract.encode.unlockExpiredLock([nodeOperatorId]),\n });\n }\n\n @Access({ level: AccessLevel.ANYONE })\n @Logger('Call:')\n @ErrorHandler()\n public async pullRewards(props: PullRewardsProps) {\n const { nodeOperatorId, shares, proof, ...rest } = parseClaimProps(props);\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n this.accountingContract.encode.pullAndSplitFeeRewards([\n nodeOperatorId,\n shares,\n proof,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.CLAIMER })\n @Logger('Call:')\n @ErrorHandler()\n public async claimBondUnstETH(props: ClaimBondProps) {\n const { nodeOperatorId, amount, shares, proof, ...rest } =\n parseClaimProps(props);\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n this.accountingContract.encode.claimRewardsUnstETH([\n nodeOperatorId,\n amount,\n shares,\n proof,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.CLAIMER })\n @Logger('Call:')\n @ErrorHandler()\n public async claimBondStETH(props: ClaimBondProps) {\n const { nodeOperatorId, amount, shares, proof, ...rest } =\n parseClaimProps(props);\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n this.accountingContract.encode.claimRewardsStETH([\n nodeOperatorId,\n amount,\n shares,\n proof,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.CLAIMER })\n @Logger('Call:')\n @ErrorHandler()\n public async claimBondWstETH(props: ClaimBondProps) {\n const { nodeOperatorId, amount, shares, proof, ...rest } =\n parseClaimProps(props);\n\n return this.bus.tx.perform({\n ...rest,\n call: () =>\n this.accountingContract.encode.claimRewardsWstETH([\n nodeOperatorId,\n amount,\n shares,\n proof,\n ]),\n });\n }\n\n @Access({ level: AccessLevel.CLAIMER })\n public async claimBond(props: WithToken<ClaimBondProps>) {\n const { token, amount } = props;\n\n switch (true) {\n case amount === 0n:\n return this.pullRewards(props);\n case token === TOKENS.eth:\n return this.claimBondUnstETH(props);\n case token === TOKENS.steth:\n return this.claimBondStETH(props);\n case token === TOKENS.wsteth:\n return this.claimBondWstETH(props);\n default:\n throw new SDKError({\n message: 'unsupported token',\n code: ERROR_CODE.INVALID_ARGUMENT,\n });\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const require_constants = require("./constants.cjs");
|
|
2
2
|
//#region src/common/decorators/utils.ts
|
|
3
3
|
const getLogMode = function() {
|
|
4
|
-
let logMode = "
|
|
4
|
+
let logMode = "none";
|
|
5
5
|
if (isCore(this)) logMode = this.logMode;
|
|
6
6
|
else if (hasCore(this)) logMode = this.core.logMode;
|
|
7
7
|
return logMode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs","names":[],"sources":["../../../src/common/decorators/utils.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport { LOG_MODE } from '@lidofinance/lido-ethereum-sdk';\nimport { ConsoleCss } from './constants';\nimport { HeadMessage } from './types';\n\ntype CoreLog = {\n logMode: LOG_MODE;\n};\n\nconst getLogMode = function <This>(this: This): LOG_MODE {\n let logMode: LOG_MODE = '
|
|
1
|
+
{"version":3,"file":"utils.cjs","names":[],"sources":["../../../src/common/decorators/utils.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport { LOG_MODE } from '@lidofinance/lido-ethereum-sdk';\nimport { ConsoleCss } from './constants';\nimport { HeadMessage } from './types';\n\ntype CoreLog = {\n logMode: LOG_MODE;\n};\n\nconst getLogMode = function <This>(this: This): LOG_MODE {\n let logMode: LOG_MODE = 'none';\n\n if (isCore(this)) {\n logMode = this.logMode;\n } else if (hasCore(this)) {\n logMode = this.core.logMode;\n }\n\n return logMode;\n};\n\nexport const callConsoleMessage = function <This>(\n this: This,\n headMessage: HeadMessage,\n message: string,\n cssHeadMessage?: HeadMessage,\n) {\n const logMode = getLogMode.call(this);\n\n if (logMode === 'none') return;\n\n if (headMessage === 'Init:') {\n return console.log(\n `%c${message}`,\n `${ConsoleCss[cssHeadMessage ?? headMessage]}`,\n );\n }\n\n if (logMode === 'debug') {\n return console.log(\n `%c${headMessage}`,\n `${ConsoleCss[cssHeadMessage ?? headMessage]}`,\n message,\n );\n }\n};\n\nexport const isCore = function (value: unknown): value is CoreLog {\n return !!value && typeof value === 'object' && 'logMode' in value;\n};\n\nexport const hasCore = function (value: unknown): value is { core: CoreLog } {\n return !!value && typeof value === 'object' && 'core' in value;\n};\n"],"mappings":";;AASA,MAAM,aAAa,WAAsC;CACvD,IAAI,UAAoB;AAExB,KAAI,OAAO,KAAI,CACb,WAAU,KAAK;UACN,QAAQ,KAAI,CACrB,WAAU,KAAK,KAAK;AAGtB,QAAO;;AAGF,MAAM,qBAAqB,SAEhC,aACA,SACA,gBACA;CACA,MAAM,UAAU,WAAW,KAAK,KAAI;AAEpC,KAAI,YAAY,OAAQ;AAExB,KAAI,gBAAgB,QAClB,QAAO,QAAQ,IACb,KAAK,WACL,GAAG,kBAAA,WAAW,kBAAkB,eAClC;AAGF,KAAI,YAAY,QACd,QAAO,QAAQ,IACb,KAAK,eACL,GAAG,kBAAA,WAAW,kBAAkB,gBAChC,QACF;;AAIG,MAAM,SAAS,SAAU,OAAkC;AAChE,QAAO,CAAC,CAAC,SAAS,OAAO,UAAU,YAAY,aAAa;;AAGvD,MAAM,UAAU,SAAU,OAA4C;AAC3E,QAAO,CAAC,CAAC,SAAS,OAAO,UAAU,YAAY,UAAU"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ConsoleCss } from "./constants.mjs";
|
|
2
2
|
//#region src/common/decorators/utils.ts
|
|
3
3
|
const getLogMode = function() {
|
|
4
|
-
let logMode = "
|
|
4
|
+
let logMode = "none";
|
|
5
5
|
if (isCore(this)) logMode = this.logMode;
|
|
6
6
|
else if (hasCore(this)) logMode = this.core.logMode;
|
|
7
7
|
return logMode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","names":[],"sources":["../../../src/common/decorators/utils.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport { LOG_MODE } from '@lidofinance/lido-ethereum-sdk';\nimport { ConsoleCss } from './constants';\nimport { HeadMessage } from './types';\n\ntype CoreLog = {\n logMode: LOG_MODE;\n};\n\nconst getLogMode = function <This>(this: This): LOG_MODE {\n let logMode: LOG_MODE = '
|
|
1
|
+
{"version":3,"file":"utils.mjs","names":[],"sources":["../../../src/common/decorators/utils.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport { LOG_MODE } from '@lidofinance/lido-ethereum-sdk';\nimport { ConsoleCss } from './constants';\nimport { HeadMessage } from './types';\n\ntype CoreLog = {\n logMode: LOG_MODE;\n};\n\nconst getLogMode = function <This>(this: This): LOG_MODE {\n let logMode: LOG_MODE = 'none';\n\n if (isCore(this)) {\n logMode = this.logMode;\n } else if (hasCore(this)) {\n logMode = this.core.logMode;\n }\n\n return logMode;\n};\n\nexport const callConsoleMessage = function <This>(\n this: This,\n headMessage: HeadMessage,\n message: string,\n cssHeadMessage?: HeadMessage,\n) {\n const logMode = getLogMode.call(this);\n\n if (logMode === 'none') return;\n\n if (headMessage === 'Init:') {\n return console.log(\n `%c${message}`,\n `${ConsoleCss[cssHeadMessage ?? headMessage]}`,\n );\n }\n\n if (logMode === 'debug') {\n return console.log(\n `%c${headMessage}`,\n `${ConsoleCss[cssHeadMessage ?? headMessage]}`,\n message,\n );\n }\n};\n\nexport const isCore = function (value: unknown): value is CoreLog {\n return !!value && typeof value === 'object' && 'logMode' in value;\n};\n\nexport const hasCore = function (value: unknown): value is { core: CoreLog } {\n return !!value && typeof value === 'object' && 'core' in value;\n};\n"],"mappings":";;AASA,MAAM,aAAa,WAAsC;CACvD,IAAI,UAAoB;AAExB,KAAI,OAAO,KAAI,CACb,WAAU,KAAK;UACN,QAAQ,KAAI,CACrB,WAAU,KAAK,KAAK;AAGtB,QAAO;;AAGF,MAAM,qBAAqB,SAEhC,aACA,SACA,gBACA;CACA,MAAM,UAAU,WAAW,KAAK,KAAI;AAEpC,KAAI,YAAY,OAAQ;AAExB,KAAI,gBAAgB,QAClB,QAAO,QAAQ,IACb,KAAK,WACL,GAAG,WAAW,kBAAkB,eAClC;AAGF,KAAI,YAAY,QACd,QAAO,QAAQ,IACb,KAAK,eACL,GAAG,WAAW,kBAAkB,gBAChC,QACF;;AAIG,MAAM,SAAS,SAAU,OAAkC;AAChE,QAAO,CAAC,CAAC,SAAS,OAAO,UAAU,YAAY,aAAa;;AAGvD,MAAM,UAAU,SAAU,OAA4C;AAC3E,QAAO,CAAC,CAAC,SAAS,OAAO,UAAU,YAAY,UAAU"}
|
|
@@ -12,6 +12,7 @@ const require_module_name = require("../common/constants/module-name.cjs");
|
|
|
12
12
|
const require_links = require("../common/constants/links.cjs");
|
|
13
13
|
const require_cache = require("../common/decorators/cache.cjs");
|
|
14
14
|
const require_logger = require("../common/decorators/logger.cjs");
|
|
15
|
+
let _lidofinance_lido_ethereum_sdk = require("@lidofinance/lido-ethereum-sdk");
|
|
15
16
|
let viem = require("viem");
|
|
16
17
|
//#region src/core-sdk/core-sdk.ts
|
|
17
18
|
var __create = Object.create;
|
|
@@ -138,10 +139,10 @@ var CoreSDK = class extends (_a = require_csm_sdk_cacheable.CsmSDKCacheable, _ge
|
|
|
138
139
|
return this.core.logMode;
|
|
139
140
|
}
|
|
140
141
|
get publicClient() {
|
|
141
|
-
return this.core.
|
|
142
|
+
return this.core.publicClient;
|
|
142
143
|
}
|
|
143
144
|
get walletClient() {
|
|
144
|
-
return this.core.
|
|
145
|
+
return this.core.useWalletClient();
|
|
145
146
|
}
|
|
146
147
|
get moduleContract() {
|
|
147
148
|
return require_module_name.MODULE_CONTRACT[this.moduleName];
|
|
@@ -156,14 +157,11 @@ var CoreSDK = class extends (_a = require_csm_sdk_cacheable.CsmSDKCacheable, _ge
|
|
|
156
157
|
return Object.entries(this.contractAddresses).find(([_, addr]) => addr?.toLowerCase() === normalizedAddress)?.[0];
|
|
157
158
|
}
|
|
158
159
|
getContractWithAbi(contractName, abi) {
|
|
159
|
-
return (0, viem.getContract)({
|
|
160
|
+
return (0, _lidofinance_lido_ethereum_sdk.getEncodableContract)((0, viem.getContract)({
|
|
160
161
|
address: this.getContractAddress(contractName),
|
|
161
162
|
abi,
|
|
162
|
-
client:
|
|
163
|
-
|
|
164
|
-
wallet: this.core.web3Provider
|
|
165
|
-
}
|
|
166
|
-
});
|
|
163
|
+
client: this.core.keyedClient
|
|
164
|
+
}));
|
|
167
165
|
}
|
|
168
166
|
getContract(contractName) {
|
|
169
167
|
const abi = require_contract_abi.CONTRACT_BASE_ABI[contractName];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-sdk.cjs","names":[],"sources":["../../src/core-sdk/core-sdk.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"core-sdk.cjs","names":[],"sources":["../../src/core-sdk/core-sdk.ts"],"sourcesContent":["import {\n getEncodableContract,\n LidoSDKCore,\n} from '@lidofinance/lido-ethereum-sdk';\nimport { Abi, Address, Chain, getContract } from 'viem';\nimport { BaseModuleAbi, VersionCheckAbi } from '../abi/index';\nimport { CsmSDKCacheable } from '../common/class-primitives/csm-sdk-cacheable';\nimport { Cache, Logger } from '../common/decorators/index';\nimport {\n API_NAME,\n API_URLS,\n CACHE_IMMUTABLE,\n CONTRACT_BASE_ABI,\n CONTRACT_NAMES,\n DEFAULT_IPFS_GATEWAYS,\n ERROR_CODE,\n invariant,\n MERKLE_TREE_FALLBACKS,\n MODULE_CONTRACT,\n MODULE_NAME,\n SUPPORTED_CHAINS,\n SUPPORTED_CONTRACT_VERSIONS,\n} from '../common/index';\nimport { isValidIpfsCid } from '../common/utils/index';\nimport { onVersionError } from '../common/utils/on-error';\nimport {\n BindedContract,\n ContractAddresses,\n CoreProps,\n VersionCheckResult,\n} from './types';\n\nexport class CoreSDK extends CsmSDKCacheable {\n private _cacheVersion = 0;\n\n get cacheVersion() {\n return this._cacheVersion;\n }\n\n readonly core: LidoSDKCore;\n readonly contractAddresses: ContractAddresses;\n readonly moduleId: bigint;\n readonly deploymentBlockNumber: bigint;\n readonly clApiUrl?: string;\n readonly keysApiUrl?: string;\n readonly feesMonitoringApiUrl?: string;\n readonly maxEventBlocksRange?: number;\n readonly skipHistoricalCalls: boolean;\n readonly moduleName: MODULE_NAME;\n readonly ipfsGateways: string[];\n\n constructor(props: CoreProps) {\n super();\n this.core = props.core;\n this.contractAddresses = props.contractAddresses;\n this.moduleId = props.moduleId;\n this.clApiUrl = props.clApiUrl;\n this.keysApiUrl = props.keysApiUrl;\n this.feesMonitoringApiUrl = props.feesMonitoringApiUrl;\n this.maxEventBlocksRange = props.maxEventBlocksRange;\n this.deploymentBlockNumber = props.deploymentBlockNumber ?? 0n;\n this.skipHistoricalCalls = props.skipHistoricalCalls ?? false;\n this.moduleName = props.moduleName ?? MODULE_NAME.CSM;\n this.ipfsGateways = props.ipfsGateways ?? [];\n }\n\n public get chainId(): SUPPORTED_CHAINS {\n return this.core.chain.id as SUPPORTED_CHAINS;\n }\n\n public get chain(): Chain {\n return this.core.chain;\n }\n\n public get logMode() {\n return this.core.logMode;\n }\n\n public get publicClient() {\n return this.core.publicClient;\n }\n\n public get walletClient() {\n return this.core.useWalletClient();\n }\n\n public get moduleContract() {\n return MODULE_CONTRACT[this.moduleName];\n }\n\n @Logger('Utils:')\n @Cache(CACHE_IMMUTABLE)\n public getContractAddress(contract: CONTRACT_NAMES): Address {\n const address = this.contractAddresses[contract];\n invariant(\n address,\n `Contract [${contract}] not configured`,\n ERROR_CODE.NOT_SUPPORTED,\n );\n return address;\n }\n\n @Logger('Utils:')\n public getContractNameByAddress(\n address: Address,\n ): CONTRACT_NAMES | undefined {\n const normalizedAddress = address.toLowerCase();\n return Object.entries(this.contractAddresses).find(\n ([_, addr]) => addr?.toLowerCase() === normalizedAddress,\n )?.[0] as CONTRACT_NAMES | undefined;\n }\n\n @Logger('Contracts:')\n @Cache(CACHE_IMMUTABLE)\n public getContractWithAbi<TAbi extends Abi>(\n contractName: CONTRACT_NAMES,\n abi: TAbi,\n ): BindedContract<TAbi> {\n return getEncodableContract(\n getContract({\n address: this.getContractAddress(contractName),\n abi,\n client: this.core.keyedClient,\n }),\n ) as BindedContract<TAbi>;\n }\n\n public getContract<TName extends keyof typeof CONTRACT_BASE_ABI>(\n contractName: TName,\n ): BindedContract<(typeof CONTRACT_BASE_ABI)[TName]> {\n const abi = CONTRACT_BASE_ABI[contractName];\n return this.getContractWithAbi(contractName as any, abi as any) as any;\n }\n\n public get contractBaseModule(): BindedContract<typeof BaseModuleAbi> {\n return this.getContractWithAbi(this.moduleContract, BaseModuleAbi);\n }\n\n public get merkleTreeFallbacks() {\n return MERKLE_TREE_FALLBACKS[this.chainId];\n }\n\n public get apiUrls() {\n return API_URLS[this.chainId];\n }\n\n public getMerkleTreeFallback(\n contractName: CONTRACT_NAMES,\n ): string | undefined {\n return this.merkleTreeFallbacks[contractName];\n }\n\n public get keysApiLink() {\n return this.keysApiUrl ?? this.apiUrls[API_NAME.keys];\n }\n\n public get feesMonitoringApiLink() {\n return this.feesMonitoringApiUrl ?? this.apiUrls[API_NAME.feesMonitoring];\n }\n\n @Logger('Utils:')\n public async checkContractVersion(\n contractName: CONTRACT_NAMES,\n ): Promise<VersionCheckResult> {\n const versionRange = SUPPORTED_CONTRACT_VERSIONS[contractName];\n if (!versionRange) {\n return { version: 0n, supported: true };\n }\n\n let actualVersion: bigint;\n try {\n actualVersion = await this.getContractWithAbi(\n contractName,\n VersionCheckAbi,\n ).read.getInitializedVersion();\n } catch (error) {\n actualVersion = onVersionError(error);\n }\n\n const [min, max] = versionRange;\n return {\n version: actualVersion,\n supported: actualVersion >= min && actualVersion <= max,\n };\n }\n\n public invalidateCache() {\n this._cacheVersion++;\n }\n\n public getIpfsUrls(cid: string): string[] {\n if (!isValidIpfsCid(cid)) return [];\n\n const gateways = [...this.ipfsGateways, ...DEFAULT_IPFS_GATEWAYS];\n\n return gateways.map((gateway) =>\n gateway.includes('{cid}')\n ? gateway.replace('{cid}', cid)\n : `${gateway}${cid}`,\n );\n }\n}\n"],"mappings":"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"}
|