@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.
Files changed (97) hide show
  1. package/dist/bond-sdk/bond-sdk.cjs +9 -10
  2. package/dist/bond-sdk/bond-sdk.cjs.map +1 -1
  3. package/dist/bond-sdk/bond-sdk.d.cts.map +1 -1
  4. package/dist/bond-sdk/bond-sdk.d.mts.map +1 -1
  5. package/dist/bond-sdk/bond-sdk.mjs +9 -10
  6. package/dist/bond-sdk/bond-sdk.mjs.map +1 -1
  7. package/dist/common/decorators/utils.cjs +1 -1
  8. package/dist/common/decorators/utils.cjs.map +1 -1
  9. package/dist/common/decorators/utils.mjs +1 -1
  10. package/dist/common/decorators/utils.mjs.map +1 -1
  11. package/dist/core-sdk/core-sdk.cjs +6 -8
  12. package/dist/core-sdk/core-sdk.cjs.map +1 -1
  13. package/dist/core-sdk/core-sdk.d.cts +146 -146
  14. package/dist/core-sdk/core-sdk.d.cts.map +1 -1
  15. package/dist/core-sdk/core-sdk.d.mts +146 -146
  16. package/dist/core-sdk/core-sdk.d.mts.map +1 -1
  17. package/dist/core-sdk/core-sdk.mjs +6 -8
  18. package/dist/core-sdk/core-sdk.mjs.map +1 -1
  19. package/dist/core-sdk/types.d.cts +2 -2
  20. package/dist/core-sdk/types.d.cts.map +1 -1
  21. package/dist/core-sdk/types.d.mts +2 -2
  22. package/dist/core-sdk/types.d.mts.map +1 -1
  23. package/dist/curated-gate-sdk/curated-gate-sdk.cjs +1 -2
  24. package/dist/curated-gate-sdk/curated-gate-sdk.cjs.map +1 -1
  25. package/dist/curated-gate-sdk/curated-gate-sdk.mjs +1 -2
  26. package/dist/curated-gate-sdk/curated-gate-sdk.mjs.map +1 -1
  27. package/dist/delayed-penalty-sdk/delayed-penalty-sdk.cjs +2 -3
  28. package/dist/delayed-penalty-sdk/delayed-penalty-sdk.cjs.map +1 -1
  29. package/dist/delayed-penalty-sdk/delayed-penalty-sdk.mjs +2 -3
  30. package/dist/delayed-penalty-sdk/delayed-penalty-sdk.mjs.map +1 -1
  31. package/dist/deposit-queue-sdk/deposit-queue-sdk.cjs +2 -3
  32. package/dist/deposit-queue-sdk/deposit-queue-sdk.cjs.map +1 -1
  33. package/dist/deposit-queue-sdk/deposit-queue-sdk.mjs +2 -3
  34. package/dist/deposit-queue-sdk/deposit-queue-sdk.mjs.map +1 -1
  35. package/dist/frame-sdk/frame-sdk.d.cts +2 -2
  36. package/dist/frame-sdk/frame-sdk.d.cts.map +1 -1
  37. package/dist/frame-sdk/frame-sdk.d.mts +2 -2
  38. package/dist/frame-sdk/frame-sdk.d.mts.map +1 -1
  39. package/dist/index.cjs +1 -3
  40. package/dist/index.d.cts +1 -2
  41. package/dist/index.d.mts +1 -2
  42. package/dist/index.mjs +2 -3
  43. package/dist/keys-sdk/keys-sdk.cjs +7 -8
  44. package/dist/keys-sdk/keys-sdk.cjs.map +1 -1
  45. package/dist/keys-sdk/keys-sdk.d.cts.map +1 -1
  46. package/dist/keys-sdk/keys-sdk.d.mts.map +1 -1
  47. package/dist/keys-sdk/keys-sdk.mjs +7 -8
  48. package/dist/keys-sdk/keys-sdk.mjs.map +1 -1
  49. package/dist/lido-sdk-cm.cjs +1 -1
  50. package/dist/lido-sdk-cm.mjs +1 -1
  51. package/dist/lido-sdk-csm.cjs +1 -1
  52. package/dist/lido-sdk-csm.mjs +1 -1
  53. package/dist/meta-registry-sdk/meta-registry-sdk.cjs +1 -2
  54. package/dist/meta-registry-sdk/meta-registry-sdk.cjs.map +1 -1
  55. package/dist/meta-registry-sdk/meta-registry-sdk.mjs +1 -2
  56. package/dist/meta-registry-sdk/meta-registry-sdk.mjs.map +1 -1
  57. package/dist/node_modules/abitype/dist/types/abi.d.cts +1 -7
  58. package/dist/node_modules/abitype/dist/types/abi.d.cts.map +1 -1
  59. package/dist/node_modules/abitype/dist/types/abi.d.mts +1 -7
  60. package/dist/node_modules/abitype/dist/types/abi.d.mts.map +1 -1
  61. package/dist/permissionless-gate-sdk/permissionless-gate-sdk.cjs +4 -5
  62. package/dist/permissionless-gate-sdk/permissionless-gate-sdk.cjs.map +1 -1
  63. package/dist/permissionless-gate-sdk/permissionless-gate-sdk.d.cts.map +1 -1
  64. package/dist/permissionless-gate-sdk/permissionless-gate-sdk.d.mts.map +1 -1
  65. package/dist/permissionless-gate-sdk/permissionless-gate-sdk.mjs +4 -5
  66. package/dist/permissionless-gate-sdk/permissionless-gate-sdk.mjs.map +1 -1
  67. package/dist/roles-sdk/roles-sdk.cjs +8 -9
  68. package/dist/roles-sdk/roles-sdk.cjs.map +1 -1
  69. package/dist/roles-sdk/roles-sdk.d.cts.map +1 -1
  70. package/dist/roles-sdk/roles-sdk.d.mts.map +1 -1
  71. package/dist/roles-sdk/roles-sdk.mjs +8 -9
  72. package/dist/roles-sdk/roles-sdk.mjs.map +1 -1
  73. package/dist/tx-sdk/tx-sdk.cjs +3 -4
  74. package/dist/tx-sdk/tx-sdk.cjs.map +1 -1
  75. package/dist/tx-sdk/tx-sdk.d.cts.map +1 -1
  76. package/dist/tx-sdk/tx-sdk.d.mts.map +1 -1
  77. package/dist/tx-sdk/tx-sdk.mjs +3 -4
  78. package/dist/tx-sdk/tx-sdk.mjs.map +1 -1
  79. package/dist/tx-sdk.cjs +0 -2
  80. package/dist/tx-sdk.d.cts +1 -2
  81. package/dist/tx-sdk.d.mts +1 -2
  82. package/dist/tx-sdk.mjs +1 -2
  83. package/dist/vetted-gate-sdk/vetted-gate-sdk.cjs +5 -6
  84. package/dist/vetted-gate-sdk/vetted-gate-sdk.cjs.map +1 -1
  85. package/dist/vetted-gate-sdk/vetted-gate-sdk.d.cts.map +1 -1
  86. package/dist/vetted-gate-sdk/vetted-gate-sdk.d.mts.map +1 -1
  87. package/dist/vetted-gate-sdk/vetted-gate-sdk.mjs +5 -6
  88. package/dist/vetted-gate-sdk/vetted-gate-sdk.mjs.map +1 -1
  89. package/package.json +3 -3
  90. package/dist/tx-sdk/prep-call.cjs +0 -16
  91. package/dist/tx-sdk/prep-call.cjs.map +0 -1
  92. package/dist/tx-sdk/prep-call.d.cts +0 -30
  93. package/dist/tx-sdk/prep-call.d.cts.map +0 -1
  94. package/dist/tx-sdk/prep-call.d.mts +0 -30
  95. package/dist/tx-sdk/prep-call.d.mts.map +0 -1
  96. package/dist/tx-sdk/prep-call.mjs +0 -15
  97. 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: () => require_prep_call.prepCall(this.accountingContract, "depositETH", [nodeOperatorId], amount),
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 }) => require_prep_call.prepCall(this.accountingContract, "depositStETH", [
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 }) => require_prep_call.prepCall(this.accountingContract, "depositWstETH", [
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: () => require_prep_call.prepCall(this.moduleContract, "compensateGeneralDelayedPenalty", [nodeOperatorId]),
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: () => require_prep_call.prepCall(this.accountingContract, "unlockExpiredLock", [nodeOperatorId])
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: () => require_prep_call.prepCall(this.accountingContract, "pullAndSplitFeeRewards", [
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: () => require_prep_call.prepCall(this.accountingContract, "claimRewardsUnstETH", [
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: () => require_prep_call.prepCall(this.accountingContract, "claimRewardsStETH", [
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: () => require_prep_call.prepCall(this.accountingContract, "claimRewardsWstETH", [
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,gBAAA,sBAAA,qBAAA,uBAAA,kBAAA,wBAAA,2BAAA,cAAA,oBAAA,mBAAA,iBAAA,qBAAA,IAAA;AA2BO,IAAM,UAAN,eAAsB,KAAA,uBAAA,cAS3B,sBAAA,CAAC,eAAA,OAAO,SAAQ,EACf,sBAAA,cAAa,CAAA,EAQd,kBAAA;CAAC,eAAA,OAAO,EAAE,OAAO,qBAAA,YAAY,QAAQ,CAAA;CACpC,eAAA,OAAO,QAAO;CACd,sBAAA,cAAa;CAAA,EAiBd,oBAAA;CAAC,eAAA,OAAO,EAAE,OAAO,qBAAA,YAAY,QAAQ,CAAA;CACpC,eAAA,OAAO,QAAO;CACd,sBAAA,cAAa;CAAA,EAiBd,qBAAA;CAAC,eAAA,OAAO,EAAE,OAAO,qBAAA,YAAY,QAAQ,CAAA;CACpC,eAAA,OAAO,QAAO;CACd,sBAAA,cAAa;CAAA,EAiBd,eAAA,CAAC,eAAA,OAAO,EAAE,OAAO,qBAAA,YAAY,QAAQ,CAAA,CAAA,EAkBrC,4BAAA;CAAC,eAAA,OAAO,EAAE,OAAO,qBAAA,YAAY,SAAS,CAAA;CACrC,eAAA,OAAO,QAAO;CACd,sBAAA,cAAa;CAAA,EAcd,yBAAA;CAAC,eAAA,OAAO,EAAE,OAAO,qBAAA,YAAY,QAAQ,CAAA;CACpC,eAAA,OAAO,QAAO;CACd,sBAAA,cAAa;CAAA,EAad,mBAAA;CAAC,eAAA,OAAO,EAAE,OAAO,qBAAA,YAAY,QAAQ,CAAA;CACpC,eAAA,OAAO,QAAO;CACd,sBAAA,cAAa;CAAA,EAed,wBAAA;CAAC,eAAA,OAAO,EAAE,OAAO,qBAAA,YAAY,SAAS,CAAA;CACrC,eAAA,OAAO,QAAO;CACd,sBAAA,cAAa;CAAA,EAiBd,sBAAA;CAAC,eAAA,OAAO,EAAE,OAAO,qBAAA,YAAY,SAAS,CAAA;CACrC,eAAA,OAAO,QAAO;CACd,sBAAA,cAAa;CAAA,EAiBd,uBAAA;CAAC,eAAA,OAAO,EAAE,OAAO,qBAAA,YAAY,SAAS,CAAA;CACrC,eAAA,OAAO,QAAO;CACd,sBAAA,cAAa;CAAA,EAiBd,iBAAA,CAAC,eAAA,OAAO,EAAE,OAAO,qBAAA,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,uBAAA,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,kBAAA,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,eAAA,OAAO;IAAO;IAAQ;IAAO;GAC7C,OAAO,EAAE,QAAAA,cACP,kBAAA,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,eAAA,OAAO;IAAQ;IAAQ;IAAO;GAC9C,OAAO,EAAE,QAAAA,cACP,kBAAA,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,eAAA,OAAO,IACV,QAAO,KAAK,WAAW,MAAK;GAC9B,KAAK,eAAA,OAAO,MACV,QAAO,KAAK,aAAa,MAAK;GAChC,KAAK,eAAA,OAAO,OACV,QAAO,KAAK,cAAc,MAAK;GACjC,QACE,OAAM,IAAI,kBAAA,SAAS;IACjB,SAAS;IACT,MAAM,kBAAA,WAAW;IAClB,CAAA;;;CAOP,MAAa,qBAAqB,OAAkC;EAClE,MAAM,EAAE,gBAAgB,GAAG,SAAS;AAEpC,SAAO,KAAK,IAAI,GAAG,QAAQ;GACzB,GAAG;GACH,YACE,kBAAA,SAAS,KAAK,gBAAgB,mCAAmC,CAC/D,eACD,CAAA;GACH,eAAe,YAAY,mCAAA,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,kBAAA,SAAS,KAAK,oBAAoB,qBAAqB,CACrD,eACD,CAAA;GACJ,CAAA;;CAMH,MAAa,YAAY,OAAyB;EAChD,MAAM,EAAE,gBAAgB,QAAQ,OAAO,GAAG,SAAS,0BAAA,gBAAgB,MAAK;AAExE,SAAO,KAAK,IAAI,GAAG,QAAQ;GACzB,GAAG;GACH,YACE,kBAAA,SAAS,KAAK,oBAAoB,0BAA0B;IAC1D;IACA;IACA;IACD,CAAA;GACJ,CAAA;;CAMH,MAAa,iBAAiB,OAAuB;EACnD,MAAM,EAAE,gBAAgB,QAAQ,QAAQ,OAAO,GAAG,SAChD,0BAAA,gBAAgB,MAAK;AAEvB,SAAO,KAAK,IAAI,GAAG,QAAQ;GACzB,GAAG;GACH,YACE,kBAAA,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,0BAAA,gBAAgB,MAAK;AAEvB,SAAO,KAAK,IAAI,GAAG,QAAQ;GACzB,GAAG;GACH,YACE,kBAAA,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,0BAAA,gBAAgB,MAAK;AAEvB,SAAO,KAAK,IAAI,GAAG,QAAQ;GACzB,GAAG;GACH,YACE,kBAAA,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,eAAA,OAAO,IACpB,QAAO,KAAK,iBAAiB,MAAK;GACpC,KAAK,UAAU,eAAA,OAAO,MACpB,QAAO,KAAK,eAAe,MAAK;GAClC,KAAK,UAAU,eAAA,OAAO,OACpB,QAAO,KAAK,gBAAgB,MAAK;GACnC,QACE,OAAM,IAAI,kBAAA,SAAS;IACjB,SAAS;IACT,MAAM,kBAAA,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.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;EAmB9B,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;EAe/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
+ {"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;EAmB9B,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;EAe/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
+ {"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: () => prepCall(this.accountingContract, "depositETH", [nodeOperatorId], amount),
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 }) => prepCall(this.accountingContract, "depositStETH", [
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 }) => prepCall(this.accountingContract, "depositWstETH", [
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: () => prepCall(this.moduleContract, "compensateGeneralDelayedPenalty", [nodeOperatorId]),
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: () => prepCall(this.accountingContract, "unlockExpiredLock", [nodeOperatorId])
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: () => prepCall(this.accountingContract, "pullAndSplitFeeRewards", [
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: () => prepCall(this.accountingContract, "claimRewardsUnstETH", [
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: () => prepCall(this.accountingContract, "claimRewardsStETH", [
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: () => prepCall(this.accountingContract, "claimRewardsWstETH", [
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 = "info";
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 = 'info';\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
+ {"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 = "info";
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 = 'info';\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"}
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.rpcProvider;
142
+ return this.core.publicClient;
142
143
  }
143
144
  get walletClient() {
144
- return this.core.useWeb3Provider();
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
- public: this.publicClient,
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 { LidoSDKCore } from '@lidofinance/lido-ethereum-sdk';\nimport { Abi, Address, Chain, getContract, WalletClient } 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.rpcProvider;\n }\n\n public get walletClient() {\n return this.core.useWeb3Provider();\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 getContract({\n address: this.getContractAddress(contractName),\n abi,\n client: {\n public: this.publicClient,\n wallet: this.core.web3Provider as WalletClient,\n },\n });\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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"}
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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"}