@shogun-sdk/intents-sdk 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{_esm → esm}/chains.js +12 -9
- package/dist/esm/chains.js.map +1 -0
- package/dist/{_esm → esm}/constants.js +12 -1
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/core/evm/abi/permit2.js +395 -0
- package/dist/esm/core/evm/abi/permit2.js.map +1 -0
- package/dist/{_esm → esm}/core/evm/abi/source-chain-guard.js +2 -1
- package/dist/esm/core/evm/abi/source-chain-guard.js.map +1 -0
- package/dist/{_esm → esm}/core/evm/intent-provider.js.map +1 -1
- package/dist/{_esm → esm}/core/evm/order-signature.js +11 -0
- package/dist/esm/core/evm/order-signature.js.map +1 -0
- package/dist/esm/core/evm/sdk.js +154 -0
- package/dist/esm/core/evm/sdk.js.map +1 -0
- package/dist/{_esm → esm}/core/evm/viem-provider.js +27 -0
- package/dist/esm/core/evm/viem-provider.js.map +1 -0
- package/dist/{_esm → esm}/core/sdk.js +31 -7
- package/dist/esm/core/sdk.js.map +1 -0
- package/dist/{_esm → esm}/core/solana/order-instructions.js +10 -0
- package/dist/esm/core/solana/order-instructions.js.map +1 -0
- package/dist/{_esm → esm}/core/solana/sdk.js +11 -1
- package/dist/esm/core/solana/sdk.js.map +1 -0
- package/dist/{_esm → esm}/core/sui/order-transaction.js +10 -0
- package/dist/esm/core/sui/order-transaction.js.map +1 -0
- package/dist/{_esm → esm}/core/sui/sdk.js +3 -0
- package/dist/esm/core/sui/sdk.js.map +1 -0
- package/dist/{_esm → esm}/errors/index.js +6 -0
- package/dist/{_esm → esm}/errors/index.js.map +1 -1
- package/dist/esm/index.js +11 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types/api.js +2 -0
- package/dist/esm/types/api.js.map +1 -0
- package/dist/esm/types/user-order.js +16 -0
- package/dist/esm/types/user-order.js.map +1 -0
- package/dist/esm/utils/defillama.js +115 -0
- package/dist/esm/utils/defillama.js.map +1 -0
- package/dist/{_esm → esm}/utils/order-validator.js +1 -1
- package/dist/{_esm → esm}/utils/order-validator.js.map +1 -1
- package/dist/esm/utils/parsers.js +51 -0
- package/dist/esm/utils/parsers.js.map +1 -0
- package/dist/{_types → types}/chains.d.ts +12 -21
- package/dist/types/chains.d.ts.map +1 -0
- package/dist/{_types → types}/constants.d.ts +5 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/core/evm/abi/permit2.d.ts +304 -0
- package/dist/types/core/evm/abi/permit2.d.ts.map +1 -0
- package/dist/{_types → types}/core/evm/abi/source-chain-guard.d.ts +1 -1
- package/dist/{_types → types}/core/evm/abi/source-chain-guard.d.ts.map +1 -1
- package/dist/{_types → types}/core/evm/intent-provider.d.ts +2 -1
- package/dist/{_types → types}/core/evm/intent-provider.d.ts.map +1 -1
- package/dist/{_types → types}/core/evm/order-signature.d.ts +6 -0
- package/dist/types/core/evm/order-signature.d.ts.map +1 -0
- package/dist/{_types → types}/core/evm/sdk.d.ts +4 -0
- package/dist/types/core/evm/sdk.d.ts.map +1 -0
- package/dist/types/core/evm/viem-provider.d.ts +19304 -0
- package/dist/{_types → types}/core/evm/viem-provider.d.ts.map +1 -1
- package/dist/{_types → types}/core/sdk.d.ts +7 -4
- package/dist/types/core/sdk.d.ts.map +1 -0
- package/dist/{_types → types}/core/solana/order-instructions.d.ts +5 -0
- package/dist/types/core/solana/order-instructions.d.ts.map +1 -0
- package/dist/{_types → types}/core/solana/sdk.d.ts +1 -0
- package/dist/{_types → types}/core/solana/sdk.d.ts.map +1 -1
- package/dist/{_types → types}/core/sui/order-transaction.d.ts +5 -0
- package/dist/types/core/sui/order-transaction.d.ts.map +1 -0
- package/dist/{_types → types}/core/sui/sdk.d.ts +1 -0
- package/dist/types/core/sui/sdk.d.ts.map +1 -0
- package/dist/{_types → types}/errors/index.d.ts +3 -0
- package/dist/{_types → types}/errors/index.d.ts.map +1 -1
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/types/api.d.ts +8 -0
- package/dist/types/types/api.d.ts.map +1 -0
- package/dist/{_types → types}/types/intent.d.ts +2 -2
- package/dist/types/types/intent.d.ts.map +1 -0
- package/dist/types/types/user-order.d.ts +37 -0
- package/dist/types/types/user-order.d.ts.map +1 -0
- package/dist/types/utils/defillama.d.ts +61 -0
- package/dist/types/utils/defillama.d.ts.map +1 -0
- package/dist/types/utils/parsers.d.ts +19 -0
- package/dist/types/utils/parsers.d.ts.map +1 -0
- package/package.json +10 -11
- package/src/chains.ts +16 -23
- package/src/constants.ts +16 -1
- package/src/core/evm/abi/permit2.ts +394 -0
- package/src/core/evm/abi/source-chain-guard.ts +2 -1
- package/src/core/evm/intent-provider.ts +1 -1
- package/src/core/evm/order-signature.ts +23 -0
- package/src/core/evm/sdk.ts +96 -0
- package/src/core/evm/viem-provider.ts +29 -0
- package/src/core/sdk.ts +41 -9
- package/src/core/solana/order-instructions.ts +20 -0
- package/src/core/solana/sdk.ts +14 -0
- package/src/core/sui/order-transaction.ts +20 -0
- package/src/core/sui/sdk.ts +4 -0
- package/src/errors/index.ts +7 -0
- package/src/index.ts +13 -2
- package/src/types/api.ts +9 -0
- package/src/types/intent.ts +2 -2
- package/src/types/user-order.ts +74 -0
- package/src/utils/defillama.ts +179 -0
- package/src/utils/order-validator.ts +1 -1
- package/src/utils/parsers.ts +47 -0
- package/dist/_esm/chains.js.map +0 -1
- package/dist/_esm/constants.js.map +0 -1
- package/dist/_esm/core/evm/abi/source-chain-guard.js.map +0 -1
- package/dist/_esm/core/evm/order-signature.js.map +0 -1
- package/dist/_esm/core/evm/sdk.js +0 -79
- package/dist/_esm/core/evm/sdk.js.map +0 -1
- package/dist/_esm/core/evm/viem-provider.js.map +0 -1
- package/dist/_esm/core/sdk.js.map +0 -1
- package/dist/_esm/core/solana/order-instructions.js.map +0 -1
- package/dist/_esm/core/solana/sdk.js.map +0 -1
- package/dist/_esm/core/sui/order-transaction.js.map +0 -1
- package/dist/_esm/core/sui/sdk.js.map +0 -1
- package/dist/_esm/index.js +0 -7
- package/dist/_esm/index.js.map +0 -1
- package/dist/_esm/package.json +0 -1
- package/dist/_esm/utils/parsers.js +0 -10
- package/dist/_esm/utils/parsers.js.map +0 -1
- package/dist/_types/chains.d.ts.map +0 -1
- package/dist/_types/constants.d.ts.map +0 -1
- package/dist/_types/core/evm/order-signature.d.ts.map +0 -1
- package/dist/_types/core/evm/sdk.d.ts.map +0 -1
- package/dist/_types/core/evm/viem-provider.d.ts +0 -9657
- package/dist/_types/core/sdk.d.ts.map +0 -1
- package/dist/_types/core/solana/order-instructions.d.ts.map +0 -1
- package/dist/_types/core/sui/order-transaction.d.ts.map +0 -1
- package/dist/_types/core/sui/sdk.d.ts.map +0 -1
- package/dist/_types/index.d.ts +0 -10
- package/dist/_types/index.d.ts.map +0 -1
- package/dist/_types/types/intent.d.ts.map +0 -1
- package/dist/_types/utils/parsers.d.ts +0 -4
- package/dist/_types/utils/parsers.d.ts.map +0 -1
- /package/dist/{_esm → esm}/config.js +0 -0
- /package/dist/{_esm → esm}/config.js.map +0 -0
- /package/dist/{_esm → esm}/core/evm/abi/erc20.js +0 -0
- /package/dist/{_esm → esm}/core/evm/abi/erc20.js.map +0 -0
- /package/dist/{_esm → esm}/core/evm/intent-provider.js +0 -0
- /package/dist/{_esm → esm}/core/evm/permit2.js +0 -0
- /package/dist/{_esm → esm}/core/evm/permit2.js.map +0 -0
- /package/dist/{_esm → esm}/core/evm/validator.js +0 -0
- /package/dist/{_esm → esm}/core/evm/validator.js.map +0 -0
- /package/dist/{_esm → esm}/core/order.js +0 -0
- /package/dist/{_esm → esm}/core/order.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/client.js +0 -0
- /package/dist/{_esm → esm}/core/solana/client.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/accounts/adminSingleton.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/accounts/adminSingleton.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/accounts/guard.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/accounts/guard.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/accounts/index.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/accounts/index.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/accounts/order.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/accounts/order.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/errors/index.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/errors/index.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/errors/sourceChainGuard.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/errors/sourceChainGuard.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/index.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/index.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/cancelOrder.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/cancelOrder.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/claimTokens.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/claimTokens.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/collectProtocolFees.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/collectProtocolFees.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/createGuard.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/createGuard.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/createOrder.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/createOrder.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/index.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/index.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/initialize.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/initialize.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/preStartOrderExecution.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/preStartOrderExecution.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/setAdmin.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/setAdmin.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/setAuctioneerPubKey.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/setAuctioneerPubKey.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/startOrderExecution.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/startOrderExecution.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/startOrderExecutionAfterSwap.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/instructions/startOrderExecutionAfterSwap.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/programs/index.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/programs/index.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/programs/sourceChainGuard.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/programs/sourceChainGuard.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/shared/index.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/shared/index.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/adminUpdated.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/adminUpdated.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/auctioneerPubkeyUpdated.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/auctioneerPubkeyUpdated.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/executionStarted.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/executionStarted.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/guardCreated.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/guardCreated.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/index.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/index.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/orderCancelled.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/orderCancelled.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/orderCreated.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/orderCreated.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/orderFulfilled.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/orderFulfilled.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/tokenInSwapped.js +0 -0
- /package/dist/{_esm → esm}/core/solana/generated/types/tokenInSwapped.js.map +0 -0
- /package/dist/{_esm → esm}/core/solana/validator.js +0 -0
- /package/dist/{_esm → esm}/core/solana/validator.js.map +0 -0
- /package/dist/{_esm → esm}/core/sui/client.js +0 -0
- /package/dist/{_esm → esm}/core/sui/client.js.map +0 -0
- /package/dist/{_esm → esm}/core/sui/validator.js +0 -0
- /package/dist/{_esm → esm}/core/sui/validator.js.map +0 -0
- /package/dist/{_esm → esm}/types/intent.js +0 -0
- /package/dist/{_esm → esm}/types/intent.js.map +0 -0
- /package/dist/{_esm → esm}/utils/base-validator.js +0 -0
- /package/dist/{_esm → esm}/utils/base-validator.js.map +0 -0
- /package/dist/{_esm → esm}/utils/logger.js +0 -0
- /package/dist/{_esm → esm}/utils/logger.js.map +0 -0
- /package/dist/{_esm → esm}/utils/type-utils.js +0 -0
- /package/dist/{_esm → esm}/utils/type-utils.js.map +0 -0
- /package/dist/{_types → types}/config.d.ts +0 -0
- /package/dist/{_types → types}/config.d.ts.map +0 -0
- /package/dist/{_types → types}/core/evm/abi/erc20.d.ts +0 -0
- /package/dist/{_types → types}/core/evm/abi/erc20.d.ts.map +0 -0
- /package/dist/{_types → types}/core/evm/permit2.d.ts +0 -0
- /package/dist/{_types → types}/core/evm/permit2.d.ts.map +0 -0
- /package/dist/{_types → types}/core/evm/validator.d.ts +0 -0
- /package/dist/{_types → types}/core/evm/validator.d.ts.map +0 -0
- /package/dist/{_types → types}/core/order.d.ts +0 -0
- /package/dist/{_types → types}/core/order.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/client.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/client.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/accounts/adminSingleton.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/accounts/adminSingleton.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/accounts/guard.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/accounts/guard.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/accounts/index.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/accounts/index.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/accounts/order.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/accounts/order.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/errors/index.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/errors/index.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/errors/sourceChainGuard.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/errors/sourceChainGuard.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/index.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/index.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/cancelOrder.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/cancelOrder.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/claimTokens.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/claimTokens.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/collectProtocolFees.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/collectProtocolFees.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/createGuard.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/createGuard.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/createOrder.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/createOrder.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/index.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/index.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/initialize.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/initialize.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/preStartOrderExecution.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/preStartOrderExecution.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/setAdmin.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/setAdmin.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/setAuctioneerPubKey.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/setAuctioneerPubKey.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/startOrderExecution.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/startOrderExecution.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/startOrderExecutionAfterSwap.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/instructions/startOrderExecutionAfterSwap.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/programs/index.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/programs/index.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/programs/sourceChainGuard.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/programs/sourceChainGuard.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/shared/index.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/shared/index.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/adminUpdated.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/adminUpdated.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/auctioneerPubkeyUpdated.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/auctioneerPubkeyUpdated.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/executionStarted.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/executionStarted.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/guardCreated.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/guardCreated.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/index.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/index.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/orderCancelled.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/orderCancelled.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/orderCreated.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/orderCreated.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/orderFulfilled.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/orderFulfilled.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/tokenInSwapped.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/generated/types/tokenInSwapped.d.ts.map +0 -0
- /package/dist/{_types → types}/core/solana/validator.d.ts +0 -0
- /package/dist/{_types → types}/core/solana/validator.d.ts.map +0 -0
- /package/dist/{_types → types}/core/sui/client.d.ts +0 -0
- /package/dist/{_types → types}/core/sui/client.d.ts.map +0 -0
- /package/dist/{_types → types}/core/sui/validator.d.ts +0 -0
- /package/dist/{_types → types}/core/sui/validator.d.ts.map +0 -0
- /package/dist/{_types → types}/utils/base-validator.d.ts +0 -0
- /package/dist/{_types → types}/utils/base-validator.d.ts.map +0 -0
- /package/dist/{_types → types}/utils/logger.d.ts +0 -0
- /package/dist/{_types → types}/utils/logger.d.ts.map +0 -0
- /package/dist/{_types → types}/utils/order-validator.d.ts +0 -0
- /package/dist/{_types → types}/utils/order-validator.d.ts.map +0 -0
- /package/dist/{_types → types}/utils/type-utils.d.ts +0 -0
- /package/dist/{_types → types}/utils/type-utils.d.ts.map +0 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
// src/core/evm/sdk.ts
|
|
2
|
+
import { privateKeyToAccount } from 'viem/accounts';
|
|
3
|
+
import { EVMError, OrderCreationError } from '../../errors/index.js';
|
|
4
|
+
import { BaseSDK } from '../sdk.js';
|
|
5
|
+
import { EVMIntentProvider } from './intent-provider.js';
|
|
6
|
+
import {} from 'viem';
|
|
7
|
+
import { AUCTIONEER_URL, PERMIT2_ADDRESS, SRC_CHAIN_GUARD } from '../../constants.js';
|
|
8
|
+
/**
|
|
9
|
+
* EVM-specific SDK implementation
|
|
10
|
+
*
|
|
11
|
+
* Handles EVM-specific aspects of cross-chain swaps for Ethereum-compatible chains:
|
|
12
|
+
* - Arbitrum
|
|
13
|
+
* - Optimism
|
|
14
|
+
* - Base
|
|
15
|
+
*
|
|
16
|
+
* Uses viem for blockchain interactions and EIP-712 signatures for order authorization.
|
|
17
|
+
*/
|
|
18
|
+
export class EVMSDK extends BaseSDK {
|
|
19
|
+
/**
|
|
20
|
+
* Creates a new instance of the EVM SDK
|
|
21
|
+
*
|
|
22
|
+
* @param config EVM configuration including chainId, privateKey, and optional RPC URL
|
|
23
|
+
*/
|
|
24
|
+
constructor(config) {
|
|
25
|
+
super();
|
|
26
|
+
/** Configuration for EVM chain connections and authentication */
|
|
27
|
+
Object.defineProperty(this, "config", {
|
|
28
|
+
enumerable: true,
|
|
29
|
+
configurable: true,
|
|
30
|
+
writable: true,
|
|
31
|
+
value: void 0
|
|
32
|
+
});
|
|
33
|
+
/** Provider for EVM-specific order preparation and submission */
|
|
34
|
+
Object.defineProperty(this, "evmIntentProvider", {
|
|
35
|
+
enumerable: true,
|
|
36
|
+
configurable: true,
|
|
37
|
+
writable: true,
|
|
38
|
+
value: void 0
|
|
39
|
+
});
|
|
40
|
+
this.config = config;
|
|
41
|
+
this.evmIntentProvider = new EVMIntentProvider(config);
|
|
42
|
+
}
|
|
43
|
+
async cancelOrderInternal(orderId) {
|
|
44
|
+
const chainId = this.config.chainId;
|
|
45
|
+
const auctioneerAddress = SRC_CHAIN_GUARD[chainId];
|
|
46
|
+
const userAddress = (await this.getUserAddress());
|
|
47
|
+
const auctioneerContract = this.evmIntentProvider.provider.getAuctioneerContract(auctioneerAddress);
|
|
48
|
+
const permit2Contract = this.evmIntentProvider.provider.getPermit2Contract(PERMIT2_ADDRESS[chainId]);
|
|
49
|
+
const userOrders = await this.fetchUserOrders(chainId);
|
|
50
|
+
const userOrder = userOrders.find((order) => order.orderId === orderId);
|
|
51
|
+
if (!userOrder) {
|
|
52
|
+
throw new Error('Order not found');
|
|
53
|
+
}
|
|
54
|
+
const orderIdHex = orderId;
|
|
55
|
+
let [initialized, deactivated] = await auctioneerContract.read.orderData([orderIdHex]);
|
|
56
|
+
let txHash;
|
|
57
|
+
if (!userOrder.nonce) {
|
|
58
|
+
throw new Error('Nonce is required for cancellation');
|
|
59
|
+
}
|
|
60
|
+
if (initialized) {
|
|
61
|
+
if (deactivated) {
|
|
62
|
+
throw new Error('Order is already deactivated');
|
|
63
|
+
}
|
|
64
|
+
const orderInfo = {
|
|
65
|
+
user: userOrder.user,
|
|
66
|
+
tokenIn: userOrder.tokenIn,
|
|
67
|
+
srcChainId: userOrder.srcChainId,
|
|
68
|
+
deadline: userOrder.deadline,
|
|
69
|
+
amountIn: BigInt(userOrder.amountIn),
|
|
70
|
+
minStablecoinsAmount: BigInt(userOrder.minStablecoinsAmount),
|
|
71
|
+
executionDetailsHash: userOrder.executionDetailsHash,
|
|
72
|
+
nonce: BigInt(userOrder.nonce),
|
|
73
|
+
};
|
|
74
|
+
const tx = await auctioneerContract.write.cancelOrder([orderInfo]);
|
|
75
|
+
txHash = tx;
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
const nonce = BigInt(userOrder.nonce);
|
|
79
|
+
let nonceWordPos = nonce >> 8n;
|
|
80
|
+
let nonceBitPos = nonce - nonceWordPos * 256n;
|
|
81
|
+
let mask = 1n << nonceBitPos;
|
|
82
|
+
const currentNonceBitmap = await permit2Contract.read.nonceBitmap([userAddress, nonceWordPos]);
|
|
83
|
+
if ((currentNonceBitmap & (1n << nonceBitPos)) !== 0n) {
|
|
84
|
+
throw new Error('Nonce is already invalidated');
|
|
85
|
+
}
|
|
86
|
+
const tx = await permit2Contract.write.invalidateUnorderedNonces([nonceWordPos, mask]);
|
|
87
|
+
txHash = tx;
|
|
88
|
+
}
|
|
89
|
+
return txHash;
|
|
90
|
+
}
|
|
91
|
+
async fetchUserOrders(chainId) {
|
|
92
|
+
const userAddress = await this.getUserAddress();
|
|
93
|
+
const siweEndpoint = `${AUCTIONEER_URL}/siwe`;
|
|
94
|
+
const queryParams = `?chainId=${chainId}&wallet=${userAddress}`;
|
|
95
|
+
const response = await fetch(`${siweEndpoint}${queryParams}`);
|
|
96
|
+
const { data: message } = await response.json();
|
|
97
|
+
const signature = await this.evmIntentProvider.provider.walletClient.signMessage(message);
|
|
98
|
+
const jwt = await fetch(siweEndpoint, {
|
|
99
|
+
method: 'POST',
|
|
100
|
+
headers: {
|
|
101
|
+
'Content-Type': 'application/json',
|
|
102
|
+
},
|
|
103
|
+
body: JSON.stringify({ message, signature }),
|
|
104
|
+
});
|
|
105
|
+
const { data: token } = await jwt.json();
|
|
106
|
+
const ordersUrl = `${AUCTIONEER_URL}/user_intent`;
|
|
107
|
+
const orders = await fetch(ordersUrl, {
|
|
108
|
+
method: 'GET',
|
|
109
|
+
headers: {
|
|
110
|
+
Authorization: `Bearer ${token}`,
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
const { data: ordersData } = await orders.json();
|
|
114
|
+
return ordersData;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Gets the user's Ethereum address derived from their private key
|
|
118
|
+
*
|
|
119
|
+
* Uses viem's privateKeyToAccount function to derive the address securely
|
|
120
|
+
*
|
|
121
|
+
* @returns Promise resolving to the user's Ethereum address as a 0x-prefixed string
|
|
122
|
+
* @throws {EVMError} If address derivation fails
|
|
123
|
+
*/
|
|
124
|
+
async getUserAddress() {
|
|
125
|
+
try {
|
|
126
|
+
return privateKeyToAccount(this.config.privateKey).address;
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
throw new EVMError('Failed to get user address', error);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Prepares an EVM order for submission
|
|
134
|
+
*
|
|
135
|
+
* This method:
|
|
136
|
+
* 1. Validates token balances and allowances
|
|
137
|
+
* 2. Creates and signs the EIP-712 typed data for Permit2
|
|
138
|
+
* 3. Prepares the order for submission to the auctioneer
|
|
139
|
+
*
|
|
140
|
+
* @param order The validated order to prepare
|
|
141
|
+
* @returns Promise resolving to a prepared order with EVM-specific signature data
|
|
142
|
+
* @throws {OrderCreationError} If order preparation fails
|
|
143
|
+
* @protected
|
|
144
|
+
*/
|
|
145
|
+
prepareOrder(order) {
|
|
146
|
+
try {
|
|
147
|
+
return this.evmIntentProvider.prepare(order);
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
throw new OrderCreationError('Failed to prepare EVM order', error);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=sdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../../src/core/evm/sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@ import { privateKeyToAccount } from 'viem/accounts';
|
|
|
3
3
|
import { arbitrum, base, optimism } from 'viem/chains';
|
|
4
4
|
import { ChainID } from '../../chains.js';
|
|
5
5
|
import { ERC20ABI } from './abi/erc20.js';
|
|
6
|
+
import { SOURCE_CHAIN_GUARD_ABI } from './abi/source-chain-guard.js';
|
|
7
|
+
import { PERMIT2_ABI } from './abi/permit2.js';
|
|
6
8
|
const chainIdToProviderChainMap = {
|
|
7
9
|
[ChainID.Arbitrum]: arbitrum,
|
|
8
10
|
[ChainID.Optimism]: optimism,
|
|
@@ -60,6 +62,31 @@ export class ChainProvider {
|
|
|
60
62
|
transport: http(rpcProviderUrl),
|
|
61
63
|
});
|
|
62
64
|
}
|
|
65
|
+
getPermit2Contract(permit2Address) {
|
|
66
|
+
return getContract({
|
|
67
|
+
address: permit2Address,
|
|
68
|
+
abi: PERMIT2_ABI,
|
|
69
|
+
client: {
|
|
70
|
+
wallet: this.walletClient,
|
|
71
|
+
public: this.publicClient,
|
|
72
|
+
chain: chainIdToProviderChainMap[this.chainId],
|
|
73
|
+
account: this.walletClient.account,
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// Any type since the inferred type of this node exceeds the maximum length the compiler will serialize
|
|
78
|
+
getAuctioneerContract(auctioneerAddress) {
|
|
79
|
+
return getContract({
|
|
80
|
+
address: auctioneerAddress,
|
|
81
|
+
abi: SOURCE_CHAIN_GUARD_ABI,
|
|
82
|
+
client: {
|
|
83
|
+
wallet: this.walletClient,
|
|
84
|
+
public: this.publicClient,
|
|
85
|
+
chain: chainIdToProviderChainMap[this.chainId],
|
|
86
|
+
account: this.walletClient.account,
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
}
|
|
63
90
|
getERC20Contract(tokenAddress) {
|
|
64
91
|
return getContract({
|
|
65
92
|
address: tokenAddress,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viem-provider.js","sourceRoot":"","sources":["../../../../src/core/evm/viem-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EACZ,kBAAkB,EAClB,WAAW,EAEX,IAAI,GAGL,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,OAAO,EAA0B,MAAM,iBAAiB,CAAC;AAElE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,MAAM,yBAAyB,GAAG;IAChC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAC5B,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,QAAQ;IAC5B,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI;CACrB,CAAC;AAEF,MAAM,OAAO,aAAa;IAMxB,YAAY,MAAiB;QALZ;;;;;WAAgB;QACjB;;;;;WAA2B;QAC3B;;;;;WAAqB;QACrB;;;;;WAAsD;QAGpE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAiB,CAAC;QAC3C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAE9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,OAA0B,EAAE,cAAuB;QAClE,MAAM,KAAK,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAEjD,OAAO,YAAY,CAAC;YAClB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,cAAuB;QAC/B,OAAO,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IAC/D,CAAC;IAED,UAAU;QACR,OAAO,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED,eAAe,CAAC,cAAuB;QACrC,MAAM,KAAK,GAAG,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEtD,OAAO,kBAAkB,CAAC;YACxB,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC;YAC7C,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAAC,cAAuB;QACxC,OAAO,WAAW,CAAC;YACjB,OAAO,EAAE,cAAc;YACvB,GAAG,EAAE,WAAW;YAChB,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,CAAC,YAAY;gBACzB,MAAM,EAAE,IAAI,CAAC,YAAY;gBACzB,KAAK,EAAE,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;aACnC;SACF,CAAC,CAAC;IACL,CAAC;IAED,uGAAuG;IACvG,qBAAqB,CAAC,iBAA0B;QAC9C,OAAO,WAAW,CAAC;YACjB,OAAO,EAAE,iBAAiB;YAC1B,GAAG,EAAE,sBAAsB;YAC3B,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,CAAC,YAAY;gBACzB,MAAM,EAAE,IAAI,CAAC,YAAY;gBACzB,KAAK,EAAE,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;aACnC;SACF,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,YAAqB;QACpC,OAAO,WAAW,CAAC;YACjB,OAAO,EAAE,YAAY;YACrB,GAAG,EAAE,QAAQ;YACb,MAAM,EAAE;gBACN,MAAM,EAAE,IAAI,CAAC,YAAY;gBACzB,MAAM,EAAE,IAAI,CAAC,YAAY;gBACzB,KAAK,EAAE,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC9C,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;aACnC;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { chainIdToChainTypeMap } from '../chains.js';
|
|
2
2
|
import { AUCTIONEER_URL } from '../constants.js';
|
|
3
3
|
import { NetworkError } from '../errors/index.js';
|
|
4
|
+
import { calculateAmounts } from '../utils/defillama.js';
|
|
4
5
|
import { Parsers } from '../utils/parsers.js';
|
|
5
6
|
import { Order } from './order.js';
|
|
6
7
|
/**
|
|
@@ -26,22 +27,45 @@ export class BaseSDK {
|
|
|
26
27
|
*/
|
|
27
28
|
async createOrder(params) {
|
|
28
29
|
const userAddress = await this.getUserAddress();
|
|
30
|
+
let minStablecoinAmount;
|
|
31
|
+
let destinationTokenMinAmount;
|
|
32
|
+
if (!params.minStablecoinAmount || !params.destinationTokenMinAmount) {
|
|
33
|
+
// Calculate missing values using DefiLlama
|
|
34
|
+
const { amountOut: calculatedAmountOut, minStablecoinsAmount: calculatedMinStablecoins } = await calculateAmounts({
|
|
35
|
+
srcChainId: params.sourceChainId,
|
|
36
|
+
tokenIn: params.sourceTokenAddress,
|
|
37
|
+
amountIn: params.sourceTokenAmount,
|
|
38
|
+
destChainId: params.destinationChainId,
|
|
39
|
+
tokenOut: params.destinationTokenAddress,
|
|
40
|
+
});
|
|
41
|
+
// Use provided values if available, otherwise use calculated ones
|
|
42
|
+
minStablecoinAmount = params.minStablecoinAmount ?? calculatedMinStablecoins;
|
|
43
|
+
destinationTokenMinAmount = params.destinationTokenMinAmount ?? calculatedAmountOut;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
// Both values provided, use them directly
|
|
47
|
+
minStablecoinAmount = params.minStablecoinAmount;
|
|
48
|
+
destinationTokenMinAmount = params.destinationTokenMinAmount;
|
|
49
|
+
}
|
|
29
50
|
// Order is validated upon creation
|
|
30
51
|
const order = await Order.create({
|
|
31
52
|
user: userAddress,
|
|
32
53
|
sourceChainId: params.sourceChainId,
|
|
33
54
|
sourceTokenAddress: params.sourceTokenAddress,
|
|
34
55
|
sourceTokenAmount: params.sourceTokenAmount,
|
|
35
|
-
minStablecoinAmount:
|
|
56
|
+
minStablecoinAmount: minStablecoinAmount,
|
|
36
57
|
deadline: params.deadline,
|
|
37
58
|
destinationAddress: params.destinationAddress,
|
|
38
59
|
destinationChainId: params.destinationChainId,
|
|
39
60
|
destinationTokenAddress: params.destinationTokenAddress,
|
|
40
|
-
destinationTokenMinAmount:
|
|
61
|
+
destinationTokenMinAmount: destinationTokenMinAmount,
|
|
41
62
|
extraTransfers: params.extraTransfers,
|
|
42
63
|
});
|
|
43
64
|
return this.prepareOrder(order);
|
|
44
65
|
}
|
|
66
|
+
async cancelOrder(orderId) {
|
|
67
|
+
return this.cancelOrderInternal(orderId);
|
|
68
|
+
}
|
|
45
69
|
/**
|
|
46
70
|
* Creates an order and sends it to the auctioneer in a single call
|
|
47
71
|
*
|
|
@@ -55,7 +79,7 @@ export class BaseSDK {
|
|
|
55
79
|
*/
|
|
56
80
|
async createAndSendOrder(params) {
|
|
57
81
|
const preparedOrder = await this.createOrder(params);
|
|
58
|
-
return
|
|
82
|
+
return BaseSDK.sendOrder(preparedOrder);
|
|
59
83
|
}
|
|
60
84
|
/**
|
|
61
85
|
* Converts a prepared order into a user intent request format for the auctioneer
|
|
@@ -69,7 +93,7 @@ export class BaseSDK {
|
|
|
69
93
|
* @returns User intent request object ready for submission to the auctioneer
|
|
70
94
|
* @throws {BaseError} If conversion fails
|
|
71
95
|
*/
|
|
72
|
-
getUserIntentRequest(preparedOrder) {
|
|
96
|
+
static getUserIntentRequest(preparedOrder) {
|
|
73
97
|
const sourceChain = preparedOrder.order.sourceChainId;
|
|
74
98
|
const sourceChainType = chainIdToChainTypeMap[sourceChain];
|
|
75
99
|
const executionDetails = preparedOrder.order.getExecutionDetails();
|
|
@@ -94,8 +118,8 @@ export class BaseSDK {
|
|
|
94
118
|
* @returns Promise resolving to the specific-chain tx hash
|
|
95
119
|
* @throws {NetworkError} If the network request fails or returns an error
|
|
96
120
|
*/
|
|
97
|
-
async sendOrder(preparedOrder) {
|
|
98
|
-
const intentRequest =
|
|
121
|
+
static async sendOrder(preparedOrder) {
|
|
122
|
+
const intentRequest = BaseSDK.getUserIntentRequest(preparedOrder);
|
|
99
123
|
const body = JSON.stringify(intentRequest, Parsers.bigIntReplacer);
|
|
100
124
|
const url = `${AUCTIONEER_URL}/user_intent`;
|
|
101
125
|
const response = await fetch(url, {
|
|
@@ -114,7 +138,7 @@ export class BaseSDK {
|
|
|
114
138
|
body: extraErrorData,
|
|
115
139
|
});
|
|
116
140
|
}
|
|
117
|
-
return response;
|
|
141
|
+
return response.json();
|
|
118
142
|
}
|
|
119
143
|
}
|
|
120
144
|
//# sourceMappingURL=sdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../src/core/sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { ChainID } from '../../chains.js';
|
|
|
5
5
|
import { NATIVE_SOLANA_TOKEN_ADDRESS, SRC_CHAIN_GUARD, WRAPPED_SOL_MINT_ADDRESS } from '../../constants.js';
|
|
6
6
|
import { getDefaultSolanaRPC } from './client.js';
|
|
7
7
|
import { getCreateOrderInstruction } from './generated/index.js';
|
|
8
|
+
import { BaseSDK } from '../sdk.js';
|
|
8
9
|
/**
|
|
9
10
|
* Generates Solana order instructions for creating an order
|
|
10
11
|
* @param order The order to generate instructions
|
|
@@ -89,4 +90,13 @@ export async function getSolanaOrderInstructions(order) {
|
|
|
89
90
|
orderKeyPair: orderSigner,
|
|
90
91
|
};
|
|
91
92
|
}
|
|
93
|
+
export async function sendSolanaRequest({ order, orderPubkey, }) {
|
|
94
|
+
const preparedOrder = {
|
|
95
|
+
order,
|
|
96
|
+
preparedData: {
|
|
97
|
+
orderPubkey,
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
return BaseSDK.sendOrder(preparedOrder);
|
|
101
|
+
}
|
|
92
102
|
//# sourceMappingURL=order-instructions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order-instructions.js","sourceRoot":"","sources":["../../../../src/core/solana/order-instructions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { appendTransactionMessageInstructions, compileTransaction, createKeyPairFromBytes, createNoopSigner, createSignerFromKeyPair, createTransactionMessage, getBase58Encoder, pipe, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, signTransaction, } from '@solana/kit';
|
|
1
|
+
import { address, appendTransactionMessageInstructions, compileTransaction, createKeyPairFromBytes, createNoopSigner, createSignerFromKeyPair, createTransactionMessage, getBase58Encoder, pipe, setTransactionMessageFeePayerSigner, setTransactionMessageLifetimeUsingBlockhash, signTransaction, } from '@solana/kit';
|
|
2
2
|
import { Order } from '../order.js';
|
|
3
3
|
import { BaseSDK } from '../sdk.js';
|
|
4
4
|
import { createSolanaClient } from './client.js';
|
|
5
5
|
import { getSolanaOrderInstructions } from './order-instructions.js';
|
|
6
|
+
import { fetchMaybeOrder } from './generated/index.js';
|
|
6
7
|
/**
|
|
7
8
|
* Solana-specific SDK implementation
|
|
8
9
|
*
|
|
@@ -47,6 +48,15 @@ export class SolanaSDK extends BaseSDK {
|
|
|
47
48
|
const signer = await this.getUserSigner();
|
|
48
49
|
return signer.address;
|
|
49
50
|
}
|
|
51
|
+
async cancelOrderInternal(orderId) {
|
|
52
|
+
const rpc = this.client.rpc;
|
|
53
|
+
const orderAddress = address(orderId);
|
|
54
|
+
const orderData = await fetchMaybeOrder(rpc, orderAddress);
|
|
55
|
+
if (!orderData) {
|
|
56
|
+
throw new Error('Order not found');
|
|
57
|
+
}
|
|
58
|
+
throw new Error('Method not implemented.');
|
|
59
|
+
}
|
|
50
60
|
/**
|
|
51
61
|
* Creates a CryptoKeyPair from the user's private key
|
|
52
62
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../../src/core/solana/sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { ChainID } from '../../chains.js';
|
|
|
4
4
|
import { SRC_CHAIN_GUARD, SUI_GUARD_COLLATERAL_TYPE, SUI_GUARD_STABLECOIN_TYPE, SUI_PACKAGE_ID, } from '../../constants.js';
|
|
5
5
|
import { ValidationError } from '../../errors/index.js';
|
|
6
6
|
import { createSuiClient } from './client.js';
|
|
7
|
+
import { BaseSDK } from '../sdk.js';
|
|
7
8
|
/**
|
|
8
9
|
* Generates Sui order transaction for creating an order
|
|
9
10
|
* @param order The order to generate transaction for
|
|
@@ -53,4 +54,13 @@ export async function getSuiOrderTransaction(order) {
|
|
|
53
54
|
tx.setSender(userAddress);
|
|
54
55
|
return tx;
|
|
55
56
|
}
|
|
57
|
+
export async function sendSuiRequest({ order, transactionDigest, }) {
|
|
58
|
+
const preparedOrder = {
|
|
59
|
+
order,
|
|
60
|
+
preparedData: {
|
|
61
|
+
transactionHash: transactionDigest,
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
return BaseSDK.sendOrder(preparedOrder);
|
|
65
|
+
}
|
|
56
66
|
//# sourceMappingURL=order-transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order-transaction.js","sourceRoot":"","sources":["../../../../src/core/sui/order-transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,9 @@ import { getSuiOrderTransaction } from './order-transaction.js';
|
|
|
12
12
|
* Supports cross-chain swaps from Sui to other supported chains.
|
|
13
13
|
*/
|
|
14
14
|
export class SuiSDK extends BaseSDK {
|
|
15
|
+
cancelOrderInternal() {
|
|
16
|
+
throw new Error('Method not implemented.');
|
|
17
|
+
}
|
|
15
18
|
/**
|
|
16
19
|
* Creates a new instance of the Sui SDK
|
|
17
20
|
*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sdk.js","sourceRoot":"","sources":["../../../../src/core/sui/sdk.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAG9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,OAAO,MAAO,SAAQ,OAAO;IACd,mBAAmB;QACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAOD;;;;OAIG;IACH,YAAY,MAAiB;QAC3B,KAAK,EAAE,CAAC;QAXV,0DAA0D;QACzC;;;;;WAAkB;QACnC,+DAA+D;QACvD;;;;;WAAkB;QASxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,cAAc;QACzB,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,YAAY,EAAE,CAAC;IAC1C,CAAC;IAED;;;;;;;OAOG;IACK,UAAU;QAChB,OAAO,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED;;;;;;;;;;;;OAYG;IACO,KAAK,CAAC,YAAY,CAAC,KAAY;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAEjC,MAAM,WAAW,GAAG,MAAM,sBAAsB,CAAC,KAAK,CAAC,CAAC;YAExD,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC;gBACrD,MAAM;gBACN,WAAW;aACZ,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;YAE5D,OAAO;gBACL,KAAK;gBACL,YAAY,EAAE;oBACZ,eAAe,EAAE,EAAE,CAAC,MAAM;iBAC3B;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,kBAAkB,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -76,6 +76,12 @@ export class InsufficientBalanceError extends BaseError {
|
|
|
76
76
|
Object.setPrototypeOf(this, InsufficientBalanceError.prototype);
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
|
+
export class CalculateAmountError extends BaseError {
|
|
80
|
+
constructor(message, cause) {
|
|
81
|
+
super(message, cause);
|
|
82
|
+
Object.setPrototypeOf(this, CalculateAmountError.prototype);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
79
85
|
export class InsufficientAllowanceError extends BaseError {
|
|
80
86
|
constructor(message, cause) {
|
|
81
87
|
super(message, cause);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/errors/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export { ChainID, ChainType, SupportedChains } from './chains.js';
|
|
2
|
+
export { EVMSDK } from './core/evm/sdk.js';
|
|
3
|
+
export { Order } from './core/order.js';
|
|
4
|
+
export { SolanaSDK } from './core/solana/sdk.js';
|
|
5
|
+
export { SuiSDK } from './core/sui/sdk.js';
|
|
6
|
+
export { ValidationError } from './errors/index.js';
|
|
7
|
+
export { calculateAmounts, chainIdToDefiLlamaChainMap, createDefiLlamaCoinKey, getCoinFromResponse, getTokensData, } from './utils/defillama.js';
|
|
8
|
+
export { getEvmOrderTypedData, sendEvmRequest } from './core/evm/order-signature.js';
|
|
9
|
+
export { getSolanaOrderInstructions, sendSolanaRequest } from './core/solana/order-instructions.js';
|
|
10
|
+
export { getSuiOrderTransaction, sendSuiRequest } from './core/sui/order-transaction.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIlE,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,gBAAgB,EAChB,0BAA0B,EAC1B,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,GACd,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACrF,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACpG,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export var OrderStatus;
|
|
2
|
+
(function (OrderStatus) {
|
|
3
|
+
// In auction stage, waiting for bids.
|
|
4
|
+
OrderStatus["Auction"] = "Auction";
|
|
5
|
+
// No bids were received for the order. Is set as limit order.
|
|
6
|
+
OrderStatus["NoBids"] = "NoBids";
|
|
7
|
+
// The order got a winner bid and the solver is going to execute it.
|
|
8
|
+
OrderStatus["Executing"] = "Executing";
|
|
9
|
+
// The order was correctly executed.
|
|
10
|
+
OrderStatus["Fulfilled"] = "Fulfilled";
|
|
11
|
+
// The order was cancelled before execution.
|
|
12
|
+
OrderStatus["Cancelled"] = "Cancelled";
|
|
13
|
+
// The order was not fulfilled before its deadline.
|
|
14
|
+
OrderStatus["Outdated"] = "Outdated";
|
|
15
|
+
})(OrderStatus || (OrderStatus = {}));
|
|
16
|
+
//# sourceMappingURL=user-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-order.js","sourceRoot":"","sources":["../../../src/types/user-order.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,WAaX;AAbD,WAAY,WAAW;IACrB,sCAAsC;IACtC,kCAAmB,CAAA;IACnB,8DAA8D;IAC9D,gCAAiB,CAAA;IACjB,oEAAoE;IACpE,sCAAuB,CAAA;IACvB,oCAAoC;IACpC,sCAAuB,CAAA;IACvB,4CAA4C;IAC5C,sCAAuB,CAAA;IACvB,mDAAmD;IACnD,oCAAqB,CAAA;AACvB,CAAC,EAbW,WAAW,KAAX,WAAW,QAatB"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { ChainID } from '../chains.js';
|
|
2
|
+
import { isNativeTokenEvmAddress, NATIVE_SOLANA_TOKEN_ADDRESS, REDUCTION_FACTOR, STABLECOIN_DECIMALS, WRAPPED_SOL_MINT_ADDRESS, } from '../constants.js';
|
|
3
|
+
import { CalculateAmountError } from '../errors/index.js';
|
|
4
|
+
import { Parsers } from './parsers.js';
|
|
5
|
+
const TOKEN_PRICE_BASE_URL = 'https://coins.llama.fi/prices/current/';
|
|
6
|
+
/**
|
|
7
|
+
* Maps chain IDs to their corresponding chain types
|
|
8
|
+
* Used to determine which SDK implementation to use for a given chain
|
|
9
|
+
*/
|
|
10
|
+
export const chainIdToDefiLlamaChainMap = {
|
|
11
|
+
[ChainID.Arbitrum]: 'arbitrum',
|
|
12
|
+
[ChainID.Base]: 'base',
|
|
13
|
+
[ChainID.Optimism]: 'optimism',
|
|
14
|
+
[ChainID.Solana]: 'solana',
|
|
15
|
+
[ChainID.Sui]: 'sui',
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Creates DefiLlama coin key from chain ID and token address
|
|
19
|
+
* Format: "chainName:tokenAddress"
|
|
20
|
+
*/
|
|
21
|
+
export const createDefiLlamaCoinKey = (chainId, tokenAddress) => {
|
|
22
|
+
const chainName = chainIdToDefiLlamaChainMap[chainId];
|
|
23
|
+
if (!chainName) {
|
|
24
|
+
throw new CalculateAmountError(`Unsupported chain ID for DefiLlama: ${chainId}`);
|
|
25
|
+
}
|
|
26
|
+
return `${chainName}:${toDefiLlamaToken(tokenAddress)}`;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Retrieves token data from DefiLlama response by chain and address
|
|
30
|
+
*/
|
|
31
|
+
export const getCoinFromResponse = (response, chainId, tokenAddress) => {
|
|
32
|
+
const key = createDefiLlamaCoinKey(chainId, tokenAddress);
|
|
33
|
+
const coin = response.coins[key];
|
|
34
|
+
if (!coin) {
|
|
35
|
+
throw new CalculateAmountError(`DefiLlama coin not found for ${key}`);
|
|
36
|
+
}
|
|
37
|
+
return coin;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Converts Solana native token address to wrapped SOL mint address
|
|
41
|
+
* DefiLlama uses wrapped SOL mint address for native SOL
|
|
42
|
+
*
|
|
43
|
+
* @param tokenAddress The token address to convert
|
|
44
|
+
* @returns The DefiLlama-compatible token address
|
|
45
|
+
*/
|
|
46
|
+
function toDefiLlamaToken(tokenAddress) {
|
|
47
|
+
if (isNativeTokenEvmAddress(tokenAddress)) {
|
|
48
|
+
return '0x0000000000000000000000000000000000000000';
|
|
49
|
+
}
|
|
50
|
+
if (tokenAddress === NATIVE_SOLANA_TOKEN_ADDRESS) {
|
|
51
|
+
return WRAPPED_SOL_MINT_ADDRESS;
|
|
52
|
+
}
|
|
53
|
+
return tokenAddress;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Builds a comma-separated query string for DefiLlama API token requests
|
|
57
|
+
*
|
|
58
|
+
* Converts an array of chain/token pairs into the format expected by DefiLlama's
|
|
59
|
+
* bulk price endpoint: "chain1:token1,chain2:token2,..."
|
|
60
|
+
*
|
|
61
|
+
* @param tokens - Array of [ChainID, token address] tuples to query
|
|
62
|
+
* @returns Comma-separated string of DefiLlama coin keys
|
|
63
|
+
*
|
|
64
|
+
* @throws {CalculateAmountError} When any chain ID is not supported by DefiLlama
|
|
65
|
+
*/
|
|
66
|
+
function buildTokensQueryString(tokens) {
|
|
67
|
+
return tokens.map(([chainId, tokenAddress]) => createDefiLlamaCoinKey(chainId, tokenAddress)).join(',');
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Fetch tokens data for array of coins
|
|
71
|
+
*
|
|
72
|
+
* @param tokens Array of [ChainID, Token Address] tuples
|
|
73
|
+
* @returns Promise resolving to DefiLlama tokens response
|
|
74
|
+
* @throws {CalculateAmountError} If the request fails or response is invalid
|
|
75
|
+
*/
|
|
76
|
+
export async function getTokensData(tokens) {
|
|
77
|
+
const tokensStr = buildTokensQueryString(tokens);
|
|
78
|
+
const url = `${TOKEN_PRICE_BASE_URL}${tokensStr}`;
|
|
79
|
+
const response = await fetch(url, {
|
|
80
|
+
method: 'GET',
|
|
81
|
+
headers: {
|
|
82
|
+
'Content-Type': 'application/json',
|
|
83
|
+
},
|
|
84
|
+
});
|
|
85
|
+
if (!response.ok) {
|
|
86
|
+
throw new CalculateAmountError(`Failed to fetch token prices: ${response.status} ${response.statusText}`);
|
|
87
|
+
}
|
|
88
|
+
const data = await response.json();
|
|
89
|
+
return data;
|
|
90
|
+
}
|
|
91
|
+
export async function calculateAmounts({ srcChainId, tokenIn, amountIn, destChainId, tokenOut, }) {
|
|
92
|
+
// Fetch token data from DefiLlama
|
|
93
|
+
const tokensResponse = await getTokensData([
|
|
94
|
+
[srcChainId, tokenIn],
|
|
95
|
+
[destChainId, tokenOut],
|
|
96
|
+
]);
|
|
97
|
+
// Get token data for input token
|
|
98
|
+
const tokenInData = getCoinFromResponse(tokensResponse, srcChainId, tokenIn);
|
|
99
|
+
if (!tokenInData) {
|
|
100
|
+
throw new CalculateAmountError(`Token ${tokenIn} for chain ${srcChainId} not found in DefiLlama response`);
|
|
101
|
+
}
|
|
102
|
+
// Get token data for output token
|
|
103
|
+
const tokenOutData = getCoinFromResponse(tokensResponse, destChainId, tokenOut);
|
|
104
|
+
if (!tokenOutData) {
|
|
105
|
+
throw new CalculateAmountError(`Token ${tokenOut} for chain ${destChainId} not found in DefiLlama response`);
|
|
106
|
+
}
|
|
107
|
+
// Calculate 80% of the amount_in value as amount_out_min and min_stablecoins_amount
|
|
108
|
+
const tokenInUsdAmount = Parsers.bigintToFloat(amountIn, tokenInData.decimals) * tokenInData.price;
|
|
109
|
+
const amountInUsdReduced = tokenInUsdAmount * REDUCTION_FACTOR;
|
|
110
|
+
const amountOutReduced = amountInUsdReduced / tokenOutData.price;
|
|
111
|
+
const amountOut = Parsers.floatToBigint(amountOutReduced, tokenOutData.decimals);
|
|
112
|
+
const minStablecoinsAmount = Parsers.floatToBigint(amountInUsdReduced, STABLECOIN_DECIMALS);
|
|
113
|
+
return { amountOut, minStablecoinsAmount };
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=defillama.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defillama.js","sourceRoot":"","sources":["../../../src/utils/defillama.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAuB,MAAM,cAAc,CAAC;AAC5D,OAAO,EACL,uBAAuB,EACvB,2BAA2B,EAC3B,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,oBAAoB,GAAW,wCAAwC,CAAC;AAyB9E;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU;IAC9B,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM;IACtB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,UAAU;IAC9B,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,QAAQ;IAC1B,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;CACZ,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAAgB,EAAE,YAAoB,EAAU,EAAE;IACvF,MAAM,SAAS,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IACtD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,oBAAoB,CAAC,uCAAuC,OAAO,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,GAAG,SAAS,IAAI,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC;AAC1D,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,QAAiC,EACjC,OAAgB,EAChB,YAAoB,EACD,EAAE;IACrB,MAAM,GAAG,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEjC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,oBAAoB,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,YAAoB;IAC5C,IAAI,uBAAuB,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1C,OAAO,4CAA4C,CAAC;IACtD,CAAC;IAED,IAAI,YAAY,KAAK,2BAA2B,EAAE,CAAC;QACjD,OAAO,wBAAwB,CAAC;IAClC,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,sBAAsB,CAAC,MAAgC;IAC9D,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,YAAY,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1G,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAgC;IAClE,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAEjD,MAAM,GAAG,GAAG,GAAG,oBAAoB,GAAG,SAAS,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAChC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,oBAAoB,CAAC,iCAAiC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5G,CAAC;IAED,MAAM,IAAI,GAA4B,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5D,OAAO,IAAI,CAAC;AACd,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,EACrC,UAAU,EACV,OAAO,EACP,QAAQ,EACR,WAAW,EACX,QAAQ,GAOT;IACC,kCAAkC;IAClC,MAAM,cAAc,GAAG,MAAM,aAAa,CAAC;QACzC,CAAC,UAAU,EAAE,OAAO,CAAC;QACrB,CAAC,WAAW,EAAE,QAAQ,CAAC;KACxB,CAAC,CAAC;IAEH,iCAAiC;IACjC,MAAM,WAAW,GAAG,mBAAmB,CAAC,cAAc,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC7E,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,oBAAoB,CAAC,SAAS,OAAO,cAAc,UAAU,kCAAkC,CAAC,CAAC;IAC7G,CAAC;IAED,kCAAkC;IAClC,MAAM,YAAY,GAAG,mBAAmB,CAAC,cAAc,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAChF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,oBAAoB,CAAC,SAAS,QAAQ,cAAc,WAAW,kCAAkC,CAAC,CAAC;IAC/G,CAAC;IAED,oFAAoF;IACpF,MAAM,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC;IACnG,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;IAC/D,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,YAAY,CAAC,KAAK,CAAC;IAEjE,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,gBAAgB,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IACjF,MAAM,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;IAE5F,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;AAC7C,CAAC"}
|
|
@@ -66,7 +66,7 @@ export class OrderValidator {
|
|
|
66
66
|
async validateOrder(order) {
|
|
67
67
|
const sourceValidator = ValidatorFactory.getValidatorForChain(order.sourceChainId);
|
|
68
68
|
await sourceValidator.validateSourceChain(order);
|
|
69
|
-
this.commonValidator.validateCrossChain(order.sourceChainId, order.destinationChainId);
|
|
69
|
+
// this.commonValidator.validateCrossChain(order.sourceChainId, order.destinationChainId);
|
|
70
70
|
const destinationValidator = ValidatorFactory.getValidatorForChain(order.destinationChainId);
|
|
71
71
|
destinationValidator.validateDestinationChain(order);
|
|
72
72
|
this.commonValidator.validateDeadline(order.deadline);
|