@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,115 @@
|
|
|
1
|
+
import { Caip2ChainId } from "./caip.cjs";
|
|
2
|
+
import { Environment, ServiceType } from "../constants.cjs";
|
|
3
|
+
import { Asset } from "./asset.cjs";
|
|
4
|
+
import { Quote, QuoterInterface, QuoterProps } from "./quote.cjs";
|
|
5
|
+
import { SdkError } from "../errors.cjs";
|
|
6
|
+
import { Transfer } from "./transfer.cjs";
|
|
7
|
+
import { Fetch } from "./utility-types.cjs";
|
|
8
|
+
import { EstimateNativeFeeOptions, GetMinimumTransferAmountProps, GetSupportedChainsResult, NativeFeeEstimate, ServiceInitializer, TrackTransferProps, TransferAssetProps } from "./service.cjs";
|
|
9
|
+
import { QuoterOptions } from "../quoter/quoter.cjs";
|
|
10
|
+
|
|
11
|
+
//#region src/types/transfer-manager.d.ts
|
|
12
|
+
interface AssetBridgeMap {
|
|
13
|
+
readonly [chainId: Caip2ChainId]: {
|
|
14
|
+
readonly bridgedAsset: Asset;
|
|
15
|
+
readonly bridgeProviders: readonly ServiceType[];
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
type ServiceStatus = "initialized" | "error" | "unsupported-environment";
|
|
19
|
+
interface ServiceStatusBaseRecord {
|
|
20
|
+
status: ServiceStatus;
|
|
21
|
+
}
|
|
22
|
+
interface ServiceStatusErrorRecord extends ServiceStatusBaseRecord {
|
|
23
|
+
status: "error";
|
|
24
|
+
error: SdkError;
|
|
25
|
+
}
|
|
26
|
+
interface ServiceStatusInitializedRecord extends ServiceStatusBaseRecord {
|
|
27
|
+
status: "initialized";
|
|
28
|
+
}
|
|
29
|
+
interface ServiceStatusUnsupportedEnvironmentRecord extends ServiceStatusBaseRecord {
|
|
30
|
+
status: "unsupported-environment";
|
|
31
|
+
message: string;
|
|
32
|
+
}
|
|
33
|
+
type ServiceStatusRecord = ServiceStatusErrorRecord | ServiceStatusInitializedRecord | ServiceStatusUnsupportedEnvironmentRecord;
|
|
34
|
+
type TransferManagerStatusServicesRecord = Partial<Record<ServiceType, ServiceStatusRecord>>;
|
|
35
|
+
/**
|
|
36
|
+
* The status of the TransferManager.
|
|
37
|
+
*
|
|
38
|
+
* Includes info about the current environment being used,
|
|
39
|
+
* and the health/status of the underlying services that were requested at initialization.
|
|
40
|
+
*/
|
|
41
|
+
interface TransferManagerStatus {
|
|
42
|
+
readonly environment: Environment;
|
|
43
|
+
readonly services: Readonly<TransferManagerStatusServicesRecord>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Entry point for consumers to discover assets, obtain a quoter, execute and track transfers.
|
|
47
|
+
*/
|
|
48
|
+
interface TransferManager {
|
|
49
|
+
/**
|
|
50
|
+
* Unique identifier for the transfer manager instance.
|
|
51
|
+
*
|
|
52
|
+
* You can use this ID as a cache key to uniquely identify this instance.
|
|
53
|
+
*/
|
|
54
|
+
readonly id: string;
|
|
55
|
+
/** Estimate the native fee for executing the provided quote. */
|
|
56
|
+
estimateNativeFee(quote: Quote, options?: EstimateNativeFeeOptions): Promise<NativeFeeEstimate>;
|
|
57
|
+
/**
|
|
58
|
+
* Given a source asset and chain, provides a mapping of supported destination chains to their
|
|
59
|
+
* corresponding bridged asset via the underlying services.
|
|
60
|
+
*
|
|
61
|
+
* If there is no supported bridge for the given source asset and chain, returns null.
|
|
62
|
+
*/
|
|
63
|
+
getAssetBridgeMap(props: {
|
|
64
|
+
sourceAsset: Asset;
|
|
65
|
+
sourceChainId: Caip2ChainId;
|
|
66
|
+
}): Promise<AssetBridgeMap | null>;
|
|
67
|
+
/**
|
|
68
|
+
* Minimum supported source amount for a given pair.
|
|
69
|
+
*
|
|
70
|
+
* Returns a map of service type to minimum amount supported by that service.
|
|
71
|
+
*
|
|
72
|
+
* If a service does not support the given transfer, it will be omitted from the returned map.
|
|
73
|
+
*
|
|
74
|
+
* If no services support the given transfer, returns null.
|
|
75
|
+
*/
|
|
76
|
+
getMinimumTransferAmount(props: GetMinimumTransferAmountProps): Promise<{ [key in ServiceType]?: bigint } | null>;
|
|
77
|
+
/**
|
|
78
|
+
* Get all supported chains across all integrated services.
|
|
79
|
+
*/
|
|
80
|
+
getSupportedChains(): Promise<GetSupportedChainsResult>;
|
|
81
|
+
/** Create a quote aggregator for the specified intent. */
|
|
82
|
+
getQuoter(props: QuoterProps, options?: QuoterOptions): QuoterInterface;
|
|
83
|
+
/** Returns the current status of the transfer manager. */
|
|
84
|
+
status(): TransferManagerStatus;
|
|
85
|
+
/** Track a transfer’s lifecycle. */
|
|
86
|
+
trackTransfer(props: TrackTransferProps): {
|
|
87
|
+
cancel: () => void;
|
|
88
|
+
result: Promise<Transfer>;
|
|
89
|
+
};
|
|
90
|
+
/** Execute an accepted quote. */
|
|
91
|
+
transferAsset(props: TransferAssetProps): Promise<Transfer>;
|
|
92
|
+
}
|
|
93
|
+
interface CreateTransferManagerOptions {
|
|
94
|
+
readonly environment: Environment;
|
|
95
|
+
/**
|
|
96
|
+
* Custom fetch implementation to use for all HTTP requests.
|
|
97
|
+
* Useful for providing platform-specific implementations (e.g., expo-fetch for React Native).
|
|
98
|
+
* Must support the standard Fetch API including streaming responses via response.body.getReader().
|
|
99
|
+
*
|
|
100
|
+
* @default globalThis.fetch
|
|
101
|
+
* @example
|
|
102
|
+
* import { fetch as expoFetch } from 'expo';
|
|
103
|
+
*
|
|
104
|
+
* const manager = await createTransferManager({
|
|
105
|
+
* environment: Environment.PROD,
|
|
106
|
+
* fetch: expoFetch, // Works for both regular and streaming requests
|
|
107
|
+
* serviceInitializers: [...]
|
|
108
|
+
* });
|
|
109
|
+
*/
|
|
110
|
+
readonly fetch?: Fetch;
|
|
111
|
+
readonly serviceInitializers: readonly [ServiceInitializer, ...(readonly ServiceInitializer[])];
|
|
112
|
+
}
|
|
113
|
+
//#endregion
|
|
114
|
+
export { AssetBridgeMap, CreateTransferManagerOptions, ServiceStatus, ServiceStatusBaseRecord, ServiceStatusErrorRecord, ServiceStatusInitializedRecord, ServiceStatusRecord, ServiceStatusUnsupportedEnvironmentRecord, TransferManager, TransferManagerStatus, TransferManagerStatusServicesRecord };
|
|
115
|
+
//# sourceMappingURL=transfer-manager.d.cts.map
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Caip2ChainId } from "./caip.js";
|
|
2
|
+
import { Environment, ServiceType } from "../constants.js";
|
|
3
|
+
import { Asset } from "./asset.js";
|
|
4
|
+
import { Quote, QuoterInterface, QuoterProps } from "./quote.js";
|
|
5
|
+
import { SdkError } from "../errors.js";
|
|
6
|
+
import { Transfer } from "./transfer.js";
|
|
7
|
+
import { Fetch } from "./utility-types.js";
|
|
8
|
+
import { EstimateNativeFeeOptions, GetMinimumTransferAmountProps, GetSupportedChainsResult, NativeFeeEstimate, ServiceInitializer, TrackTransferProps, TransferAssetProps } from "./service.js";
|
|
9
|
+
import { QuoterOptions } from "../quoter/quoter.js";
|
|
10
|
+
|
|
11
|
+
//#region src/types/transfer-manager.d.ts
|
|
12
|
+
interface AssetBridgeMap {
|
|
13
|
+
readonly [chainId: Caip2ChainId]: {
|
|
14
|
+
readonly bridgedAsset: Asset;
|
|
15
|
+
readonly bridgeProviders: readonly ServiceType[];
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
type ServiceStatus = "initialized" | "error" | "unsupported-environment";
|
|
19
|
+
interface ServiceStatusBaseRecord {
|
|
20
|
+
status: ServiceStatus;
|
|
21
|
+
}
|
|
22
|
+
interface ServiceStatusErrorRecord extends ServiceStatusBaseRecord {
|
|
23
|
+
status: "error";
|
|
24
|
+
error: SdkError;
|
|
25
|
+
}
|
|
26
|
+
interface ServiceStatusInitializedRecord extends ServiceStatusBaseRecord {
|
|
27
|
+
status: "initialized";
|
|
28
|
+
}
|
|
29
|
+
interface ServiceStatusUnsupportedEnvironmentRecord extends ServiceStatusBaseRecord {
|
|
30
|
+
status: "unsupported-environment";
|
|
31
|
+
message: string;
|
|
32
|
+
}
|
|
33
|
+
type ServiceStatusRecord = ServiceStatusErrorRecord | ServiceStatusInitializedRecord | ServiceStatusUnsupportedEnvironmentRecord;
|
|
34
|
+
type TransferManagerStatusServicesRecord = Partial<Record<ServiceType, ServiceStatusRecord>>;
|
|
35
|
+
/**
|
|
36
|
+
* The status of the TransferManager.
|
|
37
|
+
*
|
|
38
|
+
* Includes info about the current environment being used,
|
|
39
|
+
* and the health/status of the underlying services that were requested at initialization.
|
|
40
|
+
*/
|
|
41
|
+
interface TransferManagerStatus {
|
|
42
|
+
readonly environment: Environment;
|
|
43
|
+
readonly services: Readonly<TransferManagerStatusServicesRecord>;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Entry point for consumers to discover assets, obtain a quoter, execute and track transfers.
|
|
47
|
+
*/
|
|
48
|
+
interface TransferManager {
|
|
49
|
+
/**
|
|
50
|
+
* Unique identifier for the transfer manager instance.
|
|
51
|
+
*
|
|
52
|
+
* You can use this ID as a cache key to uniquely identify this instance.
|
|
53
|
+
*/
|
|
54
|
+
readonly id: string;
|
|
55
|
+
/** Estimate the native fee for executing the provided quote. */
|
|
56
|
+
estimateNativeFee(quote: Quote, options?: EstimateNativeFeeOptions): Promise<NativeFeeEstimate>;
|
|
57
|
+
/**
|
|
58
|
+
* Given a source asset and chain, provides a mapping of supported destination chains to their
|
|
59
|
+
* corresponding bridged asset via the underlying services.
|
|
60
|
+
*
|
|
61
|
+
* If there is no supported bridge for the given source asset and chain, returns null.
|
|
62
|
+
*/
|
|
63
|
+
getAssetBridgeMap(props: {
|
|
64
|
+
sourceAsset: Asset;
|
|
65
|
+
sourceChainId: Caip2ChainId;
|
|
66
|
+
}): Promise<AssetBridgeMap | null>;
|
|
67
|
+
/**
|
|
68
|
+
* Minimum supported source amount for a given pair.
|
|
69
|
+
*
|
|
70
|
+
* Returns a map of service type to minimum amount supported by that service.
|
|
71
|
+
*
|
|
72
|
+
* If a service does not support the given transfer, it will be omitted from the returned map.
|
|
73
|
+
*
|
|
74
|
+
* If no services support the given transfer, returns null.
|
|
75
|
+
*/
|
|
76
|
+
getMinimumTransferAmount(props: GetMinimumTransferAmountProps): Promise<{ [key in ServiceType]?: bigint } | null>;
|
|
77
|
+
/**
|
|
78
|
+
* Get all supported chains across all integrated services.
|
|
79
|
+
*/
|
|
80
|
+
getSupportedChains(): Promise<GetSupportedChainsResult>;
|
|
81
|
+
/** Create a quote aggregator for the specified intent. */
|
|
82
|
+
getQuoter(props: QuoterProps, options?: QuoterOptions): QuoterInterface;
|
|
83
|
+
/** Returns the current status of the transfer manager. */
|
|
84
|
+
status(): TransferManagerStatus;
|
|
85
|
+
/** Track a transfer’s lifecycle. */
|
|
86
|
+
trackTransfer(props: TrackTransferProps): {
|
|
87
|
+
cancel: () => void;
|
|
88
|
+
result: Promise<Transfer>;
|
|
89
|
+
};
|
|
90
|
+
/** Execute an accepted quote. */
|
|
91
|
+
transferAsset(props: TransferAssetProps): Promise<Transfer>;
|
|
92
|
+
}
|
|
93
|
+
interface CreateTransferManagerOptions {
|
|
94
|
+
readonly environment: Environment;
|
|
95
|
+
/**
|
|
96
|
+
* Custom fetch implementation to use for all HTTP requests.
|
|
97
|
+
* Useful for providing platform-specific implementations (e.g., expo-fetch for React Native).
|
|
98
|
+
* Must support the standard Fetch API including streaming responses via response.body.getReader().
|
|
99
|
+
*
|
|
100
|
+
* @default globalThis.fetch
|
|
101
|
+
* @example
|
|
102
|
+
* import { fetch as expoFetch } from 'expo';
|
|
103
|
+
*
|
|
104
|
+
* const manager = await createTransferManager({
|
|
105
|
+
* environment: Environment.PROD,
|
|
106
|
+
* fetch: expoFetch, // Works for both regular and streaming requests
|
|
107
|
+
* serviceInitializers: [...]
|
|
108
|
+
* });
|
|
109
|
+
*/
|
|
110
|
+
readonly fetch?: Fetch;
|
|
111
|
+
readonly serviceInitializers: readonly [ServiceInitializer, ...(readonly ServiceInitializer[])];
|
|
112
|
+
}
|
|
113
|
+
//#endregion
|
|
114
|
+
export { AssetBridgeMap, CreateTransferManagerOptions, ServiceStatus, ServiceStatusBaseRecord, ServiceStatusErrorRecord, ServiceStatusInitializedRecord, ServiceStatusRecord, ServiceStatusUnsupportedEnvironmentRecord, TransferManager, TransferManagerStatus, TransferManagerStatusServicesRecord };
|
|
115
|
+
//# sourceMappingURL=transfer-manager.d.ts.map
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Chain } from "./chain.cjs";
|
|
2
|
+
import { Environment, ServiceType, TransferSignatureReason } from "../constants.cjs";
|
|
3
|
+
import { Asset } from "./asset.cjs";
|
|
4
|
+
import { Quote, QuoteFees } from "./quote.cjs";
|
|
5
|
+
import { ErrorCode } from "../errors.cjs";
|
|
6
|
+
|
|
7
|
+
//#region src/types/transfer.d.ts
|
|
8
|
+
/** Step status emitted during execution. */
|
|
9
|
+
interface TransferStepDetails {
|
|
10
|
+
/** 1-based index for current signature request. */
|
|
11
|
+
readonly currentSignature: number;
|
|
12
|
+
/** Why the current signature is needed. */
|
|
13
|
+
readonly currentSignatureReason: TransferSignatureReason;
|
|
14
|
+
/** Total number of signatures expected. */
|
|
15
|
+
readonly requiredSignatures: number;
|
|
16
|
+
/** The original quote */
|
|
17
|
+
readonly quote: Quote;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Unified transfer lifecycle states (bridge and swap).
|
|
21
|
+
*/
|
|
22
|
+
type TransferStatus = "created" | "source-pending" | "source-completed" | "target-pending" | "completed" | "failed";
|
|
23
|
+
/** Common fields for any transfer (bridge or swap). */
|
|
24
|
+
interface TransferBase {
|
|
25
|
+
/** The original source asset amount (smallest unit). */
|
|
26
|
+
readonly amountIn: bigint;
|
|
27
|
+
/** The original quoted target asset amount (smallest unit). */
|
|
28
|
+
readonly amountOut: bigint;
|
|
29
|
+
readonly environment: Environment;
|
|
30
|
+
readonly fees: QuoteFees;
|
|
31
|
+
readonly fromAddress: string;
|
|
32
|
+
/** Client-stable UUID for persistence. */
|
|
33
|
+
readonly id: string;
|
|
34
|
+
/** Optional implementer metadata bag. */
|
|
35
|
+
readonly metadata?: Record<string, unknown>;
|
|
36
|
+
readonly partnerFeeBps: number | null;
|
|
37
|
+
readonly sourceAsset: Asset;
|
|
38
|
+
readonly sourceChain: Chain;
|
|
39
|
+
readonly status: TransferStatus;
|
|
40
|
+
readonly targetAsset: Asset;
|
|
41
|
+
readonly targetChain: Chain;
|
|
42
|
+
readonly toAddress: string;
|
|
43
|
+
/** ServiceType used. */
|
|
44
|
+
readonly type: ServiceType;
|
|
45
|
+
}
|
|
46
|
+
/** Source leg progress. */
|
|
47
|
+
interface TransferSourceProgress<TxHash extends string = string> {
|
|
48
|
+
readonly confirmationCount: number;
|
|
49
|
+
readonly requiredConfirmationCount: number;
|
|
50
|
+
readonly startedAtMs: number;
|
|
51
|
+
/**
|
|
52
|
+
* Target chains block number to start a tx hash lookup from.
|
|
53
|
+
* Not applicable for same-chain transfers.
|
|
54
|
+
* */
|
|
55
|
+
readonly targetStartBlockNumber?: bigint;
|
|
56
|
+
/** Source tx hash. */
|
|
57
|
+
readonly txHash: TxHash;
|
|
58
|
+
}
|
|
59
|
+
/** Target leg progress. */
|
|
60
|
+
interface TransferTargetProgress<TxHash extends string = string> {
|
|
61
|
+
readonly confirmationCount: number;
|
|
62
|
+
readonly requiredConfirmationCount: number;
|
|
63
|
+
readonly startedAtMs: number;
|
|
64
|
+
/** Target tx hash, if/when known. */
|
|
65
|
+
readonly txHash?: TxHash;
|
|
66
|
+
}
|
|
67
|
+
interface SourcePendingTransfer<SourceTxHash extends string = string> extends TransferBase {
|
|
68
|
+
readonly status: "source-pending";
|
|
69
|
+
readonly source: TransferSourceProgress<SourceTxHash>;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* This status is used for bridge transfers.
|
|
73
|
+
*
|
|
74
|
+
* This status indicates that a source transfer has completed,
|
|
75
|
+
* but the target transfer has not yet been initiated.
|
|
76
|
+
*
|
|
77
|
+
* For same-chain swaps, this status is not applicable.
|
|
78
|
+
*/
|
|
79
|
+
interface SourceCompletedTransfer<SourceTxHash extends string = string> extends TransferBase {
|
|
80
|
+
readonly status: "source-completed";
|
|
81
|
+
readonly source: TransferSourceProgress<SourceTxHash>;
|
|
82
|
+
}
|
|
83
|
+
interface TargetPendingTransfer<TargetTxHash extends string = string> extends TransferBase {
|
|
84
|
+
readonly status: "target-pending";
|
|
85
|
+
readonly source: TransferSourceProgress;
|
|
86
|
+
readonly target: TransferTargetProgress<TargetTxHash> | null;
|
|
87
|
+
}
|
|
88
|
+
interface CompletedTransfer<SourceTxHash extends string = string, TargetTxHash extends string = string> extends TransferBase {
|
|
89
|
+
readonly status: "completed";
|
|
90
|
+
readonly completedAtMs: number;
|
|
91
|
+
readonly source: TransferSourceProgress<SourceTxHash>;
|
|
92
|
+
readonly target: TransferTargetProgress<TargetTxHash> | null;
|
|
93
|
+
}
|
|
94
|
+
interface FailedTransfer<SourceTxHash extends string = string, TargetTxHash extends string = string> extends TransferBase {
|
|
95
|
+
readonly status: "failed";
|
|
96
|
+
readonly failedAtMs: number;
|
|
97
|
+
/** Optional provider-specific error code. */
|
|
98
|
+
readonly errorCode?: ErrorCode;
|
|
99
|
+
readonly errorReason?: string;
|
|
100
|
+
readonly source?: TransferSourceProgress<SourceTxHash>;
|
|
101
|
+
readonly target?: TransferTargetProgress<TargetTxHash> | null;
|
|
102
|
+
}
|
|
103
|
+
/** Discriminated union for runtime tracking. */
|
|
104
|
+
type Transfer<SourceTxHash extends string = string, TargetTxHash extends string = string> = SourcePendingTransfer<SourceTxHash> | SourceCompletedTransfer<SourceTxHash> | TargetPendingTransfer<TargetTxHash> | CompletedTransfer<SourceTxHash, TargetTxHash> | FailedTransfer<SourceTxHash, TargetTxHash>;
|
|
105
|
+
//#endregion
|
|
106
|
+
export { CompletedTransfer, FailedTransfer, SourceCompletedTransfer, SourcePendingTransfer, TargetPendingTransfer, Transfer, TransferBase, TransferSourceProgress, TransferStatus, TransferStepDetails, TransferTargetProgress };
|
|
107
|
+
//# sourceMappingURL=transfer.d.cts.map
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Chain } from "./chain.js";
|
|
2
|
+
import { Environment, ServiceType, TransferSignatureReason } from "../constants.js";
|
|
3
|
+
import { Asset } from "./asset.js";
|
|
4
|
+
import { Quote, QuoteFees } from "./quote.js";
|
|
5
|
+
import { ErrorCode } from "../errors.js";
|
|
6
|
+
|
|
7
|
+
//#region src/types/transfer.d.ts
|
|
8
|
+
/** Step status emitted during execution. */
|
|
9
|
+
interface TransferStepDetails {
|
|
10
|
+
/** 1-based index for current signature request. */
|
|
11
|
+
readonly currentSignature: number;
|
|
12
|
+
/** Why the current signature is needed. */
|
|
13
|
+
readonly currentSignatureReason: TransferSignatureReason;
|
|
14
|
+
/** Total number of signatures expected. */
|
|
15
|
+
readonly requiredSignatures: number;
|
|
16
|
+
/** The original quote */
|
|
17
|
+
readonly quote: Quote;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Unified transfer lifecycle states (bridge and swap).
|
|
21
|
+
*/
|
|
22
|
+
type TransferStatus = "created" | "source-pending" | "source-completed" | "target-pending" | "completed" | "failed";
|
|
23
|
+
/** Common fields for any transfer (bridge or swap). */
|
|
24
|
+
interface TransferBase {
|
|
25
|
+
/** The original source asset amount (smallest unit). */
|
|
26
|
+
readonly amountIn: bigint;
|
|
27
|
+
/** The original quoted target asset amount (smallest unit). */
|
|
28
|
+
readonly amountOut: bigint;
|
|
29
|
+
readonly environment: Environment;
|
|
30
|
+
readonly fees: QuoteFees;
|
|
31
|
+
readonly fromAddress: string;
|
|
32
|
+
/** Client-stable UUID for persistence. */
|
|
33
|
+
readonly id: string;
|
|
34
|
+
/** Optional implementer metadata bag. */
|
|
35
|
+
readonly metadata?: Record<string, unknown>;
|
|
36
|
+
readonly partnerFeeBps: number | null;
|
|
37
|
+
readonly sourceAsset: Asset;
|
|
38
|
+
readonly sourceChain: Chain;
|
|
39
|
+
readonly status: TransferStatus;
|
|
40
|
+
readonly targetAsset: Asset;
|
|
41
|
+
readonly targetChain: Chain;
|
|
42
|
+
readonly toAddress: string;
|
|
43
|
+
/** ServiceType used. */
|
|
44
|
+
readonly type: ServiceType;
|
|
45
|
+
}
|
|
46
|
+
/** Source leg progress. */
|
|
47
|
+
interface TransferSourceProgress<TxHash extends string = string> {
|
|
48
|
+
readonly confirmationCount: number;
|
|
49
|
+
readonly requiredConfirmationCount: number;
|
|
50
|
+
readonly startedAtMs: number;
|
|
51
|
+
/**
|
|
52
|
+
* Target chains block number to start a tx hash lookup from.
|
|
53
|
+
* Not applicable for same-chain transfers.
|
|
54
|
+
* */
|
|
55
|
+
readonly targetStartBlockNumber?: bigint;
|
|
56
|
+
/** Source tx hash. */
|
|
57
|
+
readonly txHash: TxHash;
|
|
58
|
+
}
|
|
59
|
+
/** Target leg progress. */
|
|
60
|
+
interface TransferTargetProgress<TxHash extends string = string> {
|
|
61
|
+
readonly confirmationCount: number;
|
|
62
|
+
readonly requiredConfirmationCount: number;
|
|
63
|
+
readonly startedAtMs: number;
|
|
64
|
+
/** Target tx hash, if/when known. */
|
|
65
|
+
readonly txHash?: TxHash;
|
|
66
|
+
}
|
|
67
|
+
interface SourcePendingTransfer<SourceTxHash extends string = string> extends TransferBase {
|
|
68
|
+
readonly status: "source-pending";
|
|
69
|
+
readonly source: TransferSourceProgress<SourceTxHash>;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* This status is used for bridge transfers.
|
|
73
|
+
*
|
|
74
|
+
* This status indicates that a source transfer has completed,
|
|
75
|
+
* but the target transfer has not yet been initiated.
|
|
76
|
+
*
|
|
77
|
+
* For same-chain swaps, this status is not applicable.
|
|
78
|
+
*/
|
|
79
|
+
interface SourceCompletedTransfer<SourceTxHash extends string = string> extends TransferBase {
|
|
80
|
+
readonly status: "source-completed";
|
|
81
|
+
readonly source: TransferSourceProgress<SourceTxHash>;
|
|
82
|
+
}
|
|
83
|
+
interface TargetPendingTransfer<TargetTxHash extends string = string> extends TransferBase {
|
|
84
|
+
readonly status: "target-pending";
|
|
85
|
+
readonly source: TransferSourceProgress;
|
|
86
|
+
readonly target: TransferTargetProgress<TargetTxHash> | null;
|
|
87
|
+
}
|
|
88
|
+
interface CompletedTransfer<SourceTxHash extends string = string, TargetTxHash extends string = string> extends TransferBase {
|
|
89
|
+
readonly status: "completed";
|
|
90
|
+
readonly completedAtMs: number;
|
|
91
|
+
readonly source: TransferSourceProgress<SourceTxHash>;
|
|
92
|
+
readonly target: TransferTargetProgress<TargetTxHash> | null;
|
|
93
|
+
}
|
|
94
|
+
interface FailedTransfer<SourceTxHash extends string = string, TargetTxHash extends string = string> extends TransferBase {
|
|
95
|
+
readonly status: "failed";
|
|
96
|
+
readonly failedAtMs: number;
|
|
97
|
+
/** Optional provider-specific error code. */
|
|
98
|
+
readonly errorCode?: ErrorCode;
|
|
99
|
+
readonly errorReason?: string;
|
|
100
|
+
readonly source?: TransferSourceProgress<SourceTxHash>;
|
|
101
|
+
readonly target?: TransferTargetProgress<TargetTxHash> | null;
|
|
102
|
+
}
|
|
103
|
+
/** Discriminated union for runtime tracking. */
|
|
104
|
+
type Transfer<SourceTxHash extends string = string, TargetTxHash extends string = string> = SourcePendingTransfer<SourceTxHash> | SourceCompletedTransfer<SourceTxHash> | TargetPendingTransfer<TargetTxHash> | CompletedTransfer<SourceTxHash, TargetTxHash> | FailedTransfer<SourceTxHash, TargetTxHash>;
|
|
105
|
+
//#endregion
|
|
106
|
+
export { CompletedTransfer, FailedTransfer, SourceCompletedTransfer, SourcePendingTransfer, TargetPendingTransfer, Transfer, TransferBase, TransferSourceProgress, TransferStatus, TransferStepDetails, TransferTargetProgress };
|
|
107
|
+
//# sourceMappingURL=transfer.d.ts.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/types/utility-types.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* This file should only contain types and interfaces.
|
|
4
|
+
* No runtime code.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Utility type to extract the element type from an array type.
|
|
8
|
+
*/
|
|
9
|
+
type ArrayElement<A> = A extends readonly (infer T)[] ? T : never;
|
|
10
|
+
/**
|
|
11
|
+
* Utility type to make all properties of a type mutable (non-readonly).
|
|
12
|
+
*/
|
|
13
|
+
type Mutable<T> = { -readonly [P in keyof T]: T[P] };
|
|
14
|
+
/**
|
|
15
|
+
* Like Mutable, but applies recursively to nested objects.
|
|
16
|
+
*/
|
|
17
|
+
type DeepMutable<T> = { -readonly [P in keyof T]: T[P] extends object ? DeepMutable<T[P]> : T[P] };
|
|
18
|
+
type Fetch = typeof globalThis.fetch;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { ArrayElement, DeepMutable, Fetch, Mutable };
|
|
21
|
+
//# sourceMappingURL=utility-types.d.cts.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/types/utility-types.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* This file should only contain types and interfaces.
|
|
4
|
+
* No runtime code.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Utility type to extract the element type from an array type.
|
|
8
|
+
*/
|
|
9
|
+
type ArrayElement<A> = A extends readonly (infer T)[] ? T : never;
|
|
10
|
+
/**
|
|
11
|
+
* Utility type to make all properties of a type mutable (non-readonly).
|
|
12
|
+
*/
|
|
13
|
+
type Mutable<T> = { -readonly [P in keyof T]: T[P] };
|
|
14
|
+
/**
|
|
15
|
+
* Like Mutable, but applies recursively to nested objects.
|
|
16
|
+
*/
|
|
17
|
+
type DeepMutable<T> = { -readonly [P in keyof T]: T[P] extends object ? DeepMutable<T[P]> : T[P] };
|
|
18
|
+
type Fetch = typeof globalThis.fetch;
|
|
19
|
+
//#endregion
|
|
20
|
+
export { ArrayElement, DeepMutable, Fetch, Mutable };
|
|
21
|
+
//# sourceMappingURL=utility-types.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
require(`../_virtual/_rolldown/runtime.cjs`);let e=require(`@scure/base`);function t(e){return e.toLowerCase().startsWith(`tb1`)||e.toLowerCase().startsWith(`bc1`)}function n(n){if(!t(n))return!1;try{return e.bech32.decode(n),!0}catch{return!1}}function r(e,t){return n(e)?e.toLowerCase().startsWith(t?`bc`:`tb`):!1}exports.isBech32Address=n,exports.isBech32AddressInNetwork=r;
|
|
2
|
+
//# sourceMappingURL=bitcoin-address.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitcoin-address.cjs","names":[],"sources":["../../src/utils/bitcoin-address.ts"],"sourcesContent":["import { bech32 } from '@scure/base';\n\nfunction isBech32Format(address: string): address is `tb1${string}` | `bc1${string}` {\n return address.toLowerCase().startsWith('tb1') || address.toLowerCase().startsWith('bc1');\n}\n\nexport function isBech32Address(address: string): boolean {\n if (!isBech32Format(address)) {\n return false;\n }\n\n try {\n bech32.decode(address);\n return true;\n } catch {\n return false;\n }\n}\n\nexport function isBech32AddressInNetwork(address: string, isMainnet: boolean): boolean {\n if (isBech32Address(address)) {\n return address.toLowerCase().startsWith(isMainnet ? 'bc' : 'tb');\n }\n return false;\n}\n"],"mappings":"0EAEA,SAAS,EAAe,EAA6D,CACnF,OAAO,EAAQ,aAAa,CAAC,WAAW,MAAM,EAAI,EAAQ,aAAa,CAAC,WAAW,MAAM,CAG3F,SAAgB,EAAgB,EAA0B,CACxD,GAAI,CAAC,EAAe,EAAQ,CAC1B,MAAO,GAGT,GAAI,CAEF,OADA,EAAA,OAAO,OAAO,EAAQ,CACf,QACD,CACN,MAAO,IAIX,SAAgB,EAAyB,EAAiB,EAA6B,CAIrF,OAHI,EAAgB,EAAQ,CACnB,EAAQ,aAAa,CAAC,WAAW,EAAY,KAAO,KAAK,CAE3D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{bech32 as e}from"@scure/base";function t(e){return e.toLowerCase().startsWith(`tb1`)||e.toLowerCase().startsWith(`bc1`)}function n(n){if(!t(n))return!1;try{return e.decode(n),!0}catch{return!1}}function r(e,t){return n(e)?e.toLowerCase().startsWith(t?`bc`:`tb`):!1}export{n as isBech32Address,r as isBech32AddressInNetwork};
|
|
2
|
+
//# sourceMappingURL=bitcoin-address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bitcoin-address.js","names":[],"sources":["../../src/utils/bitcoin-address.ts"],"sourcesContent":["import { bech32 } from '@scure/base';\n\nfunction isBech32Format(address: string): address is `tb1${string}` | `bc1${string}` {\n return address.toLowerCase().startsWith('tb1') || address.toLowerCase().startsWith('bc1');\n}\n\nexport function isBech32Address(address: string): boolean {\n if (!isBech32Format(address)) {\n return false;\n }\n\n try {\n bech32.decode(address);\n return true;\n } catch {\n return false;\n }\n}\n\nexport function isBech32AddressInNetwork(address: string, isMainnet: boolean): boolean {\n if (isBech32Address(address)) {\n return address.toLowerCase().startsWith(isMainnet ? 'bc' : 'tb');\n }\n return false;\n}\n"],"mappings":"qCAEA,SAAS,EAAe,EAA6D,CACnF,OAAO,EAAQ,aAAa,CAAC,WAAW,MAAM,EAAI,EAAQ,aAAa,CAAC,WAAW,MAAM,CAG3F,SAAgB,EAAgB,EAA0B,CACxD,GAAI,CAAC,EAAe,EAAQ,CAC1B,MAAO,GAGT,GAAI,CAEF,OADA,EAAO,OAAO,EAAQ,CACf,QACD,CACN,MAAO,IAIX,SAAgB,EAAyB,EAAiB,EAA6B,CAIrF,OAHI,EAAgB,EAAQ,CACnB,EAAQ,aAAa,CAAC,WAAW,EAAY,KAAO,KAAK,CAE3D"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require(`../errors.cjs`),t=/^[a-z0-9]{3,8}:[-_a-zA-Z0-9]{1,32}$/,n=/^[a-z0-9]{3,8}:[-_a-zA-Z0-9]{1,50}$/,r=(e,r=!0)=>r?t.test(e):n.test(e),i=t=>{let[n,r]=t.split(`:`);if(!n||!r)throw new e.SdkError(e.ErrorReason.INVALID_PARAMS,e.ErrorCode.INVALID_PARAMS,{details:`Invalid CAIP-2 chain ID: ${t}`});return{namespace:n,reference:r}},a=t=>{let{namespace:n,reference:r}=i(t);if(n!==`eip155`)throw new e.SdkError(e.ErrorReason.INVALID_PARAMS,e.ErrorCode.INVALID_PARAMS,{details:`CAIP-2 chain ID is not in the eip155 namespace: ${t}`});let a=Number(r);if(isNaN(a))throw new e.SdkError(e.ErrorReason.INVALID_PARAMS,e.ErrorCode.INVALID_PARAMS,{details:`CAIP-2 chain ID reference is not a valid number: ${t}`});return a},o=e=>`0x${a(e).toString(16)}`,s=t=>{if(!Number.isInteger(t)||t<0)throw new e.SdkError(e.ErrorReason.INVALID_PARAMS,e.ErrorCode.INVALID_PARAMS,{details:`Invalid EIP-155 chain ID: ${t}`});return`eip155:${t}`};exports.caip2ToEip155ChainId=a,exports.caip2ToEip155HexChainId=o,exports.eip155ChainIdToCaip2=s,exports.isCaip2ChainId=r,exports.splitCaip2ChainId=i;
|
|
2
|
+
//# sourceMappingURL=caip.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"caip.cjs","names":["SdkError","ErrorReason","ErrorCode"],"sources":["../../src/utils/caip.ts"],"sourcesContent":["import { ErrorCode, ErrorReason, SdkError } from '../errors';\nimport type { Caip2ChainId } from '../types/caip';\n\n/**\n * Strictly follows the CAIP-2 specification.\n * @see https://chainagnostic.org/CAIPs/caip-2\n */\nconst CAIP2_STRICT_REGEX = /^[a-z0-9]{3,8}:[-_a-zA-Z0-9]{1,32}$/;\n/**\n * Loosely follows the CAIP-2 specification, allowing up to 50 characters in the reference part.\n * This is to accommodate chain IDs that use longer references (ie cb58 encoded chain IDs).\n */\nconst CAIP2_LOOSE_REGEX = /^[a-z0-9]{3,8}:[-_a-zA-Z0-9]{1,50}$/;\n\n/**\n * Checks whether a given chainId is a valid CAIP-2 chain ID.\n *\n * @param chainId The chainId to verify is CAIP-2\n * @param strict Whether to use strict validation (default: true)\n * @returns Boolean indicating whether the chainId is a valid CAIP-2 chain ID\n */\nexport const isCaip2ChainId = (chainId: string, strict = true): chainId is Caip2ChainId => {\n if (!strict) {\n return CAIP2_LOOSE_REGEX.test(chainId);\n }\n\n return CAIP2_STRICT_REGEX.test(chainId);\n};\n\n/**\n * Splits a CAIP-2 chain ID into its namespace and reference components.\n *\n * @param chainId The CAIP-2 chain ID to split\n * @returns An object containing the namespace and reference\n * @throws SdkError if the chainId is not a valid CAIP-2 chain ID\n */\nexport const splitCaip2ChainId = (chainId: Caip2ChainId): { namespace: string; reference: string } => {\n const [namespace, reference] = chainId.split(':');\n\n if (!namespace || !reference) {\n throw new SdkError(ErrorReason.INVALID_PARAMS, ErrorCode.INVALID_PARAMS, {\n details: `Invalid CAIP-2 chain ID: ${chainId}`,\n });\n }\n\n return { namespace, reference };\n};\n\n/**\n * Converts a CAIP-2 chain ID in the eip155 namespace to its corresponding EIP-155 numeric chain ID.\n *\n * @param chainId The CAIP-2 chain ID to convert\n * @returns The EIP-155 numeric chain ID\n * @throws SdkError if the chainId is not in the eip155 namespace or if the reference is not a valid number\n */\nexport const caip2ToEip155ChainId = (chainId: Caip2ChainId): number => {\n const { namespace, reference } = splitCaip2ChainId(chainId);\n\n if (namespace !== 'eip155') {\n throw new SdkError(ErrorReason.INVALID_PARAMS, ErrorCode.INVALID_PARAMS, {\n details: `CAIP-2 chain ID is not in the eip155 namespace: ${chainId}`,\n });\n }\n\n const numericChainId = Number(reference);\n\n if (isNaN(numericChainId)) {\n throw new SdkError(ErrorReason.INVALID_PARAMS, ErrorCode.INVALID_PARAMS, {\n details: `CAIP-2 chain ID reference is not a valid number: ${chainId}`,\n });\n }\n\n return numericChainId;\n};\n\n/**\n * Converts a CAIP-2 chain ID in the eip155 namespace to its corresponding EIP-155 hexadecimal chain ID.\n *\n * @param chainId The CAIP-2 chain ID to convert\n * @returns The EIP-155 hexadecimal chain ID\n * @throws SdkError if the chainId is not in the eip155 namespace or if the reference is not a valid number\n */\nexport const caip2ToEip155HexChainId = (chainId: Caip2ChainId): `0x${string}` => {\n const numericChainId = caip2ToEip155ChainId(chainId);\n\n return `0x${numericChainId.toString(16)}` as `0x${string}`;\n};\n\n/**\n * Converts an EIP-155 numeric chain ID to its corresponding CAIP-2 chain ID in the eip155 namespace.\n *\n * @param chainId The EIP-155 numeric chain ID to convert\n * @returns The corresponding CAIP-2 chain ID in the eip155 namespace\n * @throws SdkError if the chainId is not a valid non-negative integer\n */\nexport const eip155ChainIdToCaip2 = (chainId: number): Caip2ChainId => {\n if (!Number.isInteger(chainId) || chainId < 0) {\n throw new SdkError(ErrorReason.INVALID_PARAMS, ErrorCode.INVALID_PARAMS, {\n details: `Invalid EIP-155 chain ID: ${chainId}`,\n });\n }\n\n return `eip155:${chainId}`;\n};\n"],"mappings":"iCAOM,EAAqB,sCAKrB,EAAoB,sCASb,GAAkB,EAAiB,EAAS,KAClD,EAIE,EAAmB,KAAK,EAAQ,CAH9B,EAAkB,KAAK,EAAQ,CAa7B,EAAqB,GAAoE,CACpG,GAAM,CAAC,EAAW,GAAa,EAAQ,MAAM,IAAI,CAEjD,GAAI,CAAC,GAAa,CAAC,EACjB,MAAM,IAAIA,EAAAA,SAASC,EAAAA,YAAY,eAAgBC,EAAAA,UAAU,eAAgB,CACvE,QAAS,4BAA4B,IACtC,CAAC,CAGJ,MAAO,CAAE,YAAW,YAAW,EAUpB,EAAwB,GAAkC,CACrE,GAAM,CAAE,YAAW,aAAc,EAAkB,EAAQ,CAE3D,GAAI,IAAc,SAChB,MAAM,IAAIF,EAAAA,SAASC,EAAAA,YAAY,eAAgBC,EAAAA,UAAU,eAAgB,CACvE,QAAS,mDAAmD,IAC7D,CAAC,CAGJ,IAAM,EAAiB,OAAO,EAAU,CAExC,GAAI,MAAM,EAAe,CACvB,MAAM,IAAIF,EAAAA,SAASC,EAAAA,YAAY,eAAgBC,EAAAA,UAAU,eAAgB,CACvE,QAAS,oDAAoD,IAC9D,CAAC,CAGJ,OAAO,GAUI,EAA2B,GAG/B,KAFgB,EAAqB,EAAQ,CAEzB,SAAS,GAAG,GAU5B,EAAwB,GAAkC,CACrE,GAAI,CAAC,OAAO,UAAU,EAAQ,EAAI,EAAU,EAC1C,MAAM,IAAIF,EAAAA,SAASC,EAAAA,YAAY,eAAgBC,EAAAA,UAAU,eAAgB,CACvE,QAAS,6BAA6B,IACvC,CAAC,CAGJ,MAAO,UAAU"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Caip2ChainId } from "../types/caip.cjs";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/caip.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Checks whether a given chainId is a valid CAIP-2 chain ID.
|
|
6
|
+
*
|
|
7
|
+
* @param chainId The chainId to verify is CAIP-2
|
|
8
|
+
* @param strict Whether to use strict validation (default: true)
|
|
9
|
+
* @returns Boolean indicating whether the chainId is a valid CAIP-2 chain ID
|
|
10
|
+
*/
|
|
11
|
+
declare const isCaip2ChainId: (chainId: string, strict?: boolean) => chainId is Caip2ChainId;
|
|
12
|
+
/**
|
|
13
|
+
* Splits a CAIP-2 chain ID into its namespace and reference components.
|
|
14
|
+
*
|
|
15
|
+
* @param chainId The CAIP-2 chain ID to split
|
|
16
|
+
* @returns An object containing the namespace and reference
|
|
17
|
+
* @throws SdkError if the chainId is not a valid CAIP-2 chain ID
|
|
18
|
+
*/
|
|
19
|
+
declare const splitCaip2ChainId: (chainId: Caip2ChainId) => {
|
|
20
|
+
namespace: string;
|
|
21
|
+
reference: string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Converts a CAIP-2 chain ID in the eip155 namespace to its corresponding EIP-155 numeric chain ID.
|
|
25
|
+
*
|
|
26
|
+
* @param chainId The CAIP-2 chain ID to convert
|
|
27
|
+
* @returns The EIP-155 numeric chain ID
|
|
28
|
+
* @throws SdkError if the chainId is not in the eip155 namespace or if the reference is not a valid number
|
|
29
|
+
*/
|
|
30
|
+
declare const caip2ToEip155ChainId: (chainId: Caip2ChainId) => number;
|
|
31
|
+
/**
|
|
32
|
+
* Converts a CAIP-2 chain ID in the eip155 namespace to its corresponding EIP-155 hexadecimal chain ID.
|
|
33
|
+
*
|
|
34
|
+
* @param chainId The CAIP-2 chain ID to convert
|
|
35
|
+
* @returns The EIP-155 hexadecimal chain ID
|
|
36
|
+
* @throws SdkError if the chainId is not in the eip155 namespace or if the reference is not a valid number
|
|
37
|
+
*/
|
|
38
|
+
declare const caip2ToEip155HexChainId: (chainId: Caip2ChainId) => `0x${string}`;
|
|
39
|
+
/**
|
|
40
|
+
* Converts an EIP-155 numeric chain ID to its corresponding CAIP-2 chain ID in the eip155 namespace.
|
|
41
|
+
*
|
|
42
|
+
* @param chainId The EIP-155 numeric chain ID to convert
|
|
43
|
+
* @returns The corresponding CAIP-2 chain ID in the eip155 namespace
|
|
44
|
+
* @throws SdkError if the chainId is not a valid non-negative integer
|
|
45
|
+
*/
|
|
46
|
+
declare const eip155ChainIdToCaip2: (chainId: number) => Caip2ChainId;
|
|
47
|
+
//#endregion
|
|
48
|
+
export { caip2ToEip155ChainId, caip2ToEip155HexChainId, eip155ChainIdToCaip2, isCaip2ChainId, splitCaip2ChainId };
|
|
49
|
+
//# sourceMappingURL=caip.d.cts.map
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Caip2ChainId } from "../types/caip.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/caip.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Checks whether a given chainId is a valid CAIP-2 chain ID.
|
|
6
|
+
*
|
|
7
|
+
* @param chainId The chainId to verify is CAIP-2
|
|
8
|
+
* @param strict Whether to use strict validation (default: true)
|
|
9
|
+
* @returns Boolean indicating whether the chainId is a valid CAIP-2 chain ID
|
|
10
|
+
*/
|
|
11
|
+
declare const isCaip2ChainId: (chainId: string, strict?: boolean) => chainId is Caip2ChainId;
|
|
12
|
+
/**
|
|
13
|
+
* Splits a CAIP-2 chain ID into its namespace and reference components.
|
|
14
|
+
*
|
|
15
|
+
* @param chainId The CAIP-2 chain ID to split
|
|
16
|
+
* @returns An object containing the namespace and reference
|
|
17
|
+
* @throws SdkError if the chainId is not a valid CAIP-2 chain ID
|
|
18
|
+
*/
|
|
19
|
+
declare const splitCaip2ChainId: (chainId: Caip2ChainId) => {
|
|
20
|
+
namespace: string;
|
|
21
|
+
reference: string;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Converts a CAIP-2 chain ID in the eip155 namespace to its corresponding EIP-155 numeric chain ID.
|
|
25
|
+
*
|
|
26
|
+
* @param chainId The CAIP-2 chain ID to convert
|
|
27
|
+
* @returns The EIP-155 numeric chain ID
|
|
28
|
+
* @throws SdkError if the chainId is not in the eip155 namespace or if the reference is not a valid number
|
|
29
|
+
*/
|
|
30
|
+
declare const caip2ToEip155ChainId: (chainId: Caip2ChainId) => number;
|
|
31
|
+
/**
|
|
32
|
+
* Converts a CAIP-2 chain ID in the eip155 namespace to its corresponding EIP-155 hexadecimal chain ID.
|
|
33
|
+
*
|
|
34
|
+
* @param chainId The CAIP-2 chain ID to convert
|
|
35
|
+
* @returns The EIP-155 hexadecimal chain ID
|
|
36
|
+
* @throws SdkError if the chainId is not in the eip155 namespace or if the reference is not a valid number
|
|
37
|
+
*/
|
|
38
|
+
declare const caip2ToEip155HexChainId: (chainId: Caip2ChainId) => `0x${string}`;
|
|
39
|
+
/**
|
|
40
|
+
* Converts an EIP-155 numeric chain ID to its corresponding CAIP-2 chain ID in the eip155 namespace.
|
|
41
|
+
*
|
|
42
|
+
* @param chainId The EIP-155 numeric chain ID to convert
|
|
43
|
+
* @returns The corresponding CAIP-2 chain ID in the eip155 namespace
|
|
44
|
+
* @throws SdkError if the chainId is not a valid non-negative integer
|
|
45
|
+
*/
|
|
46
|
+
declare const eip155ChainIdToCaip2: (chainId: number) => Caip2ChainId;
|
|
47
|
+
//#endregion
|
|
48
|
+
export { caip2ToEip155ChainId, caip2ToEip155HexChainId, eip155ChainIdToCaip2, isCaip2ChainId, splitCaip2ChainId };
|
|
49
|
+
//# sourceMappingURL=caip.d.ts.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{ErrorCode as e,ErrorReason as t,SdkError as n}from"../errors.js";const r=/^[a-z0-9]{3,8}:[-_a-zA-Z0-9]{1,32}$/,i=/^[a-z0-9]{3,8}:[-_a-zA-Z0-9]{1,50}$/,a=(e,t=!0)=>t?r.test(e):i.test(e),o=r=>{let[i,a]=r.split(`:`);if(!i||!a)throw new n(t.INVALID_PARAMS,e.INVALID_PARAMS,{details:`Invalid CAIP-2 chain ID: ${r}`});return{namespace:i,reference:a}},s=r=>{let{namespace:i,reference:a}=o(r);if(i!==`eip155`)throw new n(t.INVALID_PARAMS,e.INVALID_PARAMS,{details:`CAIP-2 chain ID is not in the eip155 namespace: ${r}`});let s=Number(a);if(isNaN(s))throw new n(t.INVALID_PARAMS,e.INVALID_PARAMS,{details:`CAIP-2 chain ID reference is not a valid number: ${r}`});return s},c=e=>`0x${s(e).toString(16)}`,l=r=>{if(!Number.isInteger(r)||r<0)throw new n(t.INVALID_PARAMS,e.INVALID_PARAMS,{details:`Invalid EIP-155 chain ID: ${r}`});return`eip155:${r}`};export{s as caip2ToEip155ChainId,c as caip2ToEip155HexChainId,l as eip155ChainIdToCaip2,a as isCaip2ChainId,o as splitCaip2ChainId};
|
|
2
|
+
//# sourceMappingURL=caip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"caip.js","names":[],"sources":["../../src/utils/caip.ts"],"sourcesContent":["import { ErrorCode, ErrorReason, SdkError } from '../errors';\nimport type { Caip2ChainId } from '../types/caip';\n\n/**\n * Strictly follows the CAIP-2 specification.\n * @see https://chainagnostic.org/CAIPs/caip-2\n */\nconst CAIP2_STRICT_REGEX = /^[a-z0-9]{3,8}:[-_a-zA-Z0-9]{1,32}$/;\n/**\n * Loosely follows the CAIP-2 specification, allowing up to 50 characters in the reference part.\n * This is to accommodate chain IDs that use longer references (ie cb58 encoded chain IDs).\n */\nconst CAIP2_LOOSE_REGEX = /^[a-z0-9]{3,8}:[-_a-zA-Z0-9]{1,50}$/;\n\n/**\n * Checks whether a given chainId is a valid CAIP-2 chain ID.\n *\n * @param chainId The chainId to verify is CAIP-2\n * @param strict Whether to use strict validation (default: true)\n * @returns Boolean indicating whether the chainId is a valid CAIP-2 chain ID\n */\nexport const isCaip2ChainId = (chainId: string, strict = true): chainId is Caip2ChainId => {\n if (!strict) {\n return CAIP2_LOOSE_REGEX.test(chainId);\n }\n\n return CAIP2_STRICT_REGEX.test(chainId);\n};\n\n/**\n * Splits a CAIP-2 chain ID into its namespace and reference components.\n *\n * @param chainId The CAIP-2 chain ID to split\n * @returns An object containing the namespace and reference\n * @throws SdkError if the chainId is not a valid CAIP-2 chain ID\n */\nexport const splitCaip2ChainId = (chainId: Caip2ChainId): { namespace: string; reference: string } => {\n const [namespace, reference] = chainId.split(':');\n\n if (!namespace || !reference) {\n throw new SdkError(ErrorReason.INVALID_PARAMS, ErrorCode.INVALID_PARAMS, {\n details: `Invalid CAIP-2 chain ID: ${chainId}`,\n });\n }\n\n return { namespace, reference };\n};\n\n/**\n * Converts a CAIP-2 chain ID in the eip155 namespace to its corresponding EIP-155 numeric chain ID.\n *\n * @param chainId The CAIP-2 chain ID to convert\n * @returns The EIP-155 numeric chain ID\n * @throws SdkError if the chainId is not in the eip155 namespace or if the reference is not a valid number\n */\nexport const caip2ToEip155ChainId = (chainId: Caip2ChainId): number => {\n const { namespace, reference } = splitCaip2ChainId(chainId);\n\n if (namespace !== 'eip155') {\n throw new SdkError(ErrorReason.INVALID_PARAMS, ErrorCode.INVALID_PARAMS, {\n details: `CAIP-2 chain ID is not in the eip155 namespace: ${chainId}`,\n });\n }\n\n const numericChainId = Number(reference);\n\n if (isNaN(numericChainId)) {\n throw new SdkError(ErrorReason.INVALID_PARAMS, ErrorCode.INVALID_PARAMS, {\n details: `CAIP-2 chain ID reference is not a valid number: ${chainId}`,\n });\n }\n\n return numericChainId;\n};\n\n/**\n * Converts a CAIP-2 chain ID in the eip155 namespace to its corresponding EIP-155 hexadecimal chain ID.\n *\n * @param chainId The CAIP-2 chain ID to convert\n * @returns The EIP-155 hexadecimal chain ID\n * @throws SdkError if the chainId is not in the eip155 namespace or if the reference is not a valid number\n */\nexport const caip2ToEip155HexChainId = (chainId: Caip2ChainId): `0x${string}` => {\n const numericChainId = caip2ToEip155ChainId(chainId);\n\n return `0x${numericChainId.toString(16)}` as `0x${string}`;\n};\n\n/**\n * Converts an EIP-155 numeric chain ID to its corresponding CAIP-2 chain ID in the eip155 namespace.\n *\n * @param chainId The EIP-155 numeric chain ID to convert\n * @returns The corresponding CAIP-2 chain ID in the eip155 namespace\n * @throws SdkError if the chainId is not a valid non-negative integer\n */\nexport const eip155ChainIdToCaip2 = (chainId: number): Caip2ChainId => {\n if (!Number.isInteger(chainId) || chainId < 0) {\n throw new SdkError(ErrorReason.INVALID_PARAMS, ErrorCode.INVALID_PARAMS, {\n details: `Invalid EIP-155 chain ID: ${chainId}`,\n });\n }\n\n return `eip155:${chainId}`;\n};\n"],"mappings":"wEAOA,MAAM,EAAqB,sCAKrB,EAAoB,sCASb,GAAkB,EAAiB,EAAS,KAClD,EAIE,EAAmB,KAAK,EAAQ,CAH9B,EAAkB,KAAK,EAAQ,CAa7B,EAAqB,GAAoE,CACpG,GAAM,CAAC,EAAW,GAAa,EAAQ,MAAM,IAAI,CAEjD,GAAI,CAAC,GAAa,CAAC,EACjB,MAAM,IAAI,EAAS,EAAY,eAAgB,EAAU,eAAgB,CACvE,QAAS,4BAA4B,IACtC,CAAC,CAGJ,MAAO,CAAE,YAAW,YAAW,EAUpB,EAAwB,GAAkC,CACrE,GAAM,CAAE,YAAW,aAAc,EAAkB,EAAQ,CAE3D,GAAI,IAAc,SAChB,MAAM,IAAI,EAAS,EAAY,eAAgB,EAAU,eAAgB,CACvE,QAAS,mDAAmD,IAC7D,CAAC,CAGJ,IAAM,EAAiB,OAAO,EAAU,CAExC,GAAI,MAAM,EAAe,CACvB,MAAM,IAAI,EAAS,EAAY,eAAgB,EAAU,eAAgB,CACvE,QAAS,oDAAoD,IAC9D,CAAC,CAGJ,OAAO,GAUI,EAA2B,GAG/B,KAFgB,EAAqB,EAAQ,CAEzB,SAAS,GAAG,GAU5B,EAAwB,GAAkC,CACrE,GAAI,CAAC,OAAO,UAAU,EAAQ,EAAI,EAAU,EAC1C,MAAM,IAAI,EAAS,EAAY,eAAgB,EAAU,eAAgB,CACvE,QAAS,6BAA6B,IACvC,CAAC,CAGJ,MAAO,UAAU"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm-address.cjs","names":[],"sources":["../../src/utils/evm-address.ts"],"sourcesContent":["import { isAddress, type Address as EvmAddress, type IsAddressOptions } from 'viem';\n\nexport function formatEvmAddress(address: EvmAddress): EvmAddress {\n return address.toLowerCase() as EvmAddress;\n}\n\nexport function isEvmAddress(address: string, options?: IsAddressOptions): address is EvmAddress {\n return isAddress(address, options);\n}\n"],"mappings":"mEAEA,SAAgB,EAAiB,EAAiC,CAChE,OAAO,EAAQ,aAAa,CAG9B,SAAgB,EAAa,EAAiB,EAAmD,CAC/F,OAAA,EAAA,EAAA,WAAiB,EAAS,EAAQ"}
|