@shogun-sdk/intents-sdk 1.2.1 → 1.2.3
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/README.md +616 -55
- package/dist/esm/constants.js +21 -26
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/core/evm/abi/source-chain-guard.js +32 -628
- package/dist/esm/core/evm/abi/source-chain-guard.js.map +1 -1
- package/dist/esm/core/evm/cross-chain-limit-order.js +43 -0
- package/dist/esm/core/evm/cross-chain-limit-order.js.map +1 -0
- package/dist/esm/core/evm/intent-helpers.js +130 -0
- package/dist/esm/core/evm/intent-helpers.js.map +1 -0
- package/dist/esm/core/evm/single-chain-dca-order.js +49 -0
- package/dist/esm/core/evm/single-chain-dca-order.js.map +1 -0
- package/dist/esm/core/evm/single-chain-limit-order.js +45 -0
- package/dist/esm/core/evm/single-chain-limit-order.js.map +1 -0
- package/dist/esm/core/evm/types.js +8 -0
- package/dist/esm/core/evm/types.js.map +1 -0
- package/dist/esm/core/orders/common.js +3 -3
- package/dist/esm/core/orders/common.js.map +1 -1
- package/dist/esm/core/orders/cross-chain.js +2 -2
- package/dist/esm/core/orders/cross-chain.js.map +1 -1
- package/dist/esm/core/orders/dca-single-chain.js +4 -1
- package/dist/esm/core/orders/dca-single-chain.js.map +1 -1
- package/dist/esm/core/orders/single-chain.js +8 -1
- package/dist/esm/core/orders/single-chain.js.map +1 -1
- package/dist/esm/core/solana/cancel-order.js.map +1 -1
- package/dist/esm/core/solana/client.js +1 -1
- package/dist/esm/core/solana/client.js.map +1 -1
- package/dist/esm/core/solana/cross-chain-limit-order.js +18 -0
- package/dist/esm/core/solana/cross-chain-limit-order.js.map +1 -0
- package/dist/esm/core/solana/dca/cancel-order.js.map +1 -1
- package/dist/esm/core/solana/dca/create-order.js.map +1 -1
- package/dist/esm/core/solana/dca/single-chain-dca-order.js +23 -0
- package/dist/esm/core/solana/dca/single-chain-dca-order.js.map +1 -0
- package/dist/esm/core/solana/dca/single-chain-limit-order.js +29 -0
- package/dist/esm/core/solana/dca/single-chain-limit-order.js.map +1 -0
- package/dist/esm/core/solana/generated/cross-chain/accounts/adminSingleton.js +6 -4
- package/dist/esm/core/solana/generated/cross-chain/accounts/adminSingleton.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/accounts/dcaOrder.js +90 -0
- package/dist/esm/core/solana/generated/cross-chain/accounts/dcaOrder.js.map +1 -0
- package/dist/esm/core/solana/generated/cross-chain/accounts/guard.js +6 -4
- package/dist/esm/core/solana/generated/cross-chain/accounts/guard.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/accounts/index.js +1 -0
- package/dist/esm/core/solana/generated/cross-chain/accounts/index.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/accounts/order.js +3 -3
- package/dist/esm/core/solana/generated/cross-chain/accounts/order.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/errors/sourceChainGuard.js +111 -6
- package/dist/esm/core/solana/generated/cross-chain/errors/sourceChainGuard.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/instructions/acceptAdmin.js +5 -8
- package/dist/esm/core/solana/generated/cross-chain/instructions/acceptAdmin.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/instructions/cancelDcaOrder.js +118 -0
- package/dist/esm/core/solana/generated/cross-chain/instructions/cancelDcaOrder.js.map +1 -0
- package/dist/esm/core/solana/generated/cross-chain/instructions/cancelOrder.js +5 -8
- package/dist/esm/core/solana/generated/cross-chain/instructions/cancelOrder.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/instructions/claimTokens.js +5 -8
- package/dist/esm/core/solana/generated/cross-chain/instructions/claimTokens.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/instructions/collectProtocolFees.js +8 -9
- package/dist/esm/core/solana/generated/cross-chain/instructions/collectProtocolFees.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/instructions/createDcaOrder.js +170 -0
- package/dist/esm/core/solana/generated/cross-chain/instructions/createDcaOrder.js.map +1 -0
- package/dist/esm/core/solana/generated/cross-chain/instructions/createGuard.js +10 -16
- package/dist/esm/core/solana/generated/cross-chain/instructions/createGuard.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/instructions/createOrder.js +8 -6
- package/dist/esm/core/solana/generated/cross-chain/instructions/createOrder.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/instructions/index.js +2 -0
- package/dist/esm/core/solana/generated/cross-chain/instructions/index.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/instructions/initialize.js +11 -12
- package/dist/esm/core/solana/generated/cross-chain/instructions/initialize.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/instructions/preStartOrderExecution.js +8 -9
- package/dist/esm/core/solana/generated/cross-chain/instructions/preStartOrderExecution.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/instructions/setAdmin.js +4 -4
- package/dist/esm/core/solana/generated/cross-chain/instructions/setAdmin.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.js +17 -7
- package/dist/esm/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecution.js +8 -9
- package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecution.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.js +7 -5
- package/dist/esm/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/programs/sourceChainGuard.js +28 -16
- package/dist/esm/core/solana/generated/cross-chain/programs/sourceChainGuard.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/shared/index.js +5 -5
- package/dist/esm/core/solana/generated/cross-chain/shared/index.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/types/adminUpdateStarted.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/types/dcaExecutionStarted.js +32 -0
- package/dist/esm/core/solana/generated/cross-chain/types/dcaExecutionStarted.js.map +1 -0
- package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderCreated.js +42 -0
- package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderCreated.js.map +1 -0
- package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.js +26 -0
- package/dist/esm/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.js.map +1 -0
- package/dist/esm/core/solana/generated/cross-chain/types/dcaTokenInSwapped.js +28 -0
- package/dist/esm/core/solana/generated/cross-chain/types/dcaTokenInSwapped.js.map +1 -0
- package/dist/esm/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.js +26 -0
- package/dist/esm/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.js.map +1 -0
- package/dist/esm/core/solana/generated/cross-chain/types/index.js +5 -0
- package/dist/esm/core/solana/generated/cross-chain/types/index.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js +6 -4
- package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/accounts/dcaOrder.js +3 -3
- package/dist/esm/core/solana/generated/single-chain/accounts/dcaOrder.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/accounts/guard.js +3 -3
- package/dist/esm/core/solana/generated/single-chain/accounts/guard.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/accounts/limitOrder.js +3 -3
- package/dist/esm/core/solana/generated/single-chain/accounts/limitOrder.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/errors/singleChainGuard.js +3 -3
- package/dist/esm/core/solana/generated/single-chain/errors/singleChainGuard.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/instructions/acceptAdmin.js +5 -8
- package/dist/esm/core/solana/generated/single-chain/instructions/acceptAdmin.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/instructions/cancelDcaOrder.js +8 -9
- package/dist/esm/core/solana/generated/single-chain/instructions/cancelDcaOrder.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/instructions/cancelLimitOrder.js +8 -9
- package/dist/esm/core/solana/generated/single-chain/instructions/cancelLimitOrder.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/instructions/collectProtocolFees.js +8 -9
- package/dist/esm/core/solana/generated/single-chain/instructions/collectProtocolFees.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/instructions/createDcaOrder.js +8 -6
- package/dist/esm/core/solana/generated/single-chain/instructions/createDcaOrder.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/instructions/createGuard.js +8 -6
- package/dist/esm/core/solana/generated/single-chain/instructions/createGuard.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/instructions/createLimitOrder.js +8 -6
- package/dist/esm/core/solana/generated/single-chain/instructions/createLimitOrder.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.js +9 -6
- package/dist/esm/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/instructions/fulfillLimitOrder.js +9 -6
- package/dist/esm/core/solana/generated/single-chain/instructions/fulfillLimitOrder.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/instructions/initialize.js +9 -10
- package/dist/esm/core/solana/generated/single-chain/instructions/initialize.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/instructions/setAdmin.js +4 -4
- package/dist/esm/core/solana/generated/single-chain/instructions/setAdmin.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.js +17 -7
- package/dist/esm/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/programs/singleChainGuard.js +2 -2
- package/dist/esm/core/solana/generated/single-chain/programs/singleChainGuard.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/shared/index.js +5 -5
- package/dist/esm/core/solana/generated/single-chain/shared/index.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/types/adminUpdateStarted.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/types/dcaOrderFulfilled.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/types/limitOrderCreated.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/types/limitOrderFulfilled.js.map +1 -1
- package/dist/esm/core/solana/inspect.js +1 -1
- package/dist/esm/core/solana/intent-helpers.js +177 -0
- package/dist/esm/core/solana/intent-helpers.js.map +1 -0
- package/dist/esm/core/solana/order-instructions.js.map +1 -1
- package/dist/esm/core/solana/sdk.js +4 -1
- package/dist/esm/core/solana/sdk.js.map +1 -1
- package/dist/esm/core/sui/cancel.js +1 -1
- package/dist/esm/core/sui/cancel.js.map +1 -1
- package/dist/esm/core/sui/cross-chain-limit-order.js +26 -0
- package/dist/esm/core/sui/cross-chain-limit-order.js.map +1 -0
- package/dist/esm/core/sui/intent-helpers.js +136 -0
- package/dist/esm/core/sui/intent-helpers.js.map +1 -0
- package/dist/esm/core/sui/order-transaction.js +5 -4
- package/dist/esm/core/sui/order-transaction.js.map +1 -1
- package/dist/esm/core/sui/sdk.js +1 -1
- package/dist/esm/core/sui/sdk.js.map +1 -1
- package/dist/esm/core/sui/single-chain-dca-order.js +99 -0
- package/dist/esm/core/sui/single-chain-dca-order.js.map +1 -0
- package/dist/esm/core/sui/single-chain-limit-order.js +103 -0
- package/dist/esm/core/sui/single-chain-limit-order.js.map +1 -0
- package/dist/esm/core/sui/validator.js +1 -2
- package/dist/esm/core/sui/validator.js.map +1 -1
- package/dist/esm/index.js +15 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/types/constants.d.ts +3 -4
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/core/evm/abi/source-chain-guard.d.ts +18 -484
- package/dist/types/core/evm/abi/source-chain-guard.d.ts.map +1 -1
- package/dist/types/core/evm/cross-chain-limit-order.d.ts +22 -0
- package/dist/types/core/evm/cross-chain-limit-order.d.ts.map +1 -0
- package/dist/types/core/evm/intent-helpers.d.ts +105 -0
- package/dist/types/core/evm/intent-helpers.d.ts.map +1 -0
- package/dist/types/core/evm/single-chain-dca-order.d.ts +26 -0
- package/dist/types/core/evm/single-chain-dca-order.d.ts.map +1 -0
- package/dist/types/core/evm/single-chain-limit-order.d.ts +23 -0
- package/dist/types/core/evm/single-chain-limit-order.d.ts.map +1 -0
- package/dist/types/core/evm/types.d.ts +8 -0
- package/dist/types/core/evm/types.d.ts.map +1 -0
- package/dist/types/core/orders/common.d.ts +2 -2
- package/dist/types/core/orders/common.d.ts.map +1 -1
- package/dist/types/core/orders/cross-chain.d.ts +1 -1
- package/dist/types/core/orders/cross-chain.d.ts.map +1 -1
- package/dist/types/core/orders/dca-single-chain.d.ts.map +1 -1
- package/dist/types/core/orders/single-chain.d.ts +1 -0
- package/dist/types/core/orders/single-chain.d.ts.map +1 -1
- package/dist/types/core/solana/cancel-order.d.ts +3 -3
- package/dist/types/core/solana/cancel-order.d.ts.map +1 -1
- package/dist/types/core/solana/cross-chain-limit-order.d.ts +9 -0
- package/dist/types/core/solana/cross-chain-limit-order.d.ts.map +1 -0
- package/dist/types/core/solana/dca/cancel-order.d.ts +2 -2
- package/dist/types/core/solana/dca/cancel-order.d.ts.map +1 -1
- package/dist/types/core/solana/dca/single-chain-dca-order.d.ts +14 -0
- package/dist/types/core/solana/dca/single-chain-dca-order.d.ts.map +1 -0
- package/dist/types/core/solana/dca/single-chain-limit-order.d.ts +19 -0
- package/dist/types/core/solana/dca/single-chain-limit-order.d.ts.map +1 -0
- package/dist/types/core/solana/generated/cross-chain/accounts/adminSingleton.d.ts +6 -6
- package/dist/types/core/solana/generated/cross-chain/accounts/adminSingleton.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/accounts/dcaOrder.d.ts +110 -0
- package/dist/types/core/solana/generated/cross-chain/accounts/dcaOrder.d.ts.map +1 -0
- package/dist/types/core/solana/generated/cross-chain/accounts/guard.d.ts +10 -6
- package/dist/types/core/solana/generated/cross-chain/accounts/guard.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/accounts/index.d.ts +1 -0
- package/dist/types/core/solana/generated/cross-chain/accounts/index.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/accounts/order.d.ts +6 -6
- package/dist/types/core/solana/generated/cross-chain/accounts/order.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/errors/sourceChainGuard.d.ts +76 -6
- package/dist/types/core/solana/generated/cross-chain/errors/sourceChainGuard.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/instructions/acceptAdmin.d.ts +12 -12
- package/dist/types/core/solana/generated/cross-chain/instructions/acceptAdmin.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/instructions/cancelDcaOrder.d.ts +124 -0
- package/dist/types/core/solana/generated/cross-chain/instructions/cancelDcaOrder.d.ts.map +1 -0
- package/dist/types/core/solana/generated/cross-chain/instructions/cancelOrder.d.ts +12 -12
- package/dist/types/core/solana/generated/cross-chain/instructions/cancelOrder.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/instructions/claimTokens.d.ts +12 -12
- package/dist/types/core/solana/generated/cross-chain/instructions/claimTokens.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/instructions/collectProtocolFees.d.ts +15 -15
- package/dist/types/core/solana/generated/cross-chain/instructions/collectProtocolFees.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/instructions/createDcaOrder.d.ts +130 -0
- package/dist/types/core/solana/generated/cross-chain/instructions/createDcaOrder.d.ts.map +1 -0
- package/dist/types/core/solana/generated/cross-chain/instructions/createGuard.d.ts +16 -12
- package/dist/types/core/solana/generated/cross-chain/instructions/createGuard.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/instructions/createOrder.d.ts +12 -12
- package/dist/types/core/solana/generated/cross-chain/instructions/createOrder.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/instructions/index.d.ts +2 -0
- package/dist/types/core/solana/generated/cross-chain/instructions/index.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/instructions/initialize.d.ts +12 -12
- package/dist/types/core/solana/generated/cross-chain/instructions/initialize.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/instructions/preStartOrderExecution.d.ts +12 -12
- package/dist/types/core/solana/generated/cross-chain/instructions/preStartOrderExecution.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/instructions/setAdmin.d.ts +11 -11
- package/dist/types/core/solana/generated/cross-chain/instructions/setAdmin.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.d.ts +11 -11
- package/dist/types/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecution.d.ts +12 -12
- package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecution.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.d.ts +11 -11
- package/dist/types/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/programs/sourceChainGuard.d.ts +25 -18
- package/dist/types/core/solana/generated/cross-chain/programs/sourceChainGuard.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/shared/index.d.ts +5 -5
- package/dist/types/core/solana/generated/cross-chain/shared/index.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts +4 -4
- package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/types/adminUpdated.d.ts +4 -4
- package/dist/types/core/solana/generated/cross-chain/types/adminUpdated.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.d.ts +4 -4
- package/dist/types/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/types/dcaExecutionStarted.d.ts +28 -0
- package/dist/types/core/solana/generated/cross-chain/types/dcaExecutionStarted.d.ts.map +1 -0
- package/dist/types/core/solana/generated/cross-chain/types/dcaOrderCreated.d.ts +38 -0
- package/dist/types/core/solana/generated/cross-chain/types/dcaOrderCreated.d.ts.map +1 -0
- package/dist/types/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.d.ts +18 -0
- package/dist/types/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.d.ts.map +1 -0
- package/dist/types/core/solana/generated/cross-chain/types/dcaTokenInSwapped.d.ts +24 -0
- package/dist/types/core/solana/generated/cross-chain/types/dcaTokenInSwapped.d.ts.map +1 -0
- package/dist/types/core/solana/generated/cross-chain/types/executionStarted.d.ts +4 -4
- package/dist/types/core/solana/generated/cross-chain/types/executionStarted.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.d.ts +18 -0
- package/dist/types/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.d.ts.map +1 -0
- package/dist/types/core/solana/generated/cross-chain/types/guardCreated.d.ts +4 -4
- package/dist/types/core/solana/generated/cross-chain/types/guardCreated.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/types/index.d.ts +5 -0
- package/dist/types/core/solana/generated/cross-chain/types/index.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/types/orderCancelled.d.ts +4 -4
- package/dist/types/core/solana/generated/cross-chain/types/orderCancelled.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/types/orderCreated.d.ts +4 -4
- package/dist/types/core/solana/generated/cross-chain/types/orderCreated.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/types/orderFulfilled.d.ts +4 -4
- package/dist/types/core/solana/generated/cross-chain/types/orderFulfilled.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/types/tokenInSwapped.d.ts +4 -4
- package/dist/types/core/solana/generated/cross-chain/types/tokenInSwapped.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts +6 -6
- package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/accounts/dcaOrder.d.ts +3 -3
- package/dist/types/core/solana/generated/single-chain/accounts/dcaOrder.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/accounts/guard.d.ts +6 -6
- package/dist/types/core/solana/generated/single-chain/accounts/guard.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/accounts/limitOrder.d.ts +3 -3
- package/dist/types/core/solana/generated/single-chain/accounts/limitOrder.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/errors/singleChainGuard.d.ts +2 -2
- package/dist/types/core/solana/generated/single-chain/errors/singleChainGuard.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/instructions/acceptAdmin.d.ts +12 -12
- package/dist/types/core/solana/generated/single-chain/instructions/acceptAdmin.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/instructions/cancelDcaOrder.d.ts +12 -12
- package/dist/types/core/solana/generated/single-chain/instructions/cancelDcaOrder.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/instructions/cancelLimitOrder.d.ts +12 -12
- package/dist/types/core/solana/generated/single-chain/instructions/cancelLimitOrder.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/instructions/collectProtocolFees.d.ts +12 -12
- package/dist/types/core/solana/generated/single-chain/instructions/collectProtocolFees.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/instructions/createDcaOrder.d.ts +9 -9
- package/dist/types/core/solana/generated/single-chain/instructions/createDcaOrder.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/instructions/createGuard.d.ts +11 -11
- package/dist/types/core/solana/generated/single-chain/instructions/createGuard.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/instructions/createLimitOrder.d.ts +9 -9
- package/dist/types/core/solana/generated/single-chain/instructions/createLimitOrder.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.d.ts +11 -11
- package/dist/types/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/instructions/fulfillLimitOrder.d.ts +11 -11
- package/dist/types/core/solana/generated/single-chain/instructions/fulfillLimitOrder.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/instructions/initialize.d.ts +12 -12
- package/dist/types/core/solana/generated/single-chain/instructions/initialize.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/instructions/setAdmin.d.ts +11 -11
- package/dist/types/core/solana/generated/single-chain/instructions/setAdmin.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.d.ts +11 -11
- package/dist/types/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/programs/singleChainGuard.d.ts +2 -2
- package/dist/types/core/solana/generated/single-chain/programs/singleChainGuard.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/shared/index.d.ts +5 -5
- package/dist/types/core/solana/generated/single-chain/shared/index.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/types/adminUpdateStarted.d.ts +4 -4
- package/dist/types/core/solana/generated/single-chain/types/adminUpdateStarted.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/types/adminUpdated.d.ts +4 -4
- package/dist/types/core/solana/generated/single-chain/types/adminUpdated.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.d.ts +4 -4
- package/dist/types/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/types/dcaOrderCreated.d.ts +4 -4
- package/dist/types/core/solana/generated/single-chain/types/dcaOrderCreated.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts +4 -4
- package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.d.ts +4 -4
- package/dist/types/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/types/guardCreated.d.ts +4 -4
- package/dist/types/core/solana/generated/single-chain/types/guardCreated.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/types/limitOrderCreated.d.ts +4 -4
- package/dist/types/core/solana/generated/single-chain/types/limitOrderCreated.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/types/limitOrderFulfilled.d.ts +4 -4
- package/dist/types/core/solana/generated/single-chain/types/limitOrderFulfilled.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/types/orderCancelled.d.ts +4 -4
- package/dist/types/core/solana/generated/single-chain/types/orderCancelled.d.ts.map +1 -1
- package/dist/types/core/solana/intent-helpers.d.ts +120 -0
- package/dist/types/core/solana/intent-helpers.d.ts.map +1 -0
- package/dist/types/core/solana/sdk.d.ts.map +1 -1
- package/dist/types/core/sui/cross-chain-limit-order.d.ts +14 -0
- package/dist/types/core/sui/cross-chain-limit-order.d.ts.map +1 -0
- package/dist/types/core/sui/intent-helpers.d.ts +89 -0
- package/dist/types/core/sui/intent-helpers.d.ts.map +1 -0
- package/dist/types/core/sui/order-transaction.d.ts +3 -1
- package/dist/types/core/sui/order-transaction.d.ts.map +1 -1
- package/dist/types/core/sui/single-chain-dca-order.d.ts +22 -0
- package/dist/types/core/sui/single-chain-dca-order.d.ts.map +1 -0
- package/dist/types/core/sui/single-chain-limit-order.d.ts +26 -0
- package/dist/types/core/sui/single-chain-limit-order.d.ts.map +1 -0
- package/dist/types/core/sui/validator.d.ts.map +1 -1
- package/dist/types/index.d.ts +13 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/intent.d.ts +13 -4
- package/dist/types/types/intent.d.ts.map +1 -1
- package/package.json +19 -9
- package/src/constants.ts +17 -23
- package/src/core/evm/abi/source-chain-guard.ts +32 -628
- package/src/core/evm/cross-chain-limit-order.ts +76 -0
- package/src/core/evm/intent-helpers.ts +204 -0
- package/src/core/evm/single-chain-dca-order.ts +85 -0
- package/src/core/evm/single-chain-limit-order.ts +78 -0
- package/src/core/evm/types.ts +15 -0
- package/src/core/orders/common.ts +4 -4
- package/src/core/orders/cross-chain.ts +2 -2
- package/src/core/orders/dca-single-chain.ts +4 -1
- package/src/core/orders/single-chain.ts +10 -1
- package/src/core/solana/cancel-order.ts +5 -5
- package/src/core/solana/client.ts +1 -1
- package/src/core/solana/cross-chain-limit-order.ts +24 -0
- package/src/core/solana/dca/cancel-order.ts +3 -3
- package/src/core/solana/dca/create-order.ts +2 -2
- package/src/core/solana/dca/single-chain-dca-order.ts +32 -0
- package/src/core/solana/dca/single-chain-limit-order.ts +45 -0
- package/src/core/solana/generated/cross-chain/accounts/adminSingleton.ts +20 -18
- package/src/core/solana/generated/cross-chain/accounts/dcaOrder.ts +248 -0
- package/src/core/solana/generated/cross-chain/accounts/guard.ts +24 -18
- package/src/core/solana/generated/cross-chain/accounts/index.ts +1 -0
- package/src/core/solana/generated/cross-chain/accounts/order.ts +17 -17
- package/src/core/solana/generated/cross-chain/errors/sourceChainGuard.ts +154 -9
- package/src/core/solana/generated/cross-chain/instructions/acceptAdmin.ts +44 -34
- package/src/core/solana/generated/cross-chain/instructions/cancelDcaOrder.ts +409 -0
- package/src/core/solana/generated/cross-chain/instructions/cancelOrder.ts +49 -41
- package/src/core/solana/generated/cross-chain/instructions/claimTokens.ts +54 -44
- package/src/core/solana/generated/cross-chain/instructions/collectProtocolFees.ts +52 -43
- package/src/core/solana/generated/cross-chain/instructions/createDcaOrder.ts +496 -0
- package/src/core/solana/generated/cross-chain/instructions/createGuard.ts +72 -54
- package/src/core/solana/generated/cross-chain/instructions/createOrder.ts +60 -42
- package/src/core/solana/generated/cross-chain/instructions/index.ts +2 -0
- package/src/core/solana/generated/cross-chain/instructions/initialize.ts +60 -42
- package/src/core/solana/generated/cross-chain/instructions/preStartOrderExecution.ts +55 -45
- package/src/core/solana/generated/cross-chain/instructions/setAdmin.ts +48 -30
- package/src/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.ts +88 -40
- package/src/core/solana/generated/cross-chain/instructions/startOrderExecution.ts +48 -39
- package/src/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.ts +45 -37
- package/src/core/solana/generated/cross-chain/programs/sourceChainGuard.ts +118 -37
- package/src/core/solana/generated/cross-chain/shared/index.ts +23 -14
- package/src/core/solana/generated/cross-chain/types/adminUpdateStarted.ts +9 -6
- package/src/core/solana/generated/cross-chain/types/adminUpdated.ts +6 -6
- package/src/core/solana/generated/cross-chain/types/auctioneerPubkeyUpdated.ts +9 -6
- package/src/core/solana/generated/cross-chain/types/dcaExecutionStarted.ts +70 -0
- package/src/core/solana/generated/cross-chain/types/dcaOrderCreated.ts +92 -0
- package/src/core/solana/generated/cross-chain/types/dcaOrderIntervalFulfilled.ts +52 -0
- package/src/core/solana/generated/cross-chain/types/dcaTokenInSwapped.ts +62 -0
- package/src/core/solana/generated/cross-chain/types/executionStarted.ts +6 -6
- package/src/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.ts +55 -0
- package/src/core/solana/generated/cross-chain/types/guardCreated.ts +6 -6
- package/src/core/solana/generated/cross-chain/types/index.ts +5 -0
- package/src/core/solana/generated/cross-chain/types/orderCancelled.ts +6 -6
- package/src/core/solana/generated/cross-chain/types/orderCreated.ts +6 -6
- package/src/core/solana/generated/cross-chain/types/orderFulfilled.ts +6 -6
- package/src/core/solana/generated/cross-chain/types/tokenInSwapped.ts +6 -6
- package/src/core/solana/generated/single-chain/accounts/adminSingleton.ts +20 -18
- package/src/core/solana/generated/single-chain/accounts/dcaOrder.ts +11 -11
- package/src/core/solana/generated/single-chain/accounts/guard.ts +17 -17
- package/src/core/solana/generated/single-chain/accounts/limitOrder.ts +11 -11
- package/src/core/solana/generated/single-chain/errors/singleChainGuard.ts +10 -5
- package/src/core/solana/generated/single-chain/instructions/acceptAdmin.ts +44 -34
- package/src/core/solana/generated/single-chain/instructions/cancelDcaOrder.ts +54 -40
- package/src/core/solana/generated/single-chain/instructions/cancelLimitOrder.ts +51 -40
- package/src/core/solana/generated/single-chain/instructions/collectProtocolFees.ts +55 -42
- package/src/core/solana/generated/single-chain/instructions/createDcaOrder.ts +60 -38
- package/src/core/solana/generated/single-chain/instructions/createGuard.ts +69 -42
- package/src/core/solana/generated/single-chain/instructions/createLimitOrder.ts +57 -38
- package/src/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.ts +78 -55
- package/src/core/solana/generated/single-chain/instructions/fulfillLimitOrder.ts +81 -55
- package/src/core/solana/generated/single-chain/instructions/initialize.ts +58 -40
- package/src/core/solana/generated/single-chain/instructions/setAdmin.ts +48 -30
- package/src/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.ts +88 -40
- package/src/core/solana/generated/single-chain/programs/singleChainGuard.ts +76 -37
- package/src/core/solana/generated/single-chain/shared/index.ts +23 -14
- package/src/core/solana/generated/single-chain/types/adminUpdateStarted.ts +9 -6
- package/src/core/solana/generated/single-chain/types/adminUpdated.ts +6 -6
- package/src/core/solana/generated/single-chain/types/auctioneerPubkeyUpdated.ts +9 -6
- package/src/core/solana/generated/single-chain/types/dcaOrderCreated.ts +6 -6
- package/src/core/solana/generated/single-chain/types/dcaOrderFulfilled.ts +9 -6
- package/src/core/solana/generated/single-chain/types/dcaOrderIntervalFulfilled.ts +9 -6
- package/src/core/solana/generated/single-chain/types/guardCreated.ts +6 -6
- package/src/core/solana/generated/single-chain/types/limitOrderCreated.ts +9 -6
- package/src/core/solana/generated/single-chain/types/limitOrderFulfilled.ts +9 -6
- package/src/core/solana/generated/single-chain/types/orderCancelled.ts +6 -6
- package/src/core/solana/inspect.ts +1 -1
- package/src/core/solana/intent-helpers.ts +273 -0
- package/src/core/solana/order-instructions.ts +3 -3
- package/src/core/solana/sdk.ts +13 -4
- package/src/core/sui/cancel.ts +1 -1
- package/src/core/sui/cross-chain-limit-order.ts +34 -0
- package/src/core/sui/intent-helpers.ts +235 -0
- package/src/core/sui/order-transaction.ts +8 -4
- package/src/core/sui/sdk.ts +1 -1
- package/src/core/sui/single-chain-dca-order.ts +139 -0
- package/src/core/sui/single-chain-limit-order.ts +143 -0
- package/src/core/sui/validator.ts +1 -2
- package/src/index.ts +55 -0
- package/src/types/intent.ts +15 -4
|
@@ -0,0 +1,496 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was AUTOGENERATED using the codama library.
|
|
3
|
+
* Please DO NOT EDIT THIS FILE, instead use visitors
|
|
4
|
+
* to add features, then rerun codama to update it.
|
|
5
|
+
*
|
|
6
|
+
* @see https://github.com/codama-idl/codama
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { getAddressEncoder, getProgramDerivedAddress, type Address } from '@solana/addresses';
|
|
10
|
+
import {
|
|
11
|
+
combineCodec,
|
|
12
|
+
fixDecoderSize,
|
|
13
|
+
fixEncoderSize,
|
|
14
|
+
getBytesDecoder,
|
|
15
|
+
getBytesEncoder,
|
|
16
|
+
getStructDecoder,
|
|
17
|
+
getStructEncoder,
|
|
18
|
+
getU32Decoder,
|
|
19
|
+
getU32Encoder,
|
|
20
|
+
getU64Decoder,
|
|
21
|
+
getU64Encoder,
|
|
22
|
+
transformEncoder,
|
|
23
|
+
type FixedSizeCodec,
|
|
24
|
+
type FixedSizeDecoder,
|
|
25
|
+
type FixedSizeEncoder,
|
|
26
|
+
type ReadonlyUint8Array,
|
|
27
|
+
} from '@solana/codecs';
|
|
28
|
+
import {
|
|
29
|
+
type AccountMeta,
|
|
30
|
+
type Instruction,
|
|
31
|
+
type InstructionWithAccounts,
|
|
32
|
+
type InstructionWithData,
|
|
33
|
+
type ReadonlyAccount,
|
|
34
|
+
type WritableAccount,
|
|
35
|
+
type WritableSignerAccount,
|
|
36
|
+
} from '@solana/instructions';
|
|
37
|
+
import { type AccountSignerMeta, type TransactionSigner } from '@solana/signers';
|
|
38
|
+
import { SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS } from '../programs/index.js';
|
|
39
|
+
import { expectAddress, getAccountMetaFactory, type ResolvedAccount } from '../shared/index.js';
|
|
40
|
+
|
|
41
|
+
export const CREATE_DCA_ORDER_DISCRIMINATOR = new Uint8Array([95, 66, 166, 38, 170, 3, 150, 169]);
|
|
42
|
+
|
|
43
|
+
export function getCreateDcaOrderDiscriminatorBytes() {
|
|
44
|
+
return fixEncoderSize(getBytesEncoder(), 8).encode(CREATE_DCA_ORDER_DISCRIMINATOR);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export type CreateDcaOrderInstruction<
|
|
48
|
+
TProgram extends string = typeof SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS,
|
|
49
|
+
TAccountUser extends string | AccountMeta<string> = string,
|
|
50
|
+
TAccountOrder extends string | AccountMeta<string> = string,
|
|
51
|
+
TAccountGuard extends string | AccountMeta<string> = string,
|
|
52
|
+
TAccountSystemProgram extends string | AccountMeta<string> = '11111111111111111111111111111111',
|
|
53
|
+
TAccountAssociatedTokenProgram extends
|
|
54
|
+
| string
|
|
55
|
+
| AccountMeta<string> = 'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL',
|
|
56
|
+
TAccountTokenInMint extends string | AccountMeta<string> = string,
|
|
57
|
+
TAccountUserTokenInAccount extends string | AccountMeta<string> = string,
|
|
58
|
+
TAccountGuardTokenInAccount extends string | AccountMeta<string> = string,
|
|
59
|
+
TAccountTokenInProgram extends string | AccountMeta<string> = string,
|
|
60
|
+
TRemainingAccounts extends readonly AccountMeta<string>[] = [],
|
|
61
|
+
> = Instruction<TProgram> &
|
|
62
|
+
InstructionWithData<ReadonlyUint8Array> &
|
|
63
|
+
InstructionWithAccounts<
|
|
64
|
+
[
|
|
65
|
+
TAccountUser extends string
|
|
66
|
+
? WritableSignerAccount<TAccountUser> & AccountSignerMeta<TAccountUser>
|
|
67
|
+
: TAccountUser,
|
|
68
|
+
TAccountOrder extends string
|
|
69
|
+
? WritableSignerAccount<TAccountOrder> & AccountSignerMeta<TAccountOrder>
|
|
70
|
+
: TAccountOrder,
|
|
71
|
+
TAccountGuard extends string ? ReadonlyAccount<TAccountGuard> : TAccountGuard,
|
|
72
|
+
TAccountSystemProgram extends string
|
|
73
|
+
? ReadonlyAccount<TAccountSystemProgram>
|
|
74
|
+
: TAccountSystemProgram,
|
|
75
|
+
TAccountAssociatedTokenProgram extends string
|
|
76
|
+
? ReadonlyAccount<TAccountAssociatedTokenProgram>
|
|
77
|
+
: TAccountAssociatedTokenProgram,
|
|
78
|
+
TAccountTokenInMint extends string
|
|
79
|
+
? ReadonlyAccount<TAccountTokenInMint>
|
|
80
|
+
: TAccountTokenInMint,
|
|
81
|
+
TAccountUserTokenInAccount extends string
|
|
82
|
+
? WritableAccount<TAccountUserTokenInAccount>
|
|
83
|
+
: TAccountUserTokenInAccount,
|
|
84
|
+
TAccountGuardTokenInAccount extends string
|
|
85
|
+
? WritableAccount<TAccountGuardTokenInAccount>
|
|
86
|
+
: TAccountGuardTokenInAccount,
|
|
87
|
+
TAccountTokenInProgram extends string
|
|
88
|
+
? ReadonlyAccount<TAccountTokenInProgram>
|
|
89
|
+
: TAccountTokenInProgram,
|
|
90
|
+
...TRemainingAccounts,
|
|
91
|
+
]
|
|
92
|
+
>;
|
|
93
|
+
|
|
94
|
+
export type CreateDcaOrderInstructionData = {
|
|
95
|
+
discriminator: ReadonlyUint8Array;
|
|
96
|
+
amountInPerInterval: bigint;
|
|
97
|
+
minStablecoinsAmountPerInterval: bigint;
|
|
98
|
+
totalIntervals: number;
|
|
99
|
+
intervalDuration: number;
|
|
100
|
+
deadline: number;
|
|
101
|
+
executionDetailsHash: ReadonlyUint8Array;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
export type CreateDcaOrderInstructionDataArgs = {
|
|
105
|
+
amountInPerInterval: number | bigint;
|
|
106
|
+
minStablecoinsAmountPerInterval: number | bigint;
|
|
107
|
+
totalIntervals: number;
|
|
108
|
+
intervalDuration: number;
|
|
109
|
+
deadline: number;
|
|
110
|
+
executionDetailsHash: ReadonlyUint8Array;
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
export function getCreateDcaOrderInstructionDataEncoder(): FixedSizeEncoder<CreateDcaOrderInstructionDataArgs> {
|
|
114
|
+
return transformEncoder(
|
|
115
|
+
getStructEncoder([
|
|
116
|
+
['discriminator', fixEncoderSize(getBytesEncoder(), 8)],
|
|
117
|
+
['amountInPerInterval', getU64Encoder()],
|
|
118
|
+
['minStablecoinsAmountPerInterval', getU64Encoder()],
|
|
119
|
+
['totalIntervals', getU32Encoder()],
|
|
120
|
+
['intervalDuration', getU32Encoder()],
|
|
121
|
+
['deadline', getU32Encoder()],
|
|
122
|
+
['executionDetailsHash', fixEncoderSize(getBytesEncoder(), 32)],
|
|
123
|
+
]),
|
|
124
|
+
(value) => ({ ...value, discriminator: CREATE_DCA_ORDER_DISCRIMINATOR })
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export function getCreateDcaOrderInstructionDataDecoder(): FixedSizeDecoder<CreateDcaOrderInstructionData> {
|
|
129
|
+
return getStructDecoder([
|
|
130
|
+
['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
|
|
131
|
+
['amountInPerInterval', getU64Decoder()],
|
|
132
|
+
['minStablecoinsAmountPerInterval', getU64Decoder()],
|
|
133
|
+
['totalIntervals', getU32Decoder()],
|
|
134
|
+
['intervalDuration', getU32Decoder()],
|
|
135
|
+
['deadline', getU32Decoder()],
|
|
136
|
+
['executionDetailsHash', fixDecoderSize(getBytesDecoder(), 32)],
|
|
137
|
+
]);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
export function getCreateDcaOrderInstructionDataCodec(): FixedSizeCodec<
|
|
141
|
+
CreateDcaOrderInstructionDataArgs,
|
|
142
|
+
CreateDcaOrderInstructionData
|
|
143
|
+
> {
|
|
144
|
+
return combineCodec(
|
|
145
|
+
getCreateDcaOrderInstructionDataEncoder(),
|
|
146
|
+
getCreateDcaOrderInstructionDataDecoder()
|
|
147
|
+
);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
export type CreateDcaOrderAsyncInput<
|
|
151
|
+
TAccountUser extends string = string,
|
|
152
|
+
TAccountOrder extends string = string,
|
|
153
|
+
TAccountGuard extends string = string,
|
|
154
|
+
TAccountSystemProgram extends string = string,
|
|
155
|
+
TAccountAssociatedTokenProgram extends string = string,
|
|
156
|
+
TAccountTokenInMint extends string = string,
|
|
157
|
+
TAccountUserTokenInAccount extends string = string,
|
|
158
|
+
TAccountGuardTokenInAccount extends string = string,
|
|
159
|
+
TAccountTokenInProgram extends string = string,
|
|
160
|
+
> = {
|
|
161
|
+
/** User creating the DCA order */
|
|
162
|
+
user: TransactionSigner<TAccountUser>;
|
|
163
|
+
/** Account that will store DCA order data */
|
|
164
|
+
order: TransactionSigner<TAccountOrder>;
|
|
165
|
+
/** Guard address, that will protect this order execution */
|
|
166
|
+
guard: Address<TAccountGuard>;
|
|
167
|
+
/** Solana System program */
|
|
168
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
169
|
+
/** Solana token program */
|
|
170
|
+
associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
|
|
171
|
+
/** Token IN that user wants to spend */
|
|
172
|
+
tokenInMint: Address<TAccountTokenInMint>;
|
|
173
|
+
/** Token IN account from which user is spending tokens IN */
|
|
174
|
+
userTokenInAccount: Address<TAccountUserTokenInAccount>;
|
|
175
|
+
/** Token IN account that will store Tokens IN after DCA order creation */
|
|
176
|
+
guardTokenInAccount?: Address<TAccountGuardTokenInAccount>;
|
|
177
|
+
/** Solana token program */
|
|
178
|
+
tokenInProgram: Address<TAccountTokenInProgram>;
|
|
179
|
+
amountInPerInterval: CreateDcaOrderInstructionDataArgs['amountInPerInterval'];
|
|
180
|
+
minStablecoinsAmountPerInterval: CreateDcaOrderInstructionDataArgs['minStablecoinsAmountPerInterval'];
|
|
181
|
+
totalIntervals: CreateDcaOrderInstructionDataArgs['totalIntervals'];
|
|
182
|
+
intervalDuration: CreateDcaOrderInstructionDataArgs['intervalDuration'];
|
|
183
|
+
deadline: CreateDcaOrderInstructionDataArgs['deadline'];
|
|
184
|
+
executionDetailsHash: CreateDcaOrderInstructionDataArgs['executionDetailsHash'];
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
export async function getCreateDcaOrderInstructionAsync<
|
|
188
|
+
TAccountUser extends string,
|
|
189
|
+
TAccountOrder extends string,
|
|
190
|
+
TAccountGuard extends string,
|
|
191
|
+
TAccountSystemProgram extends string,
|
|
192
|
+
TAccountAssociatedTokenProgram extends string,
|
|
193
|
+
TAccountTokenInMint extends string,
|
|
194
|
+
TAccountUserTokenInAccount extends string,
|
|
195
|
+
TAccountGuardTokenInAccount extends string,
|
|
196
|
+
TAccountTokenInProgram extends string,
|
|
197
|
+
TProgramAddress extends Address = typeof SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS,
|
|
198
|
+
>(
|
|
199
|
+
input: CreateDcaOrderAsyncInput<
|
|
200
|
+
TAccountUser,
|
|
201
|
+
TAccountOrder,
|
|
202
|
+
TAccountGuard,
|
|
203
|
+
TAccountSystemProgram,
|
|
204
|
+
TAccountAssociatedTokenProgram,
|
|
205
|
+
TAccountTokenInMint,
|
|
206
|
+
TAccountUserTokenInAccount,
|
|
207
|
+
TAccountGuardTokenInAccount,
|
|
208
|
+
TAccountTokenInProgram
|
|
209
|
+
>,
|
|
210
|
+
config?: { programAddress?: TProgramAddress }
|
|
211
|
+
): Promise<
|
|
212
|
+
CreateDcaOrderInstruction<
|
|
213
|
+
TProgramAddress,
|
|
214
|
+
TAccountUser,
|
|
215
|
+
TAccountOrder,
|
|
216
|
+
TAccountGuard,
|
|
217
|
+
TAccountSystemProgram,
|
|
218
|
+
TAccountAssociatedTokenProgram,
|
|
219
|
+
TAccountTokenInMint,
|
|
220
|
+
TAccountUserTokenInAccount,
|
|
221
|
+
TAccountGuardTokenInAccount,
|
|
222
|
+
TAccountTokenInProgram
|
|
223
|
+
>
|
|
224
|
+
> {
|
|
225
|
+
// Program address.
|
|
226
|
+
const programAddress = config?.programAddress ?? SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS;
|
|
227
|
+
|
|
228
|
+
// Original accounts.
|
|
229
|
+
const originalAccounts = {
|
|
230
|
+
user: { value: input.user ?? null, isWritable: true },
|
|
231
|
+
order: { value: input.order ?? null, isWritable: true },
|
|
232
|
+
guard: { value: input.guard ?? null, isWritable: false },
|
|
233
|
+
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
234
|
+
associatedTokenProgram: { value: input.associatedTokenProgram ?? null, isWritable: false },
|
|
235
|
+
tokenInMint: { value: input.tokenInMint ?? null, isWritable: false },
|
|
236
|
+
userTokenInAccount: { value: input.userTokenInAccount ?? null, isWritable: true },
|
|
237
|
+
guardTokenInAccount: { value: input.guardTokenInAccount ?? null, isWritable: true },
|
|
238
|
+
tokenInProgram: { value: input.tokenInProgram ?? null, isWritable: false },
|
|
239
|
+
};
|
|
240
|
+
const accounts = originalAccounts as Record<keyof typeof originalAccounts, ResolvedAccount>;
|
|
241
|
+
|
|
242
|
+
// Original args.
|
|
243
|
+
const args = { ...input };
|
|
244
|
+
|
|
245
|
+
// Resolve default values.
|
|
246
|
+
if (!accounts.systemProgram.value) {
|
|
247
|
+
accounts.systemProgram.value =
|
|
248
|
+
'11111111111111111111111111111111' as Address<'11111111111111111111111111111111'>;
|
|
249
|
+
}
|
|
250
|
+
if (!accounts.associatedTokenProgram.value) {
|
|
251
|
+
accounts.associatedTokenProgram.value =
|
|
252
|
+
'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL' as Address<'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL'>;
|
|
253
|
+
}
|
|
254
|
+
if (!accounts.guardTokenInAccount.value) {
|
|
255
|
+
accounts.guardTokenInAccount.value = await getProgramDerivedAddress({
|
|
256
|
+
programAddress:
|
|
257
|
+
'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL' as Address<'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL'>,
|
|
258
|
+
seeds: [
|
|
259
|
+
getAddressEncoder().encode(expectAddress(accounts.guard.value)),
|
|
260
|
+
getAddressEncoder().encode(expectAddress(accounts.tokenInProgram.value)),
|
|
261
|
+
getAddressEncoder().encode(expectAddress(accounts.tokenInMint.value)),
|
|
262
|
+
],
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, 'programId');
|
|
267
|
+
const instruction = {
|
|
268
|
+
accounts: [
|
|
269
|
+
getAccountMeta(accounts.user),
|
|
270
|
+
getAccountMeta(accounts.order),
|
|
271
|
+
getAccountMeta(accounts.guard),
|
|
272
|
+
getAccountMeta(accounts.systemProgram),
|
|
273
|
+
getAccountMeta(accounts.associatedTokenProgram),
|
|
274
|
+
getAccountMeta(accounts.tokenInMint),
|
|
275
|
+
getAccountMeta(accounts.userTokenInAccount),
|
|
276
|
+
getAccountMeta(accounts.guardTokenInAccount),
|
|
277
|
+
getAccountMeta(accounts.tokenInProgram),
|
|
278
|
+
],
|
|
279
|
+
programAddress,
|
|
280
|
+
data: getCreateDcaOrderInstructionDataEncoder().encode(
|
|
281
|
+
args as CreateDcaOrderInstructionDataArgs
|
|
282
|
+
),
|
|
283
|
+
} as CreateDcaOrderInstruction<
|
|
284
|
+
TProgramAddress,
|
|
285
|
+
TAccountUser,
|
|
286
|
+
TAccountOrder,
|
|
287
|
+
TAccountGuard,
|
|
288
|
+
TAccountSystemProgram,
|
|
289
|
+
TAccountAssociatedTokenProgram,
|
|
290
|
+
TAccountTokenInMint,
|
|
291
|
+
TAccountUserTokenInAccount,
|
|
292
|
+
TAccountGuardTokenInAccount,
|
|
293
|
+
TAccountTokenInProgram
|
|
294
|
+
>;
|
|
295
|
+
|
|
296
|
+
return instruction;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
export type CreateDcaOrderInput<
|
|
300
|
+
TAccountUser extends string = string,
|
|
301
|
+
TAccountOrder extends string = string,
|
|
302
|
+
TAccountGuard extends string = string,
|
|
303
|
+
TAccountSystemProgram extends string = string,
|
|
304
|
+
TAccountAssociatedTokenProgram extends string = string,
|
|
305
|
+
TAccountTokenInMint extends string = string,
|
|
306
|
+
TAccountUserTokenInAccount extends string = string,
|
|
307
|
+
TAccountGuardTokenInAccount extends string = string,
|
|
308
|
+
TAccountTokenInProgram extends string = string,
|
|
309
|
+
> = {
|
|
310
|
+
/** User creating the DCA order */
|
|
311
|
+
user: TransactionSigner<TAccountUser>;
|
|
312
|
+
/** Account that will store DCA order data */
|
|
313
|
+
order: TransactionSigner<TAccountOrder>;
|
|
314
|
+
/** Guard address, that will protect this order execution */
|
|
315
|
+
guard: Address<TAccountGuard>;
|
|
316
|
+
/** Solana System program */
|
|
317
|
+
systemProgram?: Address<TAccountSystemProgram>;
|
|
318
|
+
/** Solana token program */
|
|
319
|
+
associatedTokenProgram?: Address<TAccountAssociatedTokenProgram>;
|
|
320
|
+
/** Token IN that user wants to spend */
|
|
321
|
+
tokenInMint: Address<TAccountTokenInMint>;
|
|
322
|
+
/** Token IN account from which user is spending tokens IN */
|
|
323
|
+
userTokenInAccount: Address<TAccountUserTokenInAccount>;
|
|
324
|
+
/** Token IN account that will store Tokens IN after DCA order creation */
|
|
325
|
+
guardTokenInAccount: Address<TAccountGuardTokenInAccount>;
|
|
326
|
+
/** Solana token program */
|
|
327
|
+
tokenInProgram: Address<TAccountTokenInProgram>;
|
|
328
|
+
amountInPerInterval: CreateDcaOrderInstructionDataArgs['amountInPerInterval'];
|
|
329
|
+
minStablecoinsAmountPerInterval: CreateDcaOrderInstructionDataArgs['minStablecoinsAmountPerInterval'];
|
|
330
|
+
totalIntervals: CreateDcaOrderInstructionDataArgs['totalIntervals'];
|
|
331
|
+
intervalDuration: CreateDcaOrderInstructionDataArgs['intervalDuration'];
|
|
332
|
+
deadline: CreateDcaOrderInstructionDataArgs['deadline'];
|
|
333
|
+
executionDetailsHash: CreateDcaOrderInstructionDataArgs['executionDetailsHash'];
|
|
334
|
+
};
|
|
335
|
+
|
|
336
|
+
export function getCreateDcaOrderInstruction<
|
|
337
|
+
TAccountUser extends string,
|
|
338
|
+
TAccountOrder extends string,
|
|
339
|
+
TAccountGuard extends string,
|
|
340
|
+
TAccountSystemProgram extends string,
|
|
341
|
+
TAccountAssociatedTokenProgram extends string,
|
|
342
|
+
TAccountTokenInMint extends string,
|
|
343
|
+
TAccountUserTokenInAccount extends string,
|
|
344
|
+
TAccountGuardTokenInAccount extends string,
|
|
345
|
+
TAccountTokenInProgram extends string,
|
|
346
|
+
TProgramAddress extends Address = typeof SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS,
|
|
347
|
+
>(
|
|
348
|
+
input: CreateDcaOrderInput<
|
|
349
|
+
TAccountUser,
|
|
350
|
+
TAccountOrder,
|
|
351
|
+
TAccountGuard,
|
|
352
|
+
TAccountSystemProgram,
|
|
353
|
+
TAccountAssociatedTokenProgram,
|
|
354
|
+
TAccountTokenInMint,
|
|
355
|
+
TAccountUserTokenInAccount,
|
|
356
|
+
TAccountGuardTokenInAccount,
|
|
357
|
+
TAccountTokenInProgram
|
|
358
|
+
>,
|
|
359
|
+
config?: { programAddress?: TProgramAddress }
|
|
360
|
+
): CreateDcaOrderInstruction<
|
|
361
|
+
TProgramAddress,
|
|
362
|
+
TAccountUser,
|
|
363
|
+
TAccountOrder,
|
|
364
|
+
TAccountGuard,
|
|
365
|
+
TAccountSystemProgram,
|
|
366
|
+
TAccountAssociatedTokenProgram,
|
|
367
|
+
TAccountTokenInMint,
|
|
368
|
+
TAccountUserTokenInAccount,
|
|
369
|
+
TAccountGuardTokenInAccount,
|
|
370
|
+
TAccountTokenInProgram
|
|
371
|
+
> {
|
|
372
|
+
// Program address.
|
|
373
|
+
const programAddress = config?.programAddress ?? SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS;
|
|
374
|
+
|
|
375
|
+
// Original accounts.
|
|
376
|
+
const originalAccounts = {
|
|
377
|
+
user: { value: input.user ?? null, isWritable: true },
|
|
378
|
+
order: { value: input.order ?? null, isWritable: true },
|
|
379
|
+
guard: { value: input.guard ?? null, isWritable: false },
|
|
380
|
+
systemProgram: { value: input.systemProgram ?? null, isWritable: false },
|
|
381
|
+
associatedTokenProgram: { value: input.associatedTokenProgram ?? null, isWritable: false },
|
|
382
|
+
tokenInMint: { value: input.tokenInMint ?? null, isWritable: false },
|
|
383
|
+
userTokenInAccount: { value: input.userTokenInAccount ?? null, isWritable: true },
|
|
384
|
+
guardTokenInAccount: { value: input.guardTokenInAccount ?? null, isWritable: true },
|
|
385
|
+
tokenInProgram: { value: input.tokenInProgram ?? null, isWritable: false },
|
|
386
|
+
};
|
|
387
|
+
const accounts = originalAccounts as Record<keyof typeof originalAccounts, ResolvedAccount>;
|
|
388
|
+
|
|
389
|
+
// Original args.
|
|
390
|
+
const args = { ...input };
|
|
391
|
+
|
|
392
|
+
// Resolve default values.
|
|
393
|
+
if (!accounts.systemProgram.value) {
|
|
394
|
+
accounts.systemProgram.value =
|
|
395
|
+
'11111111111111111111111111111111' as Address<'11111111111111111111111111111111'>;
|
|
396
|
+
}
|
|
397
|
+
if (!accounts.associatedTokenProgram.value) {
|
|
398
|
+
accounts.associatedTokenProgram.value =
|
|
399
|
+
'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL' as Address<'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL'>;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, 'programId');
|
|
403
|
+
const instruction = {
|
|
404
|
+
accounts: [
|
|
405
|
+
getAccountMeta(accounts.user),
|
|
406
|
+
getAccountMeta(accounts.order),
|
|
407
|
+
getAccountMeta(accounts.guard),
|
|
408
|
+
getAccountMeta(accounts.systemProgram),
|
|
409
|
+
getAccountMeta(accounts.associatedTokenProgram),
|
|
410
|
+
getAccountMeta(accounts.tokenInMint),
|
|
411
|
+
getAccountMeta(accounts.userTokenInAccount),
|
|
412
|
+
getAccountMeta(accounts.guardTokenInAccount),
|
|
413
|
+
getAccountMeta(accounts.tokenInProgram),
|
|
414
|
+
],
|
|
415
|
+
programAddress,
|
|
416
|
+
data: getCreateDcaOrderInstructionDataEncoder().encode(
|
|
417
|
+
args as CreateDcaOrderInstructionDataArgs
|
|
418
|
+
),
|
|
419
|
+
} as CreateDcaOrderInstruction<
|
|
420
|
+
TProgramAddress,
|
|
421
|
+
TAccountUser,
|
|
422
|
+
TAccountOrder,
|
|
423
|
+
TAccountGuard,
|
|
424
|
+
TAccountSystemProgram,
|
|
425
|
+
TAccountAssociatedTokenProgram,
|
|
426
|
+
TAccountTokenInMint,
|
|
427
|
+
TAccountUserTokenInAccount,
|
|
428
|
+
TAccountGuardTokenInAccount,
|
|
429
|
+
TAccountTokenInProgram
|
|
430
|
+
>;
|
|
431
|
+
|
|
432
|
+
return instruction;
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
export type ParsedCreateDcaOrderInstruction<
|
|
436
|
+
TProgram extends string = typeof SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS,
|
|
437
|
+
TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[],
|
|
438
|
+
> = {
|
|
439
|
+
programAddress: Address<TProgram>;
|
|
440
|
+
accounts: {
|
|
441
|
+
/** User creating the DCA order */
|
|
442
|
+
user: TAccountMetas[0];
|
|
443
|
+
/** Account that will store DCA order data */
|
|
444
|
+
order: TAccountMetas[1];
|
|
445
|
+
/** Guard address, that will protect this order execution */
|
|
446
|
+
guard: TAccountMetas[2];
|
|
447
|
+
/** Solana System program */
|
|
448
|
+
systemProgram: TAccountMetas[3];
|
|
449
|
+
/** Solana token program */
|
|
450
|
+
associatedTokenProgram: TAccountMetas[4];
|
|
451
|
+
/** Token IN that user wants to spend */
|
|
452
|
+
tokenInMint: TAccountMetas[5];
|
|
453
|
+
/** Token IN account from which user is spending tokens IN */
|
|
454
|
+
userTokenInAccount: TAccountMetas[6];
|
|
455
|
+
/** Token IN account that will store Tokens IN after DCA order creation */
|
|
456
|
+
guardTokenInAccount: TAccountMetas[7];
|
|
457
|
+
/** Solana token program */
|
|
458
|
+
tokenInProgram: TAccountMetas[8];
|
|
459
|
+
};
|
|
460
|
+
data: CreateDcaOrderInstructionData;
|
|
461
|
+
};
|
|
462
|
+
|
|
463
|
+
export function parseCreateDcaOrderInstruction<
|
|
464
|
+
TProgram extends string,
|
|
465
|
+
TAccountMetas extends readonly AccountMeta[],
|
|
466
|
+
>(
|
|
467
|
+
instruction: Instruction<TProgram> &
|
|
468
|
+
InstructionWithAccounts<TAccountMetas> &
|
|
469
|
+
InstructionWithData<ReadonlyUint8Array>
|
|
470
|
+
): ParsedCreateDcaOrderInstruction<TProgram, TAccountMetas> {
|
|
471
|
+
if (instruction.accounts.length < 9) {
|
|
472
|
+
// TODO: Coded error.
|
|
473
|
+
throw new Error('Not enough accounts');
|
|
474
|
+
}
|
|
475
|
+
let accountIndex = 0;
|
|
476
|
+
const getNextAccount = () => {
|
|
477
|
+
const accountMeta = (instruction.accounts as TAccountMetas)[accountIndex]!;
|
|
478
|
+
accountIndex += 1;
|
|
479
|
+
return accountMeta;
|
|
480
|
+
};
|
|
481
|
+
return {
|
|
482
|
+
programAddress: instruction.programAddress,
|
|
483
|
+
accounts: {
|
|
484
|
+
user: getNextAccount(),
|
|
485
|
+
order: getNextAccount(),
|
|
486
|
+
guard: getNextAccount(),
|
|
487
|
+
systemProgram: getNextAccount(),
|
|
488
|
+
associatedTokenProgram: getNextAccount(),
|
|
489
|
+
tokenInMint: getNextAccount(),
|
|
490
|
+
userTokenInAccount: getNextAccount(),
|
|
491
|
+
guardTokenInAccount: getNextAccount(),
|
|
492
|
+
tokenInProgram: getNextAccount(),
|
|
493
|
+
},
|
|
494
|
+
data: getCreateDcaOrderInstructionDataDecoder().decode(instruction.data),
|
|
495
|
+
};
|
|
496
|
+
}
|