@shogun-sdk/intents-sdk 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +124 -0
- package/dist/_esm/chains.js +46 -0
- package/dist/_esm/chains.js.map +1 -0
- package/dist/_esm/config.js +2 -0
- package/dist/_esm/config.js.map +1 -0
- package/dist/_esm/constants.js +46 -0
- package/dist/_esm/constants.js.map +1 -0
- package/dist/_esm/core/evm/abi/erc20.js +313 -0
- package/dist/_esm/core/evm/abi/erc20.js.map +1 -0
- package/dist/_esm/core/evm/abi/source-chain-guard.js +1716 -0
- package/dist/_esm/core/evm/abi/source-chain-guard.js.map +1 -0
- package/dist/_esm/core/evm/intent-provider.js +59 -0
- package/dist/_esm/core/evm/intent-provider.js.map +1 -0
- package/dist/_esm/core/evm/order-signature.js +19 -0
- package/dist/_esm/core/evm/order-signature.js.map +1 -0
- package/dist/_esm/core/evm/permit2.js +31 -0
- package/dist/_esm/core/evm/permit2.js.map +1 -0
- package/dist/_esm/core/evm/sdk.js +79 -0
- package/dist/_esm/core/evm/sdk.js.map +1 -0
- package/dist/_esm/core/evm/validator.js +46 -0
- package/dist/_esm/core/evm/validator.js.map +1 -0
- package/dist/_esm/core/evm/viem-provider.js +76 -0
- package/dist/_esm/core/evm/viem-provider.js.map +1 -0
- package/dist/_esm/core/order.js +190 -0
- package/dist/_esm/core/order.js.map +1 -0
- package/dist/_esm/core/sdk.js +120 -0
- package/dist/_esm/core/sdk.js.map +1 -0
- package/dist/_esm/core/solana/client.js +19 -0
- package/dist/_esm/core/solana/client.js.map +1 -0
- package/dist/_esm/core/solana/generated/accounts/adminSingleton.js +56 -0
- package/dist/_esm/core/solana/generated/accounts/adminSingleton.js.map +1 -0
- package/dist/_esm/core/solana/generated/accounts/guard.js +62 -0
- package/dist/_esm/core/solana/generated/accounts/guard.js.map +1 -0
- package/dist/_esm/core/solana/generated/accounts/index.js +11 -0
- package/dist/_esm/core/solana/generated/accounts/index.js.map +1 -0
- package/dist/_esm/core/solana/generated/accounts/order.js +78 -0
- package/dist/_esm/core/solana/generated/accounts/order.js.map +1 -0
- package/dist/_esm/core/solana/generated/errors/index.js +9 -0
- package/dist/_esm/core/solana/generated/errors/index.js.map +1 -0
- package/dist/_esm/core/solana/generated/errors/sourceChainGuard.js +35 -0
- package/dist/_esm/core/solana/generated/errors/sourceChainGuard.js.map +1 -0
- package/dist/_esm/core/solana/generated/index.js +13 -0
- package/dist/_esm/core/solana/generated/index.js.map +1 -0
- package/dist/_esm/core/solana/generated/instructions/cancelOrder.js +125 -0
- package/dist/_esm/core/solana/generated/instructions/cancelOrder.js.map +1 -0
- package/dist/_esm/core/solana/generated/instructions/claimTokens.js +142 -0
- package/dist/_esm/core/solana/generated/instructions/claimTokens.js.map +1 -0
- package/dist/_esm/core/solana/generated/instructions/collectProtocolFees.js +146 -0
- package/dist/_esm/core/solana/generated/instructions/collectProtocolFees.js.map +1 -0
- package/dist/_esm/core/solana/generated/instructions/createGuard.js +236 -0
- package/dist/_esm/core/solana/generated/instructions/createGuard.js.map +1 -0
- package/dist/_esm/core/solana/generated/instructions/createOrder.js +182 -0
- package/dist/_esm/core/solana/generated/instructions/createOrder.js.map +1 -0
- package/dist/_esm/core/solana/generated/instructions/index.js +19 -0
- package/dist/_esm/core/solana/generated/instructions/index.js.map +1 -0
- package/dist/_esm/core/solana/generated/instructions/initialize.js +109 -0
- package/dist/_esm/core/solana/generated/instructions/initialize.js.map +1 -0
- package/dist/_esm/core/solana/generated/instructions/preStartOrderExecution.js +123 -0
- package/dist/_esm/core/solana/generated/instructions/preStartOrderExecution.js.map +1 -0
- package/dist/_esm/core/solana/generated/instructions/setAdmin.js +98 -0
- package/dist/_esm/core/solana/generated/instructions/setAdmin.js.map +1 -0
- package/dist/_esm/core/solana/generated/instructions/setAuctioneerPubKey.js +104 -0
- package/dist/_esm/core/solana/generated/instructions/setAuctioneerPubKey.js.map +1 -0
- package/dist/_esm/core/solana/generated/instructions/startOrderExecution.js +105 -0
- package/dist/_esm/core/solana/generated/instructions/startOrderExecution.js.map +1 -0
- package/dist/_esm/core/solana/generated/instructions/startOrderExecutionAfterSwap.js +113 -0
- package/dist/_esm/core/solana/generated/instructions/startOrderExecutionAfterSwap.js.map +1 -0
- package/dist/_esm/core/solana/generated/programs/index.js +9 -0
- package/dist/_esm/core/solana/generated/programs/index.js.map +1 -0
- package/dist/_esm/core/solana/generated/programs/sourceChainGuard.js +82 -0
- package/dist/_esm/core/solana/generated/programs/sourceChainGuard.js.map +1 -0
- package/dist/_esm/core/solana/generated/shared/index.js +82 -0
- package/dist/_esm/core/solana/generated/shared/index.js.map +1 -0
- package/dist/_esm/core/solana/generated/types/adminUpdated.js +18 -0
- package/dist/_esm/core/solana/generated/types/adminUpdated.js.map +1 -0
- package/dist/_esm/core/solana/generated/types/auctioneerPubkeyUpdated.js +24 -0
- package/dist/_esm/core/solana/generated/types/auctioneerPubkeyUpdated.js.map +1 -0
- package/dist/_esm/core/solana/generated/types/executionStarted.js +30 -0
- package/dist/_esm/core/solana/generated/types/executionStarted.js.map +1 -0
- package/dist/_esm/core/solana/generated/types/guardCreated.js +28 -0
- package/dist/_esm/core/solana/generated/types/guardCreated.js.map +1 -0
- package/dist/_esm/core/solana/generated/types/index.js +16 -0
- package/dist/_esm/core/solana/generated/types/index.js.map +1 -0
- package/dist/_esm/core/solana/generated/types/orderCancelled.js +18 -0
- package/dist/_esm/core/solana/generated/types/orderCancelled.js.map +1 -0
- package/dist/_esm/core/solana/generated/types/orderCreated.js +36 -0
- package/dist/_esm/core/solana/generated/types/orderCreated.js.map +1 -0
- package/dist/_esm/core/solana/generated/types/orderFulfilled.js +18 -0
- package/dist/_esm/core/solana/generated/types/orderFulfilled.js.map +1 -0
- package/dist/_esm/core/solana/generated/types/tokenInSwapped.js +26 -0
- package/dist/_esm/core/solana/generated/types/tokenInSwapped.js.map +1 -0
- package/dist/_esm/core/solana/order-instructions.js +92 -0
- package/dist/_esm/core/solana/order-instructions.js.map +1 -0
- package/dist/_esm/core/solana/sdk.js +111 -0
- package/dist/_esm/core/solana/sdk.js.map +1 -0
- package/dist/_esm/core/solana/validator.js +22 -0
- package/dist/_esm/core/solana/validator.js.map +1 -0
- package/dist/_esm/core/sui/client.js +3 -0
- package/dist/_esm/core/sui/client.js.map +1 -0
- package/dist/_esm/core/sui/order-transaction.js +56 -0
- package/dist/_esm/core/sui/order-transaction.js.map +1 -0
- package/dist/_esm/core/sui/sdk.js +94 -0
- package/dist/_esm/core/sui/sdk.js.map +1 -0
- package/dist/_esm/core/sui/validator.js +25 -0
- package/dist/_esm/core/sui/validator.js.map +1 -0
- package/dist/_esm/errors/index.js +94 -0
- package/dist/_esm/errors/index.js.map +1 -0
- package/dist/_esm/index.js +7 -0
- package/dist/_esm/index.js.map +1 -0
- package/dist/_esm/package.json +1 -0
- package/dist/_esm/types/intent.js +2 -0
- package/dist/_esm/types/intent.js.map +1 -0
- package/dist/_esm/utils/base-validator.js +51 -0
- package/dist/_esm/utils/base-validator.js.map +1 -0
- package/dist/_esm/utils/logger.js +109 -0
- package/dist/_esm/utils/logger.js.map +1 -0
- package/dist/_esm/utils/order-validator.js +75 -0
- package/dist/_esm/utils/order-validator.js.map +1 -0
- package/dist/_esm/utils/parsers.js +10 -0
- package/dist/_esm/utils/parsers.js.map +1 -0
- package/dist/_esm/utils/type-utils.js +2 -0
- package/dist/_esm/utils/type-utils.js.map +1 -0
- package/dist/_types/chains.d.ts +69 -0
- package/dist/_types/chains.d.ts.map +1 -0
- package/dist/_types/config.d.ts +21 -0
- package/dist/_types/config.d.ts.map +1 -0
- package/dist/_types/constants.d.ts +18 -0
- package/dist/_types/constants.d.ts.map +1 -0
- package/dist/_types/core/evm/abi/erc20.d.ts +240 -0
- package/dist/_types/core/evm/abi/erc20.d.ts.map +1 -0
- package/dist/_types/core/evm/abi/source-chain-guard.d.ts +1343 -0
- package/dist/_types/core/evm/abi/source-chain-guard.d.ts.map +1 -0
- package/dist/_types/core/evm/intent-provider.d.ts +12 -0
- package/dist/_types/core/evm/intent-provider.d.ts.map +1 -0
- package/dist/_types/core/evm/order-signature.d.ts +19 -0
- package/dist/_types/core/evm/order-signature.d.ts.map +1 -0
- package/dist/_types/core/evm/permit2.d.ts +75 -0
- package/dist/_types/core/evm/permit2.d.ts.map +1 -0
- package/dist/_types/core/evm/sdk.d.ts +50 -0
- package/dist/_types/core/evm/sdk.d.ts.map +1 -0
- package/dist/_types/core/evm/validator.d.ts +13 -0
- package/dist/_types/core/evm/validator.d.ts.map +1 -0
- package/dist/_types/core/evm/viem-provider.d.ts +9657 -0
- package/dist/_types/core/evm/viem-provider.d.ts.map +1 -0
- package/dist/_types/core/order.d.ts +122 -0
- package/dist/_types/core/order.d.ts.map +1 -0
- package/dist/_types/core/sdk.d.ts +86 -0
- package/dist/_types/core/sdk.d.ts.map +1 -0
- package/dist/_types/core/solana/client.d.ts +11 -0
- package/dist/_types/core/solana/client.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/accounts/adminSingleton.d.ts +36 -0
- package/dist/_types/core/solana/generated/accounts/adminSingleton.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/accounts/guard.d.ts +48 -0
- package/dist/_types/core/solana/generated/accounts/guard.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/accounts/index.d.ts +11 -0
- package/dist/_types/core/solana/generated/accounts/index.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/accounts/order.d.ts +92 -0
- package/dist/_types/core/solana/generated/accounts/order.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/errors/index.d.ts +9 -0
- package/dist/_types/core/solana/generated/errors/index.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/errors/sourceChainGuard.d.ts +27 -0
- package/dist/_types/core/solana/generated/errors/sourceChainGuard.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/index.d.ts +13 -0
- package/dist/_types/core/solana/generated/index.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/instructions/cancelOrder.d.ts +108 -0
- package/dist/_types/core/solana/generated/instructions/cancelOrder.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/instructions/claimTokens.d.ts +131 -0
- package/dist/_types/core/solana/generated/instructions/claimTokens.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/instructions/collectProtocolFees.d.ts +91 -0
- package/dist/_types/core/solana/generated/instructions/collectProtocolFees.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/instructions/createGuard.d.ts +133 -0
- package/dist/_types/core/solana/generated/instructions/createGuard.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/instructions/createOrder.d.ts +122 -0
- package/dist/_types/core/solana/generated/instructions/createOrder.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/instructions/index.d.ts +19 -0
- package/dist/_types/core/solana/generated/instructions/index.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/instructions/initialize.d.ts +63 -0
- package/dist/_types/core/solana/generated/instructions/initialize.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/instructions/preStartOrderExecution.d.ts +105 -0
- package/dist/_types/core/solana/generated/instructions/preStartOrderExecution.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/instructions/setAdmin.d.ts +61 -0
- package/dist/_types/core/solana/generated/instructions/setAdmin.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/instructions/setAuctioneerPubKey.d.ts +68 -0
- package/dist/_types/core/solana/generated/instructions/setAuctioneerPubKey.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/instructions/startOrderExecution.d.ts +85 -0
- package/dist/_types/core/solana/generated/instructions/startOrderExecution.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/instructions/startOrderExecutionAfterSwap.d.ts +95 -0
- package/dist/_types/core/solana/generated/instructions/startOrderExecutionAfterSwap.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/programs/index.d.ts +9 -0
- package/dist/_types/core/solana/generated/programs/index.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/programs/sourceChainGuard.d.ts +59 -0
- package/dist/_types/core/solana/generated/programs/sourceChainGuard.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/shared/index.d.ts +52 -0
- package/dist/_types/core/solana/generated/shared/index.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/types/adminUpdated.d.ts +16 -0
- package/dist/_types/core/solana/generated/types/adminUpdated.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/types/auctioneerPubkeyUpdated.d.ts +17 -0
- package/dist/_types/core/solana/generated/types/auctioneerPubkeyUpdated.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/types/executionStarted.d.ts +26 -0
- package/dist/_types/core/solana/generated/types/executionStarted.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/types/guardCreated.d.ts +19 -0
- package/dist/_types/core/solana/generated/types/guardCreated.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/types/index.d.ts +16 -0
- package/dist/_types/core/solana/generated/types/index.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/types/orderCancelled.d.ts +16 -0
- package/dist/_types/core/solana/generated/types/orderCancelled.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/types/orderCreated.d.ts +32 -0
- package/dist/_types/core/solana/generated/types/orderCreated.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/types/orderFulfilled.d.ts +16 -0
- package/dist/_types/core/solana/generated/types/orderFulfilled.d.ts.map +1 -0
- package/dist/_types/core/solana/generated/types/tokenInSwapped.d.ts +22 -0
- package/dist/_types/core/solana/generated/types/tokenInSwapped.d.ts.map +1 -0
- package/dist/_types/core/solana/order-instructions.d.ts +12 -0
- package/dist/_types/core/solana/order-instructions.d.ts.map +1 -0
- package/dist/_types/core/solana/sdk.d.ts +65 -0
- package/dist/_types/core/solana/sdk.d.ts.map +1 -0
- package/dist/_types/core/solana/validator.d.ts +9 -0
- package/dist/_types/core/solana/validator.d.ts.map +1 -0
- package/dist/_types/core/sui/client.d.ts +3 -0
- package/dist/_types/core/sui/client.d.ts.map +1 -0
- package/dist/_types/core/sui/order-transaction.d.ts +9 -0
- package/dist/_types/core/sui/order-transaction.d.ts.map +1 -0
- package/dist/_types/core/sui/sdk.d.ts +55 -0
- package/dist/_types/core/sui/sdk.d.ts.map +1 -0
- package/dist/_types/core/sui/validator.d.ts +9 -0
- package/dist/_types/core/sui/validator.d.ts.map +1 -0
- package/dist/_types/errors/index.d.ts +32 -0
- package/dist/_types/errors/index.d.ts.map +1 -0
- package/dist/_types/index.d.ts +10 -0
- package/dist/_types/index.d.ts.map +1 -0
- package/dist/_types/types/intent.d.ts +129 -0
- package/dist/_types/types/intent.d.ts.map +1 -0
- package/dist/_types/utils/base-validator.d.ts +28 -0
- package/dist/_types/utils/base-validator.d.ts.map +1 -0
- package/dist/_types/utils/logger.d.ts +35 -0
- package/dist/_types/utils/logger.d.ts.map +1 -0
- package/dist/_types/utils/order-validator.d.ts +40 -0
- package/dist/_types/utils/order-validator.d.ts.map +1 -0
- package/dist/_types/utils/parsers.d.ts +4 -0
- package/dist/_types/utils/parsers.d.ts.map +1 -0
- package/dist/_types/utils/type-utils.d.ts +2 -0
- package/dist/_types/utils/type-utils.d.ts.map +1 -0
- package/package.json +62 -0
- package/src/chains.ts +77 -0
- package/src/config.ts +24 -0
- package/src/constants.ts +61 -0
- package/src/core/evm/abi/erc20.ts +312 -0
- package/src/core/evm/abi/source-chain-guard.ts +1715 -0
- package/src/core/evm/intent-provider.ts +63 -0
- package/src/core/evm/order-signature.ts +33 -0
- package/src/core/evm/permit2.ts +60 -0
- package/src/core/evm/sdk.ts +74 -0
- package/src/core/evm/validator.ts +60 -0
- package/src/core/evm/viem-provider.ts +79 -0
- package/src/core/order.ts +186 -0
- package/src/core/sdk.ts +154 -0
- package/src/core/solana/client.ts +37 -0
- package/src/core/solana/generated/accounts/adminSingleton.ts +136 -0
- package/src/core/solana/generated/accounts/guard.ts +156 -0
- package/src/core/solana/generated/accounts/index.ts +11 -0
- package/src/core/solana/generated/accounts/order.ts +218 -0
- package/src/core/solana/generated/errors/index.ts +9 -0
- package/src/core/solana/generated/errors/sourceChainGuard.ts +52 -0
- package/src/core/solana/generated/index.ts +13 -0
- package/src/core/solana/generated/instructions/cancelOrder.ts +357 -0
- package/src/core/solana/generated/instructions/claimTokens.ts +419 -0
- package/src/core/solana/generated/instructions/collectProtocolFees.ts +383 -0
- package/src/core/solana/generated/instructions/createGuard.ts +569 -0
- package/src/core/solana/generated/instructions/createOrder.ts +480 -0
- package/src/core/solana/generated/instructions/index.ts +19 -0
- package/src/core/solana/generated/instructions/initialize.ts +231 -0
- package/src/core/solana/generated/instructions/preStartOrderExecution.ts +362 -0
- package/src/core/solana/generated/instructions/setAdmin.ts +211 -0
- package/src/core/solana/generated/instructions/setAuctioneerPubKey.ts +241 -0
- package/src/core/solana/generated/instructions/startOrderExecution.ts +293 -0
- package/src/core/solana/generated/instructions/startOrderExecutionAfterSwap.ts +323 -0
- package/src/core/solana/generated/programs/index.ts +9 -0
- package/src/core/solana/generated/programs/sourceChainGuard.ts +223 -0
- package/src/core/solana/generated/shared/index.ts +124 -0
- package/src/core/solana/generated/types/adminUpdated.ts +35 -0
- package/src/core/solana/generated/types/auctioneerPubkeyUpdated.ts +44 -0
- package/src/core/solana/generated/types/executionStarted.ts +63 -0
- package/src/core/solana/generated/types/guardCreated.ts +50 -0
- package/src/core/solana/generated/types/index.ts +16 -0
- package/src/core/solana/generated/types/orderCancelled.ts +35 -0
- package/src/core/solana/generated/types/orderCreated.ts +80 -0
- package/src/core/solana/generated/types/orderFulfilled.ts +35 -0
- package/src/core/solana/generated/types/tokenInSwapped.ts +53 -0
- package/src/core/solana/order-instructions.ts +131 -0
- package/src/core/solana/sdk.ts +135 -0
- package/src/core/solana/validator.ts +26 -0
- package/src/core/sui/client.ts +3 -0
- package/src/core/sui/order-transaction.ts +78 -0
- package/src/core/sui/sdk.ts +95 -0
- package/src/core/sui/validator.ts +32 -0
- package/src/errors/index.ts +106 -0
- package/src/index.ts +10 -0
- package/src/types/intent.ts +143 -0
- package/src/utils/base-validator.ts +64 -0
- package/src/utils/logger.ts +128 -0
- package/src/utils/order-validator.ts +103 -0
- package/src/utils/parsers.ts +8 -0
- package/src/utils/type-utils.ts +1 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { chainIdToChainTypeMap } from '../chains.js';
|
|
2
|
+
import { AUCTIONEER_URL } from '../constants.js';
|
|
3
|
+
import { NetworkError } from '../errors/index.js';
|
|
4
|
+
import { Parsers } from '../utils/parsers.js';
|
|
5
|
+
import { Order } from './order.js';
|
|
6
|
+
/**
|
|
7
|
+
* Base SDK providing common functionality for all blockchain implementations
|
|
8
|
+
*
|
|
9
|
+
* This abstract class serves as the foundation for chain-specific SDK implementations
|
|
10
|
+
* (EVM, Solana, Sui), providing shared functionality for creating and sending orders
|
|
11
|
+
* across different blockchains.
|
|
12
|
+
*/
|
|
13
|
+
export class BaseSDK {
|
|
14
|
+
/**
|
|
15
|
+
* Creates a cross-chain swap order
|
|
16
|
+
*
|
|
17
|
+
* This method:
|
|
18
|
+
* 1. Gets the user's address from their private key
|
|
19
|
+
* 2. Creates and validates an Order instance
|
|
20
|
+
* 3. Delegates to chain-specific preparation logic
|
|
21
|
+
*
|
|
22
|
+
* @param params Parameters for order creation including source/destination chain details
|
|
23
|
+
* @returns Promise resolving to a prepared order ready for submission
|
|
24
|
+
* @throws {ValidationError} If order parameters are invalid
|
|
25
|
+
* @throws {OrderCreationError} If order creation fails
|
|
26
|
+
*/
|
|
27
|
+
async createOrder(params) {
|
|
28
|
+
const userAddress = await this.getUserAddress();
|
|
29
|
+
// Order is validated upon creation
|
|
30
|
+
const order = await Order.create({
|
|
31
|
+
user: userAddress,
|
|
32
|
+
sourceChainId: params.sourceChainId,
|
|
33
|
+
sourceTokenAddress: params.sourceTokenAddress,
|
|
34
|
+
sourceTokenAmount: params.sourceTokenAmount,
|
|
35
|
+
minStablecoinAmount: params.minStablecoinAmount,
|
|
36
|
+
deadline: params.deadline,
|
|
37
|
+
destinationAddress: params.destinationAddress,
|
|
38
|
+
destinationChainId: params.destinationChainId,
|
|
39
|
+
destinationTokenAddress: params.destinationTokenAddress,
|
|
40
|
+
destinationTokenMinAmount: params.destinationTokenMinAmount,
|
|
41
|
+
extraTransfers: params.extraTransfers,
|
|
42
|
+
});
|
|
43
|
+
return this.prepareOrder(order);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Creates an order and sends it to the auctioneer in a single call
|
|
47
|
+
*
|
|
48
|
+
* Convenience method that combines order creation and submission
|
|
49
|
+
*
|
|
50
|
+
* @param params Parameters for order creation including source/destination chain details
|
|
51
|
+
* @returns Promise resolving to the auctioneer's HTTP response
|
|
52
|
+
* @throws {ValidationError} If order parameters are invalid
|
|
53
|
+
* @throws {OrderCreationError} If order creation fails
|
|
54
|
+
* @throws {NetworkError} If order submission fails
|
|
55
|
+
*/
|
|
56
|
+
async createAndSendOrder(params) {
|
|
57
|
+
const preparedOrder = await this.createOrder(params);
|
|
58
|
+
return this.sendOrder(preparedOrder);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Converts a prepared order into a user intent request format for the auctioneer
|
|
62
|
+
*
|
|
63
|
+
* The UserIntentRequest format includes:
|
|
64
|
+
* - Generic data common to all chains
|
|
65
|
+
* - Chain-specific data (signatures, nonces, etc.)
|
|
66
|
+
* - Execution details for the destination chain
|
|
67
|
+
*
|
|
68
|
+
* @param preparedOrder The prepared order with chain-specific data
|
|
69
|
+
* @returns User intent request object ready for submission to the auctioneer
|
|
70
|
+
* @throws {BaseError} If conversion fails
|
|
71
|
+
*/
|
|
72
|
+
getUserIntentRequest(preparedOrder) {
|
|
73
|
+
const sourceChain = preparedOrder.order.sourceChainId;
|
|
74
|
+
const sourceChainType = chainIdToChainTypeMap[sourceChain];
|
|
75
|
+
const executionDetails = preparedOrder.order.getExecutionDetails();
|
|
76
|
+
return {
|
|
77
|
+
genericData: preparedOrder.order.toSourceChainData(),
|
|
78
|
+
executionDetails: JSON.stringify(executionDetails, Parsers.bigIntReplacer),
|
|
79
|
+
chainSpecificData: {
|
|
80
|
+
[sourceChainType]: preparedOrder.preparedData,
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Sends a prepared order to the auctioneer service
|
|
86
|
+
*
|
|
87
|
+
* This method:
|
|
88
|
+
* 1. Converts the prepared order to the auctioneer's expected format
|
|
89
|
+
* 2. Serializes the request with proper handling of bigint values
|
|
90
|
+
* 3. Submits the order to the auctioneer endpoint
|
|
91
|
+
* 4. Validates the response
|
|
92
|
+
*
|
|
93
|
+
* @param preparedOrder The prepared order with chain-specific data
|
|
94
|
+
* @returns Promise resolving to the specific-chain tx hash
|
|
95
|
+
* @throws {NetworkError} If the network request fails or returns an error
|
|
96
|
+
*/
|
|
97
|
+
async sendOrder(preparedOrder) {
|
|
98
|
+
const intentRequest = this.getUserIntentRequest(preparedOrder);
|
|
99
|
+
const body = JSON.stringify(intentRequest, Parsers.bigIntReplacer);
|
|
100
|
+
const url = `${AUCTIONEER_URL}/user_intent`;
|
|
101
|
+
const response = await fetch(url, {
|
|
102
|
+
method: 'POST',
|
|
103
|
+
headers: {
|
|
104
|
+
'Content-Type': 'application/json',
|
|
105
|
+
},
|
|
106
|
+
body,
|
|
107
|
+
});
|
|
108
|
+
if (!response.ok) {
|
|
109
|
+
const errorJson = await response.json();
|
|
110
|
+
const extraErrorData = errorJson.extra_error_data;
|
|
111
|
+
throw new NetworkError(`Server error`, {
|
|
112
|
+
status: response.status,
|
|
113
|
+
statusText: response.statusText,
|
|
114
|
+
body: extraErrorData,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
return response;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# 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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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createSolanaRpc, createSolanaRpcSubscriptions, sendAndConfirmTransactionFactory, } from '@solana/kit';
|
|
2
|
+
export function createSolanaClient(config) {
|
|
3
|
+
const rpc = config.rpcProviderUrl ? createSolanaRpc(config.rpcProviderUrl) : getDefaultSolanaRPC();
|
|
4
|
+
const rpcSubscriptions = createSolanaRpcSubscriptions('wss://api.mainnet-beta.solana.com');
|
|
5
|
+
const sendAndConfirmTransaction = sendAndConfirmTransactionFactory({
|
|
6
|
+
rpc,
|
|
7
|
+
rpcSubscriptions,
|
|
8
|
+
});
|
|
9
|
+
return {
|
|
10
|
+
privateKey: config.privateKey,
|
|
11
|
+
rpc,
|
|
12
|
+
rpcSubscriptions,
|
|
13
|
+
sendAndConfirmTransaction,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export function getDefaultSolanaRPC() {
|
|
17
|
+
return createSolanaRpc('https://api.mainnet-beta.solana.com');
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/core/solana/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,4BAA4B,EAK5B,gCAAgC,GACjC,MAAM,aAAa,CAAC;AAUrB,MAAM,UAAU,kBAAkB,CAAC,MAAoB;IACrD,MAAM,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC;IACnG,MAAM,gBAAgB,GAAG,4BAA4B,CAAC,mCAAmC,CAAC,CAAC;IAC3F,MAAM,yBAAyB,GAAG,gCAAgC,CAAC;QACjE,GAAG;QACH,gBAAgB;KACjB,CAAC,CAAC;IAEH,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,GAAG;QACH,gBAAgB;QAChB,yBAAyB;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,OAAO,eAAe,CAAC,qCAAqC,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
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
|
+
import { assertAccountExists, assertAccountsExist, decodeAccount, fetchEncodedAccount, fetchEncodedAccounts, } from '@solana/kit';
|
|
9
|
+
import { getAddressDecoder, getAddressEncoder } from '@solana/kit';
|
|
10
|
+
import { combineCodec, fixDecoderSize, fixEncoderSize, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU8Decoder, getU8Encoder, transformEncoder, } from '@solana/kit';
|
|
11
|
+
export const ADMIN_SINGLETON_DISCRIMINATOR = new Uint8Array([179, 22, 254, 245, 204, 230, 222, 194]);
|
|
12
|
+
export function getAdminSingletonDiscriminatorBytes() {
|
|
13
|
+
return fixEncoderSize(getBytesEncoder(), 8).encode(ADMIN_SINGLETON_DISCRIMINATOR);
|
|
14
|
+
}
|
|
15
|
+
export function getAdminSingletonEncoder() {
|
|
16
|
+
return transformEncoder(getStructEncoder([
|
|
17
|
+
['discriminator', fixEncoderSize(getBytesEncoder(), 8)],
|
|
18
|
+
['admin', getAddressEncoder()],
|
|
19
|
+
['bump', getU8Encoder()],
|
|
20
|
+
]), (value) => ({ ...value, discriminator: ADMIN_SINGLETON_DISCRIMINATOR }));
|
|
21
|
+
}
|
|
22
|
+
export function getAdminSingletonDecoder() {
|
|
23
|
+
return getStructDecoder([
|
|
24
|
+
['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
|
|
25
|
+
['admin', getAddressDecoder()],
|
|
26
|
+
['bump', getU8Decoder()],
|
|
27
|
+
]);
|
|
28
|
+
}
|
|
29
|
+
export function getAdminSingletonCodec() {
|
|
30
|
+
return combineCodec(getAdminSingletonEncoder(), getAdminSingletonDecoder());
|
|
31
|
+
}
|
|
32
|
+
export function decodeAdminSingleton(encodedAccount) {
|
|
33
|
+
return decodeAccount(encodedAccount, getAdminSingletonDecoder());
|
|
34
|
+
}
|
|
35
|
+
export async function fetchAdminSingleton(rpc, address, config) {
|
|
36
|
+
const maybeAccount = await fetchMaybeAdminSingleton(rpc, address, config);
|
|
37
|
+
assertAccountExists(maybeAccount);
|
|
38
|
+
return maybeAccount;
|
|
39
|
+
}
|
|
40
|
+
export async function fetchMaybeAdminSingleton(rpc, address, config) {
|
|
41
|
+
const maybeAccount = await fetchEncodedAccount(rpc, address, config);
|
|
42
|
+
return decodeAdminSingleton(maybeAccount);
|
|
43
|
+
}
|
|
44
|
+
export async function fetchAllAdminSingleton(rpc, addresses, config) {
|
|
45
|
+
const maybeAccounts = await fetchAllMaybeAdminSingleton(rpc, addresses, config);
|
|
46
|
+
assertAccountsExist(maybeAccounts);
|
|
47
|
+
return maybeAccounts;
|
|
48
|
+
}
|
|
49
|
+
export async function fetchAllMaybeAdminSingleton(rpc, addresses, config) {
|
|
50
|
+
const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
|
|
51
|
+
return maybeAccounts.map((maybeAccount) => decodeAdminSingleton(maybeAccount));
|
|
52
|
+
}
|
|
53
|
+
export function getAdminSingletonSize() {
|
|
54
|
+
return 41;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=adminSingleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adminSingleton.js","sourceRoot":"","sources":["../../../../../../src/core/solana/generated/accounts/adminSingleton.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAEL,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EAIb,mBAAmB,EACnB,oBAAoB,GAGrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAgB,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAEL,YAAY,EAGZ,cAAc,EACd,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,YAAY,EAEZ,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,MAAM,CAAC,MAAM,6BAA6B,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAErG,MAAM,UAAU,mCAAmC;IACjD,OAAO,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;AACpF,CAAC;AAiBD,MAAM,UAAU,wBAAwB;IACtC,OAAO,gBAAgB,CACrB,gBAAgB,CAAC;QACf,CAAC,eAAe,EAAE,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAC9B,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC;KACzB,CAAC,EACF,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,6BAA6B,EAAE,CAAC,CACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,wBAAwB;IACtC,OAAO,gBAAgB,CAAC;QACtB,CAAC,eAAe,EAAE,cAAc,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC;QAC9B,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC;KACzB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,YAAY,CAAC,wBAAwB,EAAE,EAAE,wBAAwB,EAAE,CAAC,CAAC;AAC9E,CAAC;AAQD,MAAM,UAAU,oBAAoB,CAClC,cAAwE;IAExE,OAAO,aAAa,CAAC,cAA+C,EAAE,wBAAwB,EAAE,CAAC,CAAC;AACpG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,GAA8C,EAC9C,OAA0B,EAC1B,MAA2B;IAE3B,MAAM,YAAY,GAAG,MAAM,wBAAwB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1E,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAClC,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,GAA8C,EAC9C,OAA0B,EAC1B,MAA2B;IAE3B,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACrE,OAAO,oBAAoB,CAAC,YAAY,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,GAA+C,EAC/C,SAAyB,EACzB,MAA4B;IAE5B,MAAM,aAAa,GAAG,MAAM,2BAA2B,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAChF,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACnC,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,GAA+C,EAC/C,SAAyB,EACzB,MAA4B;IAE5B,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACzE,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
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
|
+
import { assertAccountExists, assertAccountsExist, decodeAccount, fetchEncodedAccount, fetchEncodedAccounts, } from '@solana/kit';
|
|
9
|
+
import { getAddressDecoder, getAddressEncoder } from '@solana/kit';
|
|
10
|
+
import { combineCodec, fixDecoderSize, fixEncoderSize, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU8Decoder, getU8Encoder, getU64Decoder, getU64Encoder, transformEncoder, } from '@solana/kit';
|
|
11
|
+
export const GUARD_DISCRIMINATOR = new Uint8Array([54, 187, 84, 137, 192, 15, 74, 248]);
|
|
12
|
+
export function getGuardDiscriminatorBytes() {
|
|
13
|
+
return fixEncoderSize(getBytesEncoder(), 8).encode(GUARD_DISCRIMINATOR);
|
|
14
|
+
}
|
|
15
|
+
export function getGuardEncoder() {
|
|
16
|
+
return transformEncoder(getStructEncoder([
|
|
17
|
+
['discriminator', fixEncoderSize(getBytesEncoder(), 8)],
|
|
18
|
+
['collateralToken', getAddressEncoder()],
|
|
19
|
+
['stablecoinToken', getAddressEncoder()],
|
|
20
|
+
['bump', getU8Encoder()],
|
|
21
|
+
['auctioneerPubKey', getAddressEncoder()],
|
|
22
|
+
['collectedFees', getU64Encoder()],
|
|
23
|
+
]), (value) => ({ ...value, discriminator: GUARD_DISCRIMINATOR }));
|
|
24
|
+
}
|
|
25
|
+
export function getGuardDecoder() {
|
|
26
|
+
return getStructDecoder([
|
|
27
|
+
['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
|
|
28
|
+
['collateralToken', getAddressDecoder()],
|
|
29
|
+
['stablecoinToken', getAddressDecoder()],
|
|
30
|
+
['bump', getU8Decoder()],
|
|
31
|
+
['auctioneerPubKey', getAddressDecoder()],
|
|
32
|
+
['collectedFees', getU64Decoder()],
|
|
33
|
+
]);
|
|
34
|
+
}
|
|
35
|
+
export function getGuardCodec() {
|
|
36
|
+
return combineCodec(getGuardEncoder(), getGuardDecoder());
|
|
37
|
+
}
|
|
38
|
+
export function decodeGuard(encodedAccount) {
|
|
39
|
+
return decodeAccount(encodedAccount, getGuardDecoder());
|
|
40
|
+
}
|
|
41
|
+
export async function fetchGuard(rpc, address, config) {
|
|
42
|
+
const maybeAccount = await fetchMaybeGuard(rpc, address, config);
|
|
43
|
+
assertAccountExists(maybeAccount);
|
|
44
|
+
return maybeAccount;
|
|
45
|
+
}
|
|
46
|
+
export async function fetchMaybeGuard(rpc, address, config) {
|
|
47
|
+
const maybeAccount = await fetchEncodedAccount(rpc, address, config);
|
|
48
|
+
return decodeGuard(maybeAccount);
|
|
49
|
+
}
|
|
50
|
+
export async function fetchAllGuard(rpc, addresses, config) {
|
|
51
|
+
const maybeAccounts = await fetchAllMaybeGuard(rpc, addresses, config);
|
|
52
|
+
assertAccountsExist(maybeAccounts);
|
|
53
|
+
return maybeAccounts;
|
|
54
|
+
}
|
|
55
|
+
export async function fetchAllMaybeGuard(rpc, addresses, config) {
|
|
56
|
+
const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
|
|
57
|
+
return maybeAccounts.map((maybeAccount) => decodeGuard(maybeAccount));
|
|
58
|
+
}
|
|
59
|
+
export function getGuardSize() {
|
|
60
|
+
return 113;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=guard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guard.js","sourceRoot":"","sources":["../../../../../../src/core/solana/generated/accounts/guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
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
|
+
export * from './adminSingleton.js';
|
|
9
|
+
export * from './guard.js';
|
|
10
|
+
export * from './order.js';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/solana/generated/accounts/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
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
|
+
import { assertAccountExists, assertAccountsExist, decodeAccount, fetchEncodedAccount, fetchEncodedAccounts, } from '@solana/kit';
|
|
9
|
+
import { getAddressDecoder, getAddressEncoder } from '@solana/kit';
|
|
10
|
+
import { combineCodec, fixDecoderSize, fixEncoderSize, getBooleanDecoder, getBooleanEncoder, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, getU32Decoder, getU32Encoder, getU64Decoder, getU64Encoder, transformEncoder, } from '@solana/kit';
|
|
11
|
+
export const ORDER_DISCRIMINATOR = new Uint8Array([134, 173, 223, 185, 77, 86, 28, 51]);
|
|
12
|
+
export function getOrderDiscriminatorBytes() {
|
|
13
|
+
return fixEncoderSize(getBytesEncoder(), 8).encode(ORDER_DISCRIMINATOR);
|
|
14
|
+
}
|
|
15
|
+
export function getOrderEncoder() {
|
|
16
|
+
return transformEncoder(getStructEncoder([
|
|
17
|
+
['discriminator', fixEncoderSize(getBytesEncoder(), 8)],
|
|
18
|
+
['user', getAddressEncoder()],
|
|
19
|
+
['guard', getAddressEncoder()],
|
|
20
|
+
['tokenInMint', getAddressEncoder()],
|
|
21
|
+
['amountIn', getU64Encoder()],
|
|
22
|
+
['minStablecoinsAmount', getU64Encoder()],
|
|
23
|
+
['deadline', getU32Encoder()],
|
|
24
|
+
['executionDetailsHash', fixEncoderSize(getBytesEncoder(), 32)],
|
|
25
|
+
['tokensInWereSwapped', getBooleanEncoder()],
|
|
26
|
+
['lockedStablecoins', getU64Encoder()],
|
|
27
|
+
['lockedCollateral', getU64Encoder()],
|
|
28
|
+
['takenCollateral', getU64Encoder()],
|
|
29
|
+
['activeSolver', getAddressEncoder()],
|
|
30
|
+
['executionDeadline', getU32Encoder()],
|
|
31
|
+
]), (value) => ({ ...value, discriminator: ORDER_DISCRIMINATOR }));
|
|
32
|
+
}
|
|
33
|
+
export function getOrderDecoder() {
|
|
34
|
+
return getStructDecoder([
|
|
35
|
+
['discriminator', fixDecoderSize(getBytesDecoder(), 8)],
|
|
36
|
+
['user', getAddressDecoder()],
|
|
37
|
+
['guard', getAddressDecoder()],
|
|
38
|
+
['tokenInMint', getAddressDecoder()],
|
|
39
|
+
['amountIn', getU64Decoder()],
|
|
40
|
+
['minStablecoinsAmount', getU64Decoder()],
|
|
41
|
+
['deadline', getU32Decoder()],
|
|
42
|
+
['executionDetailsHash', fixDecoderSize(getBytesDecoder(), 32)],
|
|
43
|
+
['tokensInWereSwapped', getBooleanDecoder()],
|
|
44
|
+
['lockedStablecoins', getU64Decoder()],
|
|
45
|
+
['lockedCollateral', getU64Decoder()],
|
|
46
|
+
['takenCollateral', getU64Decoder()],
|
|
47
|
+
['activeSolver', getAddressDecoder()],
|
|
48
|
+
['executionDeadline', getU32Decoder()],
|
|
49
|
+
]);
|
|
50
|
+
}
|
|
51
|
+
export function getOrderCodec() {
|
|
52
|
+
return combineCodec(getOrderEncoder(), getOrderDecoder());
|
|
53
|
+
}
|
|
54
|
+
export function decodeOrder(encodedAccount) {
|
|
55
|
+
return decodeAccount(encodedAccount, getOrderDecoder());
|
|
56
|
+
}
|
|
57
|
+
export async function fetchOrder(rpc, address, config) {
|
|
58
|
+
const maybeAccount = await fetchMaybeOrder(rpc, address, config);
|
|
59
|
+
assertAccountExists(maybeAccount);
|
|
60
|
+
return maybeAccount;
|
|
61
|
+
}
|
|
62
|
+
export async function fetchMaybeOrder(rpc, address, config) {
|
|
63
|
+
const maybeAccount = await fetchEncodedAccount(rpc, address, config);
|
|
64
|
+
return decodeOrder(maybeAccount);
|
|
65
|
+
}
|
|
66
|
+
export async function fetchAllOrder(rpc, addresses, config) {
|
|
67
|
+
const maybeAccounts = await fetchAllMaybeOrder(rpc, addresses, config);
|
|
68
|
+
assertAccountsExist(maybeAccounts);
|
|
69
|
+
return maybeAccounts;
|
|
70
|
+
}
|
|
71
|
+
export async function fetchAllMaybeOrder(rpc, addresses, config) {
|
|
72
|
+
const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);
|
|
73
|
+
return maybeAccounts.map((maybeAccount) => decodeOrder(maybeAccount));
|
|
74
|
+
}
|
|
75
|
+
export function getOrderSize() {
|
|
76
|
+
return 217;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"order.js","sourceRoot":"","sources":["../../../../../../src/core/solana/generated/accounts/order.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
export * from './sourceChainGuard.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/core/solana/generated/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
import {} from '@solana/kit';
|
|
9
|
+
import {} from '@solana/kit';
|
|
10
|
+
import { isProgramError } from '@solana/kit';
|
|
11
|
+
import { SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS } from '../programs/index.js';
|
|
12
|
+
/** InstructionNotFound: Ed25519Program instruction */
|
|
13
|
+
export const SOURCE_CHAIN_GUARD_ERROR__INSTRUCTION_NOT_FOUND = 0x1770; // 6000
|
|
14
|
+
/** SigVerificationFailed: Signature verification failed */
|
|
15
|
+
export const SOURCE_CHAIN_GUARD_ERROR__SIG_VERIFICATION_FAILED = 0x1771; // 6001
|
|
16
|
+
/** InvalidSigner: Invalid signer */
|
|
17
|
+
export const SOURCE_CHAIN_GUARD_ERROR__INVALID_SIGNER = 0x1772; // 6002
|
|
18
|
+
let sourceChainGuardErrorMessages;
|
|
19
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
20
|
+
sourceChainGuardErrorMessages = {
|
|
21
|
+
[SOURCE_CHAIN_GUARD_ERROR__INSTRUCTION_NOT_FOUND]: `Ed25519Program instruction`,
|
|
22
|
+
[SOURCE_CHAIN_GUARD_ERROR__INVALID_SIGNER]: `Invalid signer`,
|
|
23
|
+
[SOURCE_CHAIN_GUARD_ERROR__SIG_VERIFICATION_FAILED]: `Signature verification failed`,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export function getSourceChainGuardErrorMessage(code) {
|
|
27
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
28
|
+
return sourceChainGuardErrorMessages[code];
|
|
29
|
+
}
|
|
30
|
+
return 'Error message not available in production bundles.';
|
|
31
|
+
}
|
|
32
|
+
export function isSourceChainGuardError(error, transactionMessage, code) {
|
|
33
|
+
return isProgramError(error, transactionMessage, SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS, code);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=sourceChainGuard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sourceChainGuard.js","sourceRoot":"","sources":["../../../../../../src/core/solana/generated/errors/sourceChainGuard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAgB,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAkE,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,kCAAkC,EAAE,MAAM,sBAAsB,CAAC;AAE1E,sDAAsD;AACtD,MAAM,CAAC,MAAM,+CAA+C,GAAG,MAAM,CAAC,CAAC,OAAO;AAC9E,2DAA2D;AAC3D,MAAM,CAAC,MAAM,iDAAiD,GAAG,MAAM,CAAC,CAAC,OAAO;AAChF,oCAAoC;AACpC,MAAM,CAAC,MAAM,wCAAwC,GAAG,MAAM,CAAC,CAAC,OAAO;AAOvE,IAAI,6BAAgF,CAAC;AACrF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;IAC1C,6BAA6B,GAAG;QAC9B,CAAC,+CAA+C,CAAC,EAAE,4BAA4B;QAC/E,CAAC,wCAAwC,CAAC,EAAE,gBAAgB;QAC5D,CAAC,iDAAiD,CAAC,EAAE,+BAA+B;KACrF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,IAA2B;IACzE,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QAC1C,OAAQ,6BAAuE,CAAC,IAAI,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,oDAAoD,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAc,EACd,kBAEC,EACD,IAAwB;IAGxB,OAAO,cAAc,CAAoB,KAAK,EAAE,kBAAkB,EAAE,kCAAkC,EAAE,IAAI,CAAC,CAAC;AAChH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
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
|
+
export * from './accounts/index.js';
|
|
9
|
+
export * from './errors/index.js';
|
|
10
|
+
export * from './instructions/index.js';
|
|
11
|
+
export * from './programs/index.js';
|
|
12
|
+
export * from './types/index.js';
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/solana/generated/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
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
|
+
import {} from '@solana/kit';
|
|
9
|
+
import { combineCodec, fixDecoderSize, fixEncoderSize, getBytesDecoder, getBytesEncoder, getStructDecoder, getStructEncoder, transformEncoder, } from '@solana/kit';
|
|
10
|
+
import {} from '@solana/kit';
|
|
11
|
+
import {} from '@solana/kit';
|
|
12
|
+
import { SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS } from '../programs/index.js';
|
|
13
|
+
import { getAccountMetaFactory } from '../shared/index.js';
|
|
14
|
+
export const CANCEL_ORDER_DISCRIMINATOR = new Uint8Array([95, 129, 237, 240, 8, 49, 223, 132]);
|
|
15
|
+
export function getCancelOrderDiscriminatorBytes() {
|
|
16
|
+
return fixEncoderSize(getBytesEncoder(), 8).encode(CANCEL_ORDER_DISCRIMINATOR);
|
|
17
|
+
}
|
|
18
|
+
export function getCancelOrderInstructionDataEncoder() {
|
|
19
|
+
return transformEncoder(getStructEncoder([['discriminator', fixEncoderSize(getBytesEncoder(), 8)]]), (value) => ({
|
|
20
|
+
...value,
|
|
21
|
+
discriminator: CANCEL_ORDER_DISCRIMINATOR,
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
export function getCancelOrderInstructionDataDecoder() {
|
|
25
|
+
return getStructDecoder([['discriminator', fixDecoderSize(getBytesDecoder(), 8)]]);
|
|
26
|
+
}
|
|
27
|
+
export function getCancelOrderInstructionDataCodec() {
|
|
28
|
+
return combineCodec(getCancelOrderInstructionDataEncoder(), getCancelOrderInstructionDataDecoder());
|
|
29
|
+
}
|
|
30
|
+
export function getCancelOrderInstruction(input, config) {
|
|
31
|
+
// Program address.
|
|
32
|
+
const programAddress = config?.programAddress ?? SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS;
|
|
33
|
+
// Original accounts.
|
|
34
|
+
const originalAccounts = {
|
|
35
|
+
user: { value: input.user ?? null, isWritable: true },
|
|
36
|
+
order: { value: input.order ?? null, isWritable: true },
|
|
37
|
+
guard: { value: input.guard ?? null, isWritable: false },
|
|
38
|
+
recoveredTokenMint: {
|
|
39
|
+
value: input.recoveredTokenMint ?? null,
|
|
40
|
+
isWritable: false,
|
|
41
|
+
},
|
|
42
|
+
userRecoveredTokenAccount: {
|
|
43
|
+
value: input.userRecoveredTokenAccount ?? null,
|
|
44
|
+
isWritable: true,
|
|
45
|
+
},
|
|
46
|
+
guardRecoveredTokenAccount: {
|
|
47
|
+
value: input.guardRecoveredTokenAccount ?? null,
|
|
48
|
+
isWritable: true,
|
|
49
|
+
},
|
|
50
|
+
recoveredTokenProgram: {
|
|
51
|
+
value: input.recoveredTokenProgram ?? null,
|
|
52
|
+
isWritable: false,
|
|
53
|
+
},
|
|
54
|
+
collateralTokenMint: {
|
|
55
|
+
value: input.collateralTokenMint ?? null,
|
|
56
|
+
isWritable: false,
|
|
57
|
+
},
|
|
58
|
+
userCollateralTokenAccount: {
|
|
59
|
+
value: input.userCollateralTokenAccount ?? null,
|
|
60
|
+
isWritable: true,
|
|
61
|
+
},
|
|
62
|
+
guardCollateralTokenAccount: {
|
|
63
|
+
value: input.guardCollateralTokenAccount ?? null,
|
|
64
|
+
isWritable: true,
|
|
65
|
+
},
|
|
66
|
+
collateralTokenProgram: {
|
|
67
|
+
value: input.collateralTokenProgram ?? null,
|
|
68
|
+
isWritable: false,
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
const accounts = originalAccounts;
|
|
72
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, 'programId');
|
|
73
|
+
const instruction = {
|
|
74
|
+
accounts: [
|
|
75
|
+
getAccountMeta(accounts.user),
|
|
76
|
+
getAccountMeta(accounts.order),
|
|
77
|
+
getAccountMeta(accounts.guard),
|
|
78
|
+
getAccountMeta(accounts.recoveredTokenMint),
|
|
79
|
+
getAccountMeta(accounts.userRecoveredTokenAccount),
|
|
80
|
+
getAccountMeta(accounts.guardRecoveredTokenAccount),
|
|
81
|
+
getAccountMeta(accounts.recoveredTokenProgram),
|
|
82
|
+
getAccountMeta(accounts.collateralTokenMint),
|
|
83
|
+
getAccountMeta(accounts.userCollateralTokenAccount),
|
|
84
|
+
getAccountMeta(accounts.guardCollateralTokenAccount),
|
|
85
|
+
getAccountMeta(accounts.collateralTokenProgram),
|
|
86
|
+
],
|
|
87
|
+
programAddress,
|
|
88
|
+
data: getCancelOrderInstructionDataEncoder().encode({}),
|
|
89
|
+
};
|
|
90
|
+
return instruction;
|
|
91
|
+
}
|
|
92
|
+
export function parseCancelOrderInstruction(instruction) {
|
|
93
|
+
if (instruction.accounts.length < 11) {
|
|
94
|
+
// TODO: Coded error.
|
|
95
|
+
throw new Error('Not enough accounts');
|
|
96
|
+
}
|
|
97
|
+
let accountIndex = 0;
|
|
98
|
+
const getNextAccount = () => {
|
|
99
|
+
const accountMeta = instruction.accounts[accountIndex];
|
|
100
|
+
accountIndex += 1;
|
|
101
|
+
return accountMeta;
|
|
102
|
+
};
|
|
103
|
+
const getNextOptionalAccount = () => {
|
|
104
|
+
const accountMeta = getNextAccount();
|
|
105
|
+
return accountMeta.address === SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS ? undefined : accountMeta;
|
|
106
|
+
};
|
|
107
|
+
return {
|
|
108
|
+
programAddress: instruction.programAddress,
|
|
109
|
+
accounts: {
|
|
110
|
+
user: getNextAccount(),
|
|
111
|
+
order: getNextAccount(),
|
|
112
|
+
guard: getNextAccount(),
|
|
113
|
+
recoveredTokenMint: getNextAccount(),
|
|
114
|
+
userRecoveredTokenAccount: getNextAccount(),
|
|
115
|
+
guardRecoveredTokenAccount: getNextAccount(),
|
|
116
|
+
recoveredTokenProgram: getNextAccount(),
|
|
117
|
+
collateralTokenMint: getNextAccount(),
|
|
118
|
+
userCollateralTokenAccount: getNextOptionalAccount(),
|
|
119
|
+
guardCollateralTokenAccount: getNextAccount(),
|
|
120
|
+
collateralTokenProgram: getNextAccount(),
|
|
121
|
+
},
|
|
122
|
+
data: getCancelOrderInstructionDataDecoder().decode(instruction.data),
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=cancelOrder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cancelOrder.js","sourceRoot":"","sources":["../../../../../../src/core/solana/generated/instructions/cancelOrder.ts"],"names":[],"mappings":"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"}
|