@lidofinance/lido-csm-sdk 2.0.0-alpha.60 → 2.0.0-alpha.62

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 (149) hide show
  1. package/dist/bond-sdk/bond-sdk.cjs +3 -2
  2. package/dist/bond-sdk/bond-sdk.cjs.map +1 -1
  3. package/dist/bond-sdk/bond-sdk.mjs +2 -1
  4. package/dist/bond-sdk/bond-sdk.mjs.map +1 -1
  5. package/dist/bond-sdk/parse-cover-receipt-events.cjs +2 -1
  6. package/dist/bond-sdk/parse-cover-receipt-events.cjs.map +1 -1
  7. package/dist/bond-sdk/parse-cover-receipt-events.mjs +2 -1
  8. package/dist/bond-sdk/parse-cover-receipt-events.mjs.map +1 -1
  9. package/dist/common/class-primitives/bus-registry.cjs +2 -1
  10. package/dist/common/class-primitives/bus-registry.cjs.map +1 -1
  11. package/dist/common/class-primitives/bus-registry.mjs +2 -1
  12. package/dist/common/class-primitives/bus-registry.mjs.map +1 -1
  13. package/dist/common/utils/classify-error.cjs +24 -0
  14. package/dist/common/utils/classify-error.cjs.map +1 -0
  15. package/dist/common/utils/classify-error.d.cts +8 -0
  16. package/dist/common/utils/classify-error.d.cts.map +1 -0
  17. package/dist/common/utils/classify-error.d.mts +8 -0
  18. package/dist/common/utils/classify-error.d.mts.map +1 -0
  19. package/dist/common/utils/classify-error.mjs +23 -0
  20. package/dist/common/utils/classify-error.mjs.map +1 -0
  21. package/dist/common/utils/decode-revert-data.cjs +37 -30
  22. package/dist/common/utils/decode-revert-data.cjs.map +1 -1
  23. package/dist/common/utils/decode-revert-data.d.cts +14 -2
  24. package/dist/common/utils/decode-revert-data.d.cts.map +1 -1
  25. package/dist/common/utils/decode-revert-data.d.mts +14 -2
  26. package/dist/common/utils/decode-revert-data.d.mts.map +1 -1
  27. package/dist/common/utils/decode-revert-data.mjs +37 -31
  28. package/dist/common/utils/decode-revert-data.mjs.map +1 -1
  29. package/dist/common/utils/index.d.cts +4 -2
  30. package/dist/common/utils/index.d.mts +4 -2
  31. package/dist/common/utils/parse-curated-module-node-operator-added-events.cjs +2 -1
  32. package/dist/common/utils/parse-curated-module-node-operator-added-events.cjs.map +1 -1
  33. package/dist/common/utils/parse-curated-module-node-operator-added-events.mjs +2 -1
  34. package/dist/common/utils/parse-curated-module-node-operator-added-events.mjs.map +1 -1
  35. package/dist/common/utils/parse-node-operator-added-events.cjs +2 -1
  36. package/dist/common/utils/parse-node-operator-added-events.cjs.map +1 -1
  37. package/dist/common/utils/parse-node-operator-added-events.mjs +2 -1
  38. package/dist/common/utils/parse-node-operator-added-events.mjs.map +1 -1
  39. package/dist/common/utils/sdk-error-code.cjs +24 -0
  40. package/dist/common/utils/sdk-error-code.cjs.map +1 -0
  41. package/dist/common/utils/sdk-error-code.d.cts +29 -0
  42. package/dist/common/utils/sdk-error-code.d.cts.map +1 -0
  43. package/dist/common/utils/sdk-error-code.d.mts +29 -0
  44. package/dist/common/utils/sdk-error-code.d.mts.map +1 -0
  45. package/dist/common/utils/sdk-error-code.mjs +24 -0
  46. package/dist/common/utils/sdk-error-code.mjs.map +1 -0
  47. package/dist/common/utils/sdk-error.cjs +34 -23
  48. package/dist/common/utils/sdk-error.cjs.map +1 -1
  49. package/dist/common/utils/sdk-error.d.cts +65 -11
  50. package/dist/common/utils/sdk-error.d.cts.map +1 -1
  51. package/dist/common/utils/sdk-error.d.mts +65 -11
  52. package/dist/common/utils/sdk-error.d.mts.map +1 -1
  53. package/dist/common/utils/sdk-error.mjs +34 -23
  54. package/dist/common/utils/sdk-error.mjs.map +1 -1
  55. package/dist/common.cjs +6 -1
  56. package/dist/common.d.cts +5 -3
  57. package/dist/common.d.mts +5 -3
  58. package/dist/common.mjs +5 -3
  59. package/dist/core-sdk/core-sdk.cjs +2 -1
  60. package/dist/core-sdk/core-sdk.cjs.map +1 -1
  61. package/dist/core-sdk/core-sdk.d.cts +5 -5
  62. package/dist/core-sdk/core-sdk.d.cts.map +1 -1
  63. package/dist/core-sdk/core-sdk.d.mts +5 -5
  64. package/dist/core-sdk/core-sdk.d.mts.map +1 -1
  65. package/dist/core-sdk/core-sdk.mjs +2 -1
  66. package/dist/core-sdk/core-sdk.mjs.map +1 -1
  67. package/dist/curated-gates-collection-sdk/curated-gates-collection-sdk.cjs +3 -2
  68. package/dist/curated-gates-collection-sdk/curated-gates-collection-sdk.cjs.map +1 -1
  69. package/dist/curated-gates-collection-sdk/curated-gates-collection-sdk.mjs +2 -1
  70. package/dist/curated-gates-collection-sdk/curated-gates-collection-sdk.mjs.map +1 -1
  71. package/dist/deposit-data-sdk/validator.cjs +2 -2
  72. package/dist/deposit-data-sdk/validator.cjs.map +1 -1
  73. package/dist/deposit-data-sdk/validator.mjs +2 -2
  74. package/dist/deposit-data-sdk/validator.mjs.map +1 -1
  75. package/dist/fees-monitoring-sdk/fees-monitoring-sdk.cjs +2 -1
  76. package/dist/fees-monitoring-sdk/fees-monitoring-sdk.cjs.map +1 -1
  77. package/dist/fees-monitoring-sdk/fees-monitoring-sdk.mjs +2 -1
  78. package/dist/fees-monitoring-sdk/fees-monitoring-sdk.mjs.map +1 -1
  79. package/dist/frame-sdk/frame-sdk.d.cts +2 -2
  80. package/dist/frame-sdk/frame-sdk.d.mts +2 -2
  81. package/dist/index.cjs +9 -1
  82. package/dist/index.d.cts +6 -3
  83. package/dist/index.d.mts +6 -3
  84. package/dist/index.mjs +6 -3
  85. package/dist/keys-sdk/keys-sdk.cjs +2 -1
  86. package/dist/keys-sdk/keys-sdk.cjs.map +1 -1
  87. package/dist/keys-sdk/keys-sdk.mjs +2 -1
  88. package/dist/keys-sdk/keys-sdk.mjs.map +1 -1
  89. package/dist/keys-with-status-sdk/keys-with-status-sdk.d.cts +2 -2
  90. package/dist/keys-with-status-sdk/keys-with-status-sdk.d.mts +2 -2
  91. package/dist/module-sdk/find-module-digest.cjs +2 -1
  92. package/dist/module-sdk/find-module-digest.cjs.map +1 -1
  93. package/dist/module-sdk/find-module-digest.mjs +2 -1
  94. package/dist/module-sdk/find-module-digest.mjs.map +1 -1
  95. package/dist/permissionless-gate-sdk/permissionless-gate-sdk.cjs +2 -1
  96. package/dist/permissionless-gate-sdk/permissionless-gate-sdk.cjs.map +1 -1
  97. package/dist/permissionless-gate-sdk/permissionless-gate-sdk.mjs +2 -1
  98. package/dist/permissionless-gate-sdk/permissionless-gate-sdk.mjs.map +1 -1
  99. package/dist/rewards-sdk/get-validators-rewards.cjs +2 -1
  100. package/dist/rewards-sdk/get-validators-rewards.cjs.map +1 -1
  101. package/dist/rewards-sdk/get-validators-rewards.mjs +2 -1
  102. package/dist/rewards-sdk/get-validators-rewards.mjs.map +1 -1
  103. package/dist/roles-sdk/roles-sdk.cjs +2 -1
  104. package/dist/roles-sdk/roles-sdk.cjs.map +1 -1
  105. package/dist/roles-sdk/roles-sdk.mjs +2 -1
  106. package/dist/roles-sdk/roles-sdk.mjs.map +1 -1
  107. package/dist/tx-sdk/errors.cjs +30 -0
  108. package/dist/tx-sdk/errors.cjs.map +1 -0
  109. package/dist/tx-sdk/errors.d.cts +45 -0
  110. package/dist/tx-sdk/errors.d.cts.map +1 -0
  111. package/dist/tx-sdk/errors.d.mts +45 -0
  112. package/dist/tx-sdk/errors.d.mts.map +1 -0
  113. package/dist/tx-sdk/errors.mjs +29 -0
  114. package/dist/tx-sdk/errors.mjs.map +1 -0
  115. package/dist/tx-sdk/tx-sdk.cjs +64 -19
  116. package/dist/tx-sdk/tx-sdk.cjs.map +1 -1
  117. package/dist/tx-sdk/tx-sdk.d.cts +1 -0
  118. package/dist/tx-sdk/tx-sdk.d.cts.map +1 -1
  119. package/dist/tx-sdk/tx-sdk.d.mts +1 -0
  120. package/dist/tx-sdk/tx-sdk.d.mts.map +1 -1
  121. package/dist/tx-sdk/tx-sdk.mjs +58 -13
  122. package/dist/tx-sdk/tx-sdk.mjs.map +1 -1
  123. package/dist/tx-sdk/types.cjs.map +1 -1
  124. package/dist/tx-sdk/types.d.cts +2 -1
  125. package/dist/tx-sdk/types.d.cts.map +1 -1
  126. package/dist/tx-sdk/types.d.mts +2 -1
  127. package/dist/tx-sdk/types.d.mts.map +1 -1
  128. package/dist/tx-sdk/types.mjs.map +1 -1
  129. package/dist/tx-sdk.cjs +3 -0
  130. package/dist/tx-sdk.d.cts +2 -1
  131. package/dist/tx-sdk.d.mts +2 -1
  132. package/dist/tx-sdk.mjs +2 -1
  133. package/dist/vetted-gate-sdk/vetted-gate-sdk.cjs +2 -1
  134. package/dist/vetted-gate-sdk/vetted-gate-sdk.cjs.map +1 -1
  135. package/dist/vetted-gate-sdk/vetted-gate-sdk.mjs +2 -1
  136. package/dist/vetted-gate-sdk/vetted-gate-sdk.mjs.map +1 -1
  137. package/package.json +8 -4
  138. package/dist/node_modules/abitype/dist/types/abi.d.cts +0 -58
  139. package/dist/node_modules/abitype/dist/types/abi.d.cts.map +0 -1
  140. package/dist/node_modules/abitype/dist/types/abi.d.mts +0 -58
  141. package/dist/node_modules/abitype/dist/types/abi.d.mts.map +0 -1
  142. package/dist/node_modules/abitype/dist/types/register.d.cts +0 -134
  143. package/dist/node_modules/abitype/dist/types/register.d.cts.map +0 -1
  144. package/dist/node_modules/abitype/dist/types/register.d.mts +0 -134
  145. package/dist/node_modules/abitype/dist/types/register.d.mts.map +0 -1
  146. package/dist/node_modules/abitype/dist/types/types.d.cts +0 -25
  147. package/dist/node_modules/abitype/dist/types/types.d.cts.map +0 -1
  148. package/dist/node_modules/abitype/dist/types/types.d.mts +0 -25
  149. package/dist/node_modules/abitype/dist/types/types.d.mts.map +0 -1
