@paxoslabs/amplify-sdk 0.5.2 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +3158 -725
- package/dist/index.d.ts +3158 -725
- package/dist/index.js +15013 -171
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +15067 -6
- package/dist/index.mjs.map +1 -1
- package/package.json +25 -86
- package/CHANGELOG.md +0 -320
- package/LICENSE +0 -28
- package/README.md +0 -119
- package/dist/chain-utils-BdJecHBA.d.mts +0 -334
- package/dist/chain-utils-BdJecHBA.d.ts +0 -334
- package/dist/chunk-5OK753GA.js +0 -1989
- package/dist/chunk-5OK753GA.js.map +0 -1
- package/dist/chunk-6CU533DM.mjs +0 -39
- package/dist/chunk-6CU533DM.mjs.map +0 -1
- package/dist/chunk-7JQQ2TH4.mjs +0 -1231
- package/dist/chunk-7JQQ2TH4.mjs.map +0 -1
- package/dist/chunk-HU5CTL4C.mjs +0 -1962
- package/dist/chunk-HU5CTL4C.mjs.map +0 -1
- package/dist/chunk-NNDY5TID.js +0 -1143
- package/dist/chunk-NNDY5TID.js.map +0 -1
- package/dist/chunk-Q5FXJU5Y.mjs +0 -1133
- package/dist/chunk-Q5FXJU5Y.mjs.map +0 -1
- package/dist/chunk-QZHI2T7O.mjs +0 -457
- package/dist/chunk-QZHI2T7O.mjs.map +0 -1
- package/dist/chunk-SWUG4PTB.js +0 -464
- package/dist/chunk-SWUG4PTB.js.map +0 -1
- package/dist/chunk-TNL23CO2.js +0 -45
- package/dist/chunk-TNL23CO2.js.map +0 -1
- package/dist/chunk-WK7EJRBB.mjs +0 -1482
- package/dist/chunk-WK7EJRBB.mjs.map +0 -1
- package/dist/chunk-WYBYBPX5.js +0 -1518
- package/dist/chunk-WYBYBPX5.js.map +0 -1
- package/dist/chunk-ZKDXRGI5.js +0 -1239
- package/dist/chunk-ZKDXRGI5.js.map +0 -1
- package/dist/core.d.mts +0 -152
- package/dist/core.d.ts +0 -152
- package/dist/core.js +0 -1220
- package/dist/core.js.map +0 -1
- package/dist/core.mjs +0 -1194
- package/dist/core.mjs.map +0 -1
- package/dist/display.d.mts +0 -263
- package/dist/display.d.ts +0 -263
- package/dist/display.js +0 -36
- package/dist/display.js.map +0 -1
- package/dist/display.mjs +0 -7
- package/dist/display.mjs.map +0 -1
- package/dist/index-DXXA8gEA.d.mts +0 -5026
- package/dist/index-aE5lTOUH.d.ts +0 -5026
- package/dist/utils.d.mts +0 -112
- package/dist/utils.d.ts +0 -112
- package/dist/utils.js +0 -67
- package/dist/utils.js.map +0 -1
- package/dist/utils.mjs +0 -25
- package/dist/utils.mjs.map +0 -1
- package/dist/vaults.d.mts +0 -4
- package/dist/vaults.d.ts +0 -4
- package/dist/vaults.js +0 -96
- package/dist/vaults.js.map +0 -1
- package/dist/vaults.mjs +0 -7
- package/dist/vaults.mjs.map +0 -1
package/dist/core.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/api/boring-vault.ts","../src/abi/chainlink-abi.ts","../src/api/chainlink.ts","../src/abi/teller-abi.ts","../src/api/multi-call.ts","../src/api/withdraw-assets.ts","../src/api/solver-slippage.ts","../src/api/teller.ts"],"names":[],"mappings":"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","file":"core.mjs","sourcesContent":["import { type Address, erc20Abi } from 'viem'\nimport { getClient } from '../lib/viem/client'\nimport type { ChainId } from '../utils/chain-utils'\n\ntype AllowanceProps = {\n tokenAddress: Address\n spenderAddress: Address\n recipientAddress: Address\n chainId: ChainId\n}\n\nexport async function getVaultAllowance({\n tokenAddress,\n spenderAddress,\n recipientAddress,\n chainId,\n}: AllowanceProps): Promise<bigint> {\n const client = await getClient(chainId)\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\ntype TotalSupplyProps = {\n tokenAddress: Address\n chainId: ChainId\n}\n\nexport async function getTotalSupply({\n tokenAddress,\n chainId,\n}: TotalSupplyProps): Promise<bigint> {\n const client = await getClient(chainId)\n const totalSupply = await client.readContract({\n abi: erc20Abi,\n address: tokenAddress,\n functionName: 'totalSupply',\n })\n\n return totalSupply\n}\n","export const ChainlinkAbi = [\n {\n type: 'function',\n name: 'latestRoundData',\n inputs: [],\n outputs: [\n {\n name: 'roundId',\n type: 'uint80',\n internalType: 'uint80',\n },\n {\n name: 'answer',\n type: 'int256',\n internalType: 'int256',\n },\n {\n name: 'startedAt',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'updatedAt',\n type: 'uint256',\n internalType: 'uint256',\n },\n {\n name: 'answeredInRound',\n type: 'uint80',\n internalType: 'uint80',\n },\n ],\n stateMutability: 'view',\n },\n]\n","import { ChainlinkAbi } from '../abi/chainlink-abi'\nimport { CHAINLINK_ADDRESS } from '../constants'\nimport { getClient } from '../lib/viem/client'\nimport type { ChainId } from '../utils/chain-utils'\n\ninterface GetEthPriceProps {\n chainId: ChainId\n}\n\nexport async function getEthPrice({\n chainId,\n}: GetEthPriceProps): Promise<bigint> {\n const client = await getClient(chainId)\n const priceData = (await client.readContract({\n abi: ChainlinkAbi,\n address: CHAINLINK_ADDRESS,\n functionName: 'latestRoundData',\n args: [],\n })) as Array<bigint>\n\n if (!priceData || !priceData[1]) {\n throw new Error('Failed to fetch ETH price from Chainlink')\n }\n\n return priceData[1]\n}\n","export const TellerAbi = [\n {\n inputs: [\n { internalType: 'address', name: '_owner', type: 'address' },\n { internalType: 'address', name: '_vault', type: 'address' },\n { internalType: 'address', name: '_accountant', type: 'address' },\n { internalType: 'address', name: '_endpoint', type: 'address' },\n ],\n stateMutability: 'nonpayable',\n type: 'constructor',\n },\n { inputs: [], name: 'InvalidDelegate', type: 'error' },\n { inputs: [], name: 'InvalidEndpointCall', type: 'error' },\n {\n inputs: [{ internalType: 'uint16', name: 'optionType', type: 'uint16' }],\n name: 'InvalidOptionType',\n type: 'error',\n },\n { inputs: [], name: 'LzTokenUnavailable', type: 'error' },\n {\n inputs: [],\n name: 'MultiChainLayerZeroTellerWithMultiAssetSupport_InvalidToken',\n type: 'error',\n },\n {\n inputs: [],\n name: 'MultiChainTellerBase_DestinationChainReceiverIsZeroAddress',\n type: 'error',\n },\n { inputs: [], name: 'MultiChainTellerBase_GasLimitExceeded', type: 'error' },\n { inputs: [], name: 'MultiChainTellerBase_GasTooLow', type: 'error' },\n {\n inputs: [{ internalType: 'uint32', name: 'chainSelector', type: 'uint32' }],\n name: 'MultiChainTellerBase_MessagesNotAllowedFrom',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'chainSelector', type: 'uint256' },\n ],\n name: 'MultiChainTellerBase_MessagesNotAllowedTo',\n type: 'error',\n },\n {\n inputs: [],\n name: 'MultiChainTellerBase_TargetTellerIsZeroAddress',\n type: 'error',\n },\n {\n inputs: [],\n name: 'MultiChainTellerBase_ZeroMessageGasLimit',\n type: 'error',\n },\n {\n inputs: [{ internalType: 'uint32', name: 'eid', type: 'uint32' }],\n name: 'NoPeer',\n type: 'error',\n },\n {\n inputs: [{ internalType: 'uint256', name: 'msgValue', type: 'uint256' }],\n name: 'NotEnoughNative',\n type: 'error',\n },\n {\n inputs: [{ internalType: 'address', name: 'addr', type: 'address' }],\n name: 'OnlyEndpoint',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'uint32', name: 'eid', type: 'uint32' },\n { internalType: 'bytes32', name: 'sender', type: 'bytes32' },\n ],\n name: 'OnlyPeer',\n type: 'error',\n },\n {\n inputs: [\n { internalType: 'uint8', name: 'bits', type: 'uint8' },\n { internalType: 'uint256', name: 'value', type: 'uint256' },\n ],\n name: 'SafeCastOverflowedUintDowncast',\n type: 'error',\n },\n {\n inputs: [{ internalType: 'address', name: 'token', type: 'address' }],\n name: 'SafeERC20FailedOperation',\n type: 'error',\n },\n {\n inputs: [],\n name: 'TellerWithMultiAssetSupport__AssetNotSupported',\n type: 'error',\n },\n {\n inputs: [],\n name: 'TellerWithMultiAssetSupport__BadDepositHash',\n type: 'error',\n },\n {\n inputs: [],\n name: 'TellerWithMultiAssetSupport__MinimumAssetsNotMet',\n type: 'error',\n },\n {\n inputs: [],\n name: 'TellerWithMultiAssetSupport__MinimumMintNotMet',\n type: 'error',\n },\n { inputs: [], name: 'TellerWithMultiAssetSupport__Paused', type: 'error' },\n {\n inputs: [],\n name: 'TellerWithMultiAssetSupport__PermitFailedAndAllowanceTooLow',\n type: 'error',\n },\n {\n inputs: [],\n name: 'TellerWithMultiAssetSupport__ShareLockPeriodTooLong',\n type: 'error',\n },\n {\n inputs: [],\n name: 'TellerWithMultiAssetSupport__SharesAreLocked',\n type: 'error',\n },\n {\n inputs: [],\n name: 'TellerWithMultiAssetSupport__SharesAreUnLocked',\n type: 'error',\n },\n {\n inputs: [],\n name: 'TellerWithMultiAssetSupport__ZeroAssets',\n type: 'error',\n },\n {\n inputs: [],\n name: 'TellerWithMultiAssetSupport__ZeroShares',\n type: 'error',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'address',\n name: 'asset',\n type: 'address',\n },\n ],\n name: 'AssetAdded',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'address',\n name: 'asset',\n type: 'address',\n },\n ],\n name: 'AssetRemoved',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'user', type: 'address' },\n {\n indexed: true,\n internalType: 'contract Authority',\n name: 'newAuthority',\n type: 'address',\n },\n ],\n name: 'AuthorityUpdated',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'address',\n name: 'asset',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'depositAmount',\n type: 'uint256',\n },\n ],\n name: 'BulkDeposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'address',\n name: 'asset',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'shareAmount',\n type: 'uint256',\n },\n ],\n name: 'BulkWithdraw',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: 'uint256',\n name: 'chainSelector',\n type: 'uint256',\n },\n {\n indexed: false,\n internalType: 'bool',\n name: 'allowMessagesFrom',\n type: 'bool',\n },\n {\n indexed: false,\n internalType: 'bool',\n name: 'allowMessagesTo',\n type: 'bool',\n },\n {\n indexed: false,\n internalType: 'address',\n name: 'targetTeller',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint64',\n name: 'messageGasLimit',\n type: 'uint64',\n },\n {\n indexed: false,\n internalType: 'uint64',\n name: 'messageGasMin',\n type: 'uint64',\n },\n ],\n name: 'ChainAdded',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: 'uint256',\n name: 'chainSelector',\n type: 'uint256',\n },\n {\n indexed: false,\n internalType: 'address',\n name: 'targetTeller',\n type: 'address',\n },\n ],\n name: 'ChainAllowMessagesFrom',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: 'uint256',\n name: 'chainSelector',\n type: 'uint256',\n },\n {\n indexed: false,\n internalType: 'address',\n name: 'targetTeller',\n type: 'address',\n },\n ],\n name: 'ChainAllowMessagesTo',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: 'uint256',\n name: 'chainSelector',\n type: 'uint256',\n },\n ],\n name: 'ChainRemoved',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: 'uint256',\n name: 'chainSelector',\n type: 'uint256',\n },\n {\n indexed: false,\n internalType: 'uint64',\n name: 'messageGasLimit',\n type: 'uint64',\n },\n ],\n name: 'ChainSetGasLimit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: 'uint256',\n name: 'chainSelector',\n type: 'uint256',\n },\n ],\n name: 'ChainStopMessagesFrom',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: 'uint256',\n name: 'chainSelector',\n type: 'uint256',\n },\n ],\n name: 'ChainStopMessagesTo',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'uint256',\n name: 'nonce',\n type: 'uint256',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'receiver',\n type: 'address',\n },\n {\n indexed: true,\n internalType: 'address',\n name: 'depositAsset',\n type: 'address',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'depositAmount',\n type: 'uint256',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'shareAmount',\n type: 'uint256',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'depositTimestamp',\n type: 'uint256',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'shareLockPeriodAtTimeOfDeposit',\n type: 'uint256',\n },\n ],\n name: 'Deposit',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: 'uint256',\n name: 'nonce',\n type: 'uint256',\n },\n {\n indexed: false,\n internalType: 'bytes32',\n name: 'depositHash',\n type: 'bytes32',\n },\n { indexed: true, internalType: 'address', name: 'user', type: 'address' },\n ],\n name: 'DepositRefunded',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: 'bytes32',\n name: 'messageId',\n type: 'bytes32',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'shareAmount',\n type: 'uint256',\n },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n ],\n name: 'MessageReceived',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: 'bytes32',\n name: 'messageId',\n type: 'bytes32',\n },\n {\n indexed: false,\n internalType: 'uint256',\n name: 'shareAmount',\n type: 'uint256',\n },\n { indexed: false, internalType: 'address', name: 'to', type: 'address' },\n ],\n name: 'MessageSent',\n type: 'event',\n },\n {\n anonymous: false,\n inputs: [\n { indexed: true, internalType: 'address', name: 'user', type: 'address' },\n {\n indexed: true,\n internalType: 'address',\n name: 'newOwner',\n type: 'address',\n },\n ],\n name: 'OwnershipTransferred',\n type: 'event',\n },\n { anonymous: false, inputs: [], name: 'Paused', type: 'event' },\n {\n anonymous: false,\n inputs: [\n { indexed: false, internalType: 'uint32', name: 'eid', type: 'uint32' },\n {\n indexed: false,\n internalType: 'bytes32',\n name: 'peer',\n type: 'bytes32',\n },\n ],\n name: 'PeerSet',\n type: 'event',\n },\n { anonymous: false, inputs: [], name: 'Unpaused', type: 'event' },\n {\n inputs: [],\n name: 'accountant',\n outputs: [\n {\n internalType: 'contract AccountantWithRateProviders',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'contract ERC20', name: 'asset', type: 'address' },\n ],\n name: 'addAsset',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint32', name: 'chainSelector', type: 'uint32' },\n { internalType: 'bool', name: 'allowMessagesFrom', type: 'bool' },\n { internalType: 'bool', name: 'allowMessagesTo', type: 'bool' },\n { internalType: 'address', name: 'targetTeller', type: 'address' },\n { internalType: 'uint64', name: 'messageGasLimit', type: 'uint64' },\n { internalType: 'uint64', name: 'messageGasMin', type: 'uint64' },\n ],\n name: 'addChain',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { internalType: 'uint32', name: 'srcEid', type: 'uint32' },\n { internalType: 'bytes32', name: 'sender', type: 'bytes32' },\n { internalType: 'uint64', name: 'nonce', type: 'uint64' },\n ],\n internalType: 'struct Origin',\n name: 'origin',\n type: 'tuple',\n },\n ],\n name: 'allowInitializePath',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint32', name: 'chainSelector', type: 'uint32' },\n { internalType: 'address', name: 'targetTeller', type: 'address' },\n ],\n name: 'allowMessagesFromChain',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint32', name: 'chainSelector', type: 'uint32' },\n { internalType: 'address', name: 'targetTeller', type: 'address' },\n { internalType: 'uint64', name: 'messageGasLimit', type: 'uint64' },\n ],\n name: 'allowMessagesToChain',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'authority',\n outputs: [\n { internalType: 'contract Authority', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'from', type: 'address' }],\n name: 'beforeTransfer',\n outputs: [],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'shareAmount', type: 'uint256' },\n {\n components: [\n { internalType: 'uint32', name: 'chainSelector', type: 'uint32' },\n {\n internalType: 'address',\n name: 'destinationChainReceiver',\n type: 'address',\n },\n {\n internalType: 'contract ERC20',\n name: 'bridgeFeeToken',\n type: 'address',\n },\n { internalType: 'uint64', name: 'messageGas', type: 'uint64' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n ],\n internalType: 'struct BridgeData',\n name: 'data',\n type: 'tuple',\n },\n ],\n name: 'bridge',\n outputs: [{ internalType: 'bytes32', name: 'messageId', type: 'bytes32' }],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'contract ERC20', name: 'depositAsset', type: 'address' },\n { internalType: 'uint256', name: 'depositAmount', type: 'uint256' },\n { internalType: 'uint256', name: 'minimumMint', type: 'uint256' },\n { internalType: 'address', name: 'to', type: 'address' },\n ],\n name: 'bulkDeposit',\n outputs: [{ internalType: 'uint256', name: 'shares', type: 'uint256' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'contract ERC20',\n name: 'withdrawAsset',\n type: 'address',\n },\n { internalType: 'uint256', name: 'shareAmount', type: 'uint256' },\n { internalType: 'uint256', name: 'minimumAssets', type: 'uint256' },\n { internalType: 'address', name: 'to', type: 'address' },\n ],\n name: 'bulkWithdraw',\n outputs: [{ internalType: 'uint256', name: 'assetsOut', type: 'uint256' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'contract ERC20', name: 'depositAsset', type: 'address' },\n { internalType: 'uint256', name: 'depositAmount', type: 'uint256' },\n { internalType: 'uint256', name: 'minimumMint', type: 'uint256' },\n ],\n name: 'deposit',\n outputs: [{ internalType: 'uint256', name: 'shares', type: 'uint256' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'contract ERC20', name: 'depositAsset', type: 'address' },\n { internalType: 'uint256', name: 'depositAmount', type: 'uint256' },\n { internalType: 'uint256', name: 'minimumMint', type: 'uint256' },\n {\n components: [\n { internalType: 'uint32', name: 'chainSelector', type: 'uint32' },\n {\n internalType: 'address',\n name: 'destinationChainReceiver',\n type: 'address',\n },\n {\n internalType: 'contract ERC20',\n name: 'bridgeFeeToken',\n type: 'address',\n },\n { internalType: 'uint64', name: 'messageGas', type: 'uint64' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n ],\n internalType: 'struct BridgeData',\n name: 'data',\n type: 'tuple',\n },\n ],\n name: 'depositAndBridge',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'depositNonce',\n outputs: [{ internalType: 'uint96', name: '', type: 'uint96' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'contract ERC20', name: 'depositAsset', type: 'address' },\n { internalType: 'uint256', name: 'depositAmount', type: 'uint256' },\n { internalType: 'uint256', name: 'minimumMint', type: 'uint256' },\n { internalType: 'uint256', name: 'deadline', type: 'uint256' },\n { internalType: 'uint8', name: 'v', type: 'uint8' },\n { internalType: 'bytes32', name: 'r', type: 'bytes32' },\n { internalType: 'bytes32', name: 's', type: 'bytes32' },\n ],\n name: 'depositWithPermit',\n outputs: [{ internalType: 'uint256', name: 'shares', type: 'uint256' }],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'endpoint',\n outputs: [\n {\n internalType: 'contract ILayerZeroEndpointV2',\n name: '',\n type: 'address',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { internalType: 'uint32', name: 'srcEid', type: 'uint32' },\n { internalType: 'bytes32', name: 'sender', type: 'bytes32' },\n { internalType: 'uint64', name: 'nonce', type: 'uint64' },\n ],\n internalType: 'struct Origin',\n name: '',\n type: 'tuple',\n },\n { internalType: 'bytes', name: '', type: 'bytes' },\n { internalType: 'address', name: '_sender', type: 'address' },\n ],\n name: 'isComposeMsgSender',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'isPaused',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'contract ERC20', name: '', type: 'address' }],\n name: 'isSupported',\n outputs: [{ internalType: 'bool', name: '', type: 'bool' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n components: [\n { internalType: 'uint32', name: 'srcEid', type: 'uint32' },\n { internalType: 'bytes32', name: 'sender', type: 'bytes32' },\n { internalType: 'uint64', name: 'nonce', type: 'uint64' },\n ],\n internalType: 'struct Origin',\n name: '_origin',\n type: 'tuple',\n },\n { internalType: 'bytes32', name: '_guid', type: 'bytes32' },\n { internalType: 'bytes', name: '_message', type: 'bytes' },\n { internalType: 'address', name: '_executor', type: 'address' },\n { internalType: 'bytes', name: '_extraData', type: 'bytes' },\n ],\n name: 'lzReceive',\n outputs: [],\n stateMutability: 'payable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint32', name: '', type: 'uint32' },\n { internalType: 'bytes32', name: '', type: 'bytes32' },\n ],\n name: 'nextNonce',\n outputs: [{ internalType: 'uint64', name: 'nonce', type: 'uint64' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'oAppVersion',\n outputs: [\n { internalType: 'uint64', name: 'senderVersion', type: 'uint64' },\n { internalType: 'uint64', name: 'receiverVersion', type: 'uint64' },\n ],\n stateMutability: 'pure',\n type: 'function',\n },\n {\n inputs: [],\n name: 'owner',\n outputs: [{ internalType: 'address', name: '', type: 'address' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [],\n name: 'pause',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint32', name: 'eid', type: 'uint32' }],\n name: 'peers',\n outputs: [{ internalType: 'bytes32', name: 'peer', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'shareAmount', type: 'uint256' },\n {\n components: [\n { internalType: 'uint32', name: 'chainSelector', type: 'uint32' },\n {\n internalType: 'address',\n name: 'destinationChainReceiver',\n type: 'address',\n },\n {\n internalType: 'contract ERC20',\n name: 'bridgeFeeToken',\n type: 'address',\n },\n { internalType: 'uint64', name: 'messageGas', type: 'uint64' },\n { internalType: 'bytes', name: 'data', type: 'bytes' },\n ],\n internalType: 'struct BridgeData',\n name: 'data',\n type: 'tuple',\n },\n ],\n name: 'previewFee',\n outputs: [{ internalType: 'uint256', name: 'fee', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n name: 'publicDepositHistory',\n outputs: [{ internalType: 'bytes32', name: '', type: 'bytes32' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint256', name: 'nonce', type: 'uint256' },\n { internalType: 'address', name: 'receiver', type: 'address' },\n { internalType: 'address', name: 'depositAsset', type: 'address' },\n { internalType: 'uint256', name: 'depositAmount', type: 'uint256' },\n { internalType: 'uint256', name: 'shareAmount', type: 'uint256' },\n { internalType: 'uint256', name: 'depositTimestamp', type: 'uint256' },\n {\n internalType: 'uint256',\n name: 'shareLockUpPeriodAtTimeOfDeposit',\n type: 'uint256',\n },\n ],\n name: 'refundDeposit',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'contract ERC20', name: 'asset', type: 'address' },\n ],\n name: 'removeAsset',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint32', name: 'chainSelector', type: 'uint32' }],\n name: 'removeChain',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint32', name: '', type: 'uint32' }],\n name: 'selectorToChains',\n outputs: [\n { internalType: 'bool', name: 'allowMessagesFrom', type: 'bool' },\n { internalType: 'bool', name: 'allowMessagesTo', type: 'bool' },\n { internalType: 'address', name: 'targetTeller', type: 'address' },\n { internalType: 'uint64', name: 'messageGasLimit', type: 'uint64' },\n { internalType: 'uint64', name: 'minimumMessageGas', type: 'uint64' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [\n {\n internalType: 'contract Authority',\n name: 'newAuthority',\n type: 'address',\n },\n ],\n name: 'setAuthority',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint32', name: 'chainSelector', type: 'uint32' },\n { internalType: 'uint64', name: 'messageGasLimit', type: 'uint64' },\n ],\n name: 'setChainGasLimit',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '_delegate', type: 'address' }],\n name: 'setDelegate',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint32', name: '_eid', type: 'uint32' },\n { internalType: 'bytes32', name: '_peer', type: 'bytes32' },\n ],\n name: 'setPeer',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [\n { internalType: 'uint64', name: '_shareLockPeriod', type: 'uint64' },\n ],\n name: 'setShareLockPeriod',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'shareLockPeriod',\n outputs: [{ internalType: 'uint64', name: '', type: 'uint64' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: '', type: 'address' }],\n name: 'shareUnlockTime',\n outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],\n stateMutability: 'view',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint32', name: 'chainSelector', type: 'uint32' }],\n name: 'stopMessagesFromChain',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'uint32', name: 'chainSelector', type: 'uint32' }],\n name: 'stopMessagesToChain',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [{ internalType: 'address', name: 'newOwner', type: 'address' }],\n name: 'transferOwnership',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'unpause',\n outputs: [],\n stateMutability: 'nonpayable',\n type: 'function',\n },\n {\n inputs: [],\n name: 'vault',\n outputs: [\n { internalType: 'contract BoringVault', name: '', type: 'address' },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n] as const\n","import { type Address, erc20Abi } from 'viem'\nimport { AccountantAbi } from '../abi/accountant-abi'\nimport { TellerAbi } from '../abi/teller-abi'\nimport { getClient } from '../lib/viem/client'\nimport type { ChainId } from '../utils/chain-utils'\n\ntype RateInQuoteWithAssetDecimalsProps = {\n assetAddress: Address\n accountantAddress: Address\n chainId: ChainId\n}\n\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 PausedStatusProps = {\n accountantAddress: Address\n tellerAddress: Address\n chainId: ChainId\n}\n\nconst getPausedStates = async ({\n accountantAddress,\n tellerAddress,\n chainId,\n}: PausedStatusProps) => {\n const client = await getClient(chainId)\n\n const results = await client.multicall({\n contracts: [\n {\n abi: TellerAbi,\n address: tellerAddress,\n functionName: 'isPaused',\n },\n {\n abi: AccountantAbi,\n address: accountantAddress,\n functionName: 'accountantState',\n },\n ],\n })\n return results\n}\n\nexport { getPausedStates, getRateInQuoteWithAssetDecimals }\n","import type { Address } from 'viem'\nimport { API_BASE_URL } from '../constants'\nimport type { ChainId } from '../utils/chain-utils'\n\nexport interface WithdrawAssetsResponse {\n [chainId: string]: {\n [vaultAddress: string]: {\n [tokenAddress: string]: number\n }\n }\n}\n\nlet assetsCache: WithdrawAssetsResponse | null = null\n\n/**\n * Interface for optional parameters when fetching withdraw assets\n */\ninterface FetchWithdrawAssetsParams {\n chainId?: ChainId\n vaultAddress?: Address\n}\n\n/**\n * Constructs the URL with optional query parameters\n */\nfunction constructUrl(params?: FetchWithdrawAssetsParams): string {\n const withdrawAssetsUrl = `${API_BASE_URL}/v1/protocol/withdraw-assets`\n if (!params) return withdrawAssetsUrl\n\n const queryParams = new URLSearchParams()\n if (params.chainId) queryParams.append('chainId', params.chainId.toString())\n if (params.vaultAddress)\n queryParams.append('vaultAddress', params.vaultAddress.toLowerCase())\n\n return `${withdrawAssetsUrl}?${queryParams.toString()}`\n}\n\n/**\n * Fetches withdraw assets configuration from the API\n * @param params Optional parameters for chainId and vaultAddress\n * @returns Promise<WithdrawAssetsResponse>\n */\nasync function fetchWithdrawAssets(\n params?: FetchWithdrawAssetsParams\n): Promise<WithdrawAssetsResponse> {\n // If no specific params are provided and we have cached data, return it\n if (!params && assetsCache) {\n return assetsCache\n }\n\n try {\n const url = constructUrl(params)\n const response = await fetch(url)\n\n if (!response.ok) {\n throw new Error(`HTTP error! status: ${response.status}`)\n }\n\n const data: WithdrawAssetsResponse = await response.json()\n\n // Only cache the full response (when no params are provided)\n if (!params) {\n assetsCache = data\n }\n\n return data\n } catch (error: unknown) {\n throw new Error(\n `An unknown error occurred while fetching withdraw assets: ${\n error instanceof Error ? error.message : String(error)\n }`\n )\n }\n}\n\n/**\n * Fetches withdraw assets for a specific chain\n * @param chainId The chain ID to fetch assets for\n * @returns Promise<WithdrawAssetsResponse[string]>\n */\nasync function fetchChainWithdrawAssets(\n chainId: ChainId\n): Promise<WithdrawAssetsResponse[string]> {\n const assets = await fetchWithdrawAssets({ chainId })\n return assets[chainId.toString()]\n}\n\n/**\n * Fetches withdraw assets for a specific vault on a chain\n * @param chainId The chain ID\n * @param vaultAddress The vault address\n * @returns Promise<WithdrawAssetsResponse[string][string]>\n */\nasync function fetchVaultWithdrawAssets(\n chainId: ChainId,\n vaultAddress: Address\n): Promise<WithdrawAssetsResponse[string][string]> {\n const assets = await fetchWithdrawAssets({ chainId, vaultAddress })\n return assets[chainId.toString()]?.[vaultAddress.toLowerCase()]\n}\n\n/**\n * Clears the assets cache\n */\nfunction clearAssetsCache(): void {\n assetsCache = null\n}\n\nexport {\n clearAssetsCache,\n fetchChainWithdrawAssets,\n fetchVaultWithdrawAssets,\n fetchWithdrawAssets,\n type FetchWithdrawAssetsParams,\n}\n","import type { Address } from 'viem'\nimport { DEFAULT_SLIPPAGE_BPS } from '../constants/config'\nimport type { ChainId } from '../utils/chain-utils'\nimport { fetchWithdrawAssets } from './withdraw-assets'\n\n/**\n * Gets the slippage value for a specific asset in a vault\n * @param chainId The chain ID\n * @param vaultAddress The boring vault address\n * @param tokenAddress The token address\n * @param defaultSlippage Optional default slippage value if none is found (defaults to 0)\n * @returns Promise<number> The slippage value\n * @throws {AssetSlippageError} If there's an error fetching or processing the slippage data\n */\nexport async function getAssetSlippage(\n chainId: ChainId,\n vaultAddress: Address,\n tokenAddress: Address,\n defaultSlippage: number = DEFAULT_SLIPPAGE_BPS\n) {\n try {\n // Fetch withdraw assets data, using cache if available\n const withdrawAssets = await fetchWithdrawAssets()\n if (!withdrawAssets) {\n return defaultSlippage\n }\n if (!withdrawAssets[chainId.toString()]) {\n return defaultSlippage\n }\n if (!withdrawAssets[chainId.toString()][vaultAddress.toLowerCase()]) {\n return defaultSlippage\n }\n if (\n !withdrawAssets[chainId.toString()][vaultAddress.toLowerCase()][\n tokenAddress.toLowerCase()\n ]\n ) {\n return defaultSlippage\n }\n\n return withdrawAssets[chainId.toString()][vaultAddress.toLowerCase()][\n tokenAddress.toLowerCase()\n ]\n } catch (error) {\n // Re-throw with contextual information\n throw new Error(\n `Error fetching asset slippage for chain ${chainId}: ${\n error instanceof Error ? error.message : String(error)\n }`\n )\n }\n}\n","/**\n * @fileoverview Functions for interacting with the Teller contract\n */\nimport type { Address } from 'viem'\nimport { TellerAbi } from '../abi/teller-abi'\nimport { getClient } from '../lib/viem/client'\nimport type { ChainId } from '../utils/chain-utils'\n\n/**\n * Arguments required by the bridge contract for cross-chain transfers\n * @interface BridgeData\n * @property {number} chainSelector - Unique identifier for the destination chain\n * @property {Address} destinationChainReceiver - Address that will receive the bridged tokens\n * @property {Address} bridgeFeeToken - Token used to pay the bridge fee\n * @property {bigint} messageGas - Amount of gas allocated for the cross-chain message\n * @property {`0x${string}`} data - Additional data required for the bridge operation (hex encoded)\n */\nexport type BridgeData = {\n chainSelector: number\n destinationChainReceiver: Address\n bridgeFeeToken: Address\n messageGas: bigint\n data: `0x${string}`\n}\n\ntype GetPreviewFeeProps = {\n shareAmount: bigint\n bridgeData: BridgeData\n contractAddress: Address\n chainId: ChainId\n}\n\nconst getPreviewFee = async ({\n shareAmount,\n bridgeData,\n contractAddress,\n chainId,\n}: GetPreviewFeeProps): Promise<bigint> => {\n const client = await getClient(chainId)\n\n const rate = await client.readContract({\n abi: TellerAbi,\n address: contractAddress,\n functionName: 'previewFee',\n args: [shareAmount, bridgeData],\n })\n\n return rate\n}\n\nexport { getPreviewFee }\n"]}
|
package/dist/display.d.mts
DELETED
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
import { Address } from 'viem';
|
|
2
|
-
import { C as ChainId } from './chain-utils-BdJecHBA.mjs';
|
|
3
|
-
import 'viem/chains';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* @file Display module type definitions
|
|
7
|
-
* @module display/types
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
/** Status of a withdrawal request */
|
|
11
|
-
type WithdrawalRequestStatus = 'PENDING' | 'COMPLETE' | 'PENDING_REFUND' | 'REFUNDED';
|
|
12
|
-
/** A withdrawal request returned from the backend API */
|
|
13
|
-
interface WithdrawalRequest {
|
|
14
|
-
id: string;
|
|
15
|
-
vaultAddress: Address;
|
|
16
|
-
chainId: number;
|
|
17
|
-
wantAssetAddress: Address;
|
|
18
|
-
status: WithdrawalRequestStatus;
|
|
19
|
-
createdAt: string;
|
|
20
|
-
userAddress: Address;
|
|
21
|
-
receiverAddress: Address;
|
|
22
|
-
refundReceiverAddress: Address;
|
|
23
|
-
orderAmount: string;
|
|
24
|
-
orderIndex: number;
|
|
25
|
-
isSubmittedViaSignature: boolean;
|
|
26
|
-
isForceProcessed: boolean;
|
|
27
|
-
isMarkedForRefund: boolean;
|
|
28
|
-
isMarkedForRefundByUser: boolean;
|
|
29
|
-
didOrderFailTransfer: boolean;
|
|
30
|
-
}
|
|
31
|
-
/** Parameters for getWithdrawalRequests */
|
|
32
|
-
interface GetWithdrawalRequestsParams {
|
|
33
|
-
userAddress: Address;
|
|
34
|
-
chainId?: number;
|
|
35
|
-
vaultAddress?: Address;
|
|
36
|
-
vaultName?: string;
|
|
37
|
-
status?: WithdrawalRequestStatus;
|
|
38
|
-
pageSize?: number;
|
|
39
|
-
pageToken?: string;
|
|
40
|
-
}
|
|
41
|
-
/** Return type for getWithdrawalRequests */
|
|
42
|
-
interface WithdrawalRequestsResult {
|
|
43
|
-
withdrawalRequests: WithdrawalRequest[];
|
|
44
|
-
nextPageToken: string | null;
|
|
45
|
-
}
|
|
46
|
-
/** Parameters for getWithdrawalFee */
|
|
47
|
-
interface GetWithdrawalFeeParams {
|
|
48
|
-
/** Human-readable vault name (e.g. "Amplify USDC Core") */
|
|
49
|
-
vaultName: string;
|
|
50
|
-
/** Chain ID where the vault is deployed. Must match the vault's chain. */
|
|
51
|
-
chainId: ChainId;
|
|
52
|
-
/** Token contract address used to validate the vault (should match the vault's supported asset) */
|
|
53
|
-
assetAddress: Address;
|
|
54
|
-
amount: string;
|
|
55
|
-
offerAsset: Address;
|
|
56
|
-
wantAsset: Address;
|
|
57
|
-
receiver: Address;
|
|
58
|
-
}
|
|
59
|
-
/** Return type for getWithdrawalFee */
|
|
60
|
-
interface WithdrawalFeeResult {
|
|
61
|
-
feeAmount: bigint;
|
|
62
|
-
feePercentage: bigint;
|
|
63
|
-
}
|
|
64
|
-
/** Parameters for getMinimumWithdrawalOrderSize */
|
|
65
|
-
interface GetMinimumWithdrawalOrderSizeParams {
|
|
66
|
-
/** Human-readable vault name (e.g. "Amplify USDC Core") */
|
|
67
|
-
vaultName: string;
|
|
68
|
-
/** Chain ID where the vault is deployed. Must match the vault's chain. */
|
|
69
|
-
chainId: ChainId;
|
|
70
|
-
/** Token contract address used to validate the vault (should match the vault's supported asset) */
|
|
71
|
-
assetAddress: Address;
|
|
72
|
-
}
|
|
73
|
-
/** Return type for getMinimumWithdrawalOrderSize */
|
|
74
|
-
interface MinimumWithdrawalOrderSizeResult {
|
|
75
|
-
minimumOrderSize: bigint;
|
|
76
|
-
shareDecimals: number;
|
|
77
|
-
}
|
|
78
|
-
/** Parameters for getMinimumMint */
|
|
79
|
-
interface GetMinimumMintParams {
|
|
80
|
-
/** Human-readable vault name (e.g. "Amplify USDC Core") */
|
|
81
|
-
vaultName: string;
|
|
82
|
-
/** Chain ID where the vault is deployed. Must match the vault's chain. */
|
|
83
|
-
chainId: ChainId;
|
|
84
|
-
/** Token contract address to deposit. Must match the vault's supported asset. */
|
|
85
|
-
depositAssetAddress: Address;
|
|
86
|
-
depositAmount: string;
|
|
87
|
-
}
|
|
88
|
-
/** Return type for getMinimumMint */
|
|
89
|
-
interface MinimumMintResult {
|
|
90
|
-
expectedShares: bigint;
|
|
91
|
-
exchangeRate: bigint;
|
|
92
|
-
shareDecimals: number;
|
|
93
|
-
assetDecimals: number;
|
|
94
|
-
}
|
|
95
|
-
/** Parameters for getVaultAPY */
|
|
96
|
-
interface GetVaultAPYParams {
|
|
97
|
-
vaultAddress?: Address;
|
|
98
|
-
vaultName?: string;
|
|
99
|
-
chainId?: number;
|
|
100
|
-
}
|
|
101
|
-
/** Return type for getVaultAPY */
|
|
102
|
-
interface VaultAPYResult {
|
|
103
|
-
apy: number;
|
|
104
|
-
apyFormatted: string;
|
|
105
|
-
vaultAddress: Address;
|
|
106
|
-
timestamp: string;
|
|
107
|
-
}
|
|
108
|
-
/** Parameters for getVaultTVL */
|
|
109
|
-
interface GetVaultTVLParams {
|
|
110
|
-
vaultAddress?: Address;
|
|
111
|
-
vaultName?: string;
|
|
112
|
-
chainId?: number;
|
|
113
|
-
}
|
|
114
|
-
/** Return type for getVaultTVL */
|
|
115
|
-
interface VaultTVLResult {
|
|
116
|
-
tvl: string;
|
|
117
|
-
tvlAsset: string;
|
|
118
|
-
vaultAddress: Address;
|
|
119
|
-
chainId: number;
|
|
120
|
-
timestamp: string;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
/**
|
|
124
|
-
* @file Deposit display helpers
|
|
125
|
-
* @module display/deposit-display
|
|
126
|
-
*/
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Calculates the expected vault shares a user will receive for a deposit
|
|
130
|
-
*
|
|
131
|
-
* Uses the on-chain exchange rate from the Accountant contract to calculate
|
|
132
|
-
* how many vault shares will be minted for a given deposit amount.
|
|
133
|
-
*
|
|
134
|
-
* @param params - Deposit parameters
|
|
135
|
-
* @returns Expected shares, exchange rate, and decimal info
|
|
136
|
-
* @throws {APIError} If vault not found or contract read fails
|
|
137
|
-
*
|
|
138
|
-
* @example
|
|
139
|
-
* ```typescript
|
|
140
|
-
* const result = await getMinimumMint({
|
|
141
|
-
* vaultName: "Amplify USDC Core",
|
|
142
|
-
* chainId: 1,
|
|
143
|
-
* depositAssetAddress: "0xA0b8...", // USDC
|
|
144
|
-
* depositAmount: "1000.0",
|
|
145
|
-
* });
|
|
146
|
-
* console.log(result.expectedShares);
|
|
147
|
-
* ```
|
|
148
|
-
*/
|
|
149
|
-
declare function getMinimumMint(params: GetMinimumMintParams): Promise<MinimumMintResult>;
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* @file Vault display helpers
|
|
153
|
-
* @module display/vault-display
|
|
154
|
-
*/
|
|
155
|
-
|
|
156
|
-
/**
|
|
157
|
-
* Fetches the latest APY for a vault from the backend API
|
|
158
|
-
*
|
|
159
|
-
* Requests the most recent APY data point by using
|
|
160
|
-
* orderByTimestamp=desc with pageSize=1.
|
|
161
|
-
*
|
|
162
|
-
* @param params - Vault identifier parameters (vaultAddress, vaultName, or both)
|
|
163
|
-
* @returns Latest APY value and metadata
|
|
164
|
-
* @throws {APIError} If the API request fails or no data found
|
|
165
|
-
*
|
|
166
|
-
* @example
|
|
167
|
-
* ```typescript
|
|
168
|
-
* const result = await getVaultAPY({
|
|
169
|
-
* vaultAddress: "0x1234...",
|
|
170
|
-
* });
|
|
171
|
-
* console.log(result.apyFormatted); // "4.50%"
|
|
172
|
-
* ```
|
|
173
|
-
*/
|
|
174
|
-
declare function getVaultAPY(params: GetVaultAPYParams): Promise<VaultAPYResult>;
|
|
175
|
-
/**
|
|
176
|
-
* Fetches the current TVL for a vault from the backend API
|
|
177
|
-
*
|
|
178
|
-
* Requests the most recent TVL data point by using
|
|
179
|
-
* includeCurrent=true, orderByTimestamp=desc with pageSize=1.
|
|
180
|
-
*
|
|
181
|
-
* @param params - Vault identifier parameters (vaultAddress, vaultName, or both)
|
|
182
|
-
* @returns Current TVL value and metadata
|
|
183
|
-
* @throws {APIError} If the API request fails or no data found
|
|
184
|
-
*
|
|
185
|
-
* @example
|
|
186
|
-
* ```typescript
|
|
187
|
-
* const result = await getVaultTVL({
|
|
188
|
-
* vaultAddress: "0x1234...",
|
|
189
|
-
* });
|
|
190
|
-
* console.log(result.tvl, result.tvlAsset);
|
|
191
|
-
* ```
|
|
192
|
-
*/
|
|
193
|
-
declare function getVaultTVL(params: GetVaultTVLParams): Promise<VaultTVLResult>;
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* @file Withdrawal display helpers
|
|
197
|
-
* @module display/withdrawal-display
|
|
198
|
-
*/
|
|
199
|
-
|
|
200
|
-
/**
|
|
201
|
-
* Fetches a user's withdrawal requests from the backend API
|
|
202
|
-
*
|
|
203
|
-
* @param params - Filter parameters for withdrawal requests
|
|
204
|
-
* @returns Paginated list of withdrawal requests
|
|
205
|
-
* @throws {APIError} If the API request fails or parameters are invalid
|
|
206
|
-
*
|
|
207
|
-
* @example
|
|
208
|
-
* ```typescript
|
|
209
|
-
* const result = await getWithdrawalRequests({
|
|
210
|
-
* userAddress: "0x1234...",
|
|
211
|
-
* status: "PENDING",
|
|
212
|
-
* chainId: 1,
|
|
213
|
-
* });
|
|
214
|
-
* console.log(result.withdrawalRequests);
|
|
215
|
-
* ```
|
|
216
|
-
*/
|
|
217
|
-
declare function getWithdrawalRequests(params: GetWithdrawalRequestsParams): Promise<WithdrawalRequestsResult>;
|
|
218
|
-
/**
|
|
219
|
-
* Reads the withdrawal fee from the on-chain FeeModule contract
|
|
220
|
-
*
|
|
221
|
-
* Performs two sequential RPC calls:
|
|
222
|
-
* 1. Reads the FeeModule address from WithdrawQueue.feeModule()
|
|
223
|
-
* 2. Multicalls calculateOfferFees + offerFeePercentage on the FeeModule
|
|
224
|
-
*
|
|
225
|
-
* @param params - Parameters for fee calculation
|
|
226
|
-
* @returns Fee amount and fee percentage
|
|
227
|
-
* @throws {APIError} If vault not found or contract read fails
|
|
228
|
-
*
|
|
229
|
-
* @example
|
|
230
|
-
* ```typescript
|
|
231
|
-
* const fee = await getWithdrawalFee({
|
|
232
|
-
* vaultName: "Amplify USDC Core",
|
|
233
|
-
* chainId: 1,
|
|
234
|
-
* assetAddress: "0xA0b8...", // USDC
|
|
235
|
-
* amount: "1.0",
|
|
236
|
-
* offerAsset: "0x1234...", // vault shares
|
|
237
|
-
* wantAsset: "0xA0b8...", // USDC
|
|
238
|
-
* receiver: "0x5678...",
|
|
239
|
-
* });
|
|
240
|
-
* console.log(fee.feeAmount, fee.feePercentage);
|
|
241
|
-
* ```
|
|
242
|
-
*/
|
|
243
|
-
declare function getWithdrawalFee(params: GetWithdrawalFeeParams): Promise<WithdrawalFeeResult>;
|
|
244
|
-
/**
|
|
245
|
-
* Reads the minimum withdrawal order size from the WithdrawQueue contract
|
|
246
|
-
*
|
|
247
|
-
* @param params - Parameters to identify the vault
|
|
248
|
-
* @returns Minimum order size in vault shares and share decimals
|
|
249
|
-
* @throws {APIError} If vault not found or contract read fails
|
|
250
|
-
*
|
|
251
|
-
* @example
|
|
252
|
-
* ```typescript
|
|
253
|
-
* const result = await getMinimumWithdrawalOrderSize({
|
|
254
|
-
* vaultName: "Amplify USDC Core",
|
|
255
|
-
* chainId: 1,
|
|
256
|
-
* assetAddress: "0xA0b8...",
|
|
257
|
-
* });
|
|
258
|
-
* console.log(result.minimumOrderSize, result.shareDecimals);
|
|
259
|
-
* ```
|
|
260
|
-
*/
|
|
261
|
-
declare function getMinimumWithdrawalOrderSize(params: GetMinimumWithdrawalOrderSizeParams): Promise<MinimumWithdrawalOrderSizeResult>;
|
|
262
|
-
|
|
263
|
-
export { type GetMinimumMintParams, type GetMinimumWithdrawalOrderSizeParams, type GetVaultAPYParams, type GetVaultTVLParams, type GetWithdrawalFeeParams, type GetWithdrawalRequestsParams, type MinimumMintResult, type MinimumWithdrawalOrderSizeResult, type VaultAPYResult, type VaultTVLResult, type WithdrawalFeeResult, type WithdrawalRequest, type WithdrawalRequestStatus, type WithdrawalRequestsResult, getMinimumMint, getMinimumWithdrawalOrderSize, getVaultAPY, getVaultTVL, getWithdrawalFee, getWithdrawalRequests };
|