@paxoslabs/amplify-sdk 0.5.0 → 0.5.1

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 (48) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/dist/{chain-utils-CpOJcWig.d.mts → chain-utils-D_b2LEEi.d.mts} +2 -0
  3. package/dist/{chain-utils-CpOJcWig.d.ts → chain-utils-D_b2LEEi.d.ts} +2 -0
  4. package/dist/{chunk-B5BII2XH.mjs → chunk-3D6EDR3Z.mjs} +5 -5
  5. package/dist/{chunk-B5BII2XH.mjs.map → chunk-3D6EDR3Z.mjs.map} +1 -1
  6. package/dist/{chunk-XS4SELWC.js → chunk-AUDMOT6F.js} +22 -15
  7. package/dist/chunk-AUDMOT6F.js.map +1 -0
  8. package/dist/{chunk-2ZJWWK6D.js → chunk-E5DH5YEE.js} +22 -5
  9. package/dist/chunk-E5DH5YEE.js.map +1 -0
  10. package/dist/{chunk-SXIBMN7X.mjs → chunk-E6SBQNDA.mjs} +3 -3
  11. package/dist/{chunk-SXIBMN7X.mjs.map → chunk-E6SBQNDA.mjs.map} +1 -1
  12. package/dist/{chunk-MPCRFKSD.mjs → chunk-JLZL25CY.mjs} +23 -7
  13. package/dist/chunk-JLZL25CY.mjs.map +1 -0
  14. package/dist/{chunk-KTLGSVD6.js → chunk-L5XT67QZ.js} +111 -111
  15. package/dist/{chunk-KTLGSVD6.js.map → chunk-L5XT67QZ.js.map} +1 -1
  16. package/dist/{chunk-GJPTAY5T.mjs → chunk-WJGSTAPB.mjs} +5 -5
  17. package/dist/{chunk-GJPTAY5T.mjs.map → chunk-WJGSTAPB.mjs.map} +1 -1
  18. package/dist/{chunk-N5UKVLSS.js → chunk-XVDK6J72.js} +62 -62
  19. package/dist/{chunk-N5UKVLSS.js.map → chunk-XVDK6J72.js.map} +1 -1
  20. package/dist/{chunk-XA653JS3.mjs → chunk-Y6RXVDQN.mjs} +15 -8
  21. package/dist/chunk-Y6RXVDQN.mjs.map +1 -0
  22. package/dist/{chunk-D7EMZAOQ.js → chunk-YAYUSBC6.js} +12 -12
  23. package/dist/{chunk-D7EMZAOQ.js.map → chunk-YAYUSBC6.js.map} +1 -1
  24. package/dist/core.d.mts +2 -2
  25. package/dist/core.d.ts +2 -2
  26. package/dist/core.js +16 -16
  27. package/dist/core.mjs +4 -4
  28. package/dist/display.d.mts +1 -1
  29. package/dist/display.d.ts +1 -1
  30. package/dist/display.js +10 -10
  31. package/dist/display.mjs +4 -4
  32. package/dist/index.d.mts +2 -2
  33. package/dist/index.d.ts +2 -2
  34. package/dist/index.js +57 -57
  35. package/dist/index.mjs +5 -5
  36. package/dist/utils.d.mts +1 -1
  37. package/dist/utils.d.ts +1 -1
  38. package/dist/utils.js +7 -7
  39. package/dist/utils.mjs +2 -2
  40. package/dist/vaults.d.mts +1 -1
  41. package/dist/vaults.d.ts +1 -1
  42. package/dist/vaults.js +25 -25
  43. package/dist/vaults.mjs +4 -4
  44. package/package.json +1 -1
  45. package/dist/chunk-2ZJWWK6D.js.map +0 -1
  46. package/dist/chunk-MPCRFKSD.mjs.map +0 -1
  47. package/dist/chunk-XA653JS3.mjs.map +0 -1
  48. package/dist/chunk-XS4SELWC.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/abi/accountant-abi.ts","../src/abi/boring-vault-abi.ts","../src/api/accountant.ts","../src/abi/erc2612-abi.ts","../src/api/erc20.ts"],"names":["erc20Abi"],"mappings":"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","file":"chunk-SXIBMN7X.mjs","sourcesContent":["export const AccountantAbi = [\n {\n type: \"constructor\",\n inputs: [\n { name: \"_owner\", type: \"address\", internalType: \"address\" },\n { name: \"_vault\", type: \"address\", internalType: \"address\" },\n { name: \"payoutAddress\", type: \"address\", internalType: \"address\" },\n { name: \"startingExchangeRate\", type: \"uint96\", internalType: \"uint96\" },\n { name: \"_base\", type: \"address\", internalType: \"address\" },\n {\n name: \"allowedExchangeRateChangeUpper\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"allowedExchangeRateChangeLower\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"minimumUpdateDelayInSeconds\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n { name: \"managementFee\", type: \"uint16\", internalType: \"uint16\" },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"accountantState\",\n inputs: [],\n outputs: [\n { name: \"payoutAddress\", type: \"address\", internalType: \"address\" },\n { name: \"feesOwedInBase\", type: \"uint128\", internalType: \"uint128\" },\n {\n name: \"totalSharesLastUpdate\",\n type: \"uint128\",\n internalType: \"uint128\",\n },\n { name: \"exchangeRate\", type: \"uint96\", internalType: \"uint96\" },\n {\n name: \"allowedExchangeRateChangeUpper\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"allowedExchangeRateChangeLower\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n { name: \"lastUpdateTimestamp\", type: \"uint64\", internalType: \"uint64\" },\n { name: \"isPaused\", type: \"bool\", internalType: \"bool\" },\n {\n name: \"minimumUpdateDelayInSeconds\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n { name: \"managementFee\", type: \"uint16\", internalType: \"uint16\" },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"authority\",\n inputs: [],\n outputs: [\n { name: \"\", type: \"address\", internalType: \"contract Authority\" },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"base\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\", internalType: \"contract ERC20\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"claimFees\",\n inputs: [\n { name: \"feeAsset\", type: \"address\", internalType: \"contract ERC20\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"decimals\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint8\", internalType: \"uint8\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getRate\",\n inputs: [],\n outputs: [{ name: \"rate\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getRateInQuote\",\n inputs: [\n { name: \"quote\", type: \"address\", internalType: \"contract ERC20\" },\n ],\n outputs: [\n { name: \"rateInQuote\", type: \"uint256\", internalType: \"uint256\" },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getRateInQuoteSafe\",\n inputs: [\n { name: \"quote\", type: \"address\", internalType: \"contract ERC20\" },\n ],\n outputs: [\n { name: \"rateInQuote\", type: \"uint256\", internalType: \"uint256\" },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getRateSafe\",\n inputs: [],\n outputs: [{ name: \"rate\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"owner\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"pause\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"rateProviderData\",\n inputs: [{ name: \"\", type: \"address\", internalType: \"contract ERC20\" }],\n outputs: [\n { name: \"isPeggedToBase\", type: \"bool\", internalType: \"bool\" },\n {\n name: \"rateProvider\",\n type: \"address\",\n internalType: \"contract IRateProvider\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"setAuthority\",\n inputs: [\n {\n name: \"newAuthority\",\n type: \"address\",\n internalType: \"contract Authority\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"setRateProviderData\",\n inputs: [\n { name: \"asset\", type: \"address\", internalType: \"contract ERC20\" },\n { name: \"isPeggedToBase\", type: \"bool\", internalType: \"bool\" },\n { name: \"rateProvider\", type: \"address\", internalType: \"address\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"transferOwnership\",\n inputs: [{ name: \"newOwner\", type: \"address\", internalType: \"address\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"unpause\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"updateDelay\",\n inputs: [\n {\n name: \"minimumUpdateDelayInSeconds\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"updateExchangeRate\",\n inputs: [\n { name: \"newExchangeRate\", type: \"uint96\", internalType: \"uint96\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"updateLower\",\n inputs: [\n {\n name: \"allowedExchangeRateChangeLower\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"updateManagementFee\",\n inputs: [{ name: \"managementFee\", type: \"uint16\", internalType: \"uint16\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"updatePayoutAddress\",\n inputs: [\n { name: \"payoutAddress\", type: \"address\", internalType: \"address\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"updateUpper\",\n inputs: [\n {\n name: \"allowedExchangeRateChangeUpper\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"vault\",\n inputs: [],\n outputs: [\n { name: \"\", type: \"address\", internalType: \"contract BoringVault\" },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"event\",\n name: \"AuthorityUpdated\",\n inputs: [\n { name: \"user\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"newAuthority\",\n type: \"address\",\n indexed: true,\n internalType: \"contract Authority\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"DelayInSecondsUpdated\",\n inputs: [\n {\n name: \"oldDelay\",\n type: \"uint32\",\n indexed: false,\n internalType: \"uint32\",\n },\n {\n name: \"newDelay\",\n type: \"uint32\",\n indexed: false,\n internalType: \"uint32\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"ExchangeRateUpdated\",\n inputs: [\n {\n name: \"oldRate\",\n type: \"uint96\",\n indexed: false,\n internalType: \"uint96\",\n },\n {\n name: \"newRate\",\n type: \"uint96\",\n indexed: false,\n internalType: \"uint96\",\n },\n {\n name: \"currentTime\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"FeesClaimed\",\n inputs: [\n {\n name: \"feeAsset\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"LowerBoundUpdated\",\n inputs: [\n {\n name: \"oldBound\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"newBound\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"ManagementFeeUpdated\",\n inputs: [\n {\n name: \"oldFee\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"newFee\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferred\",\n inputs: [\n { name: \"user\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"newOwner\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n { type: \"event\", name: \"Paused\", inputs: [], anonymous: false },\n {\n type: \"event\",\n name: \"PayoutAddressUpdated\",\n inputs: [\n {\n name: \"oldPayout\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"newPayout\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RateProviderUpdated\",\n inputs: [\n {\n name: \"asset\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n { name: \"isPegged\", type: \"bool\", indexed: false, internalType: \"bool\" },\n {\n name: \"rateProvider\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n { type: \"event\", name: \"Unpaused\", inputs: [], anonymous: false },\n {\n type: \"event\",\n name: \"UpperBoundUpdated\",\n inputs: [\n {\n name: \"oldBound\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"newBound\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"error\",\n name: \"AccountantWithRateProviders__LowerBoundTooLarge\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"AccountantWithRateProviders__ManagementFeeTooLarge\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"AccountantWithRateProviders__OnlyCallableByBoringVault\",\n inputs: [],\n },\n { type: \"error\", name: \"AccountantWithRateProviders__Paused\", inputs: [] },\n {\n type: \"error\",\n name: \"AccountantWithRateProviders__UpdateDelayTooLarge\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"AccountantWithRateProviders__UpperBoundTooSmall\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"AccountantWithRateProviders__ZeroFeesOwed\",\n inputs: [],\n },\n] as const;\n","export const BoringVaultAbi = [\n {\n type: \"constructor\",\n inputs: [\n { name: \"_owner\", type: \"address\", internalType: \"address\" },\n { name: \"_name\", type: \"string\", internalType: \"string\" },\n { name: \"_symbol\", type: \"string\", internalType: \"string\" },\n { name: \"_decimals\", type: \"uint8\", internalType: \"uint8\" },\n ],\n stateMutability: \"nonpayable\",\n },\n { type: \"receive\", stateMutability: \"payable\" },\n {\n type: \"function\",\n name: \"DOMAIN_SEPARATOR\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"allowance\",\n inputs: [\n { name: \"\", type: \"address\", internalType: \"address\" },\n { name: \"\", type: \"address\", internalType: \"address\" },\n ],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"approve\",\n inputs: [\n { name: \"spender\", type: \"address\", internalType: \"address\" },\n { name: \"amount\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"authority\",\n inputs: [],\n outputs: [\n { name: \"\", type: \"address\", internalType: \"contract Authority\" },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"balanceOf\",\n inputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"decimals\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint8\", internalType: \"uint8\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"enter\",\n inputs: [\n { name: \"from\", type: \"address\", internalType: \"address\" },\n { name: \"asset\", type: \"address\", internalType: \"contract ERC20\" },\n { name: \"assetAmount\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"to\", type: \"address\", internalType: \"address\" },\n { name: \"shareAmount\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"exit\",\n inputs: [\n { name: \"to\", type: \"address\", internalType: \"address\" },\n { name: \"asset\", type: \"address\", internalType: \"contract ERC20\" },\n { name: \"assetAmount\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"from\", type: \"address\", internalType: \"address\" },\n { name: \"shareAmount\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"hook\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"contract BeforeTransferHook\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"manage\",\n inputs: [\n { name: \"targets\", type: \"address[]\", internalType: \"address[]\" },\n { name: \"data\", type: \"bytes[]\", internalType: \"bytes[]\" },\n { name: \"values\", type: \"uint256[]\", internalType: \"uint256[]\" },\n ],\n outputs: [{ name: \"results\", type: \"bytes[]\", internalType: \"bytes[]\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"manage\",\n inputs: [\n { name: \"target\", type: \"address\", internalType: \"address\" },\n { name: \"data\", type: \"bytes\", internalType: \"bytes\" },\n { name: \"value\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"result\", type: \"bytes\", internalType: \"bytes\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"name\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\", internalType: \"string\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"nonces\",\n inputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"onERC1155BatchReceived\",\n inputs: [\n { name: \"\", type: \"address\", internalType: \"address\" },\n { name: \"\", type: \"address\", internalType: \"address\" },\n { name: \"\", type: \"uint256[]\", internalType: \"uint256[]\" },\n { name: \"\", type: \"uint256[]\", internalType: \"uint256[]\" },\n { name: \"\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [{ name: \"\", type: \"bytes4\", internalType: \"bytes4\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"onERC1155Received\",\n inputs: [\n { name: \"\", type: \"address\", internalType: \"address\" },\n { name: \"\", type: \"address\", internalType: \"address\" },\n { name: \"\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [{ name: \"\", type: \"bytes4\", internalType: \"bytes4\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"onERC721Received\",\n inputs: [\n { name: \"\", type: \"address\", internalType: \"address\" },\n { name: \"\", type: \"address\", internalType: \"address\" },\n { name: \"\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [{ name: \"\", type: \"bytes4\", internalType: \"bytes4\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"owner\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"permit\",\n inputs: [\n { name: \"owner\", type: \"address\", internalType: \"address\" },\n { name: \"spender\", type: \"address\", internalType: \"address\" },\n { name: \"value\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"deadline\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"v\", type: \"uint8\", internalType: \"uint8\" },\n { name: \"r\", type: \"bytes32\", internalType: \"bytes32\" },\n { name: \"s\", type: \"bytes32\", internalType: \"bytes32\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"setAuthority\",\n inputs: [\n {\n name: \"newAuthority\",\n type: \"address\",\n internalType: \"contract Authority\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"setBeforeTransferHook\",\n inputs: [{ name: \"_hook\", type: \"address\", internalType: \"address\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"supportsInterface\",\n inputs: [{ name: \"interfaceId\", type: \"bytes4\", internalType: \"bytes4\" }],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"symbol\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\", internalType: \"string\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"totalSupply\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"transfer\",\n inputs: [\n { name: \"to\", type: \"address\", internalType: \"address\" },\n { name: \"amount\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"transferFrom\",\n inputs: [\n { name: \"from\", type: \"address\", internalType: \"address\" },\n { name: \"to\", type: \"address\", internalType: \"address\" },\n { name: \"amount\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"transferOwnership\",\n inputs: [{ name: \"newOwner\", type: \"address\", internalType: \"address\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"event\",\n name: \"Approval\",\n inputs: [\n {\n name: \"owner\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"spender\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"AuthorityUpdated\",\n inputs: [\n { name: \"user\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"newAuthority\",\n type: \"address\",\n indexed: true,\n internalType: \"contract Authority\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Enter\",\n inputs: [\n { name: \"from\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"asset\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n { name: \"to\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"shares\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Exit\",\n inputs: [\n { name: \"to\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"asset\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n { name: \"from\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"shares\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferred\",\n inputs: [\n { name: \"user\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"newOwner\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Transfer\",\n inputs: [\n { name: \"from\", type: \"address\", indexed: true, internalType: \"address\" },\n { name: \"to\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"error\",\n name: \"AddressEmptyCode\",\n inputs: [{ name: \"target\", type: \"address\", internalType: \"address\" }],\n },\n {\n type: \"error\",\n name: \"AddressInsufficientBalance\",\n inputs: [{ name: \"account\", type: \"address\", internalType: \"address\" }],\n },\n { type: \"error\", name: \"FailedInnerCall\", inputs: [] },\n] as const;\n","import { type Address, erc20Abi } from \"viem\";\nimport { AccountantAbi } from \"../abi/accountant-abi\";\nimport { BoringVaultAbi } from \"../abi/boring-vault-abi\";\nimport { getClient } from \"../lib/viem/client\";\nimport type { ChainId } from \"../utils/chain-utils\";\n\ntype AccountantBaseProps = {\n accountantAddress: Address;\n chainId: ChainId;\n};\n\ntype RateInQuoteWithAssetDecimalsProps = AccountantBaseProps & {\n assetAddress: Address;\n};\n\n// TODO: Duplicated in multicall compare and remove\nconst getRateInQuoteWithAssetDecimals = async ({\n assetAddress,\n accountantAddress,\n chainId,\n}: RateInQuoteWithAssetDecimalsProps) => {\n const client = await getClient(chainId);\n\n const results = await client.multicall({\n contracts: [\n {\n abi: erc20Abi,\n address: assetAddress,\n functionName: \"decimals\",\n },\n {\n abi: AccountantAbi,\n address: accountantAddress,\n functionName: \"getRateInQuote\",\n args: [assetAddress],\n },\n ],\n });\n return results;\n};\n\ntype RateInQuoteAndSharesAndWantAssetDecimalsParams = {\n sharesAssetAddress: Address;\n wantAssetAddress: Address;\n accountantAddress: Address;\n chainId: ChainId;\n};\n\n// TODO: Move to multicall\nconst getRateInQuoteAndSharesAndWantAssetDecimals = async ({\n sharesAssetAddress,\n wantAssetAddress,\n accountantAddress,\n chainId,\n}: RateInQuoteAndSharesAndWantAssetDecimalsParams) => {\n const client = await getClient(chainId);\n\n const results = await client.multicall({\n contracts: [\n {\n abi: erc20Abi,\n address: wantAssetAddress,\n functionName: \"decimals\",\n },\n {\n abi: BoringVaultAbi,\n address: sharesAssetAddress,\n functionName: \"decimals\",\n },\n {\n abi: AccountantAbi,\n address: accountantAddress,\n functionName: \"getRateInQuote\",\n args: [wantAssetAddress],\n },\n ],\n });\n return results;\n};\n\nexport {\n getRateInQuoteAndSharesAndWantAssetDecimals,\n getRateInQuoteWithAssetDecimals,\n};\n","/**\n * ERC2612 Permit ABI\n *\n * Standard ERC20 + ERC2612 permit extension interface.\n * Enables off-chain signed approval (permit) to combine approval + transfer in single transaction.\n *\n * Reference: https://eips.ethereum.org/EIPS/eip-2612\n */\n\nexport const erc2612Abi = [\n // Standard ERC20 functions (subset needed for permit flow)\n {\n constant: true,\n inputs: [{ name: \"_owner\", type: \"address\" }],\n name: \"nonces\",\n outputs: [{ name: \"\", type: \"uint256\" }],\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"DOMAIN_SEPARATOR\",\n outputs: [{ name: \"\", type: \"bytes32\" }],\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n { name: \"owner\", type: \"address\" },\n { name: \"spender\", type: \"address\" },\n { name: \"value\", type: \"uint256\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"v\", type: \"uint8\" },\n { name: \"r\", type: \"bytes32\" },\n { name: \"s\", type: \"bytes32\" },\n ],\n name: \"permit\",\n outputs: [],\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"name\",\n outputs: [{ name: \"\", type: \"string\" }],\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"version\",\n outputs: [{ name: \"\", type: \"string\" }],\n type: \"function\",\n },\n] as const;\n\n/**\n * Standard ERC20 ABI (subset for basic token operations)\n */\nexport const erc20Abi = [\n {\n constant: true,\n inputs: [{ name: \"_owner\", type: \"address\" }],\n name: \"balanceOf\",\n outputs: [{ name: \"balance\", type: \"uint256\" }],\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n { name: \"_owner\", type: \"address\" },\n { name: \"_spender\", type: \"address\" },\n ],\n name: \"allowance\",\n outputs: [{ name: \"remaining\", type: \"uint256\" }],\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n { name: \"_spender\", type: \"address\" },\n { name: \"_value\", type: \"uint256\" },\n ],\n name: \"approve\",\n outputs: [{ name: \"\", type: \"bool\" }],\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n { name: \"_to\", type: \"address\" },\n { name: \"_value\", type: \"uint256\" },\n ],\n name: \"transfer\",\n outputs: [{ name: \"\", type: \"bool\" }],\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n { name: \"_from\", type: \"address\" },\n { name: \"_to\", type: \"address\" },\n { name: \"_value\", type: \"uint256\" },\n ],\n name: \"transferFrom\",\n outputs: [{ name: \"\", type: \"bool\" }],\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"decimals\",\n outputs: [{ name: \"\", type: \"uint8\" }],\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"symbol\",\n outputs: [{ name: \"\", type: \"string\" }],\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"totalSupply\",\n outputs: [{ name: \"\", type: \"uint256\" }],\n type: \"function\",\n },\n] as const;\n\n/**\n * Permit-capable ERC20 ABI (combined ERC20 + ERC2612)\n */\nexport const permitCapableErc20Abi = [\n ...erc20Abi,\n // Add permit-specific functions\n {\n constant: true,\n inputs: [{ name: \"_owner\", type: \"address\" }],\n name: \"nonces\",\n outputs: [{ name: \"\", type: \"uint256\" }],\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"DOMAIN_SEPARATOR\",\n outputs: [{ name: \"\", type: \"bytes32\" }],\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n { name: \"owner\", type: \"address\" },\n { name: \"spender\", type: \"address\" },\n { name: \"value\", type: \"uint256\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"v\", type: \"uint8\" },\n { name: \"r\", type: \"bytes32\" },\n { name: \"s\", type: \"bytes32\" },\n ],\n name: \"permit\",\n outputs: [],\n type: \"function\",\n },\n] as const;\n","import { type Address, erc20Abi, type Hex } from \"viem\";\nimport { erc2612Abi } from \"../abi/erc2612-abi\";\nimport { getClient } from \"../lib/viem/client\";\nimport { APIError } from \"../types/amplify-sdk-api\";\nimport type { ChainId } from \"../utils/chain-utils\";\n\ninterface GetErc20BalanceParams {\n chainId: ChainId;\n tokenAddress: Address;\n recipientAddress: Address;\n}\n\nconst getErc20Balance = async ({\n chainId,\n tokenAddress,\n recipientAddress,\n}: GetErc20BalanceParams): Promise<bigint> => {\n const client = await getClient(chainId);\n\n const balance = await client.readContract({\n abi: erc20Abi,\n address: tokenAddress,\n functionName: \"balanceOf\",\n args: [recipientAddress],\n });\n\n return balance;\n};\n\ninterface GetErc20DecimalsParams {\n chainId: ChainId;\n tokenAddress: Address;\n}\nconst getErc20Decimals = async ({\n chainId,\n tokenAddress,\n}: GetErc20DecimalsParams) => {\n const client = await getClient(chainId);\n\n const balance = await client.readContract({\n abi: erc20Abi,\n address: tokenAddress,\n functionName: \"decimals\",\n });\n\n return balance;\n};\n\ninterface GetErc20AllowanceParams {\n chainId: ChainId;\n tokenAddress: Address;\n recipientAddress: Address;\n spenderAddress: Address;\n}\n\nconst getErc20Allowance = async ({\n chainId,\n tokenAddress,\n recipientAddress,\n spenderAddress,\n}: GetErc20AllowanceParams) => {\n const client = await getClient(chainId);\n\n const allowance = await client.readContract({\n abi: erc20Abi,\n address: tokenAddress,\n functionName: \"allowance\",\n args: [recipientAddress, spenderAddress],\n });\n\n return allowance;\n};\n\nconst getErc20AllowanceWithDecimals = async ({\n chainId,\n tokenAddress,\n recipientAddress,\n spenderAddress,\n}: GetErc20AllowanceParams) => {\n const client = await getClient(chainId);\n\n const allowance = await client.multicall({\n contracts: [\n {\n abi: erc20Abi,\n address: tokenAddress,\n functionName: \"allowance\",\n args: [recipientAddress, spenderAddress],\n },\n {\n abi: erc20Abi,\n address: tokenAddress,\n functionName: \"decimals\",\n },\n ],\n });\n return allowance;\n};\n\n/**\n * Parameters for getTokenPermitInfoWithAllowance\n */\ninterface GetTokenPermitInfoWithAllowanceParams {\n /** Chain ID where the token is deployed */\n chainId: ChainId;\n /** Token contract address */\n tokenAddress: Address;\n /** Token owner address (for nonce and allowance lookup) */\n owner: Address;\n /** Spender address (for allowance lookup) */\n spender: Address;\n}\n\n/**\n * Token permit and allowance information\n *\n * Contains decimals, allowance, and EIP-2612 permit support detection.\n * When supportsPermit is true, nonce and domainSeparator are guaranteed present.\n */\ninterface TokenPermitInfoWithAllowance {\n /** Token decimals */\n decimals: number;\n /** Current allowance for spender */\n allowance: bigint;\n /** Whether the token supports EIP-2612 permit */\n supportsPermit: boolean;\n /** Current nonce for owner (null if permit not supported) */\n nonce: bigint | null;\n /** EIP-712 domain separator (null if permit not supported) */\n domainSeparator: Hex | null;\n /** Token name (for EIP-712 domain) */\n tokenName: string;\n /** Token version for EIP-712 (defaults to \"1\" if not available) */\n tokenVersion: string;\n}\n\n/**\n * Retrieves token decimals, allowance, and permit support in a single multicall\n *\n * Uses a single multicall to efficiently query:\n * - decimals() - MUST succeed (throws if fails)\n * - allowance(owner, spender) - MUST succeed (throws if fails)\n * - nonces(owner) - Optional, indicates permit support\n * - DOMAIN_SEPARATOR() - Optional, confirms permit support\n *\n * Permit support requires BOTH nonces() AND DOMAIN_SEPARATOR() to succeed.\n *\n * @param params - Query parameters\n * @returns Combined token info with permit support detection\n * @throws {APIError} If critical calls (decimals, allowance) fail\n *\n * @example\n * ```typescript\n * const info = await getTokenPermitInfoWithAllowance({\n * chainId: 1,\n * tokenAddress: \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n * owner: \"0x1234...\",\n * spender: \"0x5678...\",\n * });\n *\n * if (info.supportsPermit) {\n * // Use permit deposit flow\n * console.log(\"Nonce:\", info.nonce);\n * console.log(\"Domain:\", info.domainSeparator);\n * } else if (info.allowance < depositAmount) {\n * // Request approval\n * }\n * ```\n */\nconst getTokenPermitInfoWithAllowance = async ({\n chainId,\n tokenAddress,\n owner,\n spender,\n}: GetTokenPermitInfoWithAllowanceParams): Promise<TokenPermitInfoWithAllowance> => {\n const client = await getClient(chainId);\n\n const results = await client.multicall({\n contracts: [\n {\n abi: erc20Abi,\n address: tokenAddress,\n functionName: \"decimals\",\n },\n {\n abi: erc20Abi,\n address: tokenAddress,\n functionName: \"allowance\",\n args: [owner, spender],\n },\n {\n abi: erc2612Abi,\n address: tokenAddress,\n functionName: \"nonces\",\n args: [owner],\n },\n {\n abi: erc2612Abi,\n address: tokenAddress,\n functionName: \"DOMAIN_SEPARATOR\",\n },\n {\n abi: erc20Abi,\n address: tokenAddress,\n functionName: \"name\",\n },\n {\n abi: erc2612Abi,\n address: tokenAddress,\n functionName: \"version\",\n },\n ],\n allowFailure: true,\n });\n\n const [\n decimalsResult,\n allowanceResult,\n nonceResult,\n domainSeparatorResult,\n nameResult,\n versionResult,\n ] = results;\n\n // Required calls must succeed\n if (decimalsResult.status === \"failure\") {\n throw new APIError(\n `Failed to read decimals from token ${tokenAddress}: ${\n decimalsResult.error?.message || \"Unknown error\"\n }`,\n {\n endpoint: \"getTokenPermitInfoWithAllowance\",\n cause: decimalsResult.error,\n }\n );\n }\n\n if (allowanceResult.status === \"failure\") {\n throw new APIError(\n `Failed to read allowance from token ${tokenAddress}: ${\n allowanceResult.error?.message || \"Unknown error\"\n }`,\n {\n endpoint: \"getTokenPermitInfoWithAllowance\",\n cause: allowanceResult.error,\n }\n );\n }\n\n // Token name is required (standard ERC20)\n if (nameResult.status === \"failure\") {\n throw new APIError(\n `Failed to read name from token ${tokenAddress}: ${\n nameResult.error?.message || \"Unknown error\"\n }`,\n {\n endpoint: \"getTokenPermitInfoWithAllowance\",\n cause: nameResult.error,\n }\n );\n }\n\n // Optional permit support detection\n // Both nonces AND DOMAIN_SEPARATOR must succeed for permit support\n const nonce =\n nonceResult.status === \"success\" ? (nonceResult.result as bigint) : null;\n const domainSeparator =\n domainSeparatorResult.status === \"success\"\n ? (domainSeparatorResult.result as Hex)\n : null;\n\n const supportsPermit = nonce !== null && domainSeparator !== null;\n\n // Token version is optional (EIP-2612), defaults to \"1\"\n const tokenVersion =\n versionResult.status === \"success\" ? (versionResult.result as string) : \"1\";\n\n return {\n decimals: decimalsResult.result,\n allowance: allowanceResult.result,\n supportsPermit,\n nonce,\n domainSeparator,\n tokenName: nameResult.result,\n tokenVersion,\n };\n};\n\nexport {\n getErc20Allowance,\n getErc20AllowanceWithDecimals,\n getErc20Balance,\n getErc20Decimals,\n getTokenPermitInfoWithAllowance,\n};\n\nexport type {\n GetTokenPermitInfoWithAllowanceParams,\n TokenPermitInfoWithAllowance,\n};\n"]}
1
+ {"version":3,"sources":["../src/abi/accountant-abi.ts","../src/abi/boring-vault-abi.ts","../src/api/accountant.ts","../src/abi/erc2612-abi.ts","../src/api/erc20.ts"],"names":["erc20Abi"],"mappings":"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","file":"chunk-E6SBQNDA.mjs","sourcesContent":["export const AccountantAbi = [\n {\n type: \"constructor\",\n inputs: [\n { name: \"_owner\", type: \"address\", internalType: \"address\" },\n { name: \"_vault\", type: \"address\", internalType: \"address\" },\n { name: \"payoutAddress\", type: \"address\", internalType: \"address\" },\n { name: \"startingExchangeRate\", type: \"uint96\", internalType: \"uint96\" },\n { name: \"_base\", type: \"address\", internalType: \"address\" },\n {\n name: \"allowedExchangeRateChangeUpper\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"allowedExchangeRateChangeLower\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"minimumUpdateDelayInSeconds\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n { name: \"managementFee\", type: \"uint16\", internalType: \"uint16\" },\n ],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"accountantState\",\n inputs: [],\n outputs: [\n { name: \"payoutAddress\", type: \"address\", internalType: \"address\" },\n { name: \"feesOwedInBase\", type: \"uint128\", internalType: \"uint128\" },\n {\n name: \"totalSharesLastUpdate\",\n type: \"uint128\",\n internalType: \"uint128\",\n },\n { name: \"exchangeRate\", type: \"uint96\", internalType: \"uint96\" },\n {\n name: \"allowedExchangeRateChangeUpper\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n {\n name: \"allowedExchangeRateChangeLower\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n { name: \"lastUpdateTimestamp\", type: \"uint64\", internalType: \"uint64\" },\n { name: \"isPaused\", type: \"bool\", internalType: \"bool\" },\n {\n name: \"minimumUpdateDelayInSeconds\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n { name: \"managementFee\", type: \"uint16\", internalType: \"uint16\" },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"authority\",\n inputs: [],\n outputs: [\n { name: \"\", type: \"address\", internalType: \"contract Authority\" },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"base\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\", internalType: \"contract ERC20\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"claimFees\",\n inputs: [\n { name: \"feeAsset\", type: \"address\", internalType: \"contract ERC20\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"decimals\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint8\", internalType: \"uint8\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getRate\",\n inputs: [],\n outputs: [{ name: \"rate\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getRateInQuote\",\n inputs: [\n { name: \"quote\", type: \"address\", internalType: \"contract ERC20\" },\n ],\n outputs: [\n { name: \"rateInQuote\", type: \"uint256\", internalType: \"uint256\" },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getRateInQuoteSafe\",\n inputs: [\n { name: \"quote\", type: \"address\", internalType: \"contract ERC20\" },\n ],\n outputs: [\n { name: \"rateInQuote\", type: \"uint256\", internalType: \"uint256\" },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"getRateSafe\",\n inputs: [],\n outputs: [{ name: \"rate\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"owner\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"pause\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"rateProviderData\",\n inputs: [{ name: \"\", type: \"address\", internalType: \"contract ERC20\" }],\n outputs: [\n { name: \"isPeggedToBase\", type: \"bool\", internalType: \"bool\" },\n {\n name: \"rateProvider\",\n type: \"address\",\n internalType: \"contract IRateProvider\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"setAuthority\",\n inputs: [\n {\n name: \"newAuthority\",\n type: \"address\",\n internalType: \"contract Authority\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"setRateProviderData\",\n inputs: [\n { name: \"asset\", type: \"address\", internalType: \"contract ERC20\" },\n { name: \"isPeggedToBase\", type: \"bool\", internalType: \"bool\" },\n { name: \"rateProvider\", type: \"address\", internalType: \"address\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"transferOwnership\",\n inputs: [{ name: \"newOwner\", type: \"address\", internalType: \"address\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"unpause\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"updateDelay\",\n inputs: [\n {\n name: \"minimumUpdateDelayInSeconds\",\n type: \"uint32\",\n internalType: \"uint32\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"updateExchangeRate\",\n inputs: [\n { name: \"newExchangeRate\", type: \"uint96\", internalType: \"uint96\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"updateLower\",\n inputs: [\n {\n name: \"allowedExchangeRateChangeLower\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"updateManagementFee\",\n inputs: [{ name: \"managementFee\", type: \"uint16\", internalType: \"uint16\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"updatePayoutAddress\",\n inputs: [\n { name: \"payoutAddress\", type: \"address\", internalType: \"address\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"updateUpper\",\n inputs: [\n {\n name: \"allowedExchangeRateChangeUpper\",\n type: \"uint16\",\n internalType: \"uint16\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"vault\",\n inputs: [],\n outputs: [\n { name: \"\", type: \"address\", internalType: \"contract BoringVault\" },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"event\",\n name: \"AuthorityUpdated\",\n inputs: [\n { name: \"user\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"newAuthority\",\n type: \"address\",\n indexed: true,\n internalType: \"contract Authority\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"DelayInSecondsUpdated\",\n inputs: [\n {\n name: \"oldDelay\",\n type: \"uint32\",\n indexed: false,\n internalType: \"uint32\",\n },\n {\n name: \"newDelay\",\n type: \"uint32\",\n indexed: false,\n internalType: \"uint32\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"ExchangeRateUpdated\",\n inputs: [\n {\n name: \"oldRate\",\n type: \"uint96\",\n indexed: false,\n internalType: \"uint96\",\n },\n {\n name: \"newRate\",\n type: \"uint96\",\n indexed: false,\n internalType: \"uint96\",\n },\n {\n name: \"currentTime\",\n type: \"uint64\",\n indexed: false,\n internalType: \"uint64\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"FeesClaimed\",\n inputs: [\n {\n name: \"feeAsset\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"LowerBoundUpdated\",\n inputs: [\n {\n name: \"oldBound\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"newBound\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"ManagementFeeUpdated\",\n inputs: [\n {\n name: \"oldFee\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"newFee\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferred\",\n inputs: [\n { name: \"user\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"newOwner\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n { type: \"event\", name: \"Paused\", inputs: [], anonymous: false },\n {\n type: \"event\",\n name: \"PayoutAddressUpdated\",\n inputs: [\n {\n name: \"oldPayout\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n {\n name: \"newPayout\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RateProviderUpdated\",\n inputs: [\n {\n name: \"asset\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n { name: \"isPegged\", type: \"bool\", indexed: false, internalType: \"bool\" },\n {\n name: \"rateProvider\",\n type: \"address\",\n indexed: false,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n { type: \"event\", name: \"Unpaused\", inputs: [], anonymous: false },\n {\n type: \"event\",\n name: \"UpperBoundUpdated\",\n inputs: [\n {\n name: \"oldBound\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n {\n name: \"newBound\",\n type: \"uint16\",\n indexed: false,\n internalType: \"uint16\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"error\",\n name: \"AccountantWithRateProviders__LowerBoundTooLarge\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"AccountantWithRateProviders__ManagementFeeTooLarge\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"AccountantWithRateProviders__OnlyCallableByBoringVault\",\n inputs: [],\n },\n { type: \"error\", name: \"AccountantWithRateProviders__Paused\", inputs: [] },\n {\n type: \"error\",\n name: \"AccountantWithRateProviders__UpdateDelayTooLarge\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"AccountantWithRateProviders__UpperBoundTooSmall\",\n inputs: [],\n },\n {\n type: \"error\",\n name: \"AccountantWithRateProviders__ZeroFeesOwed\",\n inputs: [],\n },\n] as const;\n","export const BoringVaultAbi = [\n {\n type: \"constructor\",\n inputs: [\n { name: \"_owner\", type: \"address\", internalType: \"address\" },\n { name: \"_name\", type: \"string\", internalType: \"string\" },\n { name: \"_symbol\", type: \"string\", internalType: \"string\" },\n { name: \"_decimals\", type: \"uint8\", internalType: \"uint8\" },\n ],\n stateMutability: \"nonpayable\",\n },\n { type: \"receive\", stateMutability: \"payable\" },\n {\n type: \"function\",\n name: \"DOMAIN_SEPARATOR\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"allowance\",\n inputs: [\n { name: \"\", type: \"address\", internalType: \"address\" },\n { name: \"\", type: \"address\", internalType: \"address\" },\n ],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"approve\",\n inputs: [\n { name: \"spender\", type: \"address\", internalType: \"address\" },\n { name: \"amount\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"authority\",\n inputs: [],\n outputs: [\n { name: \"\", type: \"address\", internalType: \"contract Authority\" },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"balanceOf\",\n inputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"decimals\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint8\", internalType: \"uint8\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"enter\",\n inputs: [\n { name: \"from\", type: \"address\", internalType: \"address\" },\n { name: \"asset\", type: \"address\", internalType: \"contract ERC20\" },\n { name: \"assetAmount\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"to\", type: \"address\", internalType: \"address\" },\n { name: \"shareAmount\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"exit\",\n inputs: [\n { name: \"to\", type: \"address\", internalType: \"address\" },\n { name: \"asset\", type: \"address\", internalType: \"contract ERC20\" },\n { name: \"assetAmount\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"from\", type: \"address\", internalType: \"address\" },\n { name: \"shareAmount\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"hook\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"address\",\n internalType: \"contract BeforeTransferHook\",\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"manage\",\n inputs: [\n { name: \"targets\", type: \"address[]\", internalType: \"address[]\" },\n { name: \"data\", type: \"bytes[]\", internalType: \"bytes[]\" },\n { name: \"values\", type: \"uint256[]\", internalType: \"uint256[]\" },\n ],\n outputs: [{ name: \"results\", type: \"bytes[]\", internalType: \"bytes[]\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"manage\",\n inputs: [\n { name: \"target\", type: \"address\", internalType: \"address\" },\n { name: \"data\", type: \"bytes\", internalType: \"bytes\" },\n { name: \"value\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"result\", type: \"bytes\", internalType: \"bytes\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"name\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\", internalType: \"string\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"nonces\",\n inputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"onERC1155BatchReceived\",\n inputs: [\n { name: \"\", type: \"address\", internalType: \"address\" },\n { name: \"\", type: \"address\", internalType: \"address\" },\n { name: \"\", type: \"uint256[]\", internalType: \"uint256[]\" },\n { name: \"\", type: \"uint256[]\", internalType: \"uint256[]\" },\n { name: \"\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [{ name: \"\", type: \"bytes4\", internalType: \"bytes4\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"onERC1155Received\",\n inputs: [\n { name: \"\", type: \"address\", internalType: \"address\" },\n { name: \"\", type: \"address\", internalType: \"address\" },\n { name: \"\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [{ name: \"\", type: \"bytes4\", internalType: \"bytes4\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"onERC721Received\",\n inputs: [\n { name: \"\", type: \"address\", internalType: \"address\" },\n { name: \"\", type: \"address\", internalType: \"address\" },\n { name: \"\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [{ name: \"\", type: \"bytes4\", internalType: \"bytes4\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"owner\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"permit\",\n inputs: [\n { name: \"owner\", type: \"address\", internalType: \"address\" },\n { name: \"spender\", type: \"address\", internalType: \"address\" },\n { name: \"value\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"deadline\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"v\", type: \"uint8\", internalType: \"uint8\" },\n { name: \"r\", type: \"bytes32\", internalType: \"bytes32\" },\n { name: \"s\", type: \"bytes32\", internalType: \"bytes32\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"setAuthority\",\n inputs: [\n {\n name: \"newAuthority\",\n type: \"address\",\n internalType: \"contract Authority\",\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"setBeforeTransferHook\",\n inputs: [{ name: \"_hook\", type: \"address\", internalType: \"address\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"supportsInterface\",\n inputs: [{ name: \"interfaceId\", type: \"bytes4\", internalType: \"bytes4\" }],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"symbol\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\", internalType: \"string\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"totalSupply\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"transfer\",\n inputs: [\n { name: \"to\", type: \"address\", internalType: \"address\" },\n { name: \"amount\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"transferFrom\",\n inputs: [\n { name: \"from\", type: \"address\", internalType: \"address\" },\n { name: \"to\", type: \"address\", internalType: \"address\" },\n { name: \"amount\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"transferOwnership\",\n inputs: [{ name: \"newOwner\", type: \"address\", internalType: \"address\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"event\",\n name: \"Approval\",\n inputs: [\n {\n name: \"owner\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"spender\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"AuthorityUpdated\",\n inputs: [\n { name: \"user\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"newAuthority\",\n type: \"address\",\n indexed: true,\n internalType: \"contract Authority\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Enter\",\n inputs: [\n { name: \"from\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"asset\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n { name: \"to\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"shares\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Exit\",\n inputs: [\n { name: \"to\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"asset\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n { name: \"from\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"shares\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferred\",\n inputs: [\n { name: \"user\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"newOwner\",\n type: \"address\",\n indexed: true,\n internalType: \"address\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Transfer\",\n inputs: [\n { name: \"from\", type: \"address\", indexed: true, internalType: \"address\" },\n { name: \"to\", type: \"address\", indexed: true, internalType: \"address\" },\n {\n name: \"amount\",\n type: \"uint256\",\n indexed: false,\n internalType: \"uint256\",\n },\n ],\n anonymous: false,\n },\n {\n type: \"error\",\n name: \"AddressEmptyCode\",\n inputs: [{ name: \"target\", type: \"address\", internalType: \"address\" }],\n },\n {\n type: \"error\",\n name: \"AddressInsufficientBalance\",\n inputs: [{ name: \"account\", type: \"address\", internalType: \"address\" }],\n },\n { type: \"error\", name: \"FailedInnerCall\", inputs: [] },\n] as const;\n","import { type Address, erc20Abi } from \"viem\";\nimport { AccountantAbi } from \"../abi/accountant-abi\";\nimport { BoringVaultAbi } from \"../abi/boring-vault-abi\";\nimport { getClient } from \"../lib/viem/client\";\nimport type { ChainId } from \"../utils/chain-utils\";\n\ntype AccountantBaseProps = {\n accountantAddress: Address;\n chainId: ChainId;\n};\n\ntype RateInQuoteWithAssetDecimalsProps = AccountantBaseProps & {\n assetAddress: Address;\n};\n\n// TODO: Duplicated in multicall compare and remove\nconst getRateInQuoteWithAssetDecimals = async ({\n assetAddress,\n accountantAddress,\n chainId,\n}: RateInQuoteWithAssetDecimalsProps) => {\n const client = await getClient(chainId);\n\n const results = await client.multicall({\n contracts: [\n {\n abi: erc20Abi,\n address: assetAddress,\n functionName: \"decimals\",\n },\n {\n abi: AccountantAbi,\n address: accountantAddress,\n functionName: \"getRateInQuote\",\n args: [assetAddress],\n },\n ],\n });\n return results;\n};\n\ntype RateInQuoteAndSharesAndWantAssetDecimalsParams = {\n sharesAssetAddress: Address;\n wantAssetAddress: Address;\n accountantAddress: Address;\n chainId: ChainId;\n};\n\n// TODO: Move to multicall\nconst getRateInQuoteAndSharesAndWantAssetDecimals = async ({\n sharesAssetAddress,\n wantAssetAddress,\n accountantAddress,\n chainId,\n}: RateInQuoteAndSharesAndWantAssetDecimalsParams) => {\n const client = await getClient(chainId);\n\n const results = await client.multicall({\n contracts: [\n {\n abi: erc20Abi,\n address: wantAssetAddress,\n functionName: \"decimals\",\n },\n {\n abi: BoringVaultAbi,\n address: sharesAssetAddress,\n functionName: \"decimals\",\n },\n {\n abi: AccountantAbi,\n address: accountantAddress,\n functionName: \"getRateInQuote\",\n args: [wantAssetAddress],\n },\n ],\n });\n return results;\n};\n\nexport {\n getRateInQuoteAndSharesAndWantAssetDecimals,\n getRateInQuoteWithAssetDecimals,\n};\n","/**\n * ERC2612 Permit ABI\n *\n * Standard ERC20 + ERC2612 permit extension interface.\n * Enables off-chain signed approval (permit) to combine approval + transfer in single transaction.\n *\n * Reference: https://eips.ethereum.org/EIPS/eip-2612\n */\n\nexport const erc2612Abi = [\n // Standard ERC20 functions (subset needed for permit flow)\n {\n constant: true,\n inputs: [{ name: \"_owner\", type: \"address\" }],\n name: \"nonces\",\n outputs: [{ name: \"\", type: \"uint256\" }],\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"DOMAIN_SEPARATOR\",\n outputs: [{ name: \"\", type: \"bytes32\" }],\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n { name: \"owner\", type: \"address\" },\n { name: \"spender\", type: \"address\" },\n { name: \"value\", type: \"uint256\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"v\", type: \"uint8\" },\n { name: \"r\", type: \"bytes32\" },\n { name: \"s\", type: \"bytes32\" },\n ],\n name: \"permit\",\n outputs: [],\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"name\",\n outputs: [{ name: \"\", type: \"string\" }],\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"version\",\n outputs: [{ name: \"\", type: \"string\" }],\n type: \"function\",\n },\n] as const;\n\n/**\n * Standard ERC20 ABI (subset for basic token operations)\n */\nexport const erc20Abi = [\n {\n constant: true,\n inputs: [{ name: \"_owner\", type: \"address\" }],\n name: \"balanceOf\",\n outputs: [{ name: \"balance\", type: \"uint256\" }],\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n { name: \"_owner\", type: \"address\" },\n { name: \"_spender\", type: \"address\" },\n ],\n name: \"allowance\",\n outputs: [{ name: \"remaining\", type: \"uint256\" }],\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n { name: \"_spender\", type: \"address\" },\n { name: \"_value\", type: \"uint256\" },\n ],\n name: \"approve\",\n outputs: [{ name: \"\", type: \"bool\" }],\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n { name: \"_to\", type: \"address\" },\n { name: \"_value\", type: \"uint256\" },\n ],\n name: \"transfer\",\n outputs: [{ name: \"\", type: \"bool\" }],\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n { name: \"_from\", type: \"address\" },\n { name: \"_to\", type: \"address\" },\n { name: \"_value\", type: \"uint256\" },\n ],\n name: \"transferFrom\",\n outputs: [{ name: \"\", type: \"bool\" }],\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"decimals\",\n outputs: [{ name: \"\", type: \"uint8\" }],\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"symbol\",\n outputs: [{ name: \"\", type: \"string\" }],\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"totalSupply\",\n outputs: [{ name: \"\", type: \"uint256\" }],\n type: \"function\",\n },\n] as const;\n\n/**\n * Permit-capable ERC20 ABI (combined ERC20 + ERC2612)\n */\nexport const permitCapableErc20Abi = [\n ...erc20Abi,\n // Add permit-specific functions\n {\n constant: true,\n inputs: [{ name: \"_owner\", type: \"address\" }],\n name: \"nonces\",\n outputs: [{ name: \"\", type: \"uint256\" }],\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"DOMAIN_SEPARATOR\",\n outputs: [{ name: \"\", type: \"bytes32\" }],\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n { name: \"owner\", type: \"address\" },\n { name: \"spender\", type: \"address\" },\n { name: \"value\", type: \"uint256\" },\n { name: \"deadline\", type: \"uint256\" },\n { name: \"v\", type: \"uint8\" },\n { name: \"r\", type: \"bytes32\" },\n { name: \"s\", type: \"bytes32\" },\n ],\n name: \"permit\",\n outputs: [],\n type: \"function\",\n },\n] as const;\n","import { type Address, erc20Abi, type Hex } from \"viem\";\nimport { erc2612Abi } from \"../abi/erc2612-abi\";\nimport { getClient } from \"../lib/viem/client\";\nimport { APIError } from \"../types/amplify-sdk-api\";\nimport type { ChainId } from \"../utils/chain-utils\";\n\ninterface GetErc20BalanceParams {\n chainId: ChainId;\n tokenAddress: Address;\n recipientAddress: Address;\n}\n\nconst getErc20Balance = async ({\n chainId,\n tokenAddress,\n recipientAddress,\n}: GetErc20BalanceParams): Promise<bigint> => {\n const client = await getClient(chainId);\n\n const balance = await client.readContract({\n abi: erc20Abi,\n address: tokenAddress,\n functionName: \"balanceOf\",\n args: [recipientAddress],\n });\n\n return balance;\n};\n\ninterface GetErc20DecimalsParams {\n chainId: ChainId;\n tokenAddress: Address;\n}\nconst getErc20Decimals = async ({\n chainId,\n tokenAddress,\n}: GetErc20DecimalsParams) => {\n const client = await getClient(chainId);\n\n const balance = await client.readContract({\n abi: erc20Abi,\n address: tokenAddress,\n functionName: \"decimals\",\n });\n\n return balance;\n};\n\ninterface GetErc20AllowanceParams {\n chainId: ChainId;\n tokenAddress: Address;\n recipientAddress: Address;\n spenderAddress: Address;\n}\n\nconst getErc20Allowance = async ({\n chainId,\n tokenAddress,\n recipientAddress,\n spenderAddress,\n}: GetErc20AllowanceParams) => {\n const client = await getClient(chainId);\n\n const allowance = await client.readContract({\n abi: erc20Abi,\n address: tokenAddress,\n functionName: \"allowance\",\n args: [recipientAddress, spenderAddress],\n });\n\n return allowance;\n};\n\nconst getErc20AllowanceWithDecimals = async ({\n chainId,\n tokenAddress,\n recipientAddress,\n spenderAddress,\n}: GetErc20AllowanceParams) => {\n const client = await getClient(chainId);\n\n const allowance = await client.multicall({\n contracts: [\n {\n abi: erc20Abi,\n address: tokenAddress,\n functionName: \"allowance\",\n args: [recipientAddress, spenderAddress],\n },\n {\n abi: erc20Abi,\n address: tokenAddress,\n functionName: \"decimals\",\n },\n ],\n });\n return allowance;\n};\n\n/**\n * Parameters for getTokenPermitInfoWithAllowance\n */\ninterface GetTokenPermitInfoWithAllowanceParams {\n /** Chain ID where the token is deployed */\n chainId: ChainId;\n /** Token contract address */\n tokenAddress: Address;\n /** Token owner address (for nonce and allowance lookup) */\n owner: Address;\n /** Spender address (for allowance lookup) */\n spender: Address;\n}\n\n/**\n * Token permit and allowance information\n *\n * Contains decimals, allowance, and EIP-2612 permit support detection.\n * When supportsPermit is true, nonce and domainSeparator are guaranteed present.\n */\ninterface TokenPermitInfoWithAllowance {\n /** Token decimals */\n decimals: number;\n /** Current allowance for spender */\n allowance: bigint;\n /** Whether the token supports EIP-2612 permit */\n supportsPermit: boolean;\n /** Current nonce for owner (null if permit not supported) */\n nonce: bigint | null;\n /** EIP-712 domain separator (null if permit not supported) */\n domainSeparator: Hex | null;\n /** Token name (for EIP-712 domain) */\n tokenName: string;\n /** Token version for EIP-712 (defaults to \"1\" if not available) */\n tokenVersion: string;\n}\n\n/**\n * Retrieves token decimals, allowance, and permit support in a single multicall\n *\n * Uses a single multicall to efficiently query:\n * - decimals() - MUST succeed (throws if fails)\n * - allowance(owner, spender) - MUST succeed (throws if fails)\n * - nonces(owner) - Optional, indicates permit support\n * - DOMAIN_SEPARATOR() - Optional, confirms permit support\n *\n * Permit support requires BOTH nonces() AND DOMAIN_SEPARATOR() to succeed.\n *\n * @param params - Query parameters\n * @returns Combined token info with permit support detection\n * @throws {APIError} If critical calls (decimals, allowance) fail\n *\n * @example\n * ```typescript\n * const info = await getTokenPermitInfoWithAllowance({\n * chainId: 1,\n * tokenAddress: \"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48\",\n * owner: \"0x1234...\",\n * spender: \"0x5678...\",\n * });\n *\n * if (info.supportsPermit) {\n * // Use permit deposit flow\n * console.log(\"Nonce:\", info.nonce);\n * console.log(\"Domain:\", info.domainSeparator);\n * } else if (info.allowance < depositAmount) {\n * // Request approval\n * }\n * ```\n */\nconst getTokenPermitInfoWithAllowance = async ({\n chainId,\n tokenAddress,\n owner,\n spender,\n}: GetTokenPermitInfoWithAllowanceParams): Promise<TokenPermitInfoWithAllowance> => {\n const client = await getClient(chainId);\n\n const results = await client.multicall({\n contracts: [\n {\n abi: erc20Abi,\n address: tokenAddress,\n functionName: \"decimals\",\n },\n {\n abi: erc20Abi,\n address: tokenAddress,\n functionName: \"allowance\",\n args: [owner, spender],\n },\n {\n abi: erc2612Abi,\n address: tokenAddress,\n functionName: \"nonces\",\n args: [owner],\n },\n {\n abi: erc2612Abi,\n address: tokenAddress,\n functionName: \"DOMAIN_SEPARATOR\",\n },\n {\n abi: erc20Abi,\n address: tokenAddress,\n functionName: \"name\",\n },\n {\n abi: erc2612Abi,\n address: tokenAddress,\n functionName: \"version\",\n },\n ],\n allowFailure: true,\n });\n\n const [\n decimalsResult,\n allowanceResult,\n nonceResult,\n domainSeparatorResult,\n nameResult,\n versionResult,\n ] = results;\n\n // Required calls must succeed\n if (decimalsResult.status === \"failure\") {\n throw new APIError(\n `Failed to read decimals from token ${tokenAddress}: ${\n decimalsResult.error?.message || \"Unknown error\"\n }`,\n {\n endpoint: \"getTokenPermitInfoWithAllowance\",\n cause: decimalsResult.error,\n }\n );\n }\n\n if (allowanceResult.status === \"failure\") {\n throw new APIError(\n `Failed to read allowance from token ${tokenAddress}: ${\n allowanceResult.error?.message || \"Unknown error\"\n }`,\n {\n endpoint: \"getTokenPermitInfoWithAllowance\",\n cause: allowanceResult.error,\n }\n );\n }\n\n // Token name is required (standard ERC20)\n if (nameResult.status === \"failure\") {\n throw new APIError(\n `Failed to read name from token ${tokenAddress}: ${\n nameResult.error?.message || \"Unknown error\"\n }`,\n {\n endpoint: \"getTokenPermitInfoWithAllowance\",\n cause: nameResult.error,\n }\n );\n }\n\n // Optional permit support detection\n // Both nonces AND DOMAIN_SEPARATOR must succeed for permit support\n const nonce =\n nonceResult.status === \"success\" ? (nonceResult.result as bigint) : null;\n const domainSeparator =\n domainSeparatorResult.status === \"success\"\n ? (domainSeparatorResult.result as Hex)\n : null;\n\n const supportsPermit = nonce !== null && domainSeparator !== null;\n\n // Token version is optional (EIP-2612), defaults to \"1\"\n const tokenVersion =\n versionResult.status === \"success\" ? (versionResult.result as string) : \"1\";\n\n return {\n decimals: decimalsResult.result,\n allowance: allowanceResult.result,\n supportsPermit,\n nonce,\n domainSeparator,\n tokenName: nameResult.result,\n tokenVersion,\n };\n};\n\nexport {\n getErc20Allowance,\n getErc20AllowanceWithDecimals,\n getErc20Balance,\n getErc20Decimals,\n getTokenPermitInfoWithAllowance,\n};\n\nexport type {\n GetTokenPermitInfoWithAllowanceParams,\n TokenPermitInfoWithAllowance,\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import { defineChain, createPublicClient, http } from 'viem';
2
- import { sepolia, mainnet } from 'viem/chains';
2
+ import { base, sepolia, mainnet } from 'viem/chains';
3
3
 
4
4
  // src/utils/fetch.ts
5
5
  var DEFAULT_TIMEOUT = 1e4;
@@ -733,6 +733,7 @@ function mapGraphQLConfigToVault(config) {
733
733
  const { vault, depositTokenAddress } = config;
734
734
  const indexerAssets = vault.supportedAssets && vault.supportedAssets.length > 0 ? vault.supportedAssets.map((a) => ({
735
735
  address: a.address,
736
+ chainId: a.chainId,
736
737
  symbol: a.symbol ?? a.address,
737
738
  name: a.tokenName ?? a.symbol ?? a.address,
738
739
  decimals: a.decimals ?? 0,
@@ -1163,6 +1164,7 @@ var stableTestnet = defineChain({
1163
1164
  var CHAIN_ID_TO_CHAIN_MAP = {
1164
1165
  [mainnet.id]: mainnet,
1165
1166
  [sepolia.id]: sepolia,
1167
+ [base.id]: base,
1166
1168
  [hyperEvm.id]: hyperEvm,
1167
1169
  [stableTestnet.id]: stableTestnet
1168
1170
  };
@@ -1180,8 +1182,10 @@ async function getChainFromConfig(chainId, config) {
1180
1182
  }
1181
1183
  }
1182
1184
  const vaults = config ?? await getVaults();
1183
- const vault = vaults.find((v) => v.chainId === chainId);
1184
- if (!vault) {
1185
+ const numericChainId = Number(chainId);
1186
+ const knownChain = CHAIN_ID_TO_CHAIN_MAP[numericChainId];
1187
+ const vaultForChain = vaults.find((v) => v.chainId === numericChainId);
1188
+ if (!knownChain && !vaultForChain) {
1185
1189
  throw new Error(`Vault not found for ID: ${chainId}`);
1186
1190
  }
1187
1191
  if (config && !chainsCache) {
@@ -1199,14 +1203,26 @@ async function getChainFromConfig(chainId, config) {
1199
1203
  contracts: chainConfig.contracts
1200
1204
  });
1201
1205
  }
1206
+ if (knownChain && !cache.has(numericChainId)) {
1207
+ cache.set(numericChainId, {
1208
+ id: numericChainId,
1209
+ name: knownChain.name,
1210
+ nativeCurrency: knownChain.nativeCurrency,
1211
+ rpcUrls: knownChain.rpcUrls,
1212
+ contracts: knownChain.contracts
1213
+ });
1214
+ }
1202
1215
  chainsCache = cache;
1203
1216
  }
1204
- const chain = chainsCache ? chainsCache.get(chainId) : void 0;
1217
+ const chain = chainsCache ? chainsCache.get(numericChainId) : void 0;
1205
1218
  if (!chain) {
1206
1219
  throw new Error(`Chain not found for ID: ${chainId}`);
1207
1220
  }
1208
1221
  return chain;
1209
1222
  }
1223
+ function getChainNameById(chainId) {
1224
+ return CHAIN_ID_TO_CHAIN_MAP[chainId]?.name || null;
1225
+ }
1210
1226
  function clearChainsCache() {
1211
1227
  chainsCache = null;
1212
1228
  }
@@ -1429,6 +1445,6 @@ async function initAmplifySDK(apiKey, options) {
1429
1445
  await sdkConfig.initPromise;
1430
1446
  }
1431
1447
 
1432
- export { APIError, API_BASE_URL, CHAINLINK_ADDRESS, DEFAULT_APPROVAL_AMOUNT, DEFAULT_DEADLINE, DEFAULT_SLIPPAGE_BPS, DEFAULT_TIMEOUT, LogLevel, YieldType, clearChainsCache, createTimeoutSignal, findVaultByConfig, getAssetsFromCache, getCache, getChainFromConfig, getClient, getLogger, getRequestHeaders, getRestV2BaseURL, getSupportedAssets, getVaults, getVaultsByConfig, getWithdrawSupportedAssets, initAmplifySDK, initializeCache, isCacheReady, isValidAddress, isValidChainId, refreshVaultCache, setLogLevel, setLogger, toChainId, waitForCacheReady };
1433
- //# sourceMappingURL=chunk-MPCRFKSD.mjs.map
1434
- //# sourceMappingURL=chunk-MPCRFKSD.mjs.map
1448
+ export { APIError, API_BASE_URL, CHAINLINK_ADDRESS, DEFAULT_APPROVAL_AMOUNT, DEFAULT_DEADLINE, DEFAULT_SLIPPAGE_BPS, DEFAULT_TIMEOUT, LogLevel, YieldType, clearChainsCache, createTimeoutSignal, findVaultByConfig, getAssetsFromCache, getCache, getChainFromConfig, getChainNameById, getClient, getLogger, getRequestHeaders, getRestV2BaseURL, getSupportedAssets, getVaults, getVaultsByConfig, getWithdrawSupportedAssets, initAmplifySDK, initializeCache, isCacheReady, isValidAddress, isValidChainId, refreshVaultCache, setLogLevel, setLogger, toChainId, waitForCacheReady };
1449
+ //# sourceMappingURL=chunk-JLZL25CY.mjs.map
1450
+ //# sourceMappingURL=chunk-JLZL25CY.mjs.map