@@ -1,5 +1,6 @@
1
1
  const require_access = require("../common/decorators/access.cjs");
2
2
  const require_access_types = require("../common/decorators/access-types.cjs");
3
+ const require_sdk_error_code = require("../common/utils/sdk-error-code.cjs");
3
4
  const require_tokens = require("../common/constants/tokens.cjs");
4
5
  const require_contract_names = require("../common/constants/contract-names.cjs");
5
6
  const require_sdk_error = require("../common/utils/sdk-error.cjs");
@@ -195,7 +196,7 @@ var BondSDK = class extends (_a = require_csm_sdk_module.CsmSDKModule, _getBondS
195
196
  case require_tokens.TOKENS.wsteth: return this.addBondWstETH(props);
196
197
  default: throw new require_sdk_error.SDKError({
197
198
  message: "unsupported token",
198
- code: require_sdk_error.ERROR_CODE.INVALID_ARGUMENT
199
+ code: require_sdk_error_code.ERROR_CODE.INVALID_ARGUMENT
199
200
  });
200
201
  }
201
202
  }
@@ -270,7 +271,7 @@ var BondSDK = class extends (_a = require_csm_sdk_module.CsmSDKModule, _getBondS
270
271
  case token === require_tokens.TOKENS.wsteth: return this.claimBondWstETH(props);
271
272
  default: throw new require_sdk_error.SDKError({
272
273
  message: "unsupported token",
273
- code: require_sdk_error.ERROR_CODE.INVALID_ARGUMENT
274
+ code: require_sdk_error_code.ERROR_CODE.INVALID_ARGUMENT
274
275
  });
275
276
  }
276
277
  }
@@ -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 { 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
+ {"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,8 +1,9 @@
1
1
  import { Access } from "../common/decorators/access.mjs";
2
2
  import { AccessLevel } from "../common/decorators/access-types.mjs";
3
+ import { ERROR_CODE } from "../common/utils/sdk-error-code.mjs";
3
4
  import { TOKENS } from "../common/constants/tokens.mjs";
4
5
  import { CONTRACT_NAMES } from "../common/constants/contract-names.mjs";
5
- import { ERROR_CODE, SDKError } from "../common/utils/sdk-error.mjs";
6
+ import { SDKError } from "../common/utils/sdk-error.mjs";
6
7
  import { CsmSDKModule } from "../common/class-primitives/csm-sdk-module.mjs";
7
8
  import { parseClaimProps } from "../common/utils/parse-claim-props.mjs";
8
9
  import { ErrorHandler } from "../common/decorators/error-handler.mjs";
@@ -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 { 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
+ {"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,4 +1,5 @@
1
1
  require("../_virtual/_rolldown/runtime.cjs");
2
+ const require_sdk_error_code = require("../common/utils/sdk-error-code.cjs");
2
3
  const require_Accounting = require("../abi/Accounting.cjs");
3
4
  const require_sdk_error = require("../common/utils/sdk-error.cjs");
4
5
  let viem = require("viem");
@@ -20,7 +21,7 @@ const parseCoverReceiptEvents = async (receipt) => {
20
21
  }
21
22
  throw new require_sdk_error.SDKError({
22
23
  message: "could not find BondLockChanged event in transaction",
23
- code: require_sdk_error.ERROR_CODE.TRANSACTION_ERROR
24
+ code: require_sdk_error_code.ERROR_CODE.TRANSACTION_ERROR
24
25
  });
25
26
  };
26
27
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"parse-cover-receipt-events.cjs","names":[],"sources":["../../src/bond-sdk/parse-cover-receipt-events.ts"],"sourcesContent":["import { decodeEventLog, getAbiItem, Hex, toEventHash } from 'viem';\nimport { AccountingAbi } from '../abi/Accounting';\nimport { ERROR_CODE, SDKError } from '../common/index';\nimport { ReceiptLike } from '../tx-sdk/types';\n\nconst BOND_LOCK_CHANGED_EVENT = getAbiItem({\n abi: AccountingAbi,\n name: 'BondLockChanged',\n});\n\nconst BOND_LOCK_CHANGED_SIGNATURE = toEventHash(BOND_LOCK_CHANGED_EVENT);\n\nexport const parseCoverReceiptEvents = async (\n receipt: ReceiptLike,\n): Promise<bigint> => {\n for (const log of receipt.logs) {\n // skips non-relevant events\n if (log.topics[0] !== BOND_LOCK_CHANGED_SIGNATURE) continue;\n const parsedLog = decodeEventLog({\n abi: [BOND_LOCK_CHANGED_EVENT],\n strict: true,\n data: log.data,\n topics: log.topics as [Hex, ...Hex[]],\n });\n return parsedLog.args.newAmount;\n }\n throw new SDKError({\n message: 'could not find BondLockChanged event in transaction',\n code: ERROR_CODE.TRANSACTION_ERROR,\n });\n};\n"],"mappings":";;;;;AAKA,MAAM,2BAAA,GAAA,KAAA,YAAqC;CACzC,KAAK,mBAAA;CACL,MAAM;CACP,CAAA;AAED,MAAM,+BAAA,GAAA,KAAA,aAA0C,wBAAuB;AAEhE,MAAM,0BAA0B,OACrC,YACoB;AACpB,MAAA,MAAW,OAAO,QAAQ,MAAM;AAE9B,MAAI,IAAI,OAAO,OAAO,4BAA6B;AAOnD,UAAA,GAAA,KAAA,gBANiC;GAC/B,KAAK,CAAC,wBAAuB;GAC7B,QAAQ;GACR,MAAM,IAAI;GACV,QAAQ,IAAI;GACb,CAAA,CACgB,KAAK;;AAExB,OAAM,IAAI,kBAAA,SAAS;EACjB,SAAS;EACT,MAAM,kBAAA,WAAW;EAClB,CAAA"}
1
+ {"version":3,"file":"parse-cover-receipt-events.cjs","names":[],"sources":["../../src/bond-sdk/parse-cover-receipt-events.ts"],"sourcesContent":["import { decodeEventLog, getAbiItem, Hex, toEventHash } from 'viem';\nimport { AccountingAbi } from '../abi/Accounting';\nimport { ERROR_CODE, SDKError } from '../common/index';\nimport { ReceiptLike } from '../tx-sdk/types';\n\nconst BOND_LOCK_CHANGED_EVENT = getAbiItem({\n abi: AccountingAbi,\n name: 'BondLockChanged',\n});\n\nconst BOND_LOCK_CHANGED_SIGNATURE = toEventHash(BOND_LOCK_CHANGED_EVENT);\n\nexport const parseCoverReceiptEvents = async (\n receipt: ReceiptLike,\n): Promise<bigint> => {\n for (const log of receipt.logs) {\n // skips non-relevant events\n if (log.topics[0] !== BOND_LOCK_CHANGED_SIGNATURE) continue;\n const parsedLog = decodeEventLog({\n abi: [BOND_LOCK_CHANGED_EVENT],\n strict: true,\n data: log.data,\n topics: log.topics as [Hex, ...Hex[]],\n });\n return parsedLog.args.newAmount;\n }\n throw new SDKError({\n message: 'could not find BondLockChanged event in transaction',\n code: ERROR_CODE.TRANSACTION_ERROR,\n });\n};\n"],"mappings":";;;;;;AAKA,MAAM,2BAAA,GAAA,KAAA,YAAqC;CACzC,KAAK,mBAAA;CACL,MAAM;CACP,CAAA;AAED,MAAM,+BAAA,GAAA,KAAA,aAA0C,wBAAuB;AAEhE,MAAM,0BAA0B,OACrC,YACoB;AACpB,MAAA,MAAW,OAAO,QAAQ,MAAM;AAE9B,MAAI,IAAI,OAAO,OAAO,4BAA6B;AAOnD,UAAA,GAAA,KAAA,gBANiC;GAC/B,KAAK,CAAC,wBAAuB;GAC7B,QAAQ;GACR,MAAM,IAAI;GACV,QAAQ,IAAI;GACb,CAAA,CACgB,KAAK;;AAExB,OAAM,IAAI,kBAAA,SAAS;EACjB,SAAS;EACT,MAAM,uBAAA,WAAW;EAClB,CAAA"}
@@ -1,5 +1,6 @@
1
+ import { ERROR_CODE } from "../common/utils/sdk-error-code.mjs";
1
2
  import { AccountingAbi } from "../abi/Accounting.mjs";
2
- import { ERROR_CODE, SDKError } from "../common/utils/sdk-error.mjs";
3
+ import { SDKError } from "../common/utils/sdk-error.mjs";
3
4
  import { decodeEventLog, getAbiItem, toEventHash } from "viem";
4
5
  //#region src/bond-sdk/parse-cover-receipt-events.ts
5
6
  const BOND_LOCK_CHANGED_EVENT = getAbiItem({
@@ -1 +1 @@
1
- {"version":3,"file":"parse-cover-receipt-events.mjs","names":[],"sources":["../../src/bond-sdk/parse-cover-receipt-events.ts"],"sourcesContent":["import { decodeEventLog, getAbiItem, Hex, toEventHash } from 'viem';\nimport { AccountingAbi } from '../abi/Accounting';\nimport { ERROR_CODE, SDKError } from '../common/index';\nimport { ReceiptLike } from '../tx-sdk/types';\n\nconst BOND_LOCK_CHANGED_EVENT = getAbiItem({\n abi: AccountingAbi,\n name: 'BondLockChanged',\n});\n\nconst BOND_LOCK_CHANGED_SIGNATURE = toEventHash(BOND_LOCK_CHANGED_EVENT);\n\nexport const parseCoverReceiptEvents = async (\n receipt: ReceiptLike,\n): Promise<bigint> => {\n for (const log of receipt.logs) {\n // skips non-relevant events\n if (log.topics[0] !== BOND_LOCK_CHANGED_SIGNATURE) continue;\n const parsedLog = decodeEventLog({\n abi: [BOND_LOCK_CHANGED_EVENT],\n strict: true,\n data: log.data,\n topics: log.topics as [Hex, ...Hex[]],\n });\n return parsedLog.args.newAmount;\n }\n throw new SDKError({\n message: 'could not find BondLockChanged event in transaction',\n code: ERROR_CODE.TRANSACTION_ERROR,\n });\n};\n"],"mappings":";;;;AAKA,MAAM,0BAA0B,WAAW;CACzC,KAAK;CACL,MAAM;CACP,CAAA;AAED,MAAM,8BAA8B,YAAY,wBAAuB;AAEhE,MAAM,0BAA0B,OACrC,YACoB;AACpB,MAAA,MAAW,OAAO,QAAQ,MAAM;AAE9B,MAAI,IAAI,OAAO,OAAO,4BAA6B;AAOnD,SANkB,eAAe;GAC/B,KAAK,CAAC,wBAAuB;GAC7B,QAAQ;GACR,MAAM,IAAI;GACV,QAAQ,IAAI;GACb,CAAA,CACgB,KAAK;;AAExB,OAAM,IAAI,SAAS;EACjB,SAAS;EACT,MAAM,WAAW;EAClB,CAAA"}
1
+ {"version":3,"file":"parse-cover-receipt-events.mjs","names":[],"sources":["../../src/bond-sdk/parse-cover-receipt-events.ts"],"sourcesContent":["import { decodeEventLog, getAbiItem, Hex, toEventHash } from 'viem';\nimport { AccountingAbi } from '../abi/Accounting';\nimport { ERROR_CODE, SDKError } from '../common/index';\nimport { ReceiptLike } from '../tx-sdk/types';\n\nconst BOND_LOCK_CHANGED_EVENT = getAbiItem({\n abi: AccountingAbi,\n name: 'BondLockChanged',\n});\n\nconst BOND_LOCK_CHANGED_SIGNATURE = toEventHash(BOND_LOCK_CHANGED_EVENT);\n\nexport const parseCoverReceiptEvents = async (\n receipt: ReceiptLike,\n): Promise<bigint> => {\n for (const log of receipt.logs) {\n // skips non-relevant events\n if (log.topics[0] !== BOND_LOCK_CHANGED_SIGNATURE) continue;\n const parsedLog = decodeEventLog({\n abi: [BOND_LOCK_CHANGED_EVENT],\n strict: true,\n data: log.data,\n topics: log.topics as [Hex, ...Hex[]],\n });\n return parsedLog.args.newAmount;\n }\n throw new SDKError({\n message: 'could not find BondLockChanged event in transaction',\n code: ERROR_CODE.TRANSACTION_ERROR,\n });\n};\n"],"mappings":";;;;;AAKA,MAAM,0BAA0B,WAAW;CACzC,KAAK;CACL,MAAM;CACP,CAAA;AAED,MAAM,8BAA8B,YAAY,wBAAuB;AAEhE,MAAM,0BAA0B,OACrC,YACoB;AACpB,MAAA,MAAW,OAAO,QAAQ,MAAM;AAE9B,MAAI,IAAI,OAAO,OAAO,4BAA6B;AAOnD,SANkB,eAAe;GAC/B,KAAK,CAAC,wBAAuB;GAC7B,QAAQ;GACR,MAAM,IAAI;GACV,QAAQ,IAAI;GACb,CAAA,CACgB,KAAK;;AAExB,OAAM,IAAI,SAAS;EACjB,SAAS;EACT,MAAM,WAAW;EAClB,CAAA"}
@@ -1,3 +1,4 @@
1
+ const require_sdk_error_code = require("../utils/sdk-error-code.cjs");
1
2
  const require_sdk_error = require("../utils/sdk-error.cjs");
2
3
  //#region src/common/class-primitives/bus-registry.ts
3
4
  var BusRegistry = class {
@@ -18,7 +19,7 @@ var BusRegistry = class {
18
19
  return this.sdks[name];
19
20
  }
20
21
  getOrThrow(name) {
21
- require_sdk_error.invariant(this.sdks[name], `Module ${name.toString()} not registered`, require_sdk_error.ERROR_CODE.UNKNOWN_ERROR);
22
+ require_sdk_error.invariant(this.sdks[name], `Module ${name.toString()} not registered`, require_sdk_error_code.ERROR_CODE.UNKNOWN_ERROR);
22
23
  return this.sdks[name];
23
24
  }
24
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"bus-registry.cjs","names":[],"sources":["../../../src/common/class-primitives/bus-registry.ts"],"sourcesContent":["import { ERROR_CODE, invariant } from '../utils/sdk-error';\n\nexport type BusWithModules<\n TModules extends object = object,\n TNames extends keyof TModules = keyof TModules,\n> = BusRegistry<TModules, TNames> & TModules;\n\nexport class BusRegistry<\n TModules extends object = object,\n TNames extends keyof TModules = keyof TModules,\n> {\n private sdks: Partial<TModules> = {};\n\n constructor() {\n // Return Proxy to enable direct property access to registered modules\n return new Proxy(this, {\n get(target, prop, receiver) {\n // First, check if property exists on BusRegistry instance (methods, etc)\n if (prop in target) {\n return Reflect.get(target, prop, receiver);\n }\n\n // Then try to resolve from registered modules\n const module = target.sdks[prop as TNames];\n if (module !== undefined) {\n return module;\n }\n\n // Default behavior for undefined properties\n return Reflect.get(target, prop, receiver);\n },\n }) as unknown as BusWithModules<TModules, TNames>;\n }\n\n public register<T extends TNames>(sdk: TModules[T], name: T) {\n if (this.sdks[name]) {\n throw new Error(`Module ${name.toString()} already registered`);\n }\n this.sdks[name] = sdk;\n }\n\n public get<T extends TNames>(name: T): TModules[T] | undefined {\n return this.sdks[name];\n }\n\n public getOrThrow<T extends TNames>(name: T): TModules[T] {\n invariant(\n this.sdks[name],\n `Module ${name.toString()} not registered`,\n ERROR_CODE.UNKNOWN_ERROR,\n );\n return this.sdks[name];\n }\n}\n"],"mappings":";;AAOO,IAAM,cAAN,MAGL;CACQ,OAA0B,EAAC;CAEnC,cAAc;AAEZ,SAAO,IAAI,MAAM,MAAM,EACrB,IAAI,QAAQ,MAAM,UAAU;AAE1B,OAAI,QAAQ,OACV,QAAO,QAAQ,IAAI,QAAQ,MAAM,SAAQ;GAI3C,MAAM,SAAS,OAAO,KAAK;AAC3B,OAAI,WAAW,KAAA,EACb,QAAO;AAIT,UAAO,QAAQ,IAAI,QAAQ,MAAM,SAAQ;KAE5C,CAAA;;CAGI,SAA2B,KAAkB,MAAS;AAC3D,MAAI,KAAK,KAAK,MACZ,OAAM,IAAI,MAAM,UAAU,KAAK,UAAU,CAAA,qBAAqB;AAEhE,OAAK,KAAK,QAAQ;;CAGb,IAAsB,MAAkC;AAC7D,SAAO,KAAK,KAAK;;CAGZ,WAA6B,MAAsB;AACxD,oBAAA,UACE,KAAK,KAAK,OACV,UAAU,KAAK,UAAU,CAAA,kBACzB,kBAAA,WAAW,cACb;AACA,SAAO,KAAK,KAAK"}
1
+ {"version":3,"file":"bus-registry.cjs","names":[],"sources":["../../../src/common/class-primitives/bus-registry.ts"],"sourcesContent":["import { ERROR_CODE, invariant } from '../utils/sdk-error';\n\nexport type BusWithModules<\n TModules extends object = object,\n TNames extends keyof TModules = keyof TModules,\n> = BusRegistry<TModules, TNames> & TModules;\n\nexport class BusRegistry<\n TModules extends object = object,\n TNames extends keyof TModules = keyof TModules,\n> {\n private sdks: Partial<TModules> = {};\n\n constructor() {\n // Return Proxy to enable direct property access to registered modules\n return new Proxy(this, {\n get(target, prop, receiver) {\n // First, check if property exists on BusRegistry instance (methods, etc)\n if (prop in target) {\n return Reflect.get(target, prop, receiver);\n }\n\n // Then try to resolve from registered modules\n const module = target.sdks[prop as TNames];\n if (module !== undefined) {\n return module;\n }\n\n // Default behavior for undefined properties\n return Reflect.get(target, prop, receiver);\n },\n }) as unknown as BusWithModules<TModules, TNames>;\n }\n\n public register<T extends TNames>(sdk: TModules[T], name: T) {\n if (this.sdks[name]) {\n throw new Error(`Module ${name.toString()} already registered`);\n }\n this.sdks[name] = sdk;\n }\n\n public get<T extends TNames>(name: T): TModules[T] | undefined {\n return this.sdks[name];\n }\n\n public getOrThrow<T extends TNames>(name: T): TModules[T] {\n invariant(\n this.sdks[name],\n `Module ${name.toString()} not registered`,\n ERROR_CODE.UNKNOWN_ERROR,\n );\n return this.sdks[name];\n }\n}\n"],"mappings":";;;AAOO,IAAM,cAAN,MAGL;CACQ,OAA0B,EAAC;CAEnC,cAAc;AAEZ,SAAO,IAAI,MAAM,MAAM,EACrB,IAAI,QAAQ,MAAM,UAAU;AAE1B,OAAI,QAAQ,OACV,QAAO,QAAQ,IAAI,QAAQ,MAAM,SAAQ;GAI3C,MAAM,SAAS,OAAO,KAAK;AAC3B,OAAI,WAAW,KAAA,EACb,QAAO;AAIT,UAAO,QAAQ,IAAI,QAAQ,MAAM,SAAQ;KAE5C,CAAA;;CAGI,SAA2B,KAAkB,MAAS;AAC3D,MAAI,KAAK,KAAK,MACZ,OAAM,IAAI,MAAM,UAAU,KAAK,UAAU,CAAA,qBAAqB;AAEhE,OAAK,KAAK,QAAQ;;CAGb,IAAsB,MAAkC;AAC7D,SAAO,KAAK,KAAK;;CAGZ,WAA6B,MAAsB;AACxD,oBAAA,UACE,KAAK,KAAK,OACV,UAAU,KAAK,UAAU,CAAA,kBACzB,uBAAA,WAAW,cACb;AACA,SAAO,KAAK,KAAK"}
@@ -1,4 +1,5 @@
1
- import { ERROR_CODE, invariant } from "../utils/sdk-error.mjs";
1
+ import { ERROR_CODE } from "../utils/sdk-error-code.mjs";
2
+ import { invariant } from "../utils/sdk-error.mjs";
2
3
  //#region src/common/class-primitives/bus-registry.ts
3
4
  var BusRegistry = class {
4
5
  sdks = {};
@@ -1 +1 @@
1
- {"version":3,"file":"bus-registry.mjs","names":[],"sources":["../../../src/common/class-primitives/bus-registry.ts"],"sourcesContent":["import { ERROR_CODE, invariant } from '../utils/sdk-error';\n\nexport type BusWithModules<\n TModules extends object = object,\n TNames extends keyof TModules = keyof TModules,\n> = BusRegistry<TModules, TNames> & TModules;\n\nexport class BusRegistry<\n TModules extends object = object,\n TNames extends keyof TModules = keyof TModules,\n> {\n private sdks: Partial<TModules> = {};\n\n constructor() {\n // Return Proxy to enable direct property access to registered modules\n return new Proxy(this, {\n get(target, prop, receiver) {\n // First, check if property exists on BusRegistry instance (methods, etc)\n if (prop in target) {\n return Reflect.get(target, prop, receiver);\n }\n\n // Then try to resolve from registered modules\n const module = target.sdks[prop as TNames];\n if (module !== undefined) {\n return module;\n }\n\n // Default behavior for undefined properties\n return Reflect.get(target, prop, receiver);\n },\n }) as unknown as BusWithModules<TModules, TNames>;\n }\n\n public register<T extends TNames>(sdk: TModules[T], name: T) {\n if (this.sdks[name]) {\n throw new Error(`Module ${name.toString()} already registered`);\n }\n this.sdks[name] = sdk;\n }\n\n public get<T extends TNames>(name: T): TModules[T] | undefined {\n return this.sdks[name];\n }\n\n public getOrThrow<T extends TNames>(name: T): TModules[T] {\n invariant(\n this.sdks[name],\n `Module ${name.toString()} not registered`,\n ERROR_CODE.UNKNOWN_ERROR,\n );\n return this.sdks[name];\n }\n}\n"],"mappings":";;AAOO,IAAM,cAAN,MAGL;CACQ,OAA0B,EAAC;CAEnC,cAAc;AAEZ,SAAO,IAAI,MAAM,MAAM,EACrB,IAAI,QAAQ,MAAM,UAAU;AAE1B,OAAI,QAAQ,OACV,QAAO,QAAQ,IAAI,QAAQ,MAAM,SAAQ;GAI3C,MAAM,SAAS,OAAO,KAAK;AAC3B,OAAI,WAAW,KAAA,EACb,QAAO;AAIT,UAAO,QAAQ,IAAI,QAAQ,MAAM,SAAQ;KAE5C,CAAA;;CAGI,SAA2B,KAAkB,MAAS;AAC3D,MAAI,KAAK,KAAK,MACZ,OAAM,IAAI,MAAM,UAAU,KAAK,UAAU,CAAA,qBAAqB;AAEhE,OAAK,KAAK,QAAQ;;CAGb,IAAsB,MAAkC;AAC7D,SAAO,KAAK,KAAK;;CAGZ,WAA6B,MAAsB;AACxD,YACE,KAAK,KAAK,OACV,UAAU,KAAK,UAAU,CAAA,kBACzB,WAAW,cACb;AACA,SAAO,KAAK,KAAK"}
1
+ {"version":3,"file":"bus-registry.mjs","names":[],"sources":["../../../src/common/class-primitives/bus-registry.ts"],"sourcesContent":["import { ERROR_CODE, invariant } from '../utils/sdk-error';\n\nexport type BusWithModules<\n TModules extends object = object,\n TNames extends keyof TModules = keyof TModules,\n> = BusRegistry<TModules, TNames> & TModules;\n\nexport class BusRegistry<\n TModules extends object = object,\n TNames extends keyof TModules = keyof TModules,\n> {\n private sdks: Partial<TModules> = {};\n\n constructor() {\n // Return Proxy to enable direct property access to registered modules\n return new Proxy(this, {\n get(target, prop, receiver) {\n // First, check if property exists on BusRegistry instance (methods, etc)\n if (prop in target) {\n return Reflect.get(target, prop, receiver);\n }\n\n // Then try to resolve from registered modules\n const module = target.sdks[prop as TNames];\n if (module !== undefined) {\n return module;\n }\n\n // Default behavior for undefined properties\n return Reflect.get(target, prop, receiver);\n },\n }) as unknown as BusWithModules<TModules, TNames>;\n }\n\n public register<T extends TNames>(sdk: TModules[T], name: T) {\n if (this.sdks[name]) {\n throw new Error(`Module ${name.toString()} already registered`);\n }\n this.sdks[name] = sdk;\n }\n\n public get<T extends TNames>(name: T): TModules[T] | undefined {\n return this.sdks[name];\n }\n\n public getOrThrow<T extends TNames>(name: T): TModules[T] {\n invariant(\n this.sdks[name],\n `Module ${name.toString()} not registered`,\n ERROR_CODE.UNKNOWN_ERROR,\n );\n return this.sdks[name];\n }\n}\n"],"mappings":";;;AAOO,IAAM,cAAN,MAGL;CACQ,OAA0B,EAAC;CAEnC,cAAc;AAEZ,SAAO,IAAI,MAAM,MAAM,EACrB,IAAI,QAAQ,MAAM,UAAU;AAE1B,OAAI,QAAQ,OACV,QAAO,QAAQ,IAAI,QAAQ,MAAM,SAAQ;GAI3C,MAAM,SAAS,OAAO,KAAK;AAC3B,OAAI,WAAW,KAAA,EACb,QAAO;AAIT,UAAO,QAAQ,IAAI,QAAQ,MAAM,SAAQ;KAE5C,CAAA;;CAGI,SAA2B,KAAkB,MAAS;AAC3D,MAAI,KAAK,KAAK,MACZ,OAAM,IAAI,MAAM,UAAU,KAAK,UAAU,CAAA,qBAAqB;AAEhE,OAAK,KAAK,QAAQ;;CAGb,IAAsB,MAAkC;AAC7D,SAAO,KAAK,KAAK;;CAGZ,WAA6B,MAAsB;AACxD,YACE,KAAK,KAAK,OACV,UAAU,KAAK,UAAU,CAAA,kBACzB,WAAW,cACb;AACA,SAAO,KAAK,KAAK"}
@@ -0,0 +1,24 @@
1
+ require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_sdk_error_code = require("./sdk-error-code.cjs");
3
+ let viem = require("viem");
4
+ //#region src/common/utils/classify-error.ts
5
+ const TX_RECEIPT_REVERTED_NAME = "TransactionReceiptRevertedError";
6
+ const CLASSIFIERS = [
7
+ [(e) => e instanceof viem.UserRejectedRequestError, require_sdk_error_code.ERROR_CODE.USER_REJECTED],
8
+ [(e) => e instanceof viem.UnknownBundleIdError, require_sdk_error_code.ERROR_CODE.BUNDLE_NOT_FOUND],
9
+ [(e) => e instanceof viem.ChainMismatchError || e instanceof viem.ChainDisconnectedError || e instanceof viem.ProviderDisconnectedError || e instanceof viem.SwitchChainError || e instanceof viem.UnsupportedChainIdError, require_sdk_error_code.ERROR_CODE.CHAIN_MISMATCH],
10
+ [(e) => e instanceof viem.HttpRequestError || e instanceof viem.TimeoutError || e instanceof viem.WaitForCallsStatusTimeoutError || e instanceof viem.WebSocketRequestError || e instanceof viem.RpcRequestError || e instanceof viem.SocketClosedError, require_sdk_error_code.ERROR_CODE.NETWORK_ERROR],
11
+ [(e) => e instanceof viem.InsufficientFundsError, require_sdk_error_code.ERROR_CODE.INSUFFICIENT_FUNDS],
12
+ [(e) => typeof e === "object" && e !== null && e.name === TX_RECEIPT_REVERTED_NAME, require_sdk_error_code.ERROR_CODE.TRANSACTION_REVERTED],
13
+ [(e) => e instanceof viem.ExecutionRevertedError, require_sdk_error_code.ERROR_CODE.EXECUTION_REVERTED],
14
+ [(e) => e instanceof viem.InternalRpcError || e instanceof viem.InvalidInputRpcError, require_sdk_error_code.ERROR_CODE.WALLET_RPC_ERROR]
15
+ ];
16
+ const classifyError = (error, decodedRevert) => {
17
+ if (decodedRevert) return require_sdk_error_code.ERROR_CODE.CONTRACT_REVERT;
18
+ if (!(error instanceof viem.BaseError)) return void 0;
19
+ for (const [match, code] of CLASSIFIERS) if (error.walk(match)) return code;
20
+ };
21
+ //#endregion
22
+ exports.classifyError = classifyError;
23
+
24
+ //# sourceMappingURL=classify-error.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classify-error.cjs","names":[],"sources":["../../../src/common/utils/classify-error.ts"],"sourcesContent":["import {\n BaseError,\n ChainDisconnectedError,\n ChainMismatchError,\n ExecutionRevertedError,\n HttpRequestError,\n InsufficientFundsError,\n InternalRpcError,\n InvalidInputRpcError,\n ProviderDisconnectedError,\n RpcRequestError,\n SocketClosedError,\n SwitchChainError,\n TimeoutError,\n UnknownBundleIdError,\n UnsupportedChainIdError,\n UserRejectedRequestError,\n WaitForCallsStatusTimeoutError,\n WebSocketRequestError,\n} from 'viem';\nimport type { DecodedRevert } from './decode-revert-data';\nimport { ERROR_CODE } from './sdk-error-code';\n\n// viem doesn't re-export TransactionReceiptRevertedError from its top-level\n// entry, so `instanceof` is unavailable — match by `name`, which viem sets\n// explicitly. Thrown only by sendTransactionSync / sendRawTransactionSync.\nconst TX_RECEIPT_REVERTED_NAME = 'TransactionReceiptRevertedError';\n\n// Ordered most-specific → most-generic: a UserRejectedRequestError wrapped\n// inside an InternalRpcError must still classify as USER_REJECTED. CHAIN_MISMATCH\n// precedes EXECUTION_REVERTED — a wallet on the wrong chain may surface an\n// execution revert under the hood, but the chain issue is the actionable root.\nconst CLASSIFIERS: Array<[(e: unknown) => boolean, ERROR_CODE]> = [\n [(e) => e instanceof UserRejectedRequestError, ERROR_CODE.USER_REJECTED],\n [(e) => e instanceof UnknownBundleIdError, ERROR_CODE.BUNDLE_NOT_FOUND],\n [\n (e) =>\n e instanceof ChainMismatchError ||\n e instanceof ChainDisconnectedError ||\n e instanceof ProviderDisconnectedError ||\n e instanceof SwitchChainError ||\n e instanceof UnsupportedChainIdError,\n ERROR_CODE.CHAIN_MISMATCH,\n ],\n [\n (e) =>\n e instanceof HttpRequestError ||\n e instanceof TimeoutError ||\n e instanceof WaitForCallsStatusTimeoutError ||\n e instanceof WebSocketRequestError ||\n e instanceof RpcRequestError ||\n e instanceof SocketClosedError,\n ERROR_CODE.NETWORK_ERROR,\n ],\n [(e) => e instanceof InsufficientFundsError, ERROR_CODE.INSUFFICIENT_FUNDS],\n [\n (e) =>\n typeof e === 'object' &&\n e !== null &&\n (e as { name?: unknown }).name === TX_RECEIPT_REVERTED_NAME,\n ERROR_CODE.TRANSACTION_REVERTED,\n ],\n [(e) => e instanceof ExecutionRevertedError, ERROR_CODE.EXECUTION_REVERTED],\n [\n (e) => e instanceof InternalRpcError || e instanceof InvalidInputRpcError,\n ERROR_CODE.WALLET_RPC_ERROR,\n ],\n];\n\nexport const classifyError = (\n error: unknown,\n decodedRevert: DecodedRevert | undefined,\n): ERROR_CODE | undefined => {\n if (decodedRevert) return ERROR_CODE.CONTRACT_REVERT;\n if (!(error instanceof BaseError)) return undefined;\n\n for (const [match, code] of CLASSIFIERS) {\n if (error.walk(match)) return code;\n }\n return undefined;\n};\n"],"mappings":";;;;AA0BA,MAAM,2BAA2B;AAMjC,MAAM,cAA4D;CAChE,EAAE,MAAM,aAAa,KAAA,0BAA0B,uBAAA,WAAW,cAAa;CACvE,EAAE,MAAM,aAAa,KAAA,sBAAsB,uBAAA,WAAW,iBAAgB;CACtE,EACG,MACC,aAAa,KAAA,sBACb,aAAa,KAAA,0BACb,aAAa,KAAA,6BACb,aAAa,KAAA,oBACb,aAAa,KAAA,yBACf,uBAAA,WAAW,eACb;CACA,EACG,MACC,aAAa,KAAA,oBACb,aAAa,KAAA,gBACb,aAAa,KAAA,kCACb,aAAa,KAAA,yBACb,aAAa,KAAA,mBACb,aAAa,KAAA,mBACf,uBAAA,WAAW,cACb;CACA,EAAE,MAAM,aAAa,KAAA,wBAAwB,uBAAA,WAAW,mBAAkB;CAC1E,EACG,MACC,OAAO,MAAM,YACb,MAAM,QACL,EAAyB,SAAS,0BACrC,uBAAA,WAAW,qBACb;CACA,EAAE,MAAM,aAAa,KAAA,wBAAwB,uBAAA,WAAW,mBAAkB;CAC1E,EACG,MAAM,aAAa,KAAA,oBAAoB,aAAa,KAAA,sBACrD,uBAAA,WAAW,iBACb;CACF;AAEO,MAAM,iBACX,OACA,kBAC2B;AAC3B,KAAI,cAAe,QAAO,uBAAA,WAAW;AACrC,KAAI,EAAE,iBAAiB,KAAA,WAAY,QAAO,KAAA;AAE1C,MAAA,MAAW,CAAC,OAAO,SAAS,YAC1B,KAAI,MAAM,KAAK,MAAK,CAAG,QAAO"}
@@ -0,0 +1,8 @@
1
+ import { DecodedRevert } from "./decode-revert-data.cjs";
2
+ import { ERROR_CODE } from "./sdk-error-code.cjs";
3
+
4
+ //#region src/common/utils/classify-error.d.ts
5
+ declare const classifyError: (error: unknown, decodedRevert: DecodedRevert | undefined) => ERROR_CODE | undefined;
6
+ //#endregion
7
+ export { classifyError };
8
+ //# sourceMappingURL=classify-error.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classify-error.d.cts","names":[],"sources":["../../../src/common/utils/classify-error.ts"],"mappings":";;;;cAqEa,aAAA,GACX,KAAA,WACA,aAAA,EAAe,aAAA,iBACd,UAAA"}
@@ -0,0 +1,8 @@
1
+ import { DecodedRevert } from "./decode-revert-data.mjs";
2
+ import { ERROR_CODE } from "./sdk-error-code.mjs";
3
+
4
+ //#region src/common/utils/classify-error.d.ts
5
+ declare const classifyError: (error: unknown, decodedRevert: DecodedRevert | undefined) => ERROR_CODE | undefined;
6
+ //#endregion
7
+ export { classifyError };
8
+ //# sourceMappingURL=classify-error.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classify-error.d.mts","names":[],"sources":["../../../src/common/utils/classify-error.ts"],"mappings":";;;;cAqEa,aAAA,GACX,KAAA,WACA,aAAA,EAAe,aAAA,iBACd,UAAA"}
@@ -0,0 +1,23 @@
1
+ import { ERROR_CODE } from "./sdk-error-code.mjs";
2
+ import { BaseError, ChainDisconnectedError, ChainMismatchError, ExecutionRevertedError, HttpRequestError, InsufficientFundsError, InternalRpcError, InvalidInputRpcError, ProviderDisconnectedError, RpcRequestError, SocketClosedError, SwitchChainError, TimeoutError, UnknownBundleIdError, UnsupportedChainIdError, UserRejectedRequestError, WaitForCallsStatusTimeoutError, WebSocketRequestError } from "viem";
3
+ //#region src/common/utils/classify-error.ts
4
+ const TX_RECEIPT_REVERTED_NAME = "TransactionReceiptRevertedError";
5
+ const CLASSIFIERS = [
6
+ [(e) => e instanceof UserRejectedRequestError, ERROR_CODE.USER_REJECTED],
7
+ [(e) => e instanceof UnknownBundleIdError, ERROR_CODE.BUNDLE_NOT_FOUND],
8
+ [(e) => e instanceof ChainMismatchError || e instanceof ChainDisconnectedError || e instanceof ProviderDisconnectedError || e instanceof SwitchChainError || e instanceof UnsupportedChainIdError, ERROR_CODE.CHAIN_MISMATCH],
9
+ [(e) => e instanceof HttpRequestError || e instanceof TimeoutError || e instanceof WaitForCallsStatusTimeoutError || e instanceof WebSocketRequestError || e instanceof RpcRequestError || e instanceof SocketClosedError, ERROR_CODE.NETWORK_ERROR],
10
+ [(e) => e instanceof InsufficientFundsError, ERROR_CODE.INSUFFICIENT_FUNDS],
11
+ [(e) => typeof e === "object" && e !== null && e.name === TX_RECEIPT_REVERTED_NAME, ERROR_CODE.TRANSACTION_REVERTED],
12
+ [(e) => e instanceof ExecutionRevertedError, ERROR_CODE.EXECUTION_REVERTED],
13
+ [(e) => e instanceof InternalRpcError || e instanceof InvalidInputRpcError, ERROR_CODE.WALLET_RPC_ERROR]
14
+ ];
15
+ const classifyError = (error, decodedRevert) => {
16
+ if (decodedRevert) return ERROR_CODE.CONTRACT_REVERT;
17
+ if (!(error instanceof BaseError)) return void 0;
18
+ for (const [match, code] of CLASSIFIERS) if (error.walk(match)) return code;
19
+ };
20
+ //#endregion
21
+ export { classifyError };
22
+
23
+ //# sourceMappingURL=classify-error.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classify-error.mjs","names":[],"sources":["../../../src/common/utils/classify-error.ts"],"sourcesContent":["import {\n BaseError,\n ChainDisconnectedError,\n ChainMismatchError,\n ExecutionRevertedError,\n HttpRequestError,\n InsufficientFundsError,\n InternalRpcError,\n InvalidInputRpcError,\n ProviderDisconnectedError,\n RpcRequestError,\n SocketClosedError,\n SwitchChainError,\n TimeoutError,\n UnknownBundleIdError,\n UnsupportedChainIdError,\n UserRejectedRequestError,\n WaitForCallsStatusTimeoutError,\n WebSocketRequestError,\n} from 'viem';\nimport type { DecodedRevert } from './decode-revert-data';\nimport { ERROR_CODE } from './sdk-error-code';\n\n// viem doesn't re-export TransactionReceiptRevertedError from its top-level\n// entry, so `instanceof` is unavailable — match by `name`, which viem sets\n// explicitly. Thrown only by sendTransactionSync / sendRawTransactionSync.\nconst TX_RECEIPT_REVERTED_NAME = 'TransactionReceiptRevertedError';\n\n// Ordered most-specific → most-generic: a UserRejectedRequestError wrapped\n// inside an InternalRpcError must still classify as USER_REJECTED. CHAIN_MISMATCH\n// precedes EXECUTION_REVERTED — a wallet on the wrong chain may surface an\n// execution revert under the hood, but the chain issue is the actionable root.\nconst CLASSIFIERS: Array<[(e: unknown) => boolean, ERROR_CODE]> = [\n [(e) => e instanceof UserRejectedRequestError, ERROR_CODE.USER_REJECTED],\n [(e) => e instanceof UnknownBundleIdError, ERROR_CODE.BUNDLE_NOT_FOUND],\n [\n (e) =>\n e instanceof ChainMismatchError ||\n e instanceof ChainDisconnectedError ||\n e instanceof ProviderDisconnectedError ||\n e instanceof SwitchChainError ||\n e instanceof UnsupportedChainIdError,\n ERROR_CODE.CHAIN_MISMATCH,\n ],\n [\n (e) =>\n e instanceof HttpRequestError ||\n e instanceof TimeoutError ||\n e instanceof WaitForCallsStatusTimeoutError ||\n e instanceof WebSocketRequestError ||\n e instanceof RpcRequestError ||\n e instanceof SocketClosedError,\n ERROR_CODE.NETWORK_ERROR,\n ],\n [(e) => e instanceof InsufficientFundsError, ERROR_CODE.INSUFFICIENT_FUNDS],\n [\n (e) =>\n typeof e === 'object' &&\n e !== null &&\n (e as { name?: unknown }).name === TX_RECEIPT_REVERTED_NAME,\n ERROR_CODE.TRANSACTION_REVERTED,\n ],\n [(e) => e instanceof ExecutionRevertedError, ERROR_CODE.EXECUTION_REVERTED],\n [\n (e) => e instanceof InternalRpcError || e instanceof InvalidInputRpcError,\n ERROR_CODE.WALLET_RPC_ERROR,\n ],\n];\n\nexport const classifyError = (\n error: unknown,\n decodedRevert: DecodedRevert | undefined,\n): ERROR_CODE | undefined => {\n if (decodedRevert) return ERROR_CODE.CONTRACT_REVERT;\n if (!(error instanceof BaseError)) return undefined;\n\n for (const [match, code] of CLASSIFIERS) {\n if (error.walk(match)) return code;\n }\n return undefined;\n};\n"],"mappings":";;;AA0BA,MAAM,2BAA2B;AAMjC,MAAM,cAA4D;CAChE,EAAE,MAAM,aAAa,0BAA0B,WAAW,cAAa;CACvE,EAAE,MAAM,aAAa,sBAAsB,WAAW,iBAAgB;CACtE,EACG,MACC,aAAa,sBACb,aAAa,0BACb,aAAa,6BACb,aAAa,oBACb,aAAa,yBACf,WAAW,eACb;CACA,EACG,MACC,aAAa,oBACb,aAAa,gBACb,aAAa,kCACb,aAAa,yBACb,aAAa,mBACb,aAAa,mBACf,WAAW,cACb;CACA,EAAE,MAAM,aAAa,wBAAwB,WAAW,mBAAkB;CAC1E,EACG,MACC,OAAO,MAAM,YACb,MAAM,QACL,EAAyB,SAAS,0BACrC,WAAW,qBACb;CACA,EAAE,MAAM,aAAa,wBAAwB,WAAW,mBAAkB;CAC1E,EACG,MAAM,aAAa,oBAAoB,aAAa,sBACrD,WAAW,iBACb;CACF;AAEO,MAAM,iBACX,OACA,kBAC2B;AAC3B,KAAI,cAAe,QAAO,WAAW;AACrC,KAAI,EAAE,iBAAiB,WAAY,QAAO,KAAA;AAE1C,MAAA,MAAW,CAAC,OAAO,SAAS,YAC1B,KAAI,MAAM,KAAK,MAAK,CAAG,QAAO"}
@@ -1,45 +1,49 @@
1
1
  require("../../_virtual/_rolldown/runtime.cjs");
2
2
  const require_contract_abi = require("../constants/contract-abi.cjs");
3
3
  let viem = require("viem");
4
+ let viem_utils = require("viem/utils");
4
5
  //#region src/common/utils/decode-revert-data.ts
5
6
  const HEX_DATA_RE = /(?:custom error |reason: )(0x[0-9a-fA-F]{8,})/;
6
- let combinedErrorAbi = null;
7
- const getCombinedErrorAbi = () => {
8
- if (combinedErrorAbi) return combinedErrorAbi;
9
- const seen = /* @__PURE__ */ new Set();
10
- const errors = [];
11
- for (const abi of Object.values(require_contract_abi.CONTRACT_BASE_ABI)) for (const item of abi) {
7
+ const buildCombinedErrorAbi = (abis) => {
8
+ const bySelector = /* @__PURE__ */ new Map();
9
+ const byName = /* @__PURE__ */ new Map();
10
+ const warned = /* @__PURE__ */ new Set();
11
+ for (const abi of abis) for (const item of abi) {
12
12
  if (item.type !== "error") continue;
13
- if (seen.has(item.name)) continue;
14
- seen.add(item.name);
15
- errors.push(item);
13
+ const signature = (0, viem_utils.formatAbiItem)(item);
14
+ const selector = (0, viem_utils.toFunctionSelector)(signature);
15
+ if (bySelector.has(selector)) continue;
16
+ bySelector.set(selector, item);
17
+ const prevSignature = byName.get(item.name);
18
+ if (prevSignature && prevSignature !== signature && !warned.has(item.name)) {
19
+ warned.add(item.name);
20
+ console.warn(`[csm-sdk] ABI error name collision for "${item.name}": ${prevSignature} vs ${signature}`);
21
+ } else if (!prevSignature) byName.set(item.name, signature);
16
22
  }
17
- combinedErrorAbi = errors;
18
- return combinedErrorAbi;
23
+ return [...bySelector.values()];
19
24
  };
20
- const tryExtractHex = (value) => {
21
- if (typeof value === "string" && value.startsWith("0x")) return value;
22
- };
23
- const extractFromNode = (err) => {
24
- if (typeof err !== "object" || err === null) return void 0;
25
- if ("raw" in err && typeof err.raw === "string" && err.raw.startsWith("0x")) return err.raw;
26
- if ("data" in err) {
27
- const d = err.data;
28
- const direct = tryExtractHex(d);
29
- if (direct) return direct;
30
- if (typeof d === "object" && d !== null && "data" in d) return tryExtractHex(d.data);
31
- }
32
- };
33
- const extractHexFromString = (value) => {
25
+ const combinedErrorAbi = buildCombinedErrorAbi(Object.values(require_contract_abi.CONTRACT_BASE_ABI));
26
+ const tryHex = (value) => typeof value === "string" && value.startsWith("0x") ? value : void 0;
27
+ const tryHexFromString = (value) => {
34
28
  if (typeof value !== "string") return void 0;
35
29
  const match = HEX_DATA_RE.exec(value);
36
30
  return match ? match[1] : void 0;
37
31
  };
38
- const extractHexFromNode = (node) => extractFromNode(node) ?? extractHexFromString(node.details) ?? extractHexFromString(node.shortMessage);
32
+ const extractFromNode = (node) => {
33
+ const fromRaw = tryHex(node.raw);
34
+ if (fromRaw) return fromRaw;
35
+ const direct = tryHex(node.data);
36
+ if (direct) return direct;
37
+ if (typeof node.data === "object" && node.data !== null) {
38
+ const nested = tryHex(node.data.data);
39
+ if (nested) return nested;
40
+ }
41
+ return tryHexFromString(node.details) ?? tryHexFromString(node.shortMessage);
42
+ };
39
43
  const extractErrorData = (error) => {
40
44
  let current = error;
41
45
  while (typeof current === "object" && current !== null) {
42
- const hex = extractHexFromNode(current);
46
+ const hex = extractFromNode(current);
43
47
  if (hex) return hex;
44
48
  current = current.cause;
45
49
  }
@@ -49,16 +53,19 @@ const decodeRevertData = (error) => {
49
53
  if (!data || data === "0x") return void 0;
50
54
  try {
51
55
  const decoded = (0, viem.decodeErrorResult)({
52
- abi: getCombinedErrorAbi(),
56
+ abi: combinedErrorAbi,
53
57
  data
54
58
  });
55
- const args = decoded.args?.length ? `(${decoded.args.map(String).join(", ")})` : "";
56
- return `${decoded.errorName}${args}`;
59
+ return {
60
+ name: decoded.errorName,
61
+ args: decoded.args ?? []
62
+ };
57
63
  } catch {
58
64
  return;
59
65
  }
60
66
  };
61
67
  //#endregion
68
+ exports.buildCombinedErrorAbi = buildCombinedErrorAbi;
62
69
  exports.decodeRevertData = decodeRevertData;
63
70
 
64
71
  //# sourceMappingURL=decode-revert-data.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"decode-revert-data.cjs","names":[],"sources":["../../../src/common/utils/decode-revert-data.ts"],"sourcesContent":["import { type Abi, type Hex, decodeErrorResult } from 'viem';\nimport { CONTRACT_BASE_ABI } from '../constants/contract-abi';\n\nconst HEX_DATA_RE = /(?:custom error |reason: )(0x[0-9a-fA-F]{8,})/;\n\nlet combinedErrorAbi: Abi | null = null;\n\nconst getCombinedErrorAbi = (): Abi => {\n if (combinedErrorAbi) return combinedErrorAbi;\n\n const seen = new Set<string>();\n const errors: Abi[number][] = [];\n\n for (const abi of Object.values(CONTRACT_BASE_ABI)) {\n for (const item of abi) {\n if (item.type !== 'error') continue;\n if (seen.has(item.name)) continue;\n seen.add(item.name);\n errors.push(item);\n }\n }\n\n combinedErrorAbi = errors as Abi;\n return combinedErrorAbi;\n};\n\nconst tryExtractHex = (value: unknown): Hex | undefined => {\n if (typeof value === 'string' && value.startsWith('0x')) {\n return value as Hex;\n }\n return undefined;\n};\n\nconst extractFromNode = (err: unknown): Hex | undefined => {\n if (typeof err !== 'object' || err === null) return undefined;\n\n // prettier-ignore\n if ('raw' in err && typeof err.raw === 'string' && err.raw.startsWith('0x')) {\n return err.raw as Hex;\n }\n\n if ('data' in err) {\n const d = (err as { data: unknown }).data;\n const direct = tryExtractHex(d);\n if (direct) return direct;\n\n if (typeof d === 'object' && d !== null && 'data' in d) {\n return tryExtractHex((d as { data: unknown }).data);\n }\n }\n\n return undefined;\n};\n\nconst extractHexFromString = (value: unknown): Hex | undefined => {\n if (typeof value !== 'string') return undefined;\n const match = HEX_DATA_RE.exec(value);\n return match ? (match[1] as Hex) : undefined;\n};\n\nconst extractHexFromNode = (node: Record<string, unknown>): Hex | undefined =>\n extractFromNode(node) ??\n extractHexFromString(node.details) ??\n extractHexFromString(node.shortMessage);\n\nconst extractErrorData = (error: unknown): Hex | undefined => {\n let current: unknown = error;\n\n while (typeof current === 'object' && current !== null) {\n const hex = extractHexFromNode(current as Record<string, unknown>);\n if (hex) return hex;\n current = (current as Record<string, unknown>).cause;\n }\n\n return undefined;\n};\n\nexport const decodeRevertData = (error: unknown): string | undefined => {\n const data = extractErrorData(error);\n if (!data || data === '0x') return undefined;\n\n try {\n const decoded = decodeErrorResult({ abi: getCombinedErrorAbi(), data });\n const args = decoded.args?.length\n ? `(${decoded.args.map(String).join(', ')})`\n : '';\n return `${decoded.errorName}${args}`;\n } catch {\n return undefined;\n }\n};\n"],"mappings":";;;;AAGA,MAAM,cAAc;AAEpB,IAAI,mBAA+B;AAEnC,MAAM,4BAAiC;AACrC,KAAI,iBAAkB,QAAO;CAE7B,MAAM,uBAAO,IAAI,KAAY;CAC7B,MAAM,SAAwB,EAAC;AAE/B,MAAA,MAAW,OAAO,OAAO,OAAO,qBAAA,kBAAiB,CAC/C,MAAA,MAAW,QAAQ,KAAK;AACtB,MAAI,KAAK,SAAS,QAAS;AAC3B,MAAI,KAAK,IAAI,KAAK,KAAI,CAAG;AACzB,OAAK,IAAI,KAAK,KAAI;AAClB,SAAO,KAAK,KAAI;;AAIpB,oBAAmB;AACnB,QAAO;;AAGT,MAAM,iBAAiB,UAAoC;AACzD,KAAI,OAAO,UAAU,YAAY,MAAM,WAAW,KAAI,CACpD,QAAO;;AAKX,MAAM,mBAAmB,QAAkC;AACzD,KAAI,OAAO,QAAQ,YAAY,QAAQ,KAAM,QAAO,KAAA;AAGpD,KAAI,SAAS,OAAO,OAAO,IAAI,QAAQ,YAAY,IAAI,IAAI,WAAW,KAAI,CACxE,QAAO,IAAI;AAGb,KAAI,UAAU,KAAK;EACjB,MAAM,IAAK,IAA0B;EACrC,MAAM,SAAS,cAAc,EAAC;AAC9B,MAAI,OAAQ,QAAO;AAEnB,MAAI,OAAO,MAAM,YAAY,MAAM,QAAQ,UAAU,EACnD,QAAO,cAAe,EAAwB,KAAI;;;AAOxD,MAAM,wBAAwB,UAAoC;AAChE,KAAI,OAAO,UAAU,SAAU,QAAO,KAAA;CACtC,MAAM,QAAQ,YAAY,KAAK,MAAK;AACpC,QAAO,QAAS,MAAM,KAAa,KAAA;;AAGrC,MAAM,sBAAsB,SAC1B,gBAAgB,KAAI,IACpB,qBAAqB,KAAK,QAAO,IACjC,qBAAqB,KAAK,aAAY;AAExC,MAAM,oBAAoB,UAAoC;CAC5D,IAAI,UAAmB;AAEvB,QAAO,OAAO,YAAY,YAAY,YAAY,MAAM;EACtD,MAAM,MAAM,mBAAmB,QAAkC;AACjE,MAAI,IAAK,QAAO;AAChB,YAAW,QAAoC;;;AAM5C,MAAM,oBAAoB,UAAuC;CACtE,MAAM,OAAO,iBAAiB,MAAK;AACnC,KAAI,CAAC,QAAQ,SAAS,KAAM,QAAO,KAAA;AAEnC,KAAI;EACF,MAAM,WAAA,GAAA,KAAA,mBAA4B;GAAE,KAAK,qBAAoB;GAAG;GAAM,CAAA;EACtE,MAAM,OAAO,QAAQ,MAAM,SACvB,IAAI,QAAQ,KAAK,IAAI,OAAM,CAAE,KAAK,KAAK,CAAA,KACvC;AACJ,SAAO,GAAG,QAAQ,YAAY;SACxB;AACN"}
1
+ {"version":3,"file":"decode-revert-data.cjs","names":[],"sources":["../../../src/common/utils/decode-revert-data.ts"],"sourcesContent":["import type {\n AbiParametersToPrimitiveTypes,\n ExtractAbiError,\n ExtractAbiErrorNames,\n} from 'abitype';\nimport { type Abi, type Hex, decodeErrorResult } from 'viem';\nimport { formatAbiItem, toFunctionSelector } from 'viem/utils';\nimport { CONTRACT_BASE_ABI } from '../constants/contract-abi';\n\ntype ContractAbis = (typeof CONTRACT_BASE_ABI)[keyof typeof CONTRACT_BASE_ABI];\n\nexport type ContractErrorName = ExtractAbiErrorNames<ContractAbis>;\n\ntype ArgsOf<Name extends ContractErrorName> = AbiParametersToPrimitiveTypes<\n ExtractAbiError<ContractAbis, Name>['inputs']\n>;\n\n// Discriminated union: narrowing on `name` types the `args` tuple too.\n// `if (e.decodedRevert?.name === 'AccessControlUnauthorizedAccount') {\n// const [account, role] = e.decodedRevert.args; // typed }`\nexport type DecodedRevert = {\n [K in ContractErrorName]: { name: K; args: ArgsOf<K> };\n}[ContractErrorName];\n\nconst HEX_DATA_RE = /(?:custom error |reason: )(0x[0-9a-fA-F]{8,})/;\n\n// Dedup by 4-byte selector, not by name: two ABIs may declare distinct errors\n// that happen to share a name but encode different argument tuples. Dropping\n// by name would silently misdecode one of them. Same-selector duplicates\n// (identical signature in multiple contracts) are still collapsed silently.\n// Name collisions across different selectors emit a single console.warn each\n// so future ABI drift surfaces without breaking decoding.\nexport const buildCombinedErrorAbi = (abis: readonly Abi[]): Abi => {\n const bySelector = new Map<Hex, Abi[number]>();\n const byName = new Map<string, string>();\n const warned = new Set<string>();\n for (const abi of abis) {\n for (const item of abi) {\n if (item.type !== 'error') continue;\n const signature = formatAbiItem(item);\n const selector = toFunctionSelector(signature);\n if (bySelector.has(selector)) continue;\n bySelector.set(selector, item);\n const prevSignature = byName.get(item.name);\n if (\n prevSignature &&\n prevSignature !== signature &&\n !warned.has(item.name)\n ) {\n warned.add(item.name);\n\n console.warn(\n `[csm-sdk] ABI error name collision for \"${item.name}\": ${prevSignature} vs ${signature}`,\n );\n } else if (!prevSignature) {\n byName.set(item.name, signature);\n }\n }\n }\n return [...bySelector.values()] as Abi;\n};\n\nconst combinedErrorAbi: Abi = buildCombinedErrorAbi(\n Object.values(CONTRACT_BASE_ABI),\n);\n\nconst tryHex = (value: unknown): Hex | undefined =>\n typeof value === 'string' && value.startsWith('0x')\n ? (value as Hex)\n : undefined;\n\nconst tryHexFromString = (value: unknown): Hex | undefined => {\n if (typeof value !== 'string') return undefined;\n const match = HEX_DATA_RE.exec(value);\n return match ? (match[1] as Hex) : undefined;\n};\n\nconst extractFromNode = (node: Record<string, unknown>): Hex | undefined => {\n const fromRaw = tryHex(node.raw);\n if (fromRaw) return fromRaw;\n\n const direct = tryHex(node.data);\n if (direct) return direct;\n\n if (typeof node.data === 'object' && node.data !== null) {\n const nested = tryHex((node.data as { data?: unknown }).data);\n if (nested) return nested;\n }\n\n return tryHexFromString(node.details) ?? tryHexFromString(node.shortMessage);\n};\n\nconst extractErrorData = (error: unknown): Hex | undefined => {\n let current: unknown = error;\n while (typeof current === 'object' && current !== null) {\n const hex = extractFromNode(current as Record<string, unknown>);\n if (hex) return hex;\n current = (current as Record<string, unknown>).cause;\n }\n return undefined;\n};\n\nexport const decodeRevertData = (error: unknown): DecodedRevert | undefined => {\n const data = extractErrorData(error);\n if (!data || data === '0x') return undefined;\n\n try {\n const decoded = decodeErrorResult({ abi: combinedErrorAbi, data });\n return {\n name: decoded.errorName,\n args: decoded.args ?? [],\n } as DecodedRevert;\n } catch {\n return undefined;\n }\n};\n"],"mappings":";;;;;AAwBA,MAAM,cAAc;AAQb,MAAM,yBAAyB,SAA8B;CAClE,MAAM,6BAAa,IAAI,KAAsB;CAC7C,MAAM,yBAAS,IAAI,KAAoB;CACvC,MAAM,yBAAS,IAAI,KAAY;AAC/B,MAAA,MAAW,OAAO,KAChB,MAAA,MAAW,QAAQ,KAAK;AACtB,MAAI,KAAK,SAAS,QAAS;EAC3B,MAAM,aAAA,GAAA,WAAA,eAA0B,KAAI;EACpC,MAAM,YAAA,GAAA,WAAA,oBAA8B,UAAS;AAC7C,MAAI,WAAW,IAAI,SAAQ,CAAG;AAC9B,aAAW,IAAI,UAAU,KAAI;EAC7B,MAAM,gBAAgB,OAAO,IAAI,KAAK,KAAI;AAC1C,MACE,iBACA,kBAAkB,aAClB,CAAC,OAAO,IAAI,KAAK,KAAI,EACrB;AACA,UAAO,IAAI,KAAK,KAAI;AAEpB,WAAQ,KACN,2CAA2C,KAAK,KAAI,KAAM,cAAa,MAAO,YAChF;aACS,CAAC,cACV,QAAO,IAAI,KAAK,MAAM,UAAS;;AAIrC,QAAO,CAAC,GAAG,WAAW,QAAQ,CAAA;;AAGhC,MAAM,mBAAwB,sBAC5B,OAAO,OAAO,qBAAA,kBAAiB,CACjC;AAEA,MAAM,UAAU,UACd,OAAO,UAAU,YAAY,MAAM,WAAW,KAAI,GAC7C,QACD,KAAA;AAEN,MAAM,oBAAoB,UAAoC;AAC5D,KAAI,OAAO,UAAU,SAAU,QAAO,KAAA;CACtC,MAAM,QAAQ,YAAY,KAAK,MAAK;AACpC,QAAO,QAAS,MAAM,KAAa,KAAA;;AAGrC,MAAM,mBAAmB,SAAmD;CAC1E,MAAM,UAAU,OAAO,KAAK,IAAG;AAC/B,KAAI,QAAS,QAAO;CAEpB,MAAM,SAAS,OAAO,KAAK,KAAI;AAC/B,KAAI,OAAQ,QAAO;AAEnB,KAAI,OAAO,KAAK,SAAS,YAAY,KAAK,SAAS,MAAM;EACvD,MAAM,SAAS,OAAQ,KAAK,KAA4B,KAAI;AAC5D,MAAI,OAAQ,QAAO;;AAGrB,QAAO,iBAAiB,KAAK,QAAO,IAAK,iBAAiB,KAAK,aAAY;;AAG7E,MAAM,oBAAoB,UAAoC;CAC5D,IAAI,UAAmB;AACvB,QAAO,OAAO,YAAY,YAAY,YAAY,MAAM;EACtD,MAAM,MAAM,gBAAgB,QAAkC;AAC9D,MAAI,IAAK,QAAO;AAChB,YAAW,QAAoC;;;AAK5C,MAAM,oBAAoB,UAA8C;CAC7E,MAAM,OAAO,iBAAiB,MAAK;AACnC,KAAI,CAAC,QAAQ,SAAS,KAAM,QAAO,KAAA;AAEnC,KAAI;EACF,MAAM,WAAA,GAAA,KAAA,mBAA4B;GAAE,KAAK;GAAkB;GAAM,CAAA;AACjE,SAAO;GACL,MAAM,QAAQ;GACd,MAAM,QAAQ,QAAQ,EAAC;GACzB;SACM;AACN"}
@@ -1,5 +1,17 @@
1
+ import { CONTRACT_BASE_ABI } from "../constants/contract-abi.cjs";
2
+ import { Abi } from "viem";
3
+ import { AbiParametersToPrimitiveTypes, ExtractAbiError, ExtractAbiErrorNames } from "abitype";
4
+
1
5
  //#region src/common/utils/decode-revert-data.d.ts
2
- declare const decodeRevertData: (error: unknown) => string | undefined;
6
+ type ContractAbis = (typeof CONTRACT_BASE_ABI)[keyof typeof CONTRACT_BASE_ABI];
7
+ type ContractErrorName = ExtractAbiErrorNames<ContractAbis>;
8
+ type ArgsOf<Name extends ContractErrorName> = AbiParametersToPrimitiveTypes<ExtractAbiError<ContractAbis, Name>['inputs']>;
9
+ type DecodedRevert = { [K in ContractErrorName]: {
10
+ name: K;
11
+ args: ArgsOf<K>;
12
+ } }[ContractErrorName];
13
+ declare const buildCombinedErrorAbi: (abis: readonly Abi[]) => Abi;
14
+ declare const decodeRevertData: (error: unknown) => DecodedRevert | undefined;
3
15
  //#endregion
4
- export { decodeRevertData };
16
+ export { ContractErrorName, DecodedRevert, buildCombinedErrorAbi, decodeRevertData };
5
17
  //# sourceMappingURL=decode-revert-data.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decode-revert-data.d.cts","names":[],"sources":["../../../src/common/utils/decode-revert-data.ts"],"mappings":";cA6Ea,gBAAA,GAAoB,KAAA"}
1
+ {"version":3,"file":"decode-revert-data.d.cts","names":[],"sources":["../../../src/common/utils/decode-revert-data.ts"],"mappings":";;;;;KASK,YAAA,WAAuB,iBAAA,eAAgC,iBAAA;AAAA,KAEhD,iBAAA,GAAoB,oBAAA,CAAqB,YAAA;AAAA,KAEhD,MAAA,cAAoB,iBAAA,IAAqB,6BAAA,CAC5C,eAAA,CAAgB,YAAA,EAAc,IAAA;AAAA,KAMpB,aAAA,WACJ,iBAAA;EAAsB,IAAA,EAAM,CAAA;EAAG,IAAA,EAAM,MAAA,CAAO,CAAA;AAAA,IAClD,iBAAA;AAAA,cAUW,qBAAA,GAAyB,IAAA,WAAe,GAAA,OAAQ,GAAA;AAAA,cAsEhD,gBAAA,GAAoB,KAAA,cAAiB,aAAA"}
@@ -1,5 +1,17 @@
1
+ import { CONTRACT_BASE_ABI } from "../constants/contract-abi.mjs";
2
+ import { Abi } from "viem";
3
+ import { AbiParametersToPrimitiveTypes, ExtractAbiError, ExtractAbiErrorNames } from "abitype";
4
+
1
5
  //#region src/common/utils/decode-revert-data.d.ts
2
- declare const decodeRevertData: (error: unknown) => string | undefined;
6
+ type ContractAbis = (typeof CONTRACT_BASE_ABI)[keyof typeof CONTRACT_BASE_ABI];
7
+ type ContractErrorName = ExtractAbiErrorNames<ContractAbis>;
8
+ type ArgsOf<Name extends ContractErrorName> = AbiParametersToPrimitiveTypes<ExtractAbiError<ContractAbis, Name>['inputs']>;
9
+ type DecodedRevert = { [K in ContractErrorName]: {
10
+ name: K;
11
+ args: ArgsOf<K>;
12
+ } }[ContractErrorName];
13
+ declare const buildCombinedErrorAbi: (abis: readonly Abi[]) => Abi;
14
+ declare const decodeRevertData: (error: unknown) => DecodedRevert | undefined;
3
15
  //#endregion
4
- export { decodeRevertData };
16
+ export { ContractErrorName, DecodedRevert, buildCombinedErrorAbi, decodeRevertData };
5
17
  //# sourceMappingURL=decode-revert-data.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"decode-revert-data.d.mts","names":[],"sources":["../../../src/common/utils/decode-revert-data.ts"],"mappings":";cA6Ea,gBAAA,GAAoB,KAAA"}
1
+ {"version":3,"file":"decode-revert-data.d.mts","names":[],"sources":["../../../src/common/utils/decode-revert-data.ts"],"mappings":";;;;;KASK,YAAA,WAAuB,iBAAA,eAAgC,iBAAA;AAAA,KAEhD,iBAAA,GAAoB,oBAAA,CAAqB,YAAA;AAAA,KAEhD,MAAA,cAAoB,iBAAA,IAAqB,6BAAA,CAC5C,eAAA,CAAgB,YAAA,EAAc,IAAA;AAAA,KAMpB,aAAA,WACJ,iBAAA;EAAsB,IAAA,EAAM,CAAA;EAAG,IAAA,EAAM,MAAA,CAAO,CAAA;AAAA,IAClD,iBAAA;AAAA,cAUW,qBAAA,GAAyB,IAAA,WAAe,GAAA,OAAQ,GAAA;AAAA,cAsEhD,gBAAA,GAAoB,KAAA,cAAiB,aAAA"}