@avalabs/fusion-sdk 0.1.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/LICENSE +9 -0
- package/README.md +264 -0
- package/dist/_utils/chain.cjs +2 -0
- package/dist/_utils/chain.cjs.map +1 -0
- package/dist/_utils/chain.js +2 -0
- package/dist/_utils/chain.js.map +1 -0
- package/dist/_utils/math.cjs +2 -0
- package/dist/_utils/math.cjs.map +1 -0
- package/dist/_utils/math.js +2 -0
- package/dist/_utils/math.js.map +1 -0
- package/dist/_utils/merge-assets.cjs +2 -0
- package/dist/_utils/merge-assets.cjs.map +1 -0
- package/dist/_utils/merge-assets.js +2 -0
- package/dist/_utils/merge-assets.js.map +1 -0
- package/dist/_virtual/_rolldown/runtime.cjs +1 -0
- package/dist/constants.cjs +2 -0
- package/dist/constants.cjs.map +1 -0
- package/dist/constants.d.cts +102 -0
- package/dist/constants.d.ts +102 -0
- package/dist/constants.js +2 -0
- package/dist/constants.js.map +1 -0
- package/dist/errors.cjs +2 -0
- package/dist/errors.cjs.map +1 -0
- package/dist/errors.d.cts +115 -0
- package/dist/errors.d.ts +115 -0
- package/dist/errors.js +2 -0
- package/dist/errors.js.map +1 -0
- package/dist/mod.cjs +1 -0
- package/dist/mod.d.cts +19 -0
- package/dist/mod.d.ts +19 -0
- package/dist/mod.js +1 -0
- package/dist/quoter/_utils.cjs +2 -0
- package/dist/quoter/_utils.cjs.map +1 -0
- package/dist/quoter/_utils.js +2 -0
- package/dist/quoter/_utils.js.map +1 -0
- package/dist/quoter/constants.cjs +2 -0
- package/dist/quoter/constants.cjs.map +1 -0
- package/dist/quoter/constants.js +2 -0
- package/dist/quoter/constants.js.map +1 -0
- package/dist/quoter/quoter.cjs +2 -0
- package/dist/quoter/quoter.cjs.map +1 -0
- package/dist/quoter/quoter.d.cts +31 -0
- package/dist/quoter/quoter.d.ts +34 -0
- package/dist/quoter/quoter.js +2 -0
- package/dist/quoter/quoter.js.map +1 -0
- package/dist/transfer-manager.cjs +2 -0
- package/dist/transfer-manager.cjs.map +1 -0
- package/dist/transfer-manager.d.cts +17 -0
- package/dist/transfer-manager.d.ts +17 -0
- package/dist/transfer-manager.js +2 -0
- package/dist/transfer-manager.js.map +1 -0
- package/dist/transfer-service/_abis.cjs +2 -0
- package/dist/transfer-service/_abis.cjs.map +1 -0
- package/dist/transfer-service/_abis.js +2 -0
- package/dist/transfer-service/_abis.js.map +1 -0
- package/dist/transfer-service/_evm-gas.cjs +2 -0
- package/dist/transfer-service/_evm-gas.cjs.map +1 -0
- package/dist/transfer-service/_evm-gas.js +2 -0
- package/dist/transfer-service/_evm-gas.js.map +1 -0
- package/dist/transfer-service/_tracking-utilities.cjs +2 -0
- package/dist/transfer-service/_tracking-utilities.cjs.map +1 -0
- package/dist/transfer-service/_tracking-utilities.js +2 -0
- package/dist/transfer-service/_tracking-utilities.js.map +1 -0
- package/dist/transfer-service/_transfer-utilities.cjs +2 -0
- package/dist/transfer-service/_transfer-utilities.cjs.map +1 -0
- package/dist/transfer-service/_transfer-utilities.js +2 -0
- package/dist/transfer-service/_transfer-utilities.js.map +1 -0
- package/dist/transfer-service/_utils.cjs +2 -0
- package/dist/transfer-service/_utils.cjs.map +1 -0
- package/dist/transfer-service/_utils.js +2 -0
- package/dist/transfer-service/_utils.js.map +1 -0
- package/dist/transfer-service/_warden-config-schema.cjs +2 -0
- package/dist/transfer-service/_warden-config-schema.cjs.map +1 -0
- package/dist/transfer-service/_warden-config-schema.js +2 -0
- package/dist/transfer-service/_warden-config-schema.js.map +1 -0
- package/dist/transfer-service/_warden-config.cjs +2 -0
- package/dist/transfer-service/_warden-config.cjs.map +1 -0
- package/dist/transfer-service/_warden-config.js +2 -0
- package/dist/transfer-service/_warden-config.js.map +1 -0
- package/dist/transfer-service/avalanche-evm/_constants.cjs +2 -0
- package/dist/transfer-service/avalanche-evm/_constants.cjs.map +1 -0
- package/dist/transfer-service/avalanche-evm/_constants.js +2 -0
- package/dist/transfer-service/avalanche-evm/_constants.js.map +1 -0
- package/dist/transfer-service/avalanche-evm/_handlers/analyze-support.cjs +2 -0
- package/dist/transfer-service/avalanche-evm/_handlers/analyze-support.cjs.map +1 -0
- package/dist/transfer-service/avalanche-evm/_handlers/analyze-support.js +2 -0
- package/dist/transfer-service/avalanche-evm/_handlers/analyze-support.js.map +1 -0
- package/dist/transfer-service/avalanche-evm/_handlers/estimate-native-fee.cjs +2 -0
- package/dist/transfer-service/avalanche-evm/_handlers/estimate-native-fee.cjs.map +1 -0
- package/dist/transfer-service/avalanche-evm/_handlers/estimate-native-fee.js +2 -0
- package/dist/transfer-service/avalanche-evm/_handlers/estimate-native-fee.js.map +1 -0
- package/dist/transfer-service/avalanche-evm/_handlers/get-assets.cjs +2 -0
- package/dist/transfer-service/avalanche-evm/_handlers/get-assets.cjs.map +1 -0
- package/dist/transfer-service/avalanche-evm/_handlers/get-assets.js +2 -0
- package/dist/transfer-service/avalanche-evm/_handlers/get-assets.js.map +1 -0
- package/dist/transfer-service/avalanche-evm/_handlers/get-minimum-transfer-amount.cjs +2 -0
- package/dist/transfer-service/avalanche-evm/_handlers/get-minimum-transfer-amount.cjs.map +1 -0
- package/dist/transfer-service/avalanche-evm/_handlers/get-minimum-transfer-amount.js +2 -0
- package/dist/transfer-service/avalanche-evm/_handlers/get-minimum-transfer-amount.js.map +1 -0
- package/dist/transfer-service/avalanche-evm/_handlers/get-supported-chains.cjs +2 -0
- package/dist/transfer-service/avalanche-evm/_handlers/get-supported-chains.cjs.map +1 -0
- package/dist/transfer-service/avalanche-evm/_handlers/get-supported-chains.js +2 -0
- package/dist/transfer-service/avalanche-evm/_handlers/get-supported-chains.js.map +1 -0
- package/dist/transfer-service/avalanche-evm/_handlers/stream-quotes.cjs +2 -0
- package/dist/transfer-service/avalanche-evm/_handlers/stream-quotes.cjs.map +1 -0
- package/dist/transfer-service/avalanche-evm/_handlers/stream-quotes.js +2 -0
- package/dist/transfer-service/avalanche-evm/_handlers/stream-quotes.js.map +1 -0
- package/dist/transfer-service/avalanche-evm/_handlers/track-transfer.cjs +2 -0
- package/dist/transfer-service/avalanche-evm/_handlers/track-transfer.cjs.map +1 -0
- package/dist/transfer-service/avalanche-evm/_handlers/track-transfer.js +2 -0
- package/dist/transfer-service/avalanche-evm/_handlers/track-transfer.js.map +1 -0
- package/dist/transfer-service/avalanche-evm/_handlers/transfer-asset.cjs +2 -0
- package/dist/transfer-service/avalanche-evm/_handlers/transfer-asset.cjs.map +1 -0
- package/dist/transfer-service/avalanche-evm/_handlers/transfer-asset.js +2 -0
- package/dist/transfer-service/avalanche-evm/_handlers/transfer-asset.js.map +1 -0
- package/dist/transfer-service/avalanche-evm/_utils/fee.cjs +2 -0
- package/dist/transfer-service/avalanche-evm/_utils/fee.cjs.map +1 -0
- package/dist/transfer-service/avalanche-evm/_utils/fee.js +2 -0
- package/dist/transfer-service/avalanche-evm/_utils/fee.js.map +1 -0
- package/dist/transfer-service/avalanche-evm/_utils/get-config.cjs +2 -0
- package/dist/transfer-service/avalanche-evm/_utils/get-config.cjs.map +1 -0
- package/dist/transfer-service/avalanche-evm/_utils/get-config.js +2 -0
- package/dist/transfer-service/avalanche-evm/_utils/get-config.js.map +1 -0
- package/dist/transfer-service/avalanche-evm/_utils/transfer-data.cjs +2 -0
- package/dist/transfer-service/avalanche-evm/_utils/transfer-data.cjs.map +1 -0
- package/dist/transfer-service/avalanche-evm/_utils/transfer-data.js +2 -0
- package/dist/transfer-service/avalanche-evm/_utils/transfer-data.js.map +1 -0
- package/dist/transfer-service/avalanche-evm/_utils/unwrap.cjs +2 -0
- package/dist/transfer-service/avalanche-evm/_utils/unwrap.cjs.map +1 -0
- package/dist/transfer-service/avalanche-evm/_utils/unwrap.js +2 -0
- package/dist/transfer-service/avalanche-evm/_utils/unwrap.js.map +1 -0
- package/dist/transfer-service/avalanche-evm/_utils/validations.cjs +2 -0
- package/dist/transfer-service/avalanche-evm/_utils/validations.cjs.map +1 -0
- package/dist/transfer-service/avalanche-evm/_utils/validations.js +2 -0
- package/dist/transfer-service/avalanche-evm/_utils/validations.js.map +1 -0
- package/dist/transfer-service/avalanche-evm/_utils/wrap.cjs +2 -0
- package/dist/transfer-service/avalanche-evm/_utils/wrap.cjs.map +1 -0
- package/dist/transfer-service/avalanche-evm/_utils/wrap.js +2 -0
- package/dist/transfer-service/avalanche-evm/_utils/wrap.js.map +1 -0
- package/dist/transfer-service/avalanche-evm/avalanche-evm-service.cjs +2 -0
- package/dist/transfer-service/avalanche-evm/avalanche-evm-service.cjs.map +1 -0
- package/dist/transfer-service/avalanche-evm/avalanche-evm-service.js +2 -0
- package/dist/transfer-service/avalanche-evm/avalanche-evm-service.js.map +1 -0
- package/dist/transfer-service/fetch-utilities.cjs +4 -0
- package/dist/transfer-service/fetch-utilities.cjs.map +1 -0
- package/dist/transfer-service/fetch-utilities.js +4 -0
- package/dist/transfer-service/fetch-utilities.js.map +1 -0
- package/dist/transfer-service/lombard/_schema.cjs +2 -0
- package/dist/transfer-service/lombard/_schema.cjs.map +1 -0
- package/dist/transfer-service/lombard/_schema.js +2 -0
- package/dist/transfer-service/lombard/_schema.js.map +1 -0
- package/dist/transfer-service/lombard/_utils/asset.cjs +2 -0
- package/dist/transfer-service/lombard/_utils/asset.cjs.map +1 -0
- package/dist/transfer-service/lombard/_utils/asset.js +2 -0
- package/dist/transfer-service/lombard/_utils/asset.js.map +1 -0
- package/dist/transfer-service/lombard/_utils/chain.cjs +2 -0
- package/dist/transfer-service/lombard/_utils/chain.cjs.map +1 -0
- package/dist/transfer-service/lombard/_utils/chain.js +2 -0
- package/dist/transfer-service/lombard/_utils/chain.js.map +1 -0
- package/dist/transfer-service/lombard/_utils/fee.cjs +2 -0
- package/dist/transfer-service/lombard/_utils/fee.cjs.map +1 -0
- package/dist/transfer-service/lombard/_utils/fee.js +2 -0
- package/dist/transfer-service/lombard/_utils/fee.js.map +1 -0
- package/dist/transfer-service/lombard/_utils/metadata.cjs +2 -0
- package/dist/transfer-service/lombard/_utils/metadata.cjs.map +1 -0
- package/dist/transfer-service/lombard/_utils/metadata.js +2 -0
- package/dist/transfer-service/lombard/_utils/metadata.js.map +1 -0
- package/dist/transfer-service/lombard/_utils/utxo.cjs +2 -0
- package/dist/transfer-service/lombard/_utils/utxo.cjs.map +1 -0
- package/dist/transfer-service/lombard/_utils/utxo.js +2 -0
- package/dist/transfer-service/lombard/_utils/utxo.js.map +1 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/analyze-support.cjs +2 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/analyze-support.cjs.map +1 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/analyze-support.js +2 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/analyze-support.js.map +1 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/estimate-native-fee.cjs +2 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/estimate-native-fee.cjs.map +1 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/estimate-native-fee.js +2 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/estimate-native-fee.js.map +1 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/get-assets.cjs +2 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/get-assets.cjs.map +1 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/get-assets.js +2 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/get-assets.js.map +1 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/get-minimum-transfer-amount.cjs +2 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/get-minimum-transfer-amount.cjs.map +1 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/get-minimum-transfer-amount.js +2 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/get-minimum-transfer-amount.js.map +1 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/stream-quotes.cjs +2 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/stream-quotes.cjs.map +1 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/stream-quotes.js +2 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/stream-quotes.js.map +1 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/track-transfer.cjs +2 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/track-transfer.cjs.map +1 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/track-transfer.js +2 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/track-transfer.js.map +1 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/transfer-asset.cjs +2 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/transfer-asset.cjs.map +1 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/transfer-asset.js +2 -0
- package/dist/transfer-service/lombard/btc-to-btcb/_handlers/transfer-asset.js.map +1 -0
- package/dist/transfer-service/lombard/btc-to-btcb-service.cjs +2 -0
- package/dist/transfer-service/lombard/btc-to-btcb-service.cjs.map +1 -0
- package/dist/transfer-service/lombard/btc-to-btcb-service.js +2 -0
- package/dist/transfer-service/lombard/btc-to-btcb-service.js.map +1 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/analyze-support.cjs +2 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/analyze-support.cjs.map +1 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/analyze-support.js +2 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/analyze-support.js.map +1 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/estimate-native-fee.cjs +2 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/estimate-native-fee.cjs.map +1 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/estimate-native-fee.js +2 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/estimate-native-fee.js.map +1 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/get-assets.cjs +2 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/get-assets.cjs.map +1 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/get-assets.js +2 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/get-assets.js.map +1 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/stream-quotes.cjs +2 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/stream-quotes.cjs.map +1 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/stream-quotes.js +2 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/stream-quotes.js.map +1 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/track-transfer.cjs +2 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/track-transfer.cjs.map +1 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/track-transfer.js +2 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/track-transfer.js.map +1 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/transfer-asset.cjs +2 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/transfer-asset.cjs.map +1 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/transfer-asset.js +2 -0
- package/dist/transfer-service/lombard/btcb-to-btc/_handlers/transfer-asset.js.map +1 -0
- package/dist/transfer-service/lombard/btcb-to-btc-service.cjs +2 -0
- package/dist/transfer-service/lombard/btcb-to-btc-service.cjs.map +1 -0
- package/dist/transfer-service/lombard/btcb-to-btc-service.js +2 -0
- package/dist/transfer-service/lombard/btcb-to-btc-service.js.map +1 -0
- package/dist/transfer-service/lombard/constants.cjs +2 -0
- package/dist/transfer-service/lombard/constants.cjs.map +1 -0
- package/dist/transfer-service/lombard/constants.js +2 -0
- package/dist/transfer-service/lombard/constants.js.map +1 -0
- package/dist/transfer-service/markr/_abis/cross-chain-swap-wrapper-abi.cjs +2 -0
- package/dist/transfer-service/markr/_abis/cross-chain-swap-wrapper-abi.cjs.map +1 -0
- package/dist/transfer-service/markr/_abis/cross-chain-swap-wrapper-abi.js +2 -0
- package/dist/transfer-service/markr/_abis/cross-chain-swap-wrapper-abi.js.map +1 -0
- package/dist/transfer-service/markr/_abis/swap-wrapper-abi.cjs +2 -0
- package/dist/transfer-service/markr/_abis/swap-wrapper-abi.cjs.map +1 -0
- package/dist/transfer-service/markr/_abis/swap-wrapper-abi.js +2 -0
- package/dist/transfer-service/markr/_abis/swap-wrapper-abi.js.map +1 -0
- package/dist/transfer-service/markr/_api.cjs +2 -0
- package/dist/transfer-service/markr/_api.cjs.map +1 -0
- package/dist/transfer-service/markr/_api.js +2 -0
- package/dist/transfer-service/markr/_api.js.map +1 -0
- package/dist/transfer-service/markr/_handlers/analyze-support.cjs +2 -0
- package/dist/transfer-service/markr/_handlers/analyze-support.cjs.map +1 -0
- package/dist/transfer-service/markr/_handlers/analyze-support.js +2 -0
- package/dist/transfer-service/markr/_handlers/analyze-support.js.map +1 -0
- package/dist/transfer-service/markr/_handlers/estimate-native-fee.cjs +2 -0
- package/dist/transfer-service/markr/_handlers/estimate-native-fee.cjs.map +1 -0
- package/dist/transfer-service/markr/_handlers/estimate-native-fee.js +2 -0
- package/dist/transfer-service/markr/_handlers/estimate-native-fee.js.map +1 -0
- package/dist/transfer-service/markr/_handlers/get-assets.cjs +2 -0
- package/dist/transfer-service/markr/_handlers/get-assets.cjs.map +1 -0
- package/dist/transfer-service/markr/_handlers/get-assets.js +2 -0
- package/dist/transfer-service/markr/_handlers/get-assets.js.map +1 -0
- package/dist/transfer-service/markr/_handlers/get-minimum-transfer-amount.cjs +2 -0
- package/dist/transfer-service/markr/_handlers/get-minimum-transfer-amount.cjs.map +1 -0
- package/dist/transfer-service/markr/_handlers/get-minimum-transfer-amount.js +2 -0
- package/dist/transfer-service/markr/_handlers/get-minimum-transfer-amount.js.map +1 -0
- package/dist/transfer-service/markr/_handlers/stream-quotes.cjs +2 -0
- package/dist/transfer-service/markr/_handlers/stream-quotes.cjs.map +1 -0
- package/dist/transfer-service/markr/_handlers/stream-quotes.js +2 -0
- package/dist/transfer-service/markr/_handlers/stream-quotes.js.map +1 -0
- package/dist/transfer-service/markr/_handlers/track-transfer.cjs +2 -0
- package/dist/transfer-service/markr/_handlers/track-transfer.cjs.map +1 -0
- package/dist/transfer-service/markr/_handlers/track-transfer.js +2 -0
- package/dist/transfer-service/markr/_handlers/track-transfer.js.map +1 -0
- package/dist/transfer-service/markr/_handlers/transfer-asset.cjs +2 -0
- package/dist/transfer-service/markr/_handlers/transfer-asset.cjs.map +1 -0
- package/dist/transfer-service/markr/_handlers/transfer-asset.js +2 -0
- package/dist/transfer-service/markr/_handlers/transfer-asset.js.map +1 -0
- package/dist/transfer-service/markr/_schema.cjs +2 -0
- package/dist/transfer-service/markr/_schema.cjs.map +1 -0
- package/dist/transfer-service/markr/_schema.js +2 -0
- package/dist/transfer-service/markr/_schema.js.map +1 -0
- package/dist/transfer-service/markr/_type-guards.cjs +2 -0
- package/dist/transfer-service/markr/_type-guards.cjs.map +1 -0
- package/dist/transfer-service/markr/_type-guards.js +2 -0
- package/dist/transfer-service/markr/_type-guards.js.map +1 -0
- package/dist/transfer-service/markr/_utils.cjs +2 -0
- package/dist/transfer-service/markr/_utils.cjs.map +1 -0
- package/dist/transfer-service/markr/_utils.js +2 -0
- package/dist/transfer-service/markr/_utils.js.map +1 -0
- package/dist/transfer-service/markr/constants.cjs +2 -0
- package/dist/transfer-service/markr/constants.cjs.map +1 -0
- package/dist/transfer-service/markr/constants.js +2 -0
- package/dist/transfer-service/markr/constants.js.map +1 -0
- package/dist/transfer-service/markr/markr-service.cjs +2 -0
- package/dist/transfer-service/markr/markr-service.cjs.map +1 -0
- package/dist/transfer-service/markr/markr-service.js +2 -0
- package/dist/transfer-service/markr/markr-service.js.map +1 -0
- package/dist/transfer-service/service-schemas.cjs +2 -0
- package/dist/transfer-service/service-schemas.cjs.map +1 -0
- package/dist/transfer-service/service-schemas.js +2 -0
- package/dist/transfer-service/service-schemas.js.map +1 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/analyze-support.cjs +2 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/analyze-support.cjs.map +1 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/analyze-support.js +2 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/analyze-support.js.map +1 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/estimate-native-fee.cjs +2 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/estimate-native-fee.cjs.map +1 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/estimate-native-fee.js +2 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/estimate-native-fee.js.map +1 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/get-assets.cjs +2 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/get-assets.cjs.map +1 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/get-assets.js +2 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/get-assets.js.map +1 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/get-minimum-transfer-amount.cjs +2 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/get-minimum-transfer-amount.cjs.map +1 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/get-minimum-transfer-amount.js +2 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/get-minimum-transfer-amount.js.map +1 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/stream-quotes.cjs +2 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/stream-quotes.cjs.map +1 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/stream-quotes.js +2 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/stream-quotes.js.map +1 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/track-transfer.cjs +2 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/track-transfer.cjs.map +1 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/track-transfer.js +2 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/track-transfer.js.map +1 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/transfer-asset.cjs +2 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/transfer-asset.cjs.map +1 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/transfer-asset.js +2 -0
- package/dist/transfer-service/wrap-unwrap/_handlers/transfer-asset.js.map +1 -0
- package/dist/transfer-service/wrap-unwrap/_utils.cjs +2 -0
- package/dist/transfer-service/wrap-unwrap/_utils.cjs.map +1 -0
- package/dist/transfer-service/wrap-unwrap/_utils.js +2 -0
- package/dist/transfer-service/wrap-unwrap/_utils.js.map +1 -0
- package/dist/transfer-service/wrap-unwrap/constants.cjs +2 -0
- package/dist/transfer-service/wrap-unwrap/constants.cjs.map +1 -0
- package/dist/transfer-service/wrap-unwrap/constants.js +2 -0
- package/dist/transfer-service/wrap-unwrap/constants.js.map +1 -0
- package/dist/transfer-service/wrap-unwrap/wrap-unwrap-service.cjs +2 -0
- package/dist/transfer-service/wrap-unwrap/wrap-unwrap-service.cjs.map +1 -0
- package/dist/transfer-service/wrap-unwrap/wrap-unwrap-service.js +2 -0
- package/dist/transfer-service/wrap-unwrap/wrap-unwrap-service.js.map +1 -0
- package/dist/type-guards.cjs +2 -0
- package/dist/type-guards.cjs.map +1 -0
- package/dist/type-guards.d.cts +16 -0
- package/dist/type-guards.d.ts +16 -0
- package/dist/type-guards.js +2 -0
- package/dist/type-guards.js.map +1 -0
- package/dist/types/asset.d.cts +61 -0
- package/dist/types/asset.d.ts +61 -0
- package/dist/types/bitcoin.d.cts +66 -0
- package/dist/types/bitcoin.d.ts +66 -0
- package/dist/types/caip.d.cts +30 -0
- package/dist/types/caip.d.ts +30 -0
- package/dist/types/chain.d.cts +17 -0
- package/dist/types/chain.d.ts +17 -0
- package/dist/types/fee.d.cts +13 -0
- package/dist/types/fee.d.ts +13 -0
- package/dist/types/quote.d.cts +140 -0
- package/dist/types/quote.d.ts +140 -0
- package/dist/types/service.d.cts +224 -0
- package/dist/types/service.d.ts +224 -0
- package/dist/types/signer.d.cts +50 -0
- package/dist/types/signer.d.ts +50 -0
- package/dist/types/transfer-manager.d.cts +115 -0
- package/dist/types/transfer-manager.d.ts +115 -0
- package/dist/types/transfer.d.cts +107 -0
- package/dist/types/transfer.d.ts +107 -0
- package/dist/types/utility-types.d.cts +21 -0
- package/dist/types/utility-types.d.ts +21 -0
- package/dist/utils/bitcoin-address.cjs +2 -0
- package/dist/utils/bitcoin-address.cjs.map +1 -0
- package/dist/utils/bitcoin-address.js +2 -0
- package/dist/utils/bitcoin-address.js.map +1 -0
- package/dist/utils/caip.cjs +2 -0
- package/dist/utils/caip.cjs.map +1 -0
- package/dist/utils/caip.d.cts +49 -0
- package/dist/utils/caip.d.ts +49 -0
- package/dist/utils/caip.js +2 -0
- package/dist/utils/caip.js.map +1 -0
- package/dist/utils/evm-address.cjs +2 -0
- package/dist/utils/evm-address.cjs.map +1 -0
- package/dist/utils/evm-address.js +2 -0
- package/dist/utils/evm-address.js.map +1 -0
- package/dist/utils/quote-fees.cjs +2 -0
- package/dist/utils/quote-fees.cjs.map +1 -0
- package/dist/utils/quote-fees.js +2 -0
- package/dist/utils/quote-fees.js.map +1 -0
- package/dist/utils/sol-address.cjs +2 -0
- package/dist/utils/sol-address.cjs.map +1 -0
- package/dist/utils/sol-address.js +2 -0
- package/dist/utils/sol-address.js.map +1 -0
- package/dist/utils/solana-transaction.d.cts +15 -0
- package/dist/utils/solana-transaction.d.ts +17 -0
- package/dist/utils/transfer-utils.cjs +2 -0
- package/dist/utils/transfer-utils.cjs.map +1 -0
- package/dist/utils/transfer-utils.d.cts +8 -0
- package/dist/utils/transfer-utils.d.ts +8 -0
- package/dist/utils/transfer-utils.js +2 -0
- package/dist/utils/transfer-utils.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { BitcoinFeeRateTier } from "./types/bitcoin.js";
|
|
2
|
+
import { Chain } from "./types/chain.js";
|
|
3
|
+
import { FeeRateTier } from "./types/fee.js";
|
|
4
|
+
import { NativeAsset } from "./types/asset.js";
|
|
5
|
+
import { Address } from "viem";
|
|
6
|
+
import { Address as Address$1 } from "@solana/kit";
|
|
7
|
+
|
|
8
|
+
//#region src/constants.d.ts
|
|
9
|
+
declare enum Environment {
|
|
10
|
+
DEV = "dev",
|
|
11
|
+
PROD = "production",
|
|
12
|
+
TEST = "test"
|
|
13
|
+
}
|
|
14
|
+
declare enum TokenType {
|
|
15
|
+
NATIVE = "native",
|
|
16
|
+
ERC20 = "erc20",
|
|
17
|
+
SPL = "spl"
|
|
18
|
+
}
|
|
19
|
+
declare enum ServiceType {
|
|
20
|
+
/** Bridge between EVM chains within Avalanche (or EVM-compatible flows). */
|
|
21
|
+
AVALANCHE_EVM = "avalanche-evm",
|
|
22
|
+
/** Bitcoin → Avalanche. */
|
|
23
|
+
LOMBARD_BTC_TO_BTCB = "lombard-btc-to-btcb",
|
|
24
|
+
/** Avalanche → Bitcoin. */
|
|
25
|
+
LOMBARD_BTCB_TO_BTC = "lombard-btcb-to-btc",
|
|
26
|
+
MARKR = "markr",
|
|
27
|
+
/** Same-chain wrap/unwrap of native ETH ↔ WETH and AVAX ↔ WAVAX. */
|
|
28
|
+
WRAP_UNWRAP = "wrap-unwrap"
|
|
29
|
+
}
|
|
30
|
+
declare const BTC_SERVICE_TYPES: readonly [ServiceType.LOMBARD_BTCB_TO_BTC, ServiceType.LOMBARD_BTC_TO_BTCB];
|
|
31
|
+
declare const EVM_SERVICE_TYPES: readonly [ServiceType.AVALANCHE_EVM, ServiceType.WRAP_UNWRAP];
|
|
32
|
+
/** Reasons for user signatures during execution. */
|
|
33
|
+
declare enum TransferSignatureReason {
|
|
34
|
+
AddressOwnership = "address-ownership",
|
|
35
|
+
/** ERC-20 allowance approval for router/bridge. */
|
|
36
|
+
AllowanceApproval = "allowance-approval",
|
|
37
|
+
/** The primary token movement call (swap or bridge submit). */
|
|
38
|
+
TokensTransfer = "tokens-transfer",
|
|
39
|
+
/** Optional wrap/unwrap step for native token handling. */
|
|
40
|
+
WrapToken = "wrap-token"
|
|
41
|
+
}
|
|
42
|
+
declare const ERC_ZERO_ADDRESS: Address;
|
|
43
|
+
declare const SOL_MINT_ADDRESS: Address$1;
|
|
44
|
+
declare enum AvalancheChainIds {
|
|
45
|
+
FUJI = "eip155:43113",
|
|
46
|
+
MAINNET = "eip155:43114"
|
|
47
|
+
}
|
|
48
|
+
declare enum EthereumChainIds {
|
|
49
|
+
MAINNET = "eip155:1",
|
|
50
|
+
SEPOLIA = "eip155:11155111"
|
|
51
|
+
}
|
|
52
|
+
declare enum BitcoinChainIds {
|
|
53
|
+
MAINNET = "bip122:000000000019d6689c085ae165831e93",
|
|
54
|
+
TESTNET = "bip122:000000000933ea01ad0ee984209779ba"
|
|
55
|
+
}
|
|
56
|
+
declare enum SolanaChainIds {
|
|
57
|
+
MAINNET = "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
|
|
58
|
+
DEVNET = "solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1"
|
|
59
|
+
}
|
|
60
|
+
declare const AVALANCHE_FUJI_CHAIN: Chain;
|
|
61
|
+
declare const AVALANCHE_MAINNET_CHAIN: Chain;
|
|
62
|
+
declare const ETHEREUM_SEPOLIA_CHAIN: Chain;
|
|
63
|
+
declare const ETHEREUM_MAINNET_CHAIN: Chain;
|
|
64
|
+
declare const BITCOIN_TESTNET_CHAIN: Chain;
|
|
65
|
+
declare const BITCOIN_MAINNET_CHAIN: Chain;
|
|
66
|
+
declare const SOLANA_MAINNET_CHAIN: Chain;
|
|
67
|
+
declare const SOLANA_DEVNET_CHAIN: Chain;
|
|
68
|
+
declare const NATIVE_AVAX: NativeAsset;
|
|
69
|
+
declare const NATIVE_ETH: NativeAsset;
|
|
70
|
+
declare enum Blockchain {
|
|
71
|
+
AVALANCHE = "avalanche",
|
|
72
|
+
BITCOIN = "bitcoin",
|
|
73
|
+
ETHEREUM = "ethereum",
|
|
74
|
+
SOLANA = "solana",
|
|
75
|
+
UNKNOWN = "_unknown"
|
|
76
|
+
}
|
|
77
|
+
declare enum EvmChainId {
|
|
78
|
+
AVALANCHE_MAINNET = 43114,
|
|
79
|
+
AVALANCHE_TESTNET = 43113,
|
|
80
|
+
ETHEREUM_HOMESTEAD = 1,
|
|
81
|
+
ETHEREUM_TEST_SEPOLIA = 11155111,
|
|
82
|
+
/**
|
|
83
|
+
* This is not a real chain ID, as Bitcoin does not have a chain ID.
|
|
84
|
+
* It is used internally to represent Bitcoin in a way that avoids
|
|
85
|
+
* conflicts with real EVM chain IDs.
|
|
86
|
+
*/
|
|
87
|
+
BITCOIN = 0xfffffffffffeb,
|
|
88
|
+
/**
|
|
89
|
+
* This is not a real chain ID, as Bitcoin does not have a chain ID.
|
|
90
|
+
* It is used internally to represent Bitcoin in a way that avoids
|
|
91
|
+
* conflicts with real EVM chain IDs.
|
|
92
|
+
*/
|
|
93
|
+
BITCOIN_TESTNET = 0xfffffffffffea
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Maps the unified {@link FeeRateTier} to the Bitcoin-specific
|
|
97
|
+
* {@link BitcoinFeeRateTier} (`low | medium | high`).
|
|
98
|
+
*/
|
|
99
|
+
declare const FEE_RATE_TIER_TO_BITCOIN: Record<FeeRateTier, BitcoinFeeRateTier>;
|
|
100
|
+
//#endregion
|
|
101
|
+
export { AVALANCHE_FUJI_CHAIN, AVALANCHE_MAINNET_CHAIN, AvalancheChainIds, BITCOIN_MAINNET_CHAIN, BITCOIN_TESTNET_CHAIN, BTC_SERVICE_TYPES, BitcoinChainIds, Blockchain, ERC_ZERO_ADDRESS, ETHEREUM_MAINNET_CHAIN, ETHEREUM_SEPOLIA_CHAIN, EVM_SERVICE_TYPES, Environment, EthereumChainIds, EvmChainId, FEE_RATE_TIER_TO_BITCOIN, NATIVE_AVAX, NATIVE_ETH, SOLANA_DEVNET_CHAIN, SOLANA_MAINNET_CHAIN, SOL_MINT_ADDRESS, ServiceType, SolanaChainIds, TokenType, TransferSignatureReason };
|
|
102
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let e=function(e){return e.DEV=`dev`,e.PROD=`production`,e.TEST=`test`,e}({}),t=function(e){return e.NATIVE=`native`,e.ERC20=`erc20`,e.SPL=`spl`,e}({}),n=function(e){return e.AVALANCHE_EVM=`avalanche-evm`,e.LOMBARD_BTC_TO_BTCB=`lombard-btc-to-btcb`,e.LOMBARD_BTCB_TO_BTC=`lombard-btcb-to-btc`,e.MARKR=`markr`,e.WRAP_UNWRAP=`wrap-unwrap`,e}({});const r=[n.LOMBARD_BTCB_TO_BTC,n.LOMBARD_BTC_TO_BTCB],i=[n.AVALANCHE_EVM,n.WRAP_UNWRAP];let a=function(e){return e.AddressOwnership=`address-ownership`,e.AllowanceApproval=`allowance-approval`,e.TokensTransfer=`tokens-transfer`,e.WrapToken=`wrap-token`,e}({});const o=`0x0000000000000000000000000000000000000000`,s=`So11111111111111111111111111111111111111112`;let c=function(e){return e.FUJI=`eip155:43113`,e.MAINNET=`eip155:43114`,e}({}),l=function(e){return e.MAINNET=`eip155:1`,e.SEPOLIA=`eip155:11155111`,e}({}),u=function(e){return e.MAINNET=`bip122:000000000019d6689c085ae165831e93`,e.TESTNET=`bip122:000000000933ea01ad0ee984209779ba`,e}({}),d=function(e){return e.MAINNET=`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`,e.DEVNET=`solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1`,e}({});const f={chainId:c.FUJI,chainName:`Avalanche Fuji`,networkToken:{type:t.NATIVE,name:`AVAX`,symbol:`AVAX`,decimals:18},rpcUrl:`https://api.avax-test.network/ext/bc/C/rpc`},p={chainId:c.MAINNET,chainName:`Avalanche Mainnet`,rpcUrl:`https://api.avax.network/ext/bc/C/rpc`,networkToken:{type:t.NATIVE,name:`AVAX`,symbol:`AVAX`,decimals:18}},m={chainId:l.SEPOLIA,chainName:`Ethereum Sepolia`,rpcUrl:`https://proxy-api.avax.network/proxy/infura/sepolia`,networkToken:{type:t.NATIVE,name:`ETH`,symbol:`ETH`,decimals:18}},h={chainId:l.MAINNET,chainName:`Ethereum Mainnet`,rpcUrl:`https://proxy-api.avax.network/proxy/infura/mainnet`,networkToken:{type:t.NATIVE,name:`ETH`,symbol:`ETH`,decimals:18}},g={chainId:u.TESTNET,chainName:`Bitcoin Testnet`,rpcUrl:``,networkToken:{type:t.NATIVE,name:`Bitcoin`,symbol:`BTC`,decimals:8}},_={chainId:u.MAINNET,chainName:`Bitcoin Mainnet`,rpcUrl:``,networkToken:{type:t.NATIVE,name:`Bitcoin`,symbol:`BTC`,decimals:8}},v={chainId:d.MAINNET,chainName:`Solana`,rpcUrl:`https://proxy-api.avax.network/proxy/nownodes/sol`,networkToken:{type:t.NATIVE,name:`SOL`,symbol:`SOL`,decimals:9}},y={chainId:d.DEVNET,chainName:`Solana (Devnet)`,rpcUrl:`https://api.devnet.solana.com`,networkToken:{type:t.NATIVE,name:`SOL`,symbol:`SOL`,decimals:9}},b={type:t.NATIVE,name:`Avalanche`,symbol:`AVAX`,decimals:18},x={type:t.NATIVE,name:`Ether`,symbol:`ETH`,decimals:18};let S=function(e){return e.AVALANCHE=`avalanche`,e.BITCOIN=`bitcoin`,e.ETHEREUM=`ethereum`,e.SOLANA=`solana`,e.UNKNOWN=`_unknown`,e}({}),C=function(e){return e[e.AVALANCHE_MAINNET=43114]=`AVALANCHE_MAINNET`,e[e.AVALANCHE_TESTNET=43113]=`AVALANCHE_TESTNET`,e[e.ETHEREUM_HOMESTEAD=1]=`ETHEREUM_HOMESTEAD`,e[e.ETHEREUM_TEST_SEPOLIA=11155111]=`ETHEREUM_TEST_SEPOLIA`,e[e.BITCOIN=0xfffffffffffeb]=`BITCOIN`,e[e.BITCOIN_TESTNET=0xfffffffffffea]=`BITCOIN_TESTNET`,e}({});const w={slow:`low`,normal:`medium`,fast:`high`};export{f as AVALANCHE_FUJI_CHAIN,p as AVALANCHE_MAINNET_CHAIN,c as AvalancheChainIds,_ as BITCOIN_MAINNET_CHAIN,g as BITCOIN_TESTNET_CHAIN,r as BTC_SERVICE_TYPES,u as BitcoinChainIds,S as Blockchain,o as ERC_ZERO_ADDRESS,h as ETHEREUM_MAINNET_CHAIN,m as ETHEREUM_SEPOLIA_CHAIN,i as EVM_SERVICE_TYPES,e as Environment,l as EthereumChainIds,C as EvmChainId,w as FEE_RATE_TIER_TO_BITCOIN,b as NATIVE_AVAX,x as NATIVE_ETH,y as SOLANA_DEVNET_CHAIN,v as SOLANA_MAINNET_CHAIN,s as SOL_MINT_ADDRESS,n as ServiceType,d as SolanaChainIds,t as TokenType,a as TransferSignatureReason};
|
|
2
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":[],"sources":["../src/constants.ts"],"sourcesContent":["import type { Address as SolAddress } from '@solana/kit';\nimport type { Address as EvmAddress } from 'viem';\nimport type { NativeAsset } from './types/asset';\nimport type { BitcoinFeeRateTier } from './types/bitcoin';\nimport type { Chain } from './types/chain';\nimport type { FeeRateTier } from './types/fee';\n\nexport enum Environment {\n DEV = 'dev',\n PROD = 'production',\n TEST = 'test',\n}\n\nexport enum TokenType {\n NATIVE = 'native',\n ERC20 = 'erc20',\n SPL = 'spl',\n}\n\nexport enum ServiceType {\n /** Bridge between EVM chains within Avalanche (or EVM-compatible flows). */\n AVALANCHE_EVM = 'avalanche-evm',\n /** Bitcoin → Avalanche. */\n LOMBARD_BTC_TO_BTCB = 'lombard-btc-to-btcb',\n /** Avalanche → Bitcoin. */\n LOMBARD_BTCB_TO_BTC = 'lombard-btcb-to-btc',\n MARKR = 'markr',\n /** Same-chain wrap/unwrap of native ETH ↔ WETH and AVAX ↔ WAVAX. */\n WRAP_UNWRAP = 'wrap-unwrap',\n}\n\nexport const BTC_SERVICE_TYPES: readonly [ServiceType.LOMBARD_BTCB_TO_BTC, ServiceType.LOMBARD_BTC_TO_BTCB] = [\n ServiceType.LOMBARD_BTCB_TO_BTC,\n ServiceType.LOMBARD_BTC_TO_BTCB,\n];\n\nexport const EVM_SERVICE_TYPES: readonly [ServiceType.AVALANCHE_EVM, ServiceType.WRAP_UNWRAP] = [\n ServiceType.AVALANCHE_EVM,\n ServiceType.WRAP_UNWRAP,\n];\n\n/** Reasons for user signatures during execution. */\nexport enum TransferSignatureReason {\n AddressOwnership = 'address-ownership',\n /** ERC-20 allowance approval for router/bridge. */\n AllowanceApproval = 'allowance-approval',\n /** The primary token movement call (swap or bridge submit). */\n TokensTransfer = 'tokens-transfer',\n /** Optional wrap/unwrap step for native token handling. */\n WrapToken = 'wrap-token',\n}\n\nexport const ERC_ZERO_ADDRESS: EvmAddress = '0x0000000000000000000000000000000000000000';\nexport const SOL_MINT_ADDRESS: SolAddress = 'So11111111111111111111111111111111111111112' as SolAddress;\n\nexport enum AvalancheChainIds {\n FUJI = 'eip155:43113',\n MAINNET = 'eip155:43114',\n}\n\nexport enum EthereumChainIds {\n MAINNET = 'eip155:1',\n SEPOLIA = 'eip155:11155111',\n}\n\nexport enum BitcoinChainIds {\n MAINNET = 'bip122:000000000019d6689c085ae165831e93',\n TESTNET = 'bip122:000000000933ea01ad0ee984209779ba',\n}\n\nexport enum SolanaChainIds {\n MAINNET = 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp',\n DEVNET = 'solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1',\n}\n\nexport const AVALANCHE_FUJI_CHAIN: Chain = {\n chainId: AvalancheChainIds.FUJI,\n chainName: 'Avalanche Fuji',\n networkToken: {\n type: TokenType.NATIVE,\n name: 'AVAX',\n symbol: 'AVAX',\n decimals: 18,\n },\n rpcUrl: 'https://api.avax-test.network/ext/bc/C/rpc',\n};\n\nexport const AVALANCHE_MAINNET_CHAIN: Chain = {\n chainId: AvalancheChainIds.MAINNET,\n chainName: 'Avalanche Mainnet',\n rpcUrl: 'https://api.avax.network/ext/bc/C/rpc',\n networkToken: {\n type: TokenType.NATIVE,\n name: 'AVAX',\n symbol: 'AVAX',\n decimals: 18,\n },\n};\n\nexport const ETHEREUM_SEPOLIA_CHAIN: Chain = {\n chainId: EthereumChainIds.SEPOLIA,\n chainName: 'Ethereum Sepolia',\n rpcUrl: 'https://proxy-api.avax.network/proxy/infura/sepolia',\n networkToken: {\n type: TokenType.NATIVE,\n name: 'ETH',\n symbol: 'ETH',\n decimals: 18,\n },\n};\n\nexport const ETHEREUM_MAINNET_CHAIN: Chain = {\n chainId: EthereumChainIds.MAINNET,\n chainName: 'Ethereum Mainnet',\n rpcUrl: 'https://proxy-api.avax.network/proxy/infura/mainnet',\n networkToken: {\n type: TokenType.NATIVE,\n name: 'ETH',\n symbol: 'ETH',\n decimals: 18,\n },\n};\n\nexport const BITCOIN_TESTNET_CHAIN: Chain = {\n chainId: BitcoinChainIds.TESTNET,\n chainName: 'Bitcoin Testnet',\n rpcUrl: '',\n networkToken: {\n type: TokenType.NATIVE,\n name: 'Bitcoin',\n symbol: 'BTC',\n decimals: 8,\n },\n};\n\nexport const BITCOIN_MAINNET_CHAIN: Chain = {\n chainId: BitcoinChainIds.MAINNET,\n chainName: 'Bitcoin Mainnet',\n rpcUrl: '',\n networkToken: {\n type: TokenType.NATIVE,\n name: 'Bitcoin',\n symbol: 'BTC',\n decimals: 8,\n },\n};\n\nexport const SOLANA_MAINNET_CHAIN: Chain = {\n chainId: SolanaChainIds.MAINNET,\n chainName: 'Solana',\n rpcUrl: 'https://proxy-api.avax.network/proxy/nownodes/sol',\n networkToken: {\n type: TokenType.NATIVE,\n name: 'SOL',\n symbol: 'SOL',\n decimals: 9,\n },\n};\n\nexport const SOLANA_DEVNET_CHAIN: Chain = {\n chainId: SolanaChainIds.DEVNET,\n chainName: 'Solana (Devnet)',\n rpcUrl: 'https://api.devnet.solana.com',\n networkToken: {\n type: TokenType.NATIVE,\n name: 'SOL',\n symbol: 'SOL',\n decimals: 9,\n },\n};\nexport const NATIVE_AVAX: NativeAsset = { type: TokenType.NATIVE, name: 'Avalanche', symbol: 'AVAX', decimals: 18 };\nexport const NATIVE_ETH: NativeAsset = { type: TokenType.NATIVE, name: 'Ether', symbol: 'ETH', decimals: 18 };\n\nexport enum Blockchain {\n AVALANCHE = 'avalanche',\n BITCOIN = 'bitcoin',\n ETHEREUM = 'ethereum',\n SOLANA = 'solana',\n UNKNOWN = '_unknown',\n}\n\nexport enum EvmChainId {\n AVALANCHE_MAINNET = 43114,\n AVALANCHE_TESTNET = 43113,\n ETHEREUM_HOMESTEAD = 1,\n ETHEREUM_TEST_SEPOLIA = 11155111,\n /**\n * This is not a real chain ID, as Bitcoin does not have a chain ID.\n * It is used internally to represent Bitcoin in a way that avoids\n * conflicts with real EVM chain IDs.\n */\n BITCOIN = 4_503_599_627_370_476 - 1,\n /**\n * This is not a real chain ID, as Bitcoin does not have a chain ID.\n * It is used internally to represent Bitcoin in a way that avoids\n * conflicts with real EVM chain IDs.\n */\n BITCOIN_TESTNET = 4_503_599_627_370_476 - 2,\n}\n\n/**\n * Maps the unified {@link FeeRateTier} to the Bitcoin-specific\n * {@link BitcoinFeeRateTier} (`low | medium | high`).\n */\nexport const FEE_RATE_TIER_TO_BITCOIN: Record<FeeRateTier, BitcoinFeeRateTier> = {\n slow: 'low',\n normal: 'medium',\n fast: 'high',\n};\n"],"mappings":"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"}
|
package/dist/errors.cjs
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let e=function(e){return e[e.NOT_IMPLEMENTED=5e3]=`NOT_IMPLEMENTED`,e[e.SERVICE_NOT_AVAILABLE=5001]=`SERVICE_NOT_AVAILABLE`,e[e.INITIALIZATION_FAILED=5002]=`INITIALIZATION_FAILED`,e[e.INVALID_PARAMS=5003]=`INVALID_PARAMS`,e[e.TIMEOUT=5004]=`TIMEOUT`,e[e.VIEM_ERROR=5005]=`VIEM_ERROR`,e[e.TRANSACTION_REVERTED=5006]=`TRANSACTION_REVERTED`,e[e.NOTARIZATION_FAILED=5007]=`NOTARIZATION_FAILED`,e[e.SIGNING_FAILED=5008]=`SIGNING_FAILED`,e[e.SOLANA_ERROR=5009]=`SOLANA_ERROR`,e[e.UNKNOWN=5999]=`UNKNOWN`,e}({}),t=function(e){return e.ASSET_NOT_SUPPORTED=`ASSET_NOT_SUPPORTED`,e.CHAIN_NOT_SUPPORTED=`CHAIN_NOT_SUPPORTED`,e.CONFIG_NOT_AVAILABLE=`CONFIG_NOT_AVAILABLE`,e.CONFIRMATION_COUNT_UNKNOWN=`CONFIRMATION_COUNT_UNKNOWN`,e.DUPLICATE_SERVICE_INITIALIZATION=`DUPLICATE_SERVICE_INITIALIZATION`,e.ENVIRONMENT_NOT_SUPPORTED=`ENVIRONMENT_NOT_SUPPORTED`,e.IDENTICAL_CHAINS_PROVIDED=`IDENTICAL_CHAINS_PROVIDED`,e.INCORRECT_ADDRESS_PROVIDED=`INCORRECT_ADDRESS_PROVIDED`,e.INCORRECT_AMOUNT_PROVIDED=`INCORRECT_AMOUNT_PROVIDED`,e.INCORRECT_HASH_PROVIDED=`INCORRECT_HASH_PROVIDED`,e.INCORRECT_PROVIDER_PROVIDED=`INCORRECT_PROVIDER_PROVIDED`,e.INCORRECT_SIGNER_PROVIDED=`INCORRECT_SIGNER_PROVIDED`,e.INCORRECT_TXHASH_PROVIDED=`INCORRECT_TXHASH_PROVIDED`,e.INVALID_PARAMS=`INVALID_PARAMS`,e.SERVICE_TYPE_NOT_CONFIGURED=`SERVICE_TYPE_NOT_CONFIGURED`,e.UNKNOWN=`UNKNOWN`,e.VULNERABLE_TOKEN_APPROVAL_ADDRESS=`VULNERABLE_TOKEN_APPROVAL_ADDRESS`,e.WARDEN_CONFIG_MISMATCH=`WARDEN_CONFIG_MISMATCH`,e.WARDEN_CONFIG_MISSING_NETWORK=`WARDEN_CONFIG_MISSING_NETWORK`,e.ADDRESS_IS_BLOCKED=`ADDRESS_IS_BLOCKED`,e.QUOTE_EXPIRED=`QUOTE_EXPIRED`,e}({});var n=class extends Error{name=`SdkError`;constructor(e,t,n){super(e,{cause:n?.cause}),this.code=t,this.options=n}};function r(e){return e instanceof n}var i=class extends Error{name=`HttpError`;status;statusText;response;data;constructor(e,t,n){super(e),this.name=`HttpError`,this.status=t.status,this.statusText=t.statusText,this.response=t,this.data=n}};function a(e){return e instanceof i}var o=class extends Error{name=`TimeoutError`;constructor(e=`Request timed out.`){super(e),this.name=`TimeoutError`}};function s(e){return e instanceof o}var c=class extends Error{name=`AbortedError`;constructor(e=`Operation was aborted.`){super(e),this.name=`AbortedError`}};function l(e){return e instanceof c}var u=class extends Error{name=`ResponseValidationError`;issues;rawResponse;constructor(e=`Response validation failed.`,t,n){super(e),this.name=`ResponseValidationError`,this.issues=t,this.rawResponse=n}};function d(e){return e instanceof u}var f=class extends n{name=`ServiceInitializationError`;constructor(n=t.UNKNOWN,r,i){super(n,e.INITIALIZATION_FAILED,{cause:i,details:r})}};function p(e){return e instanceof f}var m=class extends n{name=`ServiceUnavailableError`;constructor(n=t.UNKNOWN,r){super(n,e.SERVICE_NOT_AVAILABLE,{details:r})}};function h(e){return e instanceof m}var g=class extends n{name=`InvalidParamsError`;constructor(n=t.INVALID_PARAMS,r){super(n,e.INVALID_PARAMS,{details:r})}};function _(e){return e instanceof g}exports.AbortedError=c,exports.ErrorCode=e,exports.ErrorReason=t,exports.HttpError=i,exports.InvalidParamsError=g,exports.ResponseValidationError=u,exports.SdkError=n,exports.ServiceInitializationError=f,exports.ServiceUnavailableError=m,exports.TimeoutError=o,exports.isAbortedError=l,exports.isHttpError=a,exports.isInvalidParamsError=_,exports.isResponseValidationError=d,exports.isSdkError=r,exports.isServiceInitializationError=p,exports.isServiceUnavailableError=h,exports.isTimeoutError=s;
|
|
2
|
+
//# sourceMappingURL=errors.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.cjs","names":[],"sources":["../src/errors.ts"],"sourcesContent":["export enum ErrorCode {\n NOT_IMPLEMENTED = 5_000,\n SERVICE_NOT_AVAILABLE = 5_001,\n INITIALIZATION_FAILED = 5_002,\n INVALID_PARAMS = 5_003,\n TIMEOUT = 5_004,\n VIEM_ERROR = 5_005,\n TRANSACTION_REVERTED = 5_006,\n NOTARIZATION_FAILED = 5_007,\n SIGNING_FAILED = 5_008,\n SOLANA_ERROR = 5_009,\n UNKNOWN = 5_999,\n}\n\nexport enum ErrorReason {\n /** the provided asset is not supported by the bridge */\n ASSET_NOT_SUPPORTED = 'ASSET_NOT_SUPPORTED',\n /** the provided source or target chain is not supported by the bridge */\n CHAIN_NOT_SUPPORTED = 'CHAIN_NOT_SUPPORTED',\n /** error while fetching or parsing the config */\n CONFIG_NOT_AVAILABLE = 'CONFIG_NOT_AVAILABLE',\n /** required confirmation count of the source or target chain is unknown */\n CONFIRMATION_COUNT_UNKNOWN = 'CONFIRMATION_COUNT_UNKNOWN',\n /** service is being initialized more than once */\n DUPLICATE_SERVICE_INITIALIZATION = 'DUPLICATE_SERVICE_INITIALIZATION',\n /** bridge does not support specified environment */\n ENVIRONMENT_NOT_SUPPORTED = 'ENVIRONMENT_NOT_SUPPORTED',\n /** provided source and target chains are the same */\n IDENTICAL_CHAINS_PROVIDED = 'IDENTICAL_CHAINS_PROVIDED',\n /** the sender or recipient address is incorrect */\n INCORRECT_ADDRESS_PROVIDED = 'INCORRECT_ADDRESS_PROVIDED',\n /** the transfer amount is incorrect (e.g.: lesser than or equal to zero) */\n INCORRECT_AMOUNT_PROVIDED = 'INCORRECT_AMOUNT_PROVIDED',\n /** the transaction is not hex */\n INCORRECT_HASH_PROVIDED = 'INCORRECT_HASH_PROVIDED',\n /** The provided provider is incorrect type (Provider VS BitcoinProvider) */\n INCORRECT_PROVIDER_PROVIDED = 'INCORRECT_PROVIDER_PROVIDED',\n /** The provided signer is incorrect type */\n INCORRECT_SIGNER_PROVIDED = 'INCORRECT_SIGNER_PROVIDED',\n /** the sourceTxHash or targetTxHash is incorrect */\n INCORRECT_TXHASH_PROVIDED = 'INCORRECT_TXHASH_PROVIDED',\n /** generic error with the params */\n INVALID_PARAMS = 'INVALID_PARAMS',\n /** ServiceType requested not available */\n SERVICE_TYPE_NOT_CONFIGURED = 'SERVICE_TYPE_NOT_CONFIGURED',\n /** generic, not specified error */\n UNKNOWN = 'UNKNOWN',\n /** error when the address has token approvals for addresses involved in the multichain incident */\n VULNERABLE_TOKEN_APPROVAL_ADDRESS = 'VULNERABLE_TOKEN_APPROVAL_ADDRESS',\n /** error when warden config was not found or it is over the mismatch threshold */\n WARDEN_CONFIG_MISMATCH = 'WARDEN_CONFIG_MISMATCH',\n /** fetched warden config does not contain network IDs */\n WARDEN_CONFIG_MISSING_NETWORK = 'WARDEN_CONFIG_MISSING_NETWORK',\n /** address is blocked */\n ADDRESS_IS_BLOCKED = 'ADDRESS_IS_BLOCKED',\n /** Quote expired */\n QUOTE_EXPIRED = 'QUOTE_EXPIRED',\n}\n\nexport class SdkError extends Error {\n override name = 'SdkError';\n\n constructor(\n message: string,\n public code: ErrorCode,\n public options?: {\n cause?: unknown;\n details?: string;\n },\n ) {\n super(message, { cause: options?.cause });\n }\n}\n\nexport function isSdkError(error: unknown): error is SdkError {\n return error instanceof SdkError;\n}\n\nexport class HttpError extends Error {\n override name = 'HttpError';\n\n readonly status: number;\n readonly statusText: string;\n readonly response: Response;\n readonly data?: unknown;\n\n constructor(message: string, response: Response, data?: unknown) {\n super(message);\n this.name = 'HttpError';\n this.status = response.status;\n this.statusText = response.statusText;\n this.response = response;\n this.data = data;\n }\n}\n\nexport function isHttpError(error: unknown): error is HttpError {\n return error instanceof HttpError;\n}\n\nexport class TimeoutError extends Error {\n override name = 'TimeoutError';\n\n constructor(message = 'Request timed out.') {\n super(message);\n this.name = 'TimeoutError';\n }\n}\n\nexport function isTimeoutError(error: unknown): error is TimeoutError {\n return error instanceof TimeoutError;\n}\n\nexport class AbortedError extends Error {\n override name = 'AbortedError';\n\n constructor(message = 'Operation was aborted.') {\n super(message);\n this.name = 'AbortedError';\n }\n}\n\nexport function isAbortedError(error: unknown): error is AbortedError {\n return error instanceof AbortedError;\n}\n\nexport class ResponseValidationError extends Error {\n override name = 'ResponseValidationError';\n\n readonly issues?: unknown;\n readonly rawResponse?: unknown;\n\n constructor(message = 'Response validation failed.', issues?: unknown, rawResponse?: unknown) {\n super(message);\n this.name = 'ResponseValidationError';\n this.issues = issues;\n this.rawResponse = rawResponse;\n }\n}\n\nexport function isResponseValidationError(error: unknown): error is ResponseValidationError {\n return error instanceof ResponseValidationError;\n}\n\nexport class ServiceInitializationError extends SdkError {\n override name = 'ServiceInitializationError';\n\n constructor(message: string = ErrorReason.UNKNOWN, details?: string, cause?: unknown) {\n super(message, ErrorCode.INITIALIZATION_FAILED, { cause, details });\n }\n}\n\nexport function isServiceInitializationError(error: unknown): error is ServiceInitializationError {\n return error instanceof ServiceInitializationError;\n}\n\nexport class ServiceUnavailableError extends SdkError {\n override name = 'ServiceUnavailableError';\n\n constructor(message: string = ErrorReason.UNKNOWN, details?: string) {\n super(message, ErrorCode.SERVICE_NOT_AVAILABLE, { details });\n }\n}\n\nexport function isServiceUnavailableError(error: unknown): error is ServiceUnavailableError {\n return error instanceof ServiceUnavailableError;\n}\n\nexport class InvalidParamsError extends SdkError {\n override name = 'InvalidParamsError';\n\n constructor(message: string = ErrorReason.INVALID_PARAMS, details?: string) {\n super(message, ErrorCode.INVALID_PARAMS, { details });\n }\n}\n\nexport function isInvalidParamsError(error: unknown): error is InvalidParamsError {\n return error instanceof InvalidParamsError;\n}\n\n/**\n * @internal\n *\n * Error to indicate that a functionality has not yet been implemented.\n * Do not export from entrypoint.\n */\nexport class NotImplementedError extends SdkError {\n constructor() {\n super('This functionality is not yet implemented.', ErrorCode.NOT_IMPLEMENTED);\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
//#region src/errors.d.ts
|
|
2
|
+
declare enum ErrorCode {
|
|
3
|
+
NOT_IMPLEMENTED = 5e3,
|
|
4
|
+
SERVICE_NOT_AVAILABLE = 5001,
|
|
5
|
+
INITIALIZATION_FAILED = 5002,
|
|
6
|
+
INVALID_PARAMS = 5003,
|
|
7
|
+
TIMEOUT = 5004,
|
|
8
|
+
VIEM_ERROR = 5005,
|
|
9
|
+
TRANSACTION_REVERTED = 5006,
|
|
10
|
+
NOTARIZATION_FAILED = 5007,
|
|
11
|
+
SIGNING_FAILED = 5008,
|
|
12
|
+
SOLANA_ERROR = 5009,
|
|
13
|
+
UNKNOWN = 5999
|
|
14
|
+
}
|
|
15
|
+
declare enum ErrorReason {
|
|
16
|
+
/** the provided asset is not supported by the bridge */
|
|
17
|
+
ASSET_NOT_SUPPORTED = "ASSET_NOT_SUPPORTED",
|
|
18
|
+
/** the provided source or target chain is not supported by the bridge */
|
|
19
|
+
CHAIN_NOT_SUPPORTED = "CHAIN_NOT_SUPPORTED",
|
|
20
|
+
/** error while fetching or parsing the config */
|
|
21
|
+
CONFIG_NOT_AVAILABLE = "CONFIG_NOT_AVAILABLE",
|
|
22
|
+
/** required confirmation count of the source or target chain is unknown */
|
|
23
|
+
CONFIRMATION_COUNT_UNKNOWN = "CONFIRMATION_COUNT_UNKNOWN",
|
|
24
|
+
/** service is being initialized more than once */
|
|
25
|
+
DUPLICATE_SERVICE_INITIALIZATION = "DUPLICATE_SERVICE_INITIALIZATION",
|
|
26
|
+
/** bridge does not support specified environment */
|
|
27
|
+
ENVIRONMENT_NOT_SUPPORTED = "ENVIRONMENT_NOT_SUPPORTED",
|
|
28
|
+
/** provided source and target chains are the same */
|
|
29
|
+
IDENTICAL_CHAINS_PROVIDED = "IDENTICAL_CHAINS_PROVIDED",
|
|
30
|
+
/** the sender or recipient address is incorrect */
|
|
31
|
+
INCORRECT_ADDRESS_PROVIDED = "INCORRECT_ADDRESS_PROVIDED",
|
|
32
|
+
/** the transfer amount is incorrect (e.g.: lesser than or equal to zero) */
|
|
33
|
+
INCORRECT_AMOUNT_PROVIDED = "INCORRECT_AMOUNT_PROVIDED",
|
|
34
|
+
/** the transaction is not hex */
|
|
35
|
+
INCORRECT_HASH_PROVIDED = "INCORRECT_HASH_PROVIDED",
|
|
36
|
+
/** The provided provider is incorrect type (Provider VS BitcoinProvider) */
|
|
37
|
+
INCORRECT_PROVIDER_PROVIDED = "INCORRECT_PROVIDER_PROVIDED",
|
|
38
|
+
/** The provided signer is incorrect type */
|
|
39
|
+
INCORRECT_SIGNER_PROVIDED = "INCORRECT_SIGNER_PROVIDED",
|
|
40
|
+
/** the sourceTxHash or targetTxHash is incorrect */
|
|
41
|
+
INCORRECT_TXHASH_PROVIDED = "INCORRECT_TXHASH_PROVIDED",
|
|
42
|
+
/** generic error with the params */
|
|
43
|
+
INVALID_PARAMS = "INVALID_PARAMS",
|
|
44
|
+
/** ServiceType requested not available */
|
|
45
|
+
SERVICE_TYPE_NOT_CONFIGURED = "SERVICE_TYPE_NOT_CONFIGURED",
|
|
46
|
+
/** generic, not specified error */
|
|
47
|
+
UNKNOWN = "UNKNOWN",
|
|
48
|
+
/** error when the address has token approvals for addresses involved in the multichain incident */
|
|
49
|
+
VULNERABLE_TOKEN_APPROVAL_ADDRESS = "VULNERABLE_TOKEN_APPROVAL_ADDRESS",
|
|
50
|
+
/** error when warden config was not found or it is over the mismatch threshold */
|
|
51
|
+
WARDEN_CONFIG_MISMATCH = "WARDEN_CONFIG_MISMATCH",
|
|
52
|
+
/** fetched warden config does not contain network IDs */
|
|
53
|
+
WARDEN_CONFIG_MISSING_NETWORK = "WARDEN_CONFIG_MISSING_NETWORK",
|
|
54
|
+
/** address is blocked */
|
|
55
|
+
ADDRESS_IS_BLOCKED = "ADDRESS_IS_BLOCKED",
|
|
56
|
+
/** Quote expired */
|
|
57
|
+
QUOTE_EXPIRED = "QUOTE_EXPIRED"
|
|
58
|
+
}
|
|
59
|
+
declare class SdkError extends Error {
|
|
60
|
+
code: ErrorCode;
|
|
61
|
+
options?: {
|
|
62
|
+
cause?: unknown;
|
|
63
|
+
details?: string;
|
|
64
|
+
} | undefined;
|
|
65
|
+
name: string;
|
|
66
|
+
constructor(message: string, code: ErrorCode, options?: {
|
|
67
|
+
cause?: unknown;
|
|
68
|
+
details?: string;
|
|
69
|
+
} | undefined);
|
|
70
|
+
}
|
|
71
|
+
declare function isSdkError(error: unknown): error is SdkError;
|
|
72
|
+
declare class HttpError extends Error {
|
|
73
|
+
name: string;
|
|
74
|
+
readonly status: number;
|
|
75
|
+
readonly statusText: string;
|
|
76
|
+
readonly response: Response;
|
|
77
|
+
readonly data?: unknown;
|
|
78
|
+
constructor(message: string, response: Response, data?: unknown);
|
|
79
|
+
}
|
|
80
|
+
declare function isHttpError(error: unknown): error is HttpError;
|
|
81
|
+
declare class TimeoutError extends Error {
|
|
82
|
+
name: string;
|
|
83
|
+
constructor(message?: string);
|
|
84
|
+
}
|
|
85
|
+
declare function isTimeoutError(error: unknown): error is TimeoutError;
|
|
86
|
+
declare class AbortedError extends Error {
|
|
87
|
+
name: string;
|
|
88
|
+
constructor(message?: string);
|
|
89
|
+
}
|
|
90
|
+
declare function isAbortedError(error: unknown): error is AbortedError;
|
|
91
|
+
declare class ResponseValidationError extends Error {
|
|
92
|
+
name: string;
|
|
93
|
+
readonly issues?: unknown;
|
|
94
|
+
readonly rawResponse?: unknown;
|
|
95
|
+
constructor(message?: string, issues?: unknown, rawResponse?: unknown);
|
|
96
|
+
}
|
|
97
|
+
declare function isResponseValidationError(error: unknown): error is ResponseValidationError;
|
|
98
|
+
declare class ServiceInitializationError extends SdkError {
|
|
99
|
+
name: string;
|
|
100
|
+
constructor(message?: string, details?: string, cause?: unknown);
|
|
101
|
+
}
|
|
102
|
+
declare function isServiceInitializationError(error: unknown): error is ServiceInitializationError;
|
|
103
|
+
declare class ServiceUnavailableError extends SdkError {
|
|
104
|
+
name: string;
|
|
105
|
+
constructor(message?: string, details?: string);
|
|
106
|
+
}
|
|
107
|
+
declare function isServiceUnavailableError(error: unknown): error is ServiceUnavailableError;
|
|
108
|
+
declare class InvalidParamsError extends SdkError {
|
|
109
|
+
name: string;
|
|
110
|
+
constructor(message?: string, details?: string);
|
|
111
|
+
}
|
|
112
|
+
declare function isInvalidParamsError(error: unknown): error is InvalidParamsError;
|
|
113
|
+
//#endregion
|
|
114
|
+
export { AbortedError, ErrorCode, ErrorReason, HttpError, InvalidParamsError, ResponseValidationError, SdkError, ServiceInitializationError, ServiceUnavailableError, TimeoutError, isAbortedError, isHttpError, isInvalidParamsError, isResponseValidationError, isSdkError, isServiceInitializationError, isServiceUnavailableError, isTimeoutError };
|
|
115
|
+
//# sourceMappingURL=errors.d.cts.map
|
package/dist/errors.d.ts
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
//#region src/errors.d.ts
|
|
2
|
+
declare enum ErrorCode {
|
|
3
|
+
NOT_IMPLEMENTED = 5e3,
|
|
4
|
+
SERVICE_NOT_AVAILABLE = 5001,
|
|
5
|
+
INITIALIZATION_FAILED = 5002,
|
|
6
|
+
INVALID_PARAMS = 5003,
|
|
7
|
+
TIMEOUT = 5004,
|
|
8
|
+
VIEM_ERROR = 5005,
|
|
9
|
+
TRANSACTION_REVERTED = 5006,
|
|
10
|
+
NOTARIZATION_FAILED = 5007,
|
|
11
|
+
SIGNING_FAILED = 5008,
|
|
12
|
+
SOLANA_ERROR = 5009,
|
|
13
|
+
UNKNOWN = 5999
|
|
14
|
+
}
|
|
15
|
+
declare enum ErrorReason {
|
|
16
|
+
/** the provided asset is not supported by the bridge */
|
|
17
|
+
ASSET_NOT_SUPPORTED = "ASSET_NOT_SUPPORTED",
|
|
18
|
+
/** the provided source or target chain is not supported by the bridge */
|
|
19
|
+
CHAIN_NOT_SUPPORTED = "CHAIN_NOT_SUPPORTED",
|
|
20
|
+
/** error while fetching or parsing the config */
|
|
21
|
+
CONFIG_NOT_AVAILABLE = "CONFIG_NOT_AVAILABLE",
|
|
22
|
+
/** required confirmation count of the source or target chain is unknown */
|
|
23
|
+
CONFIRMATION_COUNT_UNKNOWN = "CONFIRMATION_COUNT_UNKNOWN",
|
|
24
|
+
/** service is being initialized more than once */
|
|
25
|
+
DUPLICATE_SERVICE_INITIALIZATION = "DUPLICATE_SERVICE_INITIALIZATION",
|
|
26
|
+
/** bridge does not support specified environment */
|
|
27
|
+
ENVIRONMENT_NOT_SUPPORTED = "ENVIRONMENT_NOT_SUPPORTED",
|
|
28
|
+
/** provided source and target chains are the same */
|
|
29
|
+
IDENTICAL_CHAINS_PROVIDED = "IDENTICAL_CHAINS_PROVIDED",
|
|
30
|
+
/** the sender or recipient address is incorrect */
|
|
31
|
+
INCORRECT_ADDRESS_PROVIDED = "INCORRECT_ADDRESS_PROVIDED",
|
|
32
|
+
/** the transfer amount is incorrect (e.g.: lesser than or equal to zero) */
|
|
33
|
+
INCORRECT_AMOUNT_PROVIDED = "INCORRECT_AMOUNT_PROVIDED",
|
|
34
|
+
/** the transaction is not hex */
|
|
35
|
+
INCORRECT_HASH_PROVIDED = "INCORRECT_HASH_PROVIDED",
|
|
36
|
+
/** The provided provider is incorrect type (Provider VS BitcoinProvider) */
|
|
37
|
+
INCORRECT_PROVIDER_PROVIDED = "INCORRECT_PROVIDER_PROVIDED",
|
|
38
|
+
/** The provided signer is incorrect type */
|
|
39
|
+
INCORRECT_SIGNER_PROVIDED = "INCORRECT_SIGNER_PROVIDED",
|
|
40
|
+
/** the sourceTxHash or targetTxHash is incorrect */
|
|
41
|
+
INCORRECT_TXHASH_PROVIDED = "INCORRECT_TXHASH_PROVIDED",
|
|
42
|
+
/** generic error with the params */
|
|
43
|
+
INVALID_PARAMS = "INVALID_PARAMS",
|
|
44
|
+
/** ServiceType requested not available */
|
|
45
|
+
SERVICE_TYPE_NOT_CONFIGURED = "SERVICE_TYPE_NOT_CONFIGURED",
|
|
46
|
+
/** generic, not specified error */
|
|
47
|
+
UNKNOWN = "UNKNOWN",
|
|
48
|
+
/** error when the address has token approvals for addresses involved in the multichain incident */
|
|
49
|
+
VULNERABLE_TOKEN_APPROVAL_ADDRESS = "VULNERABLE_TOKEN_APPROVAL_ADDRESS",
|
|
50
|
+
/** error when warden config was not found or it is over the mismatch threshold */
|
|
51
|
+
WARDEN_CONFIG_MISMATCH = "WARDEN_CONFIG_MISMATCH",
|
|
52
|
+
/** fetched warden config does not contain network IDs */
|
|
53
|
+
WARDEN_CONFIG_MISSING_NETWORK = "WARDEN_CONFIG_MISSING_NETWORK",
|
|
54
|
+
/** address is blocked */
|
|
55
|
+
ADDRESS_IS_BLOCKED = "ADDRESS_IS_BLOCKED",
|
|
56
|
+
/** Quote expired */
|
|
57
|
+
QUOTE_EXPIRED = "QUOTE_EXPIRED"
|
|
58
|
+
}
|
|
59
|
+
declare class SdkError extends Error {
|
|
60
|
+
code: ErrorCode;
|
|
61
|
+
options?: {
|
|
62
|
+
cause?: unknown;
|
|
63
|
+
details?: string;
|
|
64
|
+
} | undefined;
|
|
65
|
+
name: string;
|
|
66
|
+
constructor(message: string, code: ErrorCode, options?: {
|
|
67
|
+
cause?: unknown;
|
|
68
|
+
details?: string;
|
|
69
|
+
} | undefined);
|
|
70
|
+
}
|
|
71
|
+
declare function isSdkError(error: unknown): error is SdkError;
|
|
72
|
+
declare class HttpError extends Error {
|
|
73
|
+
name: string;
|
|
74
|
+
readonly status: number;
|
|
75
|
+
readonly statusText: string;
|
|
76
|
+
readonly response: Response;
|
|
77
|
+
readonly data?: unknown;
|
|
78
|
+
constructor(message: string, response: Response, data?: unknown);
|
|
79
|
+
}
|
|
80
|
+
declare function isHttpError(error: unknown): error is HttpError;
|
|
81
|
+
declare class TimeoutError extends Error {
|
|
82
|
+
name: string;
|
|
83
|
+
constructor(message?: string);
|
|
84
|
+
}
|
|
85
|
+
declare function isTimeoutError(error: unknown): error is TimeoutError;
|
|
86
|
+
declare class AbortedError extends Error {
|
|
87
|
+
name: string;
|
|
88
|
+
constructor(message?: string);
|
|
89
|
+
}
|
|
90
|
+
declare function isAbortedError(error: unknown): error is AbortedError;
|
|
91
|
+
declare class ResponseValidationError extends Error {
|
|
92
|
+
name: string;
|
|
93
|
+
readonly issues?: unknown;
|
|
94
|
+
readonly rawResponse?: unknown;
|
|
95
|
+
constructor(message?: string, issues?: unknown, rawResponse?: unknown);
|
|
96
|
+
}
|
|
97
|
+
declare function isResponseValidationError(error: unknown): error is ResponseValidationError;
|
|
98
|
+
declare class ServiceInitializationError extends SdkError {
|
|
99
|
+
name: string;
|
|
100
|
+
constructor(message?: string, details?: string, cause?: unknown);
|
|
101
|
+
}
|
|
102
|
+
declare function isServiceInitializationError(error: unknown): error is ServiceInitializationError;
|
|
103
|
+
declare class ServiceUnavailableError extends SdkError {
|
|
104
|
+
name: string;
|
|
105
|
+
constructor(message?: string, details?: string);
|
|
106
|
+
}
|
|
107
|
+
declare function isServiceUnavailableError(error: unknown): error is ServiceUnavailableError;
|
|
108
|
+
declare class InvalidParamsError extends SdkError {
|
|
109
|
+
name: string;
|
|
110
|
+
constructor(message?: string, details?: string);
|
|
111
|
+
}
|
|
112
|
+
declare function isInvalidParamsError(error: unknown): error is InvalidParamsError;
|
|
113
|
+
//#endregion
|
|
114
|
+
export { AbortedError, ErrorCode, ErrorReason, HttpError, InvalidParamsError, ResponseValidationError, SdkError, ServiceInitializationError, ServiceUnavailableError, TimeoutError, isAbortedError, isHttpError, isInvalidParamsError, isResponseValidationError, isSdkError, isServiceInitializationError, isServiceUnavailableError, isTimeoutError };
|
|
115
|
+
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
let e=function(e){return e[e.NOT_IMPLEMENTED=5e3]=`NOT_IMPLEMENTED`,e[e.SERVICE_NOT_AVAILABLE=5001]=`SERVICE_NOT_AVAILABLE`,e[e.INITIALIZATION_FAILED=5002]=`INITIALIZATION_FAILED`,e[e.INVALID_PARAMS=5003]=`INVALID_PARAMS`,e[e.TIMEOUT=5004]=`TIMEOUT`,e[e.VIEM_ERROR=5005]=`VIEM_ERROR`,e[e.TRANSACTION_REVERTED=5006]=`TRANSACTION_REVERTED`,e[e.NOTARIZATION_FAILED=5007]=`NOTARIZATION_FAILED`,e[e.SIGNING_FAILED=5008]=`SIGNING_FAILED`,e[e.SOLANA_ERROR=5009]=`SOLANA_ERROR`,e[e.UNKNOWN=5999]=`UNKNOWN`,e}({}),t=function(e){return e.ASSET_NOT_SUPPORTED=`ASSET_NOT_SUPPORTED`,e.CHAIN_NOT_SUPPORTED=`CHAIN_NOT_SUPPORTED`,e.CONFIG_NOT_AVAILABLE=`CONFIG_NOT_AVAILABLE`,e.CONFIRMATION_COUNT_UNKNOWN=`CONFIRMATION_COUNT_UNKNOWN`,e.DUPLICATE_SERVICE_INITIALIZATION=`DUPLICATE_SERVICE_INITIALIZATION`,e.ENVIRONMENT_NOT_SUPPORTED=`ENVIRONMENT_NOT_SUPPORTED`,e.IDENTICAL_CHAINS_PROVIDED=`IDENTICAL_CHAINS_PROVIDED`,e.INCORRECT_ADDRESS_PROVIDED=`INCORRECT_ADDRESS_PROVIDED`,e.INCORRECT_AMOUNT_PROVIDED=`INCORRECT_AMOUNT_PROVIDED`,e.INCORRECT_HASH_PROVIDED=`INCORRECT_HASH_PROVIDED`,e.INCORRECT_PROVIDER_PROVIDED=`INCORRECT_PROVIDER_PROVIDED`,e.INCORRECT_SIGNER_PROVIDED=`INCORRECT_SIGNER_PROVIDED`,e.INCORRECT_TXHASH_PROVIDED=`INCORRECT_TXHASH_PROVIDED`,e.INVALID_PARAMS=`INVALID_PARAMS`,e.SERVICE_TYPE_NOT_CONFIGURED=`SERVICE_TYPE_NOT_CONFIGURED`,e.UNKNOWN=`UNKNOWN`,e.VULNERABLE_TOKEN_APPROVAL_ADDRESS=`VULNERABLE_TOKEN_APPROVAL_ADDRESS`,e.WARDEN_CONFIG_MISMATCH=`WARDEN_CONFIG_MISMATCH`,e.WARDEN_CONFIG_MISSING_NETWORK=`WARDEN_CONFIG_MISSING_NETWORK`,e.ADDRESS_IS_BLOCKED=`ADDRESS_IS_BLOCKED`,e.QUOTE_EXPIRED=`QUOTE_EXPIRED`,e}({});var n=class extends Error{name=`SdkError`;constructor(e,t,n){super(e,{cause:n?.cause}),this.code=t,this.options=n}};function r(e){return e instanceof n}var i=class extends Error{name=`HttpError`;status;statusText;response;data;constructor(e,t,n){super(e),this.name=`HttpError`,this.status=t.status,this.statusText=t.statusText,this.response=t,this.data=n}};function a(e){return e instanceof i}var o=class extends Error{name=`TimeoutError`;constructor(e=`Request timed out.`){super(e),this.name=`TimeoutError`}};function s(e){return e instanceof o}var c=class extends Error{name=`AbortedError`;constructor(e=`Operation was aborted.`){super(e),this.name=`AbortedError`}};function l(e){return e instanceof c}var u=class extends Error{name=`ResponseValidationError`;issues;rawResponse;constructor(e=`Response validation failed.`,t,n){super(e),this.name=`ResponseValidationError`,this.issues=t,this.rawResponse=n}};function d(e){return e instanceof u}var f=class extends n{name=`ServiceInitializationError`;constructor(n=t.UNKNOWN,r,i){super(n,e.INITIALIZATION_FAILED,{cause:i,details:r})}};function p(e){return e instanceof f}var m=class extends n{name=`ServiceUnavailableError`;constructor(n=t.UNKNOWN,r){super(n,e.SERVICE_NOT_AVAILABLE,{details:r})}};function h(e){return e instanceof m}var g=class extends n{name=`InvalidParamsError`;constructor(n=t.INVALID_PARAMS,r){super(n,e.INVALID_PARAMS,{details:r})}};function _(e){return e instanceof g}export{c as AbortedError,e as ErrorCode,t as ErrorReason,i as HttpError,g as InvalidParamsError,u as ResponseValidationError,n as SdkError,f as ServiceInitializationError,m as ServiceUnavailableError,o as TimeoutError,l as isAbortedError,a as isHttpError,_ as isInvalidParamsError,d as isResponseValidationError,r as isSdkError,p as isServiceInitializationError,h as isServiceUnavailableError,s as isTimeoutError};
|
|
2
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","names":[],"sources":["../src/errors.ts"],"sourcesContent":["export enum ErrorCode {\n NOT_IMPLEMENTED = 5_000,\n SERVICE_NOT_AVAILABLE = 5_001,\n INITIALIZATION_FAILED = 5_002,\n INVALID_PARAMS = 5_003,\n TIMEOUT = 5_004,\n VIEM_ERROR = 5_005,\n TRANSACTION_REVERTED = 5_006,\n NOTARIZATION_FAILED = 5_007,\n SIGNING_FAILED = 5_008,\n SOLANA_ERROR = 5_009,\n UNKNOWN = 5_999,\n}\n\nexport enum ErrorReason {\n /** the provided asset is not supported by the bridge */\n ASSET_NOT_SUPPORTED = 'ASSET_NOT_SUPPORTED',\n /** the provided source or target chain is not supported by the bridge */\n CHAIN_NOT_SUPPORTED = 'CHAIN_NOT_SUPPORTED',\n /** error while fetching or parsing the config */\n CONFIG_NOT_AVAILABLE = 'CONFIG_NOT_AVAILABLE',\n /** required confirmation count of the source or target chain is unknown */\n CONFIRMATION_COUNT_UNKNOWN = 'CONFIRMATION_COUNT_UNKNOWN',\n /** service is being initialized more than once */\n DUPLICATE_SERVICE_INITIALIZATION = 'DUPLICATE_SERVICE_INITIALIZATION',\n /** bridge does not support specified environment */\n ENVIRONMENT_NOT_SUPPORTED = 'ENVIRONMENT_NOT_SUPPORTED',\n /** provided source and target chains are the same */\n IDENTICAL_CHAINS_PROVIDED = 'IDENTICAL_CHAINS_PROVIDED',\n /** the sender or recipient address is incorrect */\n INCORRECT_ADDRESS_PROVIDED = 'INCORRECT_ADDRESS_PROVIDED',\n /** the transfer amount is incorrect (e.g.: lesser than or equal to zero) */\n INCORRECT_AMOUNT_PROVIDED = 'INCORRECT_AMOUNT_PROVIDED',\n /** the transaction is not hex */\n INCORRECT_HASH_PROVIDED = 'INCORRECT_HASH_PROVIDED',\n /** The provided provider is incorrect type (Provider VS BitcoinProvider) */\n INCORRECT_PROVIDER_PROVIDED = 'INCORRECT_PROVIDER_PROVIDED',\n /** The provided signer is incorrect type */\n INCORRECT_SIGNER_PROVIDED = 'INCORRECT_SIGNER_PROVIDED',\n /** the sourceTxHash or targetTxHash is incorrect */\n INCORRECT_TXHASH_PROVIDED = 'INCORRECT_TXHASH_PROVIDED',\n /** generic error with the params */\n INVALID_PARAMS = 'INVALID_PARAMS',\n /** ServiceType requested not available */\n SERVICE_TYPE_NOT_CONFIGURED = 'SERVICE_TYPE_NOT_CONFIGURED',\n /** generic, not specified error */\n UNKNOWN = 'UNKNOWN',\n /** error when the address has token approvals for addresses involved in the multichain incident */\n VULNERABLE_TOKEN_APPROVAL_ADDRESS = 'VULNERABLE_TOKEN_APPROVAL_ADDRESS',\n /** error when warden config was not found or it is over the mismatch threshold */\n WARDEN_CONFIG_MISMATCH = 'WARDEN_CONFIG_MISMATCH',\n /** fetched warden config does not contain network IDs */\n WARDEN_CONFIG_MISSING_NETWORK = 'WARDEN_CONFIG_MISSING_NETWORK',\n /** address is blocked */\n ADDRESS_IS_BLOCKED = 'ADDRESS_IS_BLOCKED',\n /** Quote expired */\n QUOTE_EXPIRED = 'QUOTE_EXPIRED',\n}\n\nexport class SdkError extends Error {\n override name = 'SdkError';\n\n constructor(\n message: string,\n public code: ErrorCode,\n public options?: {\n cause?: unknown;\n details?: string;\n },\n ) {\n super(message, { cause: options?.cause });\n }\n}\n\nexport function isSdkError(error: unknown): error is SdkError {\n return error instanceof SdkError;\n}\n\nexport class HttpError extends Error {\n override name = 'HttpError';\n\n readonly status: number;\n readonly statusText: string;\n readonly response: Response;\n readonly data?: unknown;\n\n constructor(message: string, response: Response, data?: unknown) {\n super(message);\n this.name = 'HttpError';\n this.status = response.status;\n this.statusText = response.statusText;\n this.response = response;\n this.data = data;\n }\n}\n\nexport function isHttpError(error: unknown): error is HttpError {\n return error instanceof HttpError;\n}\n\nexport class TimeoutError extends Error {\n override name = 'TimeoutError';\n\n constructor(message = 'Request timed out.') {\n super(message);\n this.name = 'TimeoutError';\n }\n}\n\nexport function isTimeoutError(error: unknown): error is TimeoutError {\n return error instanceof TimeoutError;\n}\n\nexport class AbortedError extends Error {\n override name = 'AbortedError';\n\n constructor(message = 'Operation was aborted.') {\n super(message);\n this.name = 'AbortedError';\n }\n}\n\nexport function isAbortedError(error: unknown): error is AbortedError {\n return error instanceof AbortedError;\n}\n\nexport class ResponseValidationError extends Error {\n override name = 'ResponseValidationError';\n\n readonly issues?: unknown;\n readonly rawResponse?: unknown;\n\n constructor(message = 'Response validation failed.', issues?: unknown, rawResponse?: unknown) {\n super(message);\n this.name = 'ResponseValidationError';\n this.issues = issues;\n this.rawResponse = rawResponse;\n }\n}\n\nexport function isResponseValidationError(error: unknown): error is ResponseValidationError {\n return error instanceof ResponseValidationError;\n}\n\nexport class ServiceInitializationError extends SdkError {\n override name = 'ServiceInitializationError';\n\n constructor(message: string = ErrorReason.UNKNOWN, details?: string, cause?: unknown) {\n super(message, ErrorCode.INITIALIZATION_FAILED, { cause, details });\n }\n}\n\nexport function isServiceInitializationError(error: unknown): error is ServiceInitializationError {\n return error instanceof ServiceInitializationError;\n}\n\nexport class ServiceUnavailableError extends SdkError {\n override name = 'ServiceUnavailableError';\n\n constructor(message: string = ErrorReason.UNKNOWN, details?: string) {\n super(message, ErrorCode.SERVICE_NOT_AVAILABLE, { details });\n }\n}\n\nexport function isServiceUnavailableError(error: unknown): error is ServiceUnavailableError {\n return error instanceof ServiceUnavailableError;\n}\n\nexport class InvalidParamsError extends SdkError {\n override name = 'InvalidParamsError';\n\n constructor(message: string = ErrorReason.INVALID_PARAMS, details?: string) {\n super(message, ErrorCode.INVALID_PARAMS, { details });\n }\n}\n\nexport function isInvalidParamsError(error: unknown): error is InvalidParamsError {\n return error instanceof InvalidParamsError;\n}\n\n/**\n * @internal\n *\n * Error to indicate that a functionality has not yet been implemented.\n * Do not export from entrypoint.\n */\nexport class NotImplementedError extends SdkError {\n constructor() {\n super('This functionality is not yet implemented.', ErrorCode.NOT_IMPLEMENTED);\n }\n}\n"],"mappings":"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"}
|
package/dist/mod.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./constants.cjs`),t=require(`./errors.cjs`),n=require(`./type-guards.cjs`),r=require(`./utils/caip.cjs`),i=require(`./transfer-manager.cjs`),a=require(`./utils/transfer-utils.cjs`);exports.AVALANCHE_FUJI_CHAIN=e.AVALANCHE_FUJI_CHAIN,exports.AVALANCHE_MAINNET_CHAIN=e.AVALANCHE_MAINNET_CHAIN,exports.AbortedError=t.AbortedError,exports.AvalancheChainIds=e.AvalancheChainIds,exports.BITCOIN_MAINNET_CHAIN=e.BITCOIN_MAINNET_CHAIN,exports.BITCOIN_TESTNET_CHAIN=e.BITCOIN_TESTNET_CHAIN,exports.BTC_SERVICE_TYPES=e.BTC_SERVICE_TYPES,exports.BitcoinChainIds=e.BitcoinChainIds,exports.Blockchain=e.Blockchain,exports.ERC_ZERO_ADDRESS=e.ERC_ZERO_ADDRESS,exports.ETHEREUM_MAINNET_CHAIN=e.ETHEREUM_MAINNET_CHAIN,exports.ETHEREUM_SEPOLIA_CHAIN=e.ETHEREUM_SEPOLIA_CHAIN,exports.EVM_SERVICE_TYPES=e.EVM_SERVICE_TYPES,exports.Environment=e.Environment,exports.ErrorCode=t.ErrorCode,exports.ErrorReason=t.ErrorReason,exports.EthereumChainIds=e.EthereumChainIds,exports.EvmChainId=e.EvmChainId,exports.FEE_RATE_TIER_TO_BITCOIN=e.FEE_RATE_TIER_TO_BITCOIN,exports.HttpError=t.HttpError,exports.InvalidParamsError=t.InvalidParamsError,exports.NATIVE_AVAX=e.NATIVE_AVAX,exports.NATIVE_ETH=e.NATIVE_ETH,exports.ResponseValidationError=t.ResponseValidationError,exports.SOLANA_DEVNET_CHAIN=e.SOLANA_DEVNET_CHAIN,exports.SOLANA_MAINNET_CHAIN=e.SOLANA_MAINNET_CHAIN,exports.SOL_MINT_ADDRESS=e.SOL_MINT_ADDRESS,exports.SdkError=t.SdkError,exports.ServiceInitializationError=t.ServiceInitializationError,exports.ServiceType=e.ServiceType,exports.ServiceUnavailableError=t.ServiceUnavailableError,exports.SolanaChainIds=e.SolanaChainIds,exports.TimeoutError=t.TimeoutError,exports.TokenType=e.TokenType,exports.TransferSignatureReason=e.TransferSignatureReason,exports.caip2ToEip155ChainId=r.caip2ToEip155ChainId,exports.caip2ToEip155HexChainId=r.caip2ToEip155HexChainId,exports.createTransferManager=i.createTransferManager,exports.eip155ChainIdToCaip2=r.eip155ChainIdToCaip2,exports.isAbortedError=t.isAbortedError,exports.isCaip2ChainId=r.isCaip2ChainId,exports.isEnvironment=n.isEnvironment,exports.isErc20Asset=n.isErc20Asset,exports.isEvmBridgeInitializer=n.isEvmBridgeInitializer,exports.isHttpError=t.isHttpError,exports.isInvalidParamsError=t.isInvalidParamsError,exports.isLombardServiceInitializer=n.isLombardServiceInitializer,exports.isMarkrServiceInitializer=n.isMarkrServiceInitializer,exports.isNativeAsset=n.isNativeAsset,exports.isResponseValidationError=t.isResponseValidationError,exports.isSdkError=t.isSdkError,exports.isServiceInitializationError=t.isServiceInitializationError,exports.isServiceInitializer=n.isServiceInitializer,exports.isServiceUnavailableError=t.isServiceUnavailableError,exports.isSplAsset=n.isSplAsset,exports.isTimeoutError=t.isTimeoutError,exports.parseTransfer=a.parseTransfer,exports.splitCaip2ChainId=r.splitCaip2ChainId,exports.stringifyTransfer=a.stringifyTransfer;
|
package/dist/mod.d.cts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Caip10AccountId, Caip2ChainId } from "./types/caip.cjs";
|
|
2
|
+
import { BitcoinFeeRateTier, BitcoinFunctions, BitcoinInputUTXO, BitcoinInputUTXOWithOptionalScript, BitcoinOutputUTXO, BitcoinTx } from "./types/bitcoin.cjs";
|
|
3
|
+
import { Chain } from "./types/chain.cjs";
|
|
4
|
+
import { FeeRateTier } from "./types/fee.cjs";
|
|
5
|
+
import { AVALANCHE_FUJI_CHAIN, AVALANCHE_MAINNET_CHAIN, AvalancheChainIds, BITCOIN_MAINNET_CHAIN, BITCOIN_TESTNET_CHAIN, BTC_SERVICE_TYPES, BitcoinChainIds, Blockchain, ERC_ZERO_ADDRESS, ETHEREUM_MAINNET_CHAIN, ETHEREUM_SEPOLIA_CHAIN, EVM_SERVICE_TYPES, Environment, EthereumChainIds, EvmChainId, FEE_RATE_TIER_TO_BITCOIN, NATIVE_AVAX, NATIVE_ETH, SOLANA_DEVNET_CHAIN, SOLANA_MAINNET_CHAIN, SOL_MINT_ADDRESS, ServiceType, SolanaChainIds, TokenType, TransferSignatureReason } from "./constants.cjs";
|
|
6
|
+
import { Asset, ChainAssetMap, DestinationInfo, Erc20Asset, NativeAsset, SplAsset, TransferableAsset } from "./types/asset.cjs";
|
|
7
|
+
import { Quote, QuoteFee, QuoteFeeToken, QuoteFeeType, QuoteFees, QuoterDoneReason, QuoterEventArgs, QuoterEventHandler, QuoterInterface, QuoterProps, QuotesTuple, ServiceQuoteEventArgs, ServiceQuoteEventHandler } from "./types/quote.cjs";
|
|
8
|
+
import { AbortedError, ErrorCode, ErrorReason, HttpError, InvalidParamsError, ResponseValidationError, SdkError, ServiceInitializationError, ServiceUnavailableError, TimeoutError, isAbortedError, isHttpError, isInvalidParamsError, isResponseValidationError, isSdkError, isServiceInitializationError, isServiceUnavailableError, isTimeoutError } from "./errors.cjs";
|
|
9
|
+
import { CompletedTransfer, FailedTransfer, SourceCompletedTransfer, SourcePendingTransfer, TargetPendingTransfer, Transfer, TransferBase, TransferSourceProgress, TransferStatus, TransferStepDetails, TransferTargetProgress } from "./types/transfer.cjs";
|
|
10
|
+
import { SolanaSendOptions, SolanaTransactionParams } from "./utils/solana-transaction.cjs";
|
|
11
|
+
import { BtcDispatch, BtcSign, BtcSigner, BtcTransactionRequest, EvmDispatch, EvmSign, EvmSignMessage, EvmSigner, EvmSignerWithMessage, EvmTransactionRequest, Hex, SolanaSign, SolanaSigner } from "./types/signer.cjs";
|
|
12
|
+
import { ArrayElement, DeepMutable, Fetch, Mutable } from "./types/utility-types.cjs";
|
|
13
|
+
import { EstimateNativeFeeOptions, EvmServiceInitializer, GasSettings, GetMinimumTransferAmountProps, GetSupportedChainsResult, LombardServiceInitializer, MarkrServiceInitializer, MutableGetSupportedChainsResult, NativeFeeEstimate, ServiceInitializer, TrackTransferProps, TransferAssetProps, TransferService } from "./types/service.cjs";
|
|
14
|
+
import { AssetBridgeMap, CreateTransferManagerOptions, ServiceStatus, ServiceStatusBaseRecord, ServiceStatusErrorRecord, ServiceStatusInitializedRecord, ServiceStatusRecord, ServiceStatusUnsupportedEnvironmentRecord, TransferManager, TransferManagerStatus, TransferManagerStatusServicesRecord } from "./types/transfer-manager.cjs";
|
|
15
|
+
import { isEnvironment, isErc20Asset, isEvmBridgeInitializer, isLombardServiceInitializer, isMarkrServiceInitializer, isNativeAsset, isServiceInitializer, isSplAsset } from "./type-guards.cjs";
|
|
16
|
+
import { createTransferManager } from "./transfer-manager.cjs";
|
|
17
|
+
import { caip2ToEip155ChainId, caip2ToEip155HexChainId, eip155ChainIdToCaip2, isCaip2ChainId, splitCaip2ChainId } from "./utils/caip.cjs";
|
|
18
|
+
import { parseTransfer, stringifyTransfer } from "./utils/transfer-utils.cjs";
|
|
19
|
+
export { AVALANCHE_FUJI_CHAIN, AVALANCHE_MAINNET_CHAIN, AbortedError, ArrayElement, Asset, AssetBridgeMap, AvalancheChainIds, BITCOIN_MAINNET_CHAIN, BITCOIN_TESTNET_CHAIN, BTC_SERVICE_TYPES, BitcoinChainIds, BitcoinFeeRateTier, BitcoinFunctions, BitcoinInputUTXO, BitcoinInputUTXOWithOptionalScript, BitcoinOutputUTXO, BitcoinTx, Blockchain, BtcDispatch, BtcSign, BtcSigner, BtcTransactionRequest, Caip10AccountId, Caip2ChainId, Chain, ChainAssetMap, CompletedTransfer, CreateTransferManagerOptions, DeepMutable, DestinationInfo, ERC_ZERO_ADDRESS, ETHEREUM_MAINNET_CHAIN, ETHEREUM_SEPOLIA_CHAIN, EVM_SERVICE_TYPES, Environment, Erc20Asset, ErrorCode, ErrorReason, EstimateNativeFeeOptions, EthereumChainIds, EvmChainId, EvmDispatch, EvmServiceInitializer, EvmSign, EvmSignMessage, EvmSigner, EvmSignerWithMessage, EvmTransactionRequest, FEE_RATE_TIER_TO_BITCOIN, FailedTransfer, FeeRateTier, Fetch, GasSettings, GetMinimumTransferAmountProps, GetSupportedChainsResult, Hex, HttpError, InvalidParamsError, LombardServiceInitializer, MarkrServiceInitializer, Mutable, MutableGetSupportedChainsResult, NATIVE_AVAX, NATIVE_ETH, NativeAsset, NativeFeeEstimate, Quote, QuoteFee, QuoteFeeToken, QuoteFeeType, QuoteFees, QuoterDoneReason, QuoterEventArgs, QuoterEventHandler, QuoterInterface, QuoterProps, QuotesTuple, ResponseValidationError, SOLANA_DEVNET_CHAIN, SOLANA_MAINNET_CHAIN, SOL_MINT_ADDRESS, SdkError, ServiceInitializationError, ServiceInitializer, ServiceQuoteEventArgs, ServiceQuoteEventHandler, ServiceStatus, ServiceStatusBaseRecord, ServiceStatusErrorRecord, ServiceStatusInitializedRecord, ServiceStatusRecord, ServiceStatusUnsupportedEnvironmentRecord, ServiceType, ServiceUnavailableError, SolanaChainIds, SolanaSendOptions, SolanaSign, SolanaSigner, SolanaTransactionParams, SourceCompletedTransfer, SourcePendingTransfer, SplAsset, TargetPendingTransfer, TimeoutError, TokenType, TrackTransferProps, Transfer, TransferAssetProps, TransferBase, TransferManager, TransferManagerStatus, TransferManagerStatusServicesRecord, TransferService, TransferSignatureReason, TransferSourceProgress, TransferStatus, TransferStepDetails, TransferTargetProgress, TransferableAsset, caip2ToEip155ChainId, caip2ToEip155HexChainId, createTransferManager, eip155ChainIdToCaip2, isAbortedError, isCaip2ChainId, isEnvironment, isErc20Asset, isEvmBridgeInitializer, isHttpError, isInvalidParamsError, isLombardServiceInitializer, isMarkrServiceInitializer, isNativeAsset, isResponseValidationError, isSdkError, isServiceInitializationError, isServiceInitializer, isServiceUnavailableError, isSplAsset, isTimeoutError, parseTransfer, splitCaip2ChainId, stringifyTransfer };
|
package/dist/mod.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Caip10AccountId, Caip2ChainId } from "./types/caip.js";
|
|
2
|
+
import { BitcoinFeeRateTier, BitcoinFunctions, BitcoinInputUTXO, BitcoinInputUTXOWithOptionalScript, BitcoinOutputUTXO, BitcoinTx } from "./types/bitcoin.js";
|
|
3
|
+
import { Chain } from "./types/chain.js";
|
|
4
|
+
import { FeeRateTier } from "./types/fee.js";
|
|
5
|
+
import { AVALANCHE_FUJI_CHAIN, AVALANCHE_MAINNET_CHAIN, AvalancheChainIds, BITCOIN_MAINNET_CHAIN, BITCOIN_TESTNET_CHAIN, BTC_SERVICE_TYPES, BitcoinChainIds, Blockchain, ERC_ZERO_ADDRESS, ETHEREUM_MAINNET_CHAIN, ETHEREUM_SEPOLIA_CHAIN, EVM_SERVICE_TYPES, Environment, EthereumChainIds, EvmChainId, FEE_RATE_TIER_TO_BITCOIN, NATIVE_AVAX, NATIVE_ETH, SOLANA_DEVNET_CHAIN, SOLANA_MAINNET_CHAIN, SOL_MINT_ADDRESS, ServiceType, SolanaChainIds, TokenType, TransferSignatureReason } from "./constants.js";
|
|
6
|
+
import { Asset, ChainAssetMap, DestinationInfo, Erc20Asset, NativeAsset, SplAsset, TransferableAsset } from "./types/asset.js";
|
|
7
|
+
import { Quote, QuoteFee, QuoteFeeToken, QuoteFeeType, QuoteFees, QuoterDoneReason, QuoterEventArgs, QuoterEventHandler, QuoterInterface, QuoterProps, QuotesTuple, ServiceQuoteEventArgs, ServiceQuoteEventHandler } from "./types/quote.js";
|
|
8
|
+
import { AbortedError, ErrorCode, ErrorReason, HttpError, InvalidParamsError, ResponseValidationError, SdkError, ServiceInitializationError, ServiceUnavailableError, TimeoutError, isAbortedError, isHttpError, isInvalidParamsError, isResponseValidationError, isSdkError, isServiceInitializationError, isServiceUnavailableError, isTimeoutError } from "./errors.js";
|
|
9
|
+
import { CompletedTransfer, FailedTransfer, SourceCompletedTransfer, SourcePendingTransfer, TargetPendingTransfer, Transfer, TransferBase, TransferSourceProgress, TransferStatus, TransferStepDetails, TransferTargetProgress } from "./types/transfer.js";
|
|
10
|
+
import { SolanaSendOptions, SolanaTransactionParams } from "./utils/solana-transaction.js";
|
|
11
|
+
import { BtcDispatch, BtcSign, BtcSigner, BtcTransactionRequest, EvmDispatch, EvmSign, EvmSignMessage, EvmSigner, EvmSignerWithMessage, EvmTransactionRequest, Hex, SolanaSign, SolanaSigner } from "./types/signer.js";
|
|
12
|
+
import { ArrayElement, DeepMutable, Fetch, Mutable } from "./types/utility-types.js";
|
|
13
|
+
import { EstimateNativeFeeOptions, EvmServiceInitializer, GasSettings, GetMinimumTransferAmountProps, GetSupportedChainsResult, LombardServiceInitializer, MarkrServiceInitializer, MutableGetSupportedChainsResult, NativeFeeEstimate, ServiceInitializer, TrackTransferProps, TransferAssetProps, TransferService } from "./types/service.js";
|
|
14
|
+
import { AssetBridgeMap, CreateTransferManagerOptions, ServiceStatus, ServiceStatusBaseRecord, ServiceStatusErrorRecord, ServiceStatusInitializedRecord, ServiceStatusRecord, ServiceStatusUnsupportedEnvironmentRecord, TransferManager, TransferManagerStatus, TransferManagerStatusServicesRecord } from "./types/transfer-manager.js";
|
|
15
|
+
import { isEnvironment, isErc20Asset, isEvmBridgeInitializer, isLombardServiceInitializer, isMarkrServiceInitializer, isNativeAsset, isServiceInitializer, isSplAsset } from "./type-guards.js";
|
|
16
|
+
import { createTransferManager } from "./transfer-manager.js";
|
|
17
|
+
import { caip2ToEip155ChainId, caip2ToEip155HexChainId, eip155ChainIdToCaip2, isCaip2ChainId, splitCaip2ChainId } from "./utils/caip.js";
|
|
18
|
+
import { parseTransfer, stringifyTransfer } from "./utils/transfer-utils.js";
|
|
19
|
+
export { AVALANCHE_FUJI_CHAIN, AVALANCHE_MAINNET_CHAIN, AbortedError, ArrayElement, Asset, AssetBridgeMap, AvalancheChainIds, BITCOIN_MAINNET_CHAIN, BITCOIN_TESTNET_CHAIN, BTC_SERVICE_TYPES, BitcoinChainIds, BitcoinFeeRateTier, BitcoinFunctions, BitcoinInputUTXO, BitcoinInputUTXOWithOptionalScript, BitcoinOutputUTXO, BitcoinTx, Blockchain, BtcDispatch, BtcSign, BtcSigner, BtcTransactionRequest, Caip10AccountId, Caip2ChainId, Chain, ChainAssetMap, CompletedTransfer, CreateTransferManagerOptions, DeepMutable, DestinationInfo, ERC_ZERO_ADDRESS, ETHEREUM_MAINNET_CHAIN, ETHEREUM_SEPOLIA_CHAIN, EVM_SERVICE_TYPES, Environment, Erc20Asset, ErrorCode, ErrorReason, EstimateNativeFeeOptions, EthereumChainIds, EvmChainId, EvmDispatch, EvmServiceInitializer, EvmSign, EvmSignMessage, EvmSigner, EvmSignerWithMessage, EvmTransactionRequest, FEE_RATE_TIER_TO_BITCOIN, FailedTransfer, FeeRateTier, Fetch, GasSettings, GetMinimumTransferAmountProps, GetSupportedChainsResult, Hex, HttpError, InvalidParamsError, LombardServiceInitializer, MarkrServiceInitializer, Mutable, MutableGetSupportedChainsResult, NATIVE_AVAX, NATIVE_ETH, NativeAsset, NativeFeeEstimate, Quote, QuoteFee, QuoteFeeToken, QuoteFeeType, QuoteFees, QuoterDoneReason, QuoterEventArgs, QuoterEventHandler, QuoterInterface, QuoterProps, QuotesTuple, ResponseValidationError, SOLANA_DEVNET_CHAIN, SOLANA_MAINNET_CHAIN, SOL_MINT_ADDRESS, SdkError, ServiceInitializationError, ServiceInitializer, ServiceQuoteEventArgs, ServiceQuoteEventHandler, ServiceStatus, ServiceStatusBaseRecord, ServiceStatusErrorRecord, ServiceStatusInitializedRecord, ServiceStatusRecord, ServiceStatusUnsupportedEnvironmentRecord, ServiceType, ServiceUnavailableError, SolanaChainIds, SolanaSendOptions, SolanaSign, SolanaSigner, SolanaTransactionParams, SourceCompletedTransfer, SourcePendingTransfer, SplAsset, TargetPendingTransfer, TimeoutError, TokenType, TrackTransferProps, Transfer, TransferAssetProps, TransferBase, TransferManager, TransferManagerStatus, TransferManagerStatusServicesRecord, TransferService, TransferSignatureReason, TransferSourceProgress, TransferStatus, TransferStepDetails, TransferTargetProgress, TransferableAsset, caip2ToEip155ChainId, caip2ToEip155HexChainId, createTransferManager, eip155ChainIdToCaip2, isAbortedError, isCaip2ChainId, isEnvironment, isErc20Asset, isEvmBridgeInitializer, isHttpError, isInvalidParamsError, isLombardServiceInitializer, isMarkrServiceInitializer, isNativeAsset, isResponseValidationError, isSdkError, isServiceInitializationError, isServiceInitializer, isServiceUnavailableError, isSplAsset, isTimeoutError, parseTransfer, splitCaip2ChainId, stringifyTransfer };
|
package/dist/mod.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{AVALANCHE_FUJI_CHAIN as e,AVALANCHE_MAINNET_CHAIN as t,AvalancheChainIds as n,BITCOIN_MAINNET_CHAIN as r,BITCOIN_TESTNET_CHAIN as i,BTC_SERVICE_TYPES as a,BitcoinChainIds as o,Blockchain as s,ERC_ZERO_ADDRESS as c,ETHEREUM_MAINNET_CHAIN as l,ETHEREUM_SEPOLIA_CHAIN as u,EVM_SERVICE_TYPES as d,Environment as f,EthereumChainIds as p,EvmChainId as m,FEE_RATE_TIER_TO_BITCOIN as h,NATIVE_AVAX as g,NATIVE_ETH as _,SOLANA_DEVNET_CHAIN as v,SOLANA_MAINNET_CHAIN as y,SOL_MINT_ADDRESS as b,ServiceType as x,SolanaChainIds as S,TokenType as C,TransferSignatureReason as w}from"./constants.js";import{AbortedError as T,ErrorCode as E,ErrorReason as D,HttpError as O,InvalidParamsError as k,ResponseValidationError as A,SdkError as j,ServiceInitializationError as M,ServiceUnavailableError as N,TimeoutError as P,isAbortedError as F,isHttpError as I,isInvalidParamsError as L,isResponseValidationError as R,isSdkError as z,isServiceInitializationError as B,isServiceUnavailableError as V,isTimeoutError as H}from"./errors.js";import{isEnvironment as U,isErc20Asset as W,isEvmBridgeInitializer as G,isLombardServiceInitializer as K,isMarkrServiceInitializer as q,isNativeAsset as J,isServiceInitializer as Y,isSplAsset as X}from"./type-guards.js";import{caip2ToEip155ChainId as Z,caip2ToEip155HexChainId as Q,eip155ChainIdToCaip2 as $,isCaip2ChainId as ee,splitCaip2ChainId as te}from"./utils/caip.js";import{createTransferManager as ne}from"./transfer-manager.js";import{parseTransfer as re,stringifyTransfer as ie}from"./utils/transfer-utils.js";export{e as AVALANCHE_FUJI_CHAIN,t as AVALANCHE_MAINNET_CHAIN,T as AbortedError,n as AvalancheChainIds,r as BITCOIN_MAINNET_CHAIN,i as BITCOIN_TESTNET_CHAIN,a as BTC_SERVICE_TYPES,o as BitcoinChainIds,s as Blockchain,c as ERC_ZERO_ADDRESS,l as ETHEREUM_MAINNET_CHAIN,u as ETHEREUM_SEPOLIA_CHAIN,d as EVM_SERVICE_TYPES,f as Environment,E as ErrorCode,D as ErrorReason,p as EthereumChainIds,m as EvmChainId,h as FEE_RATE_TIER_TO_BITCOIN,O as HttpError,k as InvalidParamsError,g as NATIVE_AVAX,_ as NATIVE_ETH,A as ResponseValidationError,v as SOLANA_DEVNET_CHAIN,y as SOLANA_MAINNET_CHAIN,b as SOL_MINT_ADDRESS,j as SdkError,M as ServiceInitializationError,x as ServiceType,N as ServiceUnavailableError,S as SolanaChainIds,P as TimeoutError,C as TokenType,w as TransferSignatureReason,Z as caip2ToEip155ChainId,Q as caip2ToEip155HexChainId,ne as createTransferManager,$ as eip155ChainIdToCaip2,F as isAbortedError,ee as isCaip2ChainId,U as isEnvironment,W as isErc20Asset,G as isEvmBridgeInitializer,I as isHttpError,L as isInvalidParamsError,K as isLombardServiceInitializer,q as isMarkrServiceInitializer,J as isNativeAsset,R as isResponseValidationError,z as isSdkError,B as isServiceInitializationError,Y as isServiceInitializer,V as isServiceUnavailableError,X as isSplAsset,H as isTimeoutError,re as parseTransfer,te as splitCaip2ChainId,ie as stringifyTransfer};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e({quote:e,nowSeconds:t,evictBufferSeconds:n=0}){return e.expiresAt<=t+n}function t(e,t){return e.amountOut===t.amountOut?e.expiresAt===t.expiresAt?e.id<t.id?-1:e.id>t.id?1:0:e.expiresAt>t.expiresAt?-1:1:e.amountOut>t.amountOut?-1:1}function n({quotes:t,nowSeconds:n,evictBufferSeconds:r=0}){return t.filter(t=>!e({quote:t,nowSeconds:n,evictBufferSeconds:r}))}function r(e,t){let n=e.findIndex(e=>e.id===t.id);if(n===-1){let n=e.findIndex(e=>e.serviceType===t.serviceType&&e.aggregator.id===t.aggregator.id);if(n>=0){let r=e.slice();return r[n]=t,r}return[...e,t]}let r=e.slice();return r[n]=t,r}function i(e){let n=e.slice();return n.sort(t),n}function a({quotes:t,serviceType:n,nowSeconds:r}){let i=null;for(let a of t)a.serviceType===n&&(e({quote:a,nowSeconds:r})||(i===null||a.expiresAt<i)&&(i=a.expiresAt));return i}exports.earliestExpirationForService=a,exports.isQuoteExpired=e,exports.pruneExpiredQuotes=n,exports.sortQuotes=i,exports.upsertQuote=r;
|
|
2
|
+
//# sourceMappingURL=_utils.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_utils.cjs","names":[],"sources":["../../src/quoter/_utils.ts"],"sourcesContent":["/**\n * @internal\n *\n * Utility functions for the Quoter.\n * Internal only; not exposed publicly.\n */\n\nimport type { Quote } from '../types/quote';\nimport type { TransferService } from '../types/service';\n\n/**\n * Determine whether a quote has expired at the provided time.\n */\nexport function isQuoteExpired({\n quote,\n nowSeconds,\n evictBufferSeconds = 0,\n}: {\n quote: Quote;\n /** Current unix time in seconds. */\n nowSeconds: number;\n /** Amount of time to buffer \"now\" to early evict quote. */\n evictBufferSeconds?: number;\n}): boolean {\n return quote.expiresAt <= nowSeconds + evictBufferSeconds;\n}\n\n/**\n * Compare two quotes by desirability.\n * Sort order: amountOut desc, expiresAt desc, id asc (for stability).\n * Returns negative if a should come before b.\n */\nexport function compareQuotes(a: Quote, b: Quote): number {\n if (a.amountOut !== b.amountOut) {\n return a.amountOut > b.amountOut ? -1 : 1;\n }\n if (a.expiresAt !== b.expiresAt) {\n return a.expiresAt > b.expiresAt ? -1 : 1;\n }\n return a.id < b.id ? -1 : a.id > b.id ? 1 : 0;\n}\n\n/**\n * Return a new array without expired quotes.\n */\nexport function pruneExpiredQuotes({\n quotes,\n nowSeconds,\n evictBufferSeconds = 0,\n}: {\n quotes: readonly Quote[];\n nowSeconds: number;\n evictBufferSeconds?: number;\n}): Quote[] {\n return quotes.filter((q) => !isQuoteExpired({ quote: q, nowSeconds, evictBufferSeconds }));\n}\n\n/**\n * Insert or replace a quote by its id.\n *\n * If no id match is found, attempts to replace an existing quote from the same\n * service type and aggregator id. If still no match, appends the incoming quote.\n */\nexport function upsertQuote(quotes: readonly Quote[], incoming: Quote): Quote[] {\n const idx = quotes.findIndex((q) => q.id === incoming.id);\n if (idx === -1) {\n // No id match, check for existing quote from same service and aggregator id.\n const existingAggIdx = quotes.findIndex(\n (q) => q.serviceType === incoming.serviceType && q.aggregator.id === incoming.aggregator.id,\n );\n\n if (existingAggIdx >= 0) {\n const next = quotes.slice();\n next[existingAggIdx] = incoming;\n\n return next;\n }\n\n // No match, append.\n return [...quotes, incoming];\n }\n const next = quotes.slice();\n next[idx] = incoming;\n return next;\n}\n\n/**\n * Return a new, deterministically sorted array of quotes.\n */\nexport function sortQuotes(quotes: readonly Quote[]): Quote[] {\n const next = quotes.slice();\n next.sort(compareQuotes);\n return next;\n}\n\n/**\n * Select the current best (most desirable) quote, excluding expired items.\n */\nexport function selectBestQuote(quotes: readonly Quote[], nowSeconds: number): Quote | null {\n const active = pruneExpiredQuotes({ quotes, nowSeconds });\n if (active.length === 0) return null;\n\n return sortQuotes(active)[0] ?? null;\n}\n\n/**\n * Compute the earliest expiration timestamp (in seconds) for quotes belonging\n * to a specific service type. Returns null if no active quotes for the service.\n */\nexport function earliestExpirationForService({\n quotes,\n serviceType,\n nowSeconds,\n}: {\n quotes: readonly Quote[];\n serviceType: TransferService['type'];\n nowSeconds: number;\n}): number | null {\n let earliest: number | null = null;\n for (const q of quotes) {\n if (q.serviceType !== serviceType) continue;\n if (isQuoteExpired({ quote: q, nowSeconds })) continue;\n if (earliest === null || q.expiresAt < earliest) {\n earliest = q.expiresAt;\n }\n }\n return earliest;\n}\n"],"mappings":"AAaA,SAAgB,EAAe,CAC7B,QACA,aACA,qBAAqB,GAOX,CACV,OAAO,EAAM,WAAa,EAAa,EAQzC,SAAgB,EAAc,EAAU,EAAkB,CAOxD,OANI,EAAE,YAAc,EAAE,UAGlB,EAAE,YAAc,EAAE,UAGf,EAAE,GAAK,EAAE,GAAK,GAAK,EAAE,GAAK,EAAE,GAAK,EAAI,EAFnC,EAAE,UAAY,EAAE,UAAY,GAAK,EAHjC,EAAE,UAAY,EAAE,UAAY,GAAK,EAW5C,SAAgB,EAAmB,CACjC,SACA,aACA,qBAAqB,GAKX,CACV,OAAO,EAAO,OAAQ,GAAM,CAAC,EAAe,CAAE,MAAO,EAAG,aAAY,qBAAoB,CAAC,CAAC,CAS5F,SAAgB,EAAY,EAA0B,EAA0B,CAC9E,IAAM,EAAM,EAAO,UAAW,GAAM,EAAE,KAAO,EAAS,GAAG,CACzD,GAAI,IAAQ,GAAI,CAEd,IAAM,EAAiB,EAAO,UAC3B,GAAM,EAAE,cAAgB,EAAS,aAAe,EAAE,WAAW,KAAO,EAAS,WAAW,GAC1F,CAED,GAAI,GAAkB,EAAG,CACvB,IAAM,EAAO,EAAO,OAAO,CAG3B,MAFA,GAAK,GAAkB,EAEhB,EAIT,MAAO,CAAC,GAAG,EAAQ,EAAS,CAE9B,IAAM,EAAO,EAAO,OAAO,CAE3B,MADA,GAAK,GAAO,EACL,EAMT,SAAgB,EAAW,EAAmC,CAC5D,IAAM,EAAO,EAAO,OAAO,CAE3B,OADA,EAAK,KAAK,EAAc,CACjB,EAiBT,SAAgB,EAA6B,CAC3C,SACA,cACA,cAKgB,CAChB,IAAI,EAA0B,KAC9B,IAAK,IAAM,KAAK,EACV,EAAE,cAAgB,IAClB,EAAe,CAAE,MAAO,EAAG,aAAY,CAAC,GACxC,IAAa,MAAQ,EAAE,UAAY,KACrC,EAAW,EAAE,YAGjB,OAAO"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function e({quote:e,nowSeconds:t,evictBufferSeconds:n=0}){return e.expiresAt<=t+n}function t(e,t){return e.amountOut===t.amountOut?e.expiresAt===t.expiresAt?e.id<t.id?-1:e.id>t.id?1:0:e.expiresAt>t.expiresAt?-1:1:e.amountOut>t.amountOut?-1:1}function n({quotes:t,nowSeconds:n,evictBufferSeconds:r=0}){return t.filter(t=>!e({quote:t,nowSeconds:n,evictBufferSeconds:r}))}function r(e,t){let n=e.findIndex(e=>e.id===t.id);if(n===-1){let n=e.findIndex(e=>e.serviceType===t.serviceType&&e.aggregator.id===t.aggregator.id);if(n>=0){let r=e.slice();return r[n]=t,r}return[...e,t]}let r=e.slice();return r[n]=t,r}function i(e){let n=e.slice();return n.sort(t),n}function a({quotes:t,serviceType:n,nowSeconds:r}){let i=null;for(let a of t)a.serviceType===n&&(e({quote:a,nowSeconds:r})||(i===null||a.expiresAt<i)&&(i=a.expiresAt));return i}export{a as earliestExpirationForService,e as isQuoteExpired,n as pruneExpiredQuotes,i as sortQuotes,r as upsertQuote};
|
|
2
|
+
//# sourceMappingURL=_utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_utils.js","names":[],"sources":["../../src/quoter/_utils.ts"],"sourcesContent":["/**\n * @internal\n *\n * Utility functions for the Quoter.\n * Internal only; not exposed publicly.\n */\n\nimport type { Quote } from '../types/quote';\nimport type { TransferService } from '../types/service';\n\n/**\n * Determine whether a quote has expired at the provided time.\n */\nexport function isQuoteExpired({\n quote,\n nowSeconds,\n evictBufferSeconds = 0,\n}: {\n quote: Quote;\n /** Current unix time in seconds. */\n nowSeconds: number;\n /** Amount of time to buffer \"now\" to early evict quote. */\n evictBufferSeconds?: number;\n}): boolean {\n return quote.expiresAt <= nowSeconds + evictBufferSeconds;\n}\n\n/**\n * Compare two quotes by desirability.\n * Sort order: amountOut desc, expiresAt desc, id asc (for stability).\n * Returns negative if a should come before b.\n */\nexport function compareQuotes(a: Quote, b: Quote): number {\n if (a.amountOut !== b.amountOut) {\n return a.amountOut > b.amountOut ? -1 : 1;\n }\n if (a.expiresAt !== b.expiresAt) {\n return a.expiresAt > b.expiresAt ? -1 : 1;\n }\n return a.id < b.id ? -1 : a.id > b.id ? 1 : 0;\n}\n\n/**\n * Return a new array without expired quotes.\n */\nexport function pruneExpiredQuotes({\n quotes,\n nowSeconds,\n evictBufferSeconds = 0,\n}: {\n quotes: readonly Quote[];\n nowSeconds: number;\n evictBufferSeconds?: number;\n}): Quote[] {\n return quotes.filter((q) => !isQuoteExpired({ quote: q, nowSeconds, evictBufferSeconds }));\n}\n\n/**\n * Insert or replace a quote by its id.\n *\n * If no id match is found, attempts to replace an existing quote from the same\n * service type and aggregator id. If still no match, appends the incoming quote.\n */\nexport function upsertQuote(quotes: readonly Quote[], incoming: Quote): Quote[] {\n const idx = quotes.findIndex((q) => q.id === incoming.id);\n if (idx === -1) {\n // No id match, check for existing quote from same service and aggregator id.\n const existingAggIdx = quotes.findIndex(\n (q) => q.serviceType === incoming.serviceType && q.aggregator.id === incoming.aggregator.id,\n );\n\n if (existingAggIdx >= 0) {\n const next = quotes.slice();\n next[existingAggIdx] = incoming;\n\n return next;\n }\n\n // No match, append.\n return [...quotes, incoming];\n }\n const next = quotes.slice();\n next[idx] = incoming;\n return next;\n}\n\n/**\n * Return a new, deterministically sorted array of quotes.\n */\nexport function sortQuotes(quotes: readonly Quote[]): Quote[] {\n const next = quotes.slice();\n next.sort(compareQuotes);\n return next;\n}\n\n/**\n * Select the current best (most desirable) quote, excluding expired items.\n */\nexport function selectBestQuote(quotes: readonly Quote[], nowSeconds: number): Quote | null {\n const active = pruneExpiredQuotes({ quotes, nowSeconds });\n if (active.length === 0) return null;\n\n return sortQuotes(active)[0] ?? null;\n}\n\n/**\n * Compute the earliest expiration timestamp (in seconds) for quotes belonging\n * to a specific service type. Returns null if no active quotes for the service.\n */\nexport function earliestExpirationForService({\n quotes,\n serviceType,\n nowSeconds,\n}: {\n quotes: readonly Quote[];\n serviceType: TransferService['type'];\n nowSeconds: number;\n}): number | null {\n let earliest: number | null = null;\n for (const q of quotes) {\n if (q.serviceType !== serviceType) continue;\n if (isQuoteExpired({ quote: q, nowSeconds })) continue;\n if (earliest === null || q.expiresAt < earliest) {\n earliest = q.expiresAt;\n }\n }\n return earliest;\n}\n"],"mappings":"AAaA,SAAgB,EAAe,CAC7B,QACA,aACA,qBAAqB,GAOX,CACV,OAAO,EAAM,WAAa,EAAa,EAQzC,SAAgB,EAAc,EAAU,EAAkB,CAOxD,OANI,EAAE,YAAc,EAAE,UAGlB,EAAE,YAAc,EAAE,UAGf,EAAE,GAAK,EAAE,GAAK,GAAK,EAAE,GAAK,EAAE,GAAK,EAAI,EAFnC,EAAE,UAAY,EAAE,UAAY,GAAK,EAHjC,EAAE,UAAY,EAAE,UAAY,GAAK,EAW5C,SAAgB,EAAmB,CACjC,SACA,aACA,qBAAqB,GAKX,CACV,OAAO,EAAO,OAAQ,GAAM,CAAC,EAAe,CAAE,MAAO,EAAG,aAAY,qBAAoB,CAAC,CAAC,CAS5F,SAAgB,EAAY,EAA0B,EAA0B,CAC9E,IAAM,EAAM,EAAO,UAAW,GAAM,EAAE,KAAO,EAAS,GAAG,CACzD,GAAI,IAAQ,GAAI,CAEd,IAAM,EAAiB,EAAO,UAC3B,GAAM,EAAE,cAAgB,EAAS,aAAe,EAAE,WAAW,KAAO,EAAS,WAAW,GAC1F,CAED,GAAI,GAAkB,EAAG,CACvB,IAAM,EAAO,EAAO,OAAO,CAG3B,MAFA,GAAK,GAAkB,EAEhB,EAIT,MAAO,CAAC,GAAG,EAAQ,EAAS,CAE9B,IAAM,EAAO,EAAO,OAAO,CAE3B,MADA,GAAK,GAAO,EACL,EAMT,SAAgB,EAAW,EAAmC,CAC5D,IAAM,EAAO,EAAO,OAAO,CAE3B,OADA,EAAK,KAAK,EAAc,CACjB,EAiBT,SAAgB,EAA6B,CAC3C,SACA,cACA,cAKgB,CAChB,IAAI,EAA0B,KAC9B,IAAK,IAAM,KAAK,EACV,EAAE,cAAgB,IAClB,EAAe,CAAE,MAAO,EAAG,aAAY,CAAC,GACxC,IAAa,MAAQ,EAAE,UAAY,KACrC,EAAW,EAAE,YAGjB,OAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.cjs","names":[],"sources":["../../src/quoter/constants.ts"],"sourcesContent":["/** Default Quoter prune time (in milliseconds). */\nexport const QUOTER_DEFAULT_PRUNE_INTERVAL_MS = 1_000;\n/** Default Quoter refresh buffer (in seconds). */\nexport const QUOTER_DEFAULT_REFRESH_BUFFER_SECONDS = 5;\n/** Base retry delay for completed streams with no quotes (milliseconds). */\nexport const QUOTER_EMPTY_RETRY_BASE_DELAY_MS = 1_000;\n/** Max retry delay for completed streams with no quotes (milliseconds). */\nexport const QUOTER_EMPTY_RETRY_MAX_DELAY_MS = 30_000;\n"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":[],"sources":["../../src/quoter/constants.ts"],"sourcesContent":["/** Default Quoter prune time (in milliseconds). */\nexport const QUOTER_DEFAULT_PRUNE_INTERVAL_MS = 1_000;\n/** Default Quoter refresh buffer (in seconds). */\nexport const QUOTER_DEFAULT_REFRESH_BUFFER_SECONDS = 5;\n/** Base retry delay for completed streams with no quotes (milliseconds). */\nexport const QUOTER_EMPTY_RETRY_BASE_DELAY_MS = 1_000;\n/** Max retry delay for completed streams with no quotes (milliseconds). */\nexport const QUOTER_EMPTY_RETRY_MAX_DELAY_MS = 30_000;\n"],"mappings":"AACA,MAAa,EAAmC,IAEnC,EAAwC,EAExC,EAAmC,IAEnC,EAAkC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../constants.cjs`),t=require(`../type-guards.cjs`),n=require(`./_utils.cjs`),r=require(`./constants.cjs`);let i=require(`zod`),a=require(`viem`);var o=class{clock;props;pruneIntervalMs;transferServices;refreshBufferSeconds;quotes=[];subscribers=new Set;started=!1;done=!1;pruneTimerId=null;lastBestId=null;hasReceivedAnyQuote=!1;id=crypto.randomUUID();serviceState=new Map;constructor(e,t,n={}){this.clock=n.clock??(()=>Math.floor(Date.now()/1e3)),this.props=e,this.pruneIntervalMs=n.pruneIntervalMs??r.QUOTER_DEFAULT_PRUNE_INTERVAL_MS,this.transferServices=t,this.refreshBufferSeconds=n.refreshBufferSeconds??r.QUOTER_DEFAULT_REFRESH_BUFFER_SECONDS}getQuotes(){let e=this.clock(),t=n.sortQuotes(n.pruneExpiredQuotes({quotes:this.quotes,nowSeconds:e}));return[t[0]??null,t]}subscribe(e){this.subscribers.add(e);let t=!1;return this.started||this.start(),()=>{if(!t){if(t=!0,this.subscribers.size===1&&this.subscribers.has(e)){this.complete(`unsubscribed`);return}this.subscribers.delete(e)}}}start(){if(this.started=!0,this.done=!1,this.quotes=[],this.lastBestId=null,this.hasReceivedAnyQuote=!1,c(this.props)){this.complete(`no-eligible-services`);return}let e=!1;for(let t of this.transferServices)t.analyzeSupport({sourceAsset:this.props.sourceAsset,sourceChainId:this.props.sourceChain.chainId,targetAsset:this.props.targetAsset,targetChainId:this.props.targetChain.chainId})&&(e=!0,this.startStreamForService(t));if(!e){this.complete(`no-eligible-services`);return}this.pruneTimerId=setInterval(()=>this.onPruneTick(),this.pruneIntervalMs)}stop(){this.started=!1,this.pruneTimerId&&=(clearInterval(this.pruneTimerId),null);for(let[e,t]of this.serviceState){try{t.cancel()}catch{}t.refreshTimer&&clearTimeout(t.refreshTimer),t.retryTimer&&clearTimeout(t.retryTimer),this.serviceState.set(e,{cancel:()=>{},done:!1,hasErrored:!1,hasReturnedQuote:!1,retryAttempt:0,retryTimer:null,refreshTimer:null,refreshAtSeconds:null})}}startStreamForService(e){let t=this.serviceState.get(e.type);if(t){try{t.cancel()}catch{}t.refreshTimer&&clearTimeout(t.refreshTimer),t.retryTimer&&clearTimeout(t.retryTimer)}let n=this.makeServiceHandler(e.type),{cancel:r}=e.streamQuotes(this.props,n);this.serviceState.set(e.type,{cancel:r,done:!1,hasErrored:!1,hasReturnedQuote:!1,retryAttempt:t?.retryAttempt??0,retryTimer:null,refreshTimer:null,refreshAtSeconds:null})}makeServiceHandler(e){return(t,...n)=>{if(this.started){if(t===`quote`){let t=n[0];if(l(t)){if(t.serviceType!==e)return;let n=this.serviceState.get(e);n&&(n.hasReturnedQuote=!0),this.onIncomingQuote(t),this.scheduleServiceRefresh(e)}return}if(t===`done`){this.onServiceDone(e);return}if(t===`error`){let t=this.serviceState.get(e);t&&(t.hasErrored=!0);let r=n[0];r instanceof Error&&this.emitError(r)}}}}onIncomingQuote(e){let t=this.clock();if(n.isQuoteExpired({quote:e,nowSeconds:t}))return;this.hasReceivedAnyQuote=!0,this.resetRetryForService(e.serviceType),this.quotes=n.sortQuotes(n.pruneExpiredQuotes({quotes:n.upsertQuote(this.quotes,e),nowSeconds:t}));let r=this.quotes[0];r&&(this.lastBestId=r.id,this.emitQuote({bestQuote:r,quote:e,quotes:this.quotes}))}resetRetryForService(e){let t=this.serviceState.get(e);t&&(t.retryAttempt=0,t.retryTimer&&=(clearTimeout(t.retryTimer),null))}scheduleServiceRetry(e){let t=this.serviceState.get(e);if(!t)return;t.retryTimer&&=(clearTimeout(t.retryTimer),null);let n=Math.min(r.QUOTER_EMPTY_RETRY_MAX_DELAY_MS,r.QUOTER_EMPTY_RETRY_BASE_DELAY_MS*2**t.retryAttempt);t.retryAttempt+=1,t.retryTimer=setTimeout(()=>{let t=this.serviceState.get(e);if(t&&(t.retryTimer=null),!this.started)return;let n=this.transferServices.find(t=>t.type===e);n&&this.startStreamForService(n)},Math.max(0,n))}onServiceDone(e){let t=this.serviceState.get(e);t&&(t.done=!0,this.scheduleServiceRefresh(e),this.hasReceivedAnyQuote&&!t.hasErrored&&!t.hasReturnedQuote&&this.scheduleServiceRetry(e),this.maybeCompleteNoQuotes())}maybeCompleteNoQuotes(){!this.started||this.done||this.hasReceivedAnyQuote||this.serviceState.size===0||[...this.serviceState.values()].every(e=>e.done)&&this.complete(`no-quotes`)}complete(e){if(this.done)return;this.done=!0,this.stop();let t=[...this.subscribers];this.subscribers.clear();for(let n of t)n(`done`,{reason:e})}onPruneTick(){let e=this.clock(),t=n.pruneExpiredQuotes({quotes:this.quotes,nowSeconds:e});if(t.length!==this.quotes.length){this.quotes=n.sortQuotes(t);let e=this.quotes[0]??null,r=e?e.id:null;e&&r!==this.lastBestId?(this.lastBestId=r,this.emitQuote({bestQuote:e,quote:e,quotes:this.quotes})):e||(this.lastBestId=null)}for(let e of this.transferServices)this.serviceState.has(e.type)&&this.scheduleServiceRefresh(e.type)}scheduleServiceRefresh(e){let t=this.serviceState.get(e);if(!t)return;let r=this.clock(),i=n.earliestExpirationForService({quotes:this.quotes,serviceType:e,nowSeconds:r});if(i===null){t.refreshTimer&&=(clearTimeout(t.refreshTimer),null),t.refreshAtSeconds=null;return}let a=Math.max(0,i-this.refreshBufferSeconds);if(a<=r||t.refreshAtSeconds===a&&t.refreshTimer)return;t.refreshTimer&&clearTimeout(t.refreshTimer);let o=Math.max(0,(a-r)*1e3);t.refreshAtSeconds=a,t.refreshTimer=setTimeout(()=>{let t=this.serviceState.get(e);t&&(t.refreshTimer=null,t.refreshAtSeconds=null);let n=this.transferServices.find(t=>t.type===e);n&&this.startStreamForService(n)},o)}emitQuote(e){for(let t of this.subscribers)t(`quote`,e)}emitError(e){for(let t of this.subscribers)t(`error`,e)}};const s=i.z.object({id:i.z.string(),expiresAt:i.z.number().int().nonnegative(),amountOut:i.z.bigint().nonnegative(),amountIn:i.z.bigint().nonnegative(),serviceType:i.z.string()});function c(n){let{sourceAsset:r,sourceChain:i,targetAsset:o,targetChain:s}=n;return i.chainId===s.chainId?t.isNativeAsset(r)&&t.isNativeAsset(o)?!0:r.type===o.type?r.type===e.TokenType.ERC20&&o.type===e.TokenType.ERC20?(0,a.isAddressEqual)(r.address,o.address):r.type===e.TokenType.SPL&&o.type===e.TokenType.SPL?r.address===o.address:!1:!1:!1}function l(e){return s.safeParse(e).success}exports.Quoter=o;
|
|
2
|
+
//# sourceMappingURL=quoter.cjs.map
|