@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,383 @@
|
|
|
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 { type Address, getProgramDerivedAddress } from '@solana/kit';
|
|
10
|
+
import {
|
|
11
|
+
type Codec,
|
|
12
|
+
combineCodec,
|
|
13
|
+
type Decoder,
|
|
14
|
+
type Encoder,
|
|
15
|
+
fixDecoderSize,
|
|
16
|
+
fixEncoderSize,
|
|
17
|
+
getBytesDecoder,
|
|
18
|
+
getBytesEncoder,
|
|
19
|
+
getStructDecoder,
|
|
20
|
+
getStructEncoder,
|
|
21
|
+
type ReadonlyUint8Array,
|
|
22
|
+
transformEncoder,
|
|
23
|
+
} from '@solana/kit';
|
|
24
|
+
import {
|
|
25
|
+
type IAccountMeta,
|
|
26
|
+
type IInstruction,
|
|
27
|
+
type IInstructionWithAccounts,
|
|
28
|
+
type IInstructionWithData,
|
|
29
|
+
type ReadonlyAccount,
|
|
30
|
+
type WritableAccount,
|
|
31
|
+
type WritableSignerAccount,
|
|
32
|
+
} from '@solana/kit';
|
|
33
|
+
import { type IAccountSignerMeta, type TransactionSigner } from '@solana/kit';
|
|
34
|
+
import { SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS } from '../programs/index.js';
|
|
35
|
+
import { getAccountMetaFactory, type ResolvedAccount } from '../shared/index.js';
|
|
36
|
+
|
|
37
|
+
export const COLLECT_PROTOCOL_FEES_DISCRIMINATOR = new Uint8Array([22, 67, 23, 98, 150, 178, 70, 220]);
|
|
38
|
+
|
|
39
|
+
export function getCollectProtocolFeesDiscriminatorBytes() {
|
|
40
|
+
return fixEncoderSize(getBytesEncoder(), 8).encode(COLLECT_PROTOCOL_FEES_DISCRIMINATOR);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export type CollectProtocolFeesInstruction<
|
|
44
|
+
TProgram extends string = typeof SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS,
|
|
45
|
+
TAccountAdmin extends string | IAccountMeta<string> = string,
|
|
46
|
+
TAccountAdminSingleton extends string | IAccountMeta<string> = string,
|
|
47
|
+
TAccountGuard extends string | IAccountMeta<string> = string,
|
|
48
|
+
TAccountCollateralTokenMint extends string | IAccountMeta<string> = string,
|
|
49
|
+
TAccountAdminCollateralTokenAccount extends string | IAccountMeta<string> = string,
|
|
50
|
+
TAccountGuardCollateralTokenAccount extends string | IAccountMeta<string> = string,
|
|
51
|
+
TAccountCollateralTokenProgram extends string | IAccountMeta<string> = string,
|
|
52
|
+
TRemainingAccounts extends readonly IAccountMeta<string>[] = [],
|
|
53
|
+
> = IInstruction<TProgram> &
|
|
54
|
+
IInstructionWithData<Uint8Array> &
|
|
55
|
+
IInstructionWithAccounts<
|
|
56
|
+
[
|
|
57
|
+
TAccountAdmin extends string
|
|
58
|
+
? WritableSignerAccount<TAccountAdmin> & IAccountSignerMeta<TAccountAdmin>
|
|
59
|
+
: TAccountAdmin,
|
|
60
|
+
TAccountAdminSingleton extends string ? ReadonlyAccount<TAccountAdminSingleton> : TAccountAdminSingleton,
|
|
61
|
+
TAccountGuard extends string ? WritableAccount<TAccountGuard> : TAccountGuard,
|
|
62
|
+
TAccountCollateralTokenMint extends string
|
|
63
|
+
? ReadonlyAccount<TAccountCollateralTokenMint>
|
|
64
|
+
: TAccountCollateralTokenMint,
|
|
65
|
+
TAccountAdminCollateralTokenAccount extends string
|
|
66
|
+
? WritableAccount<TAccountAdminCollateralTokenAccount>
|
|
67
|
+
: TAccountAdminCollateralTokenAccount,
|
|
68
|
+
TAccountGuardCollateralTokenAccount extends string
|
|
69
|
+
? WritableAccount<TAccountGuardCollateralTokenAccount>
|
|
70
|
+
: TAccountGuardCollateralTokenAccount,
|
|
71
|
+
TAccountCollateralTokenProgram extends string
|
|
72
|
+
? ReadonlyAccount<TAccountCollateralTokenProgram>
|
|
73
|
+
: TAccountCollateralTokenProgram,
|
|
74
|
+
...TRemainingAccounts,
|
|
75
|
+
]
|
|
76
|
+
>;
|
|
77
|
+
|
|
78
|
+
export type CollectProtocolFeesInstructionData = {
|
|
79
|
+
discriminator: ReadonlyUint8Array;
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
export type CollectProtocolFeesInstructionDataArgs = {};
|
|
83
|
+
|
|
84
|
+
export function getCollectProtocolFeesInstructionDataEncoder(): Encoder<CollectProtocolFeesInstructionDataArgs> {
|
|
85
|
+
return transformEncoder(getStructEncoder([['discriminator', fixEncoderSize(getBytesEncoder(), 8)]]), (value) => ({
|
|
86
|
+
...value,
|
|
87
|
+
discriminator: COLLECT_PROTOCOL_FEES_DISCRIMINATOR,
|
|
88
|
+
}));
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
export function getCollectProtocolFeesInstructionDataDecoder(): Decoder<CollectProtocolFeesInstructionData> {
|
|
92
|
+
return getStructDecoder([['discriminator', fixDecoderSize(getBytesDecoder(), 8)]]);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export function getCollectProtocolFeesInstructionDataCodec(): Codec<
|
|
96
|
+
CollectProtocolFeesInstructionDataArgs,
|
|
97
|
+
CollectProtocolFeesInstructionData
|
|
98
|
+
> {
|
|
99
|
+
return combineCodec(getCollectProtocolFeesInstructionDataEncoder(), getCollectProtocolFeesInstructionDataDecoder());
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export type CollectProtocolFeesAsyncInput<
|
|
103
|
+
TAccountAdmin extends string = string,
|
|
104
|
+
TAccountAdminSingleton extends string = string,
|
|
105
|
+
TAccountGuard extends string = string,
|
|
106
|
+
TAccountCollateralTokenMint extends string = string,
|
|
107
|
+
TAccountAdminCollateralTokenAccount extends string = string,
|
|
108
|
+
TAccountGuardCollateralTokenAccount extends string = string,
|
|
109
|
+
TAccountCollateralTokenProgram extends string = string,
|
|
110
|
+
> = {
|
|
111
|
+
/** Admin signer */
|
|
112
|
+
admin: TransactionSigner<TAccountAdmin>;
|
|
113
|
+
/** Admin singleton account that grants access to */
|
|
114
|
+
adminSingleton?: Address<TAccountAdminSingleton>;
|
|
115
|
+
/** Guard account */
|
|
116
|
+
guard: Address<TAccountGuard>;
|
|
117
|
+
/** Collateral token mint */
|
|
118
|
+
collateralTokenMint: Address<TAccountCollateralTokenMint>;
|
|
119
|
+
/** Solver collateral account, from which solver is paying collateral tokens and fees */
|
|
120
|
+
adminCollateralTokenAccount: Address<TAccountAdminCollateralTokenAccount>;
|
|
121
|
+
/** Guard collateral account, where Guard is collecting collateral tokens */
|
|
122
|
+
guardCollateralTokenAccount: Address<TAccountGuardCollateralTokenAccount>;
|
|
123
|
+
/** Solana token program */
|
|
124
|
+
collateralTokenProgram: Address<TAccountCollateralTokenProgram>;
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
export async function getCollectProtocolFeesInstructionAsync<
|
|
128
|
+
TAccountAdmin extends string,
|
|
129
|
+
TAccountAdminSingleton extends string,
|
|
130
|
+
TAccountGuard extends string,
|
|
131
|
+
TAccountCollateralTokenMint extends string,
|
|
132
|
+
TAccountAdminCollateralTokenAccount extends string,
|
|
133
|
+
TAccountGuardCollateralTokenAccount extends string,
|
|
134
|
+
TAccountCollateralTokenProgram extends string,
|
|
135
|
+
TProgramAddress extends Address = typeof SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS,
|
|
136
|
+
>(
|
|
137
|
+
input: CollectProtocolFeesAsyncInput<
|
|
138
|
+
TAccountAdmin,
|
|
139
|
+
TAccountAdminSingleton,
|
|
140
|
+
TAccountGuard,
|
|
141
|
+
TAccountCollateralTokenMint,
|
|
142
|
+
TAccountAdminCollateralTokenAccount,
|
|
143
|
+
TAccountGuardCollateralTokenAccount,
|
|
144
|
+
TAccountCollateralTokenProgram
|
|
145
|
+
>,
|
|
146
|
+
config?: { programAddress?: TProgramAddress },
|
|
147
|
+
): Promise<
|
|
148
|
+
CollectProtocolFeesInstruction<
|
|
149
|
+
TProgramAddress,
|
|
150
|
+
TAccountAdmin,
|
|
151
|
+
TAccountAdminSingleton,
|
|
152
|
+
TAccountGuard,
|
|
153
|
+
TAccountCollateralTokenMint,
|
|
154
|
+
TAccountAdminCollateralTokenAccount,
|
|
155
|
+
TAccountGuardCollateralTokenAccount,
|
|
156
|
+
TAccountCollateralTokenProgram
|
|
157
|
+
>
|
|
158
|
+
> {
|
|
159
|
+
// Program address.
|
|
160
|
+
const programAddress = config?.programAddress ?? SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS;
|
|
161
|
+
|
|
162
|
+
// Original accounts.
|
|
163
|
+
const originalAccounts = {
|
|
164
|
+
admin: { value: input.admin ?? null, isWritable: true },
|
|
165
|
+
adminSingleton: { value: input.adminSingleton ?? null, isWritable: false },
|
|
166
|
+
guard: { value: input.guard ?? null, isWritable: true },
|
|
167
|
+
collateralTokenMint: {
|
|
168
|
+
value: input.collateralTokenMint ?? null,
|
|
169
|
+
isWritable: false,
|
|
170
|
+
},
|
|
171
|
+
adminCollateralTokenAccount: {
|
|
172
|
+
value: input.adminCollateralTokenAccount ?? null,
|
|
173
|
+
isWritable: true,
|
|
174
|
+
},
|
|
175
|
+
guardCollateralTokenAccount: {
|
|
176
|
+
value: input.guardCollateralTokenAccount ?? null,
|
|
177
|
+
isWritable: true,
|
|
178
|
+
},
|
|
179
|
+
collateralTokenProgram: {
|
|
180
|
+
value: input.collateralTokenProgram ?? null,
|
|
181
|
+
isWritable: false,
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
const accounts = originalAccounts as Record<keyof typeof originalAccounts, ResolvedAccount>;
|
|
185
|
+
|
|
186
|
+
// Resolve default values.
|
|
187
|
+
if (!accounts.adminSingleton.value) {
|
|
188
|
+
accounts.adminSingleton.value = await getProgramDerivedAddress({
|
|
189
|
+
programAddress,
|
|
190
|
+
seeds: [getBytesEncoder().encode(new Uint8Array([97, 100, 109, 105, 110]))],
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, 'programId');
|
|
195
|
+
const instruction = {
|
|
196
|
+
accounts: [
|
|
197
|
+
getAccountMeta(accounts.admin),
|
|
198
|
+
getAccountMeta(accounts.adminSingleton),
|
|
199
|
+
getAccountMeta(accounts.guard),
|
|
200
|
+
getAccountMeta(accounts.collateralTokenMint),
|
|
201
|
+
getAccountMeta(accounts.adminCollateralTokenAccount),
|
|
202
|
+
getAccountMeta(accounts.guardCollateralTokenAccount),
|
|
203
|
+
getAccountMeta(accounts.collateralTokenProgram),
|
|
204
|
+
],
|
|
205
|
+
programAddress,
|
|
206
|
+
data: getCollectProtocolFeesInstructionDataEncoder().encode({}),
|
|
207
|
+
} as CollectProtocolFeesInstruction<
|
|
208
|
+
TProgramAddress,
|
|
209
|
+
TAccountAdmin,
|
|
210
|
+
TAccountAdminSingleton,
|
|
211
|
+
TAccountGuard,
|
|
212
|
+
TAccountCollateralTokenMint,
|
|
213
|
+
TAccountAdminCollateralTokenAccount,
|
|
214
|
+
TAccountGuardCollateralTokenAccount,
|
|
215
|
+
TAccountCollateralTokenProgram
|
|
216
|
+
>;
|
|
217
|
+
|
|
218
|
+
return instruction;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
export type CollectProtocolFeesInput<
|
|
222
|
+
TAccountAdmin extends string = string,
|
|
223
|
+
TAccountAdminSingleton extends string = string,
|
|
224
|
+
TAccountGuard extends string = string,
|
|
225
|
+
TAccountCollateralTokenMint extends string = string,
|
|
226
|
+
TAccountAdminCollateralTokenAccount extends string = string,
|
|
227
|
+
TAccountGuardCollateralTokenAccount extends string = string,
|
|
228
|
+
TAccountCollateralTokenProgram extends string = string,
|
|
229
|
+
> = {
|
|
230
|
+
/** Admin signer */
|
|
231
|
+
admin: TransactionSigner<TAccountAdmin>;
|
|
232
|
+
/** Admin singleton account that grants access to */
|
|
233
|
+
adminSingleton: Address<TAccountAdminSingleton>;
|
|
234
|
+
/** Guard account */
|
|
235
|
+
guard: Address<TAccountGuard>;
|
|
236
|
+
/** Collateral token mint */
|
|
237
|
+
collateralTokenMint: Address<TAccountCollateralTokenMint>;
|
|
238
|
+
/** Solver collateral account, from which solver is paying collateral tokens and fees */
|
|
239
|
+
adminCollateralTokenAccount: Address<TAccountAdminCollateralTokenAccount>;
|
|
240
|
+
/** Guard collateral account, where Guard is collecting collateral tokens */
|
|
241
|
+
guardCollateralTokenAccount: Address<TAccountGuardCollateralTokenAccount>;
|
|
242
|
+
/** Solana token program */
|
|
243
|
+
collateralTokenProgram: Address<TAccountCollateralTokenProgram>;
|
|
244
|
+
};
|
|
245
|
+
|
|
246
|
+
export function getCollectProtocolFeesInstruction<
|
|
247
|
+
TAccountAdmin extends string,
|
|
248
|
+
TAccountAdminSingleton extends string,
|
|
249
|
+
TAccountGuard extends string,
|
|
250
|
+
TAccountCollateralTokenMint extends string,
|
|
251
|
+
TAccountAdminCollateralTokenAccount extends string,
|
|
252
|
+
TAccountGuardCollateralTokenAccount extends string,
|
|
253
|
+
TAccountCollateralTokenProgram extends string,
|
|
254
|
+
TProgramAddress extends Address = typeof SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS,
|
|
255
|
+
>(
|
|
256
|
+
input: CollectProtocolFeesInput<
|
|
257
|
+
TAccountAdmin,
|
|
258
|
+
TAccountAdminSingleton,
|
|
259
|
+
TAccountGuard,
|
|
260
|
+
TAccountCollateralTokenMint,
|
|
261
|
+
TAccountAdminCollateralTokenAccount,
|
|
262
|
+
TAccountGuardCollateralTokenAccount,
|
|
263
|
+
TAccountCollateralTokenProgram
|
|
264
|
+
>,
|
|
265
|
+
config?: { programAddress?: TProgramAddress },
|
|
266
|
+
): CollectProtocolFeesInstruction<
|
|
267
|
+
TProgramAddress,
|
|
268
|
+
TAccountAdmin,
|
|
269
|
+
TAccountAdminSingleton,
|
|
270
|
+
TAccountGuard,
|
|
271
|
+
TAccountCollateralTokenMint,
|
|
272
|
+
TAccountAdminCollateralTokenAccount,
|
|
273
|
+
TAccountGuardCollateralTokenAccount,
|
|
274
|
+
TAccountCollateralTokenProgram
|
|
275
|
+
> {
|
|
276
|
+
// Program address.
|
|
277
|
+
const programAddress = config?.programAddress ?? SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS;
|
|
278
|
+
|
|
279
|
+
// Original accounts.
|
|
280
|
+
const originalAccounts = {
|
|
281
|
+
admin: { value: input.admin ?? null, isWritable: true },
|
|
282
|
+
adminSingleton: { value: input.adminSingleton ?? null, isWritable: false },
|
|
283
|
+
guard: { value: input.guard ?? null, isWritable: true },
|
|
284
|
+
collateralTokenMint: {
|
|
285
|
+
value: input.collateralTokenMint ?? null,
|
|
286
|
+
isWritable: false,
|
|
287
|
+
},
|
|
288
|
+
adminCollateralTokenAccount: {
|
|
289
|
+
value: input.adminCollateralTokenAccount ?? null,
|
|
290
|
+
isWritable: true,
|
|
291
|
+
},
|
|
292
|
+
guardCollateralTokenAccount: {
|
|
293
|
+
value: input.guardCollateralTokenAccount ?? null,
|
|
294
|
+
isWritable: true,
|
|
295
|
+
},
|
|
296
|
+
collateralTokenProgram: {
|
|
297
|
+
value: input.collateralTokenProgram ?? null,
|
|
298
|
+
isWritable: false,
|
|
299
|
+
},
|
|
300
|
+
};
|
|
301
|
+
const accounts = originalAccounts as Record<keyof typeof originalAccounts, ResolvedAccount>;
|
|
302
|
+
|
|
303
|
+
const getAccountMeta = getAccountMetaFactory(programAddress, 'programId');
|
|
304
|
+
const instruction = {
|
|
305
|
+
accounts: [
|
|
306
|
+
getAccountMeta(accounts.admin),
|
|
307
|
+
getAccountMeta(accounts.adminSingleton),
|
|
308
|
+
getAccountMeta(accounts.guard),
|
|
309
|
+
getAccountMeta(accounts.collateralTokenMint),
|
|
310
|
+
getAccountMeta(accounts.adminCollateralTokenAccount),
|
|
311
|
+
getAccountMeta(accounts.guardCollateralTokenAccount),
|
|
312
|
+
getAccountMeta(accounts.collateralTokenProgram),
|
|
313
|
+
],
|
|
314
|
+
programAddress,
|
|
315
|
+
data: getCollectProtocolFeesInstructionDataEncoder().encode({}),
|
|
316
|
+
} as CollectProtocolFeesInstruction<
|
|
317
|
+
TProgramAddress,
|
|
318
|
+
TAccountAdmin,
|
|
319
|
+
TAccountAdminSingleton,
|
|
320
|
+
TAccountGuard,
|
|
321
|
+
TAccountCollateralTokenMint,
|
|
322
|
+
TAccountAdminCollateralTokenAccount,
|
|
323
|
+
TAccountGuardCollateralTokenAccount,
|
|
324
|
+
TAccountCollateralTokenProgram
|
|
325
|
+
>;
|
|
326
|
+
|
|
327
|
+
return instruction;
|
|
328
|
+
}
|
|
329
|
+
|
|
330
|
+
export type ParsedCollectProtocolFeesInstruction<
|
|
331
|
+
TProgram extends string = typeof SOURCE_CHAIN_GUARD_PROGRAM_ADDRESS,
|
|
332
|
+
TAccountMetas extends readonly IAccountMeta[] = readonly IAccountMeta[],
|
|
333
|
+
> = {
|
|
334
|
+
programAddress: Address<TProgram>;
|
|
335
|
+
accounts: {
|
|
336
|
+
/** Admin signer */
|
|
337
|
+
admin: TAccountMetas[0];
|
|
338
|
+
/** Admin singleton account that grants access to */
|
|
339
|
+
adminSingleton: TAccountMetas[1];
|
|
340
|
+
/** Guard account */
|
|
341
|
+
guard: TAccountMetas[2];
|
|
342
|
+
/** Collateral token mint */
|
|
343
|
+
collateralTokenMint: TAccountMetas[3];
|
|
344
|
+
/** Solver collateral account, from which solver is paying collateral tokens and fees */
|
|
345
|
+
adminCollateralTokenAccount: TAccountMetas[4];
|
|
346
|
+
/** Guard collateral account, where Guard is collecting collateral tokens */
|
|
347
|
+
guardCollateralTokenAccount: TAccountMetas[5];
|
|
348
|
+
/** Solana token program */
|
|
349
|
+
collateralTokenProgram: TAccountMetas[6];
|
|
350
|
+
};
|
|
351
|
+
data: CollectProtocolFeesInstructionData;
|
|
352
|
+
};
|
|
353
|
+
|
|
354
|
+
export function parseCollectProtocolFeesInstruction<
|
|
355
|
+
TProgram extends string,
|
|
356
|
+
TAccountMetas extends readonly IAccountMeta[],
|
|
357
|
+
>(
|
|
358
|
+
instruction: IInstruction<TProgram> & IInstructionWithAccounts<TAccountMetas> & IInstructionWithData<Uint8Array>,
|
|
359
|
+
): ParsedCollectProtocolFeesInstruction<TProgram, TAccountMetas> {
|
|
360
|
+
if (instruction.accounts.length < 7) {
|
|
361
|
+
// TODO: Coded error.
|
|
362
|
+
throw new Error('Not enough accounts');
|
|
363
|
+
}
|
|
364
|
+
let accountIndex = 0;
|
|
365
|
+
const getNextAccount = () => {
|
|
366
|
+
const accountMeta = instruction.accounts![accountIndex]!;
|
|
367
|
+
accountIndex += 1;
|
|
368
|
+
return accountMeta;
|
|
369
|
+
};
|
|
370
|
+
return {
|
|
371
|
+
programAddress: instruction.programAddress,
|
|
372
|
+
accounts: {
|
|
373
|
+
admin: getNextAccount(),
|
|
374
|
+
adminSingleton: getNextAccount(),
|
|
375
|
+
guard: getNextAccount(),
|
|
376
|
+
collateralTokenMint: getNextAccount(),
|
|
377
|
+
adminCollateralTokenAccount: getNextAccount(),
|
|
378
|
+
guardCollateralTokenAccount: getNextAccount(),
|
|
379
|
+
collateralTokenProgram: getNextAccount(),
|
|
380
|
+
},
|
|
381
|
+
data: getCollectProtocolFeesInstructionDataDecoder().decode(instruction.data),
|
|
382
|
+
};
|
|
383
|
+
}
|