@shogun-sdk/intents-sdk 1.2.6-test → 1.2.6-test.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/chains.js +1 -1
- package/dist/esm/constants.js.map +1 -1
- package/dist/esm/core/evm/cross-chain-limit-order.js +11 -11
- package/dist/esm/core/evm/cross-chain-limit-order.js.map +1 -1
- package/dist/esm/core/evm/intent-helpers.js +1 -1
- package/dist/esm/core/evm/intent-helpers.js.map +1 -1
- package/dist/esm/core/evm/single-chain-dca-order.js +15 -15
- package/dist/esm/core/evm/single-chain-dca-order.js.map +1 -1
- package/dist/esm/core/evm/single-chain-limit-order.js +12 -12
- package/dist/esm/core/evm/single-chain-limit-order.js.map +1 -1
- package/dist/esm/core/evm/types.js +3 -3
- package/dist/esm/core/solana/client.js +1 -1
- package/dist/esm/core/solana/client.js.map +1 -1
- package/dist/esm/core/solana/dca/single-chain-dca-order.js +8 -9
- package/dist/esm/core/solana/dca/single-chain-dca-order.js.map +1 -1
- package/dist/esm/core/solana/dca/single-chain-limit-order.js +9 -10
- package/dist/esm/core/solana/dca/single-chain-limit-order.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/accounts/adminSingleton.js +1 -3
- package/dist/esm/core/solana/generated/cross-chain/accounts/adminSingleton.js.map +1 -1
- 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 +4 -1
- 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 +5 -4
- package/dist/esm/core/solana/generated/cross-chain/instructions/cancelDcaOrder.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/instructions/cancelOrder.js +4 -1
- 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 +4 -1
- 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 +5 -4
- 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 +2 -4
- package/dist/esm/core/solana/generated/cross-chain/instructions/createDcaOrder.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/instructions/createGuard.js +3 -5
- 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 +2 -4
- package/dist/esm/core/solana/generated/cross-chain/instructions/createOrder.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/instructions/initialize.js +6 -5
- 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 +5 -4
- 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 +1 -1
- 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 +4 -14
- 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 +5 -4
- 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 +1 -3
- 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 +1 -1
- 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 +2 -2
- 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/dcaExecutionStarted.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/types/dcaTokenInSwapped.js.map +1 -1
- package/dist/esm/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.js.map +1 -1
- package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js +1 -3
- package/dist/esm/core/solana/generated/single-chain/accounts/adminSingleton.js.map +1 -1
- 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 +4 -1
- 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 +5 -4
- 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 +5 -4
- 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 +5 -4
- 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 +2 -4
- 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 +3 -5
- 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 +2 -4
- 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 +2 -5
- 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 +2 -5
- 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 +6 -5
- 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 +1 -1
- 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 +4 -14
- 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 +1 -1
- 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 +2 -2
- 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/dcaOrderFulfilled.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/intent-helpers.js +3 -3
- package/dist/esm/core/solana/intent-helpers.js.map +1 -1
- package/dist/esm/core/solana/utils.js +4 -7
- package/dist/esm/core/solana/utils.js.map +1 -1
- package/dist/esm/core/sui/cross-chain-limit-order.js +1 -3
- package/dist/esm/core/sui/cross-chain-limit-order.js.map +1 -1
- package/dist/esm/core/sui/intent-helpers.js.map +1 -1
- package/dist/esm/core/sui/single-chain-dca-order.js +9 -21
- package/dist/esm/core/sui/single-chain-dca-order.js.map +1 -1
- package/dist/esm/core/sui/single-chain-limit-order.js +10 -24
- package/dist/esm/core/sui/single-chain-limit-order.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/api.js.map +1 -1
- package/dist/esm/utils/generate-execution-details-hash.js +3 -3
- package/dist/esm/utils/generate-execution-details-hash.js.map +1 -1
- package/dist/esm/utils/quote/aggregator.js +71 -52
- package/dist/esm/utils/quote/aggregator.js.map +1 -1
- package/dist/esm/utils/quote/liquidswap.js +34 -9
- package/dist/esm/utils/quote/liquidswap.js.map +1 -1
- package/dist/esm/utils/quote/stablecoins-tokens.js +31 -9
- package/dist/esm/utils/quote/stablecoins-tokens.js.map +1 -1
- package/dist/types/constants.d.ts.map +1 -1
- package/dist/types/core/evm/cross-chain-limit-order.d.ts +1 -1
- package/dist/types/core/evm/intent-helpers.d.ts.map +1 -1
- package/dist/types/core/evm/single-chain-dca-order.d.ts +2 -2
- package/dist/types/core/evm/single-chain-limit-order.d.ts +2 -2
- package/dist/types/core/evm/types.d.ts +1 -1
- package/dist/types/core/solana/dca/single-chain-dca-order.d.ts +2 -2
- package/dist/types/core/solana/dca/single-chain-dca-order.d.ts.map +1 -1
- package/dist/types/core/solana/dca/single-chain-limit-order.d.ts +1 -1
- package/dist/types/core/solana/dca/single-chain-limit-order.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/accounts/adminSingleton.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/instructions/cancelDcaOrder.d.ts.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/types/adminUpdateStarted.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/types/dcaExecutionStarted.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/types/dcaTokenInSwapped.d.ts.map +1 -1
- package/dist/types/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.d.ts.map +1 -1
- package/dist/types/core/solana/generated/single-chain/accounts/adminSingleton.d.ts.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- 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.map +1 -1
- package/dist/types/core/solana/generated/single-chain/types/dcaOrderFulfilled.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/types/core/solana/intent-helpers.d.ts.map +1 -1
- package/dist/types/core/solana/utils.d.ts.map +1 -1
- package/dist/types/core/sui/cross-chain-limit-order.d.ts.map +1 -1
- package/dist/types/core/sui/intent-helpers.d.ts.map +1 -1
- package/dist/types/core/sui/single-chain-dca-order.d.ts.map +1 -1
- package/dist/types/core/sui/single-chain-limit-order.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/types/api.d.ts +10 -1
- package/dist/types/types/api.d.ts.map +1 -1
- package/dist/types/types/intent.d.ts.map +1 -1
- package/dist/types/utils/generate-execution-details-hash.d.ts +1 -1
- package/dist/types/utils/generate-execution-details-hash.d.ts.map +1 -1
- package/dist/types/utils/quote/aggregator.d.ts +0 -2
- package/dist/types/utils/quote/aggregator.d.ts.map +1 -1
- package/dist/types/utils/quote/liquidswap.d.ts +4 -2
- package/dist/types/utils/quote/liquidswap.d.ts.map +1 -1
- package/dist/types/utils/quote/stablecoins-tokens.d.ts +4 -1
- package/dist/types/utils/quote/stablecoins-tokens.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/chains.ts +2 -2
- package/src/constants.ts +5 -5
- package/src/core/evm/cross-chain-limit-order.ts +14 -14
- package/src/core/evm/intent-helpers.ts +14 -8
- package/src/core/evm/single-chain-dca-order.ts +18 -18
- package/src/core/evm/single-chain-limit-order.ts +15 -15
- package/src/core/evm/types.ts +4 -4
- package/src/core/solana/client.ts +1 -1
- package/src/core/solana/dca/single-chain-dca-order.ts +18 -21
- package/src/core/solana/dca/single-chain-limit-order.ts +19 -22
- package/src/core/solana/generated/cross-chain/accounts/adminSingleton.ts +9 -11
- package/src/core/solana/generated/cross-chain/accounts/dcaOrder.ts +8 -8
- package/src/core/solana/generated/cross-chain/accounts/guard.ts +8 -8
- package/src/core/solana/generated/cross-chain/accounts/order.ts +8 -8
- package/src/core/solana/generated/cross-chain/errors/sourceChainGuard.ts +2 -7
- package/src/core/solana/generated/cross-chain/instructions/acceptAdmin.ts +10 -20
- package/src/core/solana/generated/cross-chain/instructions/cancelDcaOrder.ts +13 -31
- package/src/core/solana/generated/cross-chain/instructions/cancelOrder.ts +8 -16
- package/src/core/solana/generated/cross-chain/instructions/claimTokens.ts +9 -19
- package/src/core/solana/generated/cross-chain/instructions/collectProtocolFees.ts +10 -19
- package/src/core/solana/generated/cross-chain/instructions/createDcaOrder.ts +14 -36
- package/src/core/solana/generated/cross-chain/instructions/createGuard.ts +12 -33
- package/src/core/solana/generated/cross-chain/instructions/createOrder.ts +12 -30
- package/src/core/solana/generated/cross-chain/instructions/initialize.ts +14 -29
- package/src/core/solana/generated/cross-chain/instructions/preStartOrderExecution.ts +11 -21
- package/src/core/solana/generated/cross-chain/instructions/setAdmin.ts +8 -23
- package/src/core/solana/generated/cross-chain/instructions/setAuctioneerPubKey.ts +16 -64
- package/src/core/solana/generated/cross-chain/instructions/startOrderExecution.ts +9 -18
- package/src/core/solana/generated/cross-chain/instructions/startOrderExecutionAfterSwap.ts +8 -16
- package/src/core/solana/generated/cross-chain/programs/sourceChainGuard.ts +40 -83
- package/src/core/solana/generated/cross-chain/shared/index.ts +7 -16
- package/src/core/solana/generated/cross-chain/types/adminUpdateStarted.ts +1 -4
- package/src/core/solana/generated/cross-chain/types/dcaExecutionStarted.ts +1 -4
- package/src/core/solana/generated/cross-chain/types/dcaTokenInSwapped.ts +1 -4
- package/src/core/solana/generated/cross-chain/types/failedDcaIntervalExecution.ts +1 -4
- package/src/core/solana/generated/single-chain/accounts/adminSingleton.ts +9 -11
- package/src/core/solana/generated/single-chain/accounts/dcaOrder.ts +8 -8
- package/src/core/solana/generated/single-chain/accounts/guard.ts +8 -8
- package/src/core/solana/generated/single-chain/accounts/limitOrder.ts +8 -8
- package/src/core/solana/generated/single-chain/errors/singleChainGuard.ts +2 -7
- package/src/core/solana/generated/single-chain/instructions/acceptAdmin.ts +10 -20
- package/src/core/solana/generated/single-chain/instructions/cancelDcaOrder.ts +11 -25
- package/src/core/solana/generated/single-chain/instructions/cancelLimitOrder.ts +11 -25
- package/src/core/solana/generated/single-chain/instructions/collectProtocolFees.ts +12 -25
- package/src/core/solana/generated/single-chain/instructions/createDcaOrder.ts +14 -36
- package/src/core/solana/generated/single-chain/instructions/createGuard.ts +15 -42
- package/src/core/solana/generated/single-chain/instructions/createLimitOrder.ts +14 -36
- package/src/core/solana/generated/single-chain/instructions/fulfillDcaOrderInterval.ts +15 -38
- package/src/core/solana/generated/single-chain/instructions/fulfillLimitOrder.ts +15 -41
- package/src/core/solana/generated/single-chain/instructions/initialize.ts +14 -29
- package/src/core/solana/generated/single-chain/instructions/setAdmin.ts +8 -23
- package/src/core/solana/generated/single-chain/instructions/setAuctioneerPubKey.ts +16 -64
- package/src/core/solana/generated/single-chain/programs/singleChainGuard.ts +36 -75
- package/src/core/solana/generated/single-chain/shared/index.ts +7 -16
- package/src/core/solana/generated/single-chain/types/adminUpdateStarted.ts +1 -4
- package/src/core/solana/generated/single-chain/types/dcaOrderFulfilled.ts +1 -4
- package/src/core/solana/generated/single-chain/types/limitOrderCreated.ts +1 -4
- package/src/core/solana/generated/single-chain/types/limitOrderFulfilled.ts +1 -4
- package/src/core/solana/intent-helpers.ts +20 -16
- package/src/core/solana/sdk.ts +1 -1
- package/src/core/solana/utils.ts +16 -19
- package/src/core/sui/cross-chain-limit-order.ts +1 -4
- package/src/core/sui/intent-helpers.ts +16 -25
- package/src/core/sui/order-transaction.ts +1 -1
- package/src/core/sui/single-chain-dca-order.ts +18 -31
- package/src/core/sui/single-chain-limit-order.ts +18 -33
- package/src/index.ts +2 -2
- package/src/types/api.ts +10 -1
- package/src/types/intent.ts +4 -2
- package/src/utils/generate-execution-details-hash.ts +25 -23
- package/src/utils/quote/aggregator.ts +92 -71
- package/src/utils/quote/liquidswap.ts +42 -13
- package/src/utils/quote/stablecoins-tokens.ts +31 -9
- package/dist/esm/core/evm/permit2-signature-transfer.js +0 -15
- package/dist/esm/core/evm/permit2-signature-transfer.js.map +0 -1
- package/dist/types/core/evm/permit2-signature-transfer.d.ts +0 -3
- package/dist/types/core/evm/permit2-signature-transfer.d.ts.map +0 -1
- package/src/core/evm/permit2-signature-transfer.ts +0 -15
|
@@ -2,8 +2,5 @@
|
|
|
2
2
|
* Generates random U64 number
|
|
3
3
|
*/
|
|
4
4
|
export function getRandomU64Number() {
|
|
5
|
-
return BigInt(
|
|
6
|
-
.map(n => n.toString(16))
|
|
7
|
-
.join("")).toString();
|
|
5
|
+
return BigInt('0x' + [...crypto.getRandomValues(new Uint8Array(8))].map((n) => n.toString(16)).join('')).toString();
|
|
8
6
|
}
|
|
9
|
-
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { ChainID } from '../../chains.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type {
|
|
3
|
+
SingleChainUserIntentRequest,
|
|
4
|
+
CrossChainUserIntentRequest,
|
|
5
|
+
DcaSingleChainUserIntentRequest,
|
|
6
|
+
} from '../../types/intent.js';
|
|
3
7
|
import type { SingleChainOrder } from '../orders/single-chain.js';
|
|
4
8
|
import type { DcaSingleChainOrder } from '../orders/dca-single-chain.js';
|
|
5
9
|
import type { ExtraTransfer } from '../orders/common.js';
|
|
@@ -62,10 +66,10 @@ export type CreateSuiCrossChainOrderIntentParams = {
|
|
|
62
66
|
* @returns Formatted intent request ready to send to auctioneer
|
|
63
67
|
*/
|
|
64
68
|
export function createSuiSingleChainLimitOrderIntentRequest(
|
|
65
|
-
params: CreateSuiSingleChainLimitOrderIntentParams
|
|
69
|
+
params: CreateSuiSingleChainLimitOrderIntentParams,
|
|
66
70
|
): SingleChainUserIntentRequest {
|
|
67
71
|
const secretNumber = params.secretNumber || getRandomU64Number();
|
|
68
|
-
|
|
72
|
+
|
|
69
73
|
const order: SingleChainOrder = {
|
|
70
74
|
user: params.user,
|
|
71
75
|
chainId: ChainID.Sui,
|
|
@@ -97,10 +101,10 @@ export function createSuiSingleChainLimitOrderIntentRequest(
|
|
|
97
101
|
* @returns Formatted intent request ready to send to auctioneer
|
|
98
102
|
*/
|
|
99
103
|
export function createSuiSingleChainDcaOrderIntentRequest(
|
|
100
|
-
params: CreateSuiSingleChainDcaOrderIntentParams
|
|
104
|
+
params: CreateSuiSingleChainDcaOrderIntentParams,
|
|
101
105
|
): DcaSingleChainUserIntentRequest {
|
|
102
106
|
const secretNumber = params.secretNumber || getRandomU64Number();
|
|
103
|
-
|
|
107
|
+
|
|
104
108
|
const order: DcaSingleChainOrder = {
|
|
105
109
|
user: params.user,
|
|
106
110
|
chainId: ChainID.Sui,
|
|
@@ -133,9 +137,8 @@ export function createSuiSingleChainDcaOrderIntentRequest(
|
|
|
133
137
|
* @returns Formatted intent request ready to send to auctioneer
|
|
134
138
|
*/
|
|
135
139
|
export function createSuiCrossChainOrderIntentRequest(
|
|
136
|
-
params: CreateSuiCrossChainOrderIntentParams
|
|
140
|
+
params: CreateSuiCrossChainOrderIntentParams,
|
|
137
141
|
): CrossChainUserIntentRequest {
|
|
138
|
-
|
|
139
142
|
const executionDetails = {
|
|
140
143
|
destChainId: params.destChainId,
|
|
141
144
|
tokenOut: params.tokenOut,
|
|
@@ -183,19 +186,13 @@ export function generateSuiLimitOrderSecretData(
|
|
|
183
186
|
tokenOut: string,
|
|
184
187
|
receiver: string,
|
|
185
188
|
secretNumber?: string,
|
|
186
|
-
extraTransfers?: ExtraTransfer[]
|
|
189
|
+
extraTransfers?: ExtraTransfer[],
|
|
187
190
|
): { secretNumber: string; secretHash: Uint8Array } {
|
|
188
191
|
const secret = secretNumber || getRandomU64Number();
|
|
189
192
|
const extraTransferCoinOut = extraTransfers?.[0]?.token;
|
|
190
193
|
const extraTransferReceiver = extraTransfers?.[0]?.receiver;
|
|
191
|
-
|
|
192
|
-
const secretHash = getSecretHash(
|
|
193
|
-
tokenOut,
|
|
194
|
-
receiver,
|
|
195
|
-
secret,
|
|
196
|
-
extraTransferCoinOut,
|
|
197
|
-
extraTransferReceiver
|
|
198
|
-
);
|
|
194
|
+
|
|
195
|
+
const secretHash = getSecretHash(tokenOut, receiver, secret, extraTransferCoinOut, extraTransferReceiver);
|
|
199
196
|
|
|
200
197
|
return {
|
|
201
198
|
secretNumber: secret,
|
|
@@ -215,19 +212,13 @@ export function generateSuiDcaOrderSecretData(
|
|
|
215
212
|
tokenOut: string,
|
|
216
213
|
receiver: string,
|
|
217
214
|
secretNumber?: string,
|
|
218
|
-
extraTransfers?: ExtraTransfer[]
|
|
215
|
+
extraTransfers?: ExtraTransfer[],
|
|
219
216
|
): { secretNumber: string; secretHash: Uint8Array } {
|
|
220
217
|
const secret = secretNumber || getRandomU64Number();
|
|
221
218
|
const extraTransferCoinOut = extraTransfers?.[0]?.token;
|
|
222
219
|
const extraTransferReceiver = extraTransfers?.[0]?.receiver;
|
|
223
|
-
|
|
224
|
-
const secretHash = getDcaSecretHash(
|
|
225
|
-
tokenOut,
|
|
226
|
-
receiver,
|
|
227
|
-
secret,
|
|
228
|
-
extraTransferCoinOut,
|
|
229
|
-
extraTransferReceiver
|
|
230
|
-
);
|
|
220
|
+
|
|
221
|
+
const secretHash = getDcaSecretHash(tokenOut, receiver, secret, extraTransferCoinOut, extraTransferReceiver);
|
|
231
222
|
|
|
232
223
|
return {
|
|
233
224
|
secretNumber: secret,
|
|
@@ -21,7 +21,7 @@ import type { CrossChainOrder } from '../orders/cross-chain.js';
|
|
|
21
21
|
*/
|
|
22
22
|
export async function getSuiOrderTransaction(
|
|
23
23
|
order: CrossChainOrder,
|
|
24
|
-
client?: ReturnType<typeof createSuiClient
|
|
24
|
+
client?: ReturnType<typeof createSuiClient>,
|
|
25
25
|
): Promise<Transaction> {
|
|
26
26
|
const userAddress = order.user;
|
|
27
27
|
const suiClient = client || createSuiClient();
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { bcs, fromHex } from '@mysten/bcs';
|
|
2
|
-
import { normalizeStructTag, normalizeSuiAddress, normalizeSuiObjectId } from
|
|
2
|
+
import { normalizeStructTag, normalizeSuiAddress, normalizeSuiObjectId } from '@mysten/sui/utils';
|
|
3
3
|
import { Transaction } from '@mysten/sui/transactions';
|
|
4
4
|
import { ValidationError } from '../../errors/index.js';
|
|
5
5
|
import { createSuiClient } from './client.js';
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
SUI_PACKAGE_ID,
|
|
8
|
+
SUI_GUARD_COLLATERAL_TYPE,
|
|
9
|
+
SUI_GUARD_STABLECOIN_TYPE,
|
|
10
|
+
NATIVE_SUI_TOKEN_ADDRESS,
|
|
11
|
+
} from '../../constants.js';
|
|
7
12
|
import type { DcaSingleChainOrder } from '../orders/dca-single-chain.js';
|
|
8
|
-
import pkg from
|
|
13
|
+
import pkg from 'js-sha3';
|
|
9
14
|
const { keccak256 } = pkg;
|
|
10
15
|
/**
|
|
11
16
|
* Generates secret hash based on types, addresses and secret number for single chain DCA orders
|
|
@@ -22,34 +27,18 @@ export function getDcaSecretHash(
|
|
|
22
27
|
extraTransferCoinOut?: string,
|
|
23
28
|
extraTransferReceiver?: string,
|
|
24
29
|
) {
|
|
25
|
-
const coinOutTypeBytes = Buffer.from(
|
|
26
|
-
normalizeStructTag(coinOutType).replace("0x", ""),
|
|
27
|
-
"utf8"
|
|
28
|
-
);
|
|
30
|
+
const coinOutTypeBytes = Buffer.from(normalizeStructTag(coinOutType).replace('0x', ''), 'utf8');
|
|
29
31
|
const receiverBytes = fromHex(normalizeSuiAddress(receiver));
|
|
30
32
|
|
|
31
|
-
let resBytes = [
|
|
32
|
-
...coinOutTypeBytes,
|
|
33
|
-
...receiverBytes,
|
|
34
|
-
];
|
|
33
|
+
let resBytes = [...coinOutTypeBytes, ...receiverBytes];
|
|
35
34
|
if (extraTransferCoinOut && extraTransferReceiver) {
|
|
36
|
-
const extraTransferCoinOutBytes = Buffer.from(
|
|
37
|
-
normalizeStructTag(extraTransferCoinOut).replace("0x", ""),
|
|
38
|
-
"utf8"
|
|
39
|
-
);
|
|
35
|
+
const extraTransferCoinOutBytes = Buffer.from(normalizeStructTag(extraTransferCoinOut).replace('0x', ''), 'utf8');
|
|
40
36
|
const extraTransferReceiverBytes = fromHex(normalizeSuiAddress(extraTransferReceiver));
|
|
41
37
|
|
|
42
|
-
resBytes = [
|
|
43
|
-
...resBytes,
|
|
44
|
-
...extraTransferCoinOutBytes,
|
|
45
|
-
...extraTransferReceiverBytes,
|
|
46
|
-
];
|
|
38
|
+
resBytes = [...resBytes, ...extraTransferCoinOutBytes, ...extraTransferReceiverBytes];
|
|
47
39
|
}
|
|
48
40
|
|
|
49
|
-
resBytes = [
|
|
50
|
-
...resBytes,
|
|
51
|
-
...bcs.u64().serialize(secretNumber).toBytes(),
|
|
52
|
-
];
|
|
41
|
+
resBytes = [...resBytes, ...bcs.u64().serialize(secretNumber).toBytes()];
|
|
53
42
|
|
|
54
43
|
return keccak256.array(resBytes);
|
|
55
44
|
}
|
|
@@ -66,12 +55,12 @@ export async function getSuiSingleChainDcaOrderTransaction(
|
|
|
66
55
|
order: DcaSingleChainOrder,
|
|
67
56
|
secretHash: Uint8Array,
|
|
68
57
|
guardAddress: string,
|
|
69
|
-
client?: ReturnType<typeof createSuiClient
|
|
58
|
+
client?: ReturnType<typeof createSuiClient>,
|
|
70
59
|
): Promise<Transaction> {
|
|
71
60
|
const userAddress = order.user;
|
|
72
61
|
const suiClient = client || createSuiClient();
|
|
73
62
|
const totalAmountIn = order.getTotalAmountIn();
|
|
74
|
-
|
|
63
|
+
|
|
75
64
|
const coins = await suiClient.getCoins({
|
|
76
65
|
owner: userAddress,
|
|
77
66
|
coinType: order.tokenIn,
|
|
@@ -91,8 +80,7 @@ export async function getSuiSingleChainDcaOrderTransaction(
|
|
|
91
80
|
);
|
|
92
81
|
}
|
|
93
82
|
|
|
94
|
-
const spendingGasCoin =
|
|
95
|
-
normalizeSuiObjectId(order.tokenIn) === normalizeSuiObjectId(NATIVE_SUI_TOKEN_ADDRESS);
|
|
83
|
+
const spendingGasCoin = normalizeSuiObjectId(order.tokenIn) === normalizeSuiObjectId(NATIVE_SUI_TOKEN_ADDRESS);
|
|
96
84
|
|
|
97
85
|
const tx = new Transaction();
|
|
98
86
|
const coinInArg = spendingGasCoin ? tx.gas : sourceTokenInCoins[0]!.coinObjectId;
|
|
@@ -110,9 +98,8 @@ export async function getSuiSingleChainDcaOrderTransaction(
|
|
|
110
98
|
const [coinIn] = tx.splitCoins(coinInArg, [totalAmountIn]);
|
|
111
99
|
|
|
112
100
|
// Get extra transfer amount - only first extra transfer is supported on Sui
|
|
113
|
-
const extraTransferAmount =
|
|
114
|
-
? BigInt(order.extraTransfers[0]!.amount)
|
|
115
|
-
: 0n;
|
|
101
|
+
const extraTransferAmount =
|
|
102
|
+
order.extraTransfers && order.extraTransfers.length > 0 ? BigInt(order.extraTransfers[0]!.amount) : 0n;
|
|
116
103
|
|
|
117
104
|
tx.moveCall({
|
|
118
105
|
package: SUI_PACKAGE_ID,
|
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
import { bcs, fromHex } from '@mysten/bcs';
|
|
2
|
-
import { normalizeStructTag, normalizeSuiAddress, normalizeSuiObjectId } from
|
|
2
|
+
import { normalizeStructTag, normalizeSuiAddress, normalizeSuiObjectId } from '@mysten/sui/utils';
|
|
3
3
|
import { Transaction } from '@mysten/sui/transactions';
|
|
4
4
|
import { ValidationError } from '../../errors/index.js';
|
|
5
5
|
import { createSuiClient } from './client.js';
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
SUI_PACKAGE_ID,
|
|
8
|
+
SUI_GUARD_COLLATERAL_TYPE,
|
|
9
|
+
SUI_GUARD_STABLECOIN_TYPE,
|
|
10
|
+
NATIVE_SUI_TOKEN_ADDRESS,
|
|
11
|
+
} from '../../constants.js';
|
|
7
12
|
import type { SingleChainOrder } from '../orders/single-chain.js';
|
|
8
|
-
import pkg from
|
|
13
|
+
import pkg from 'js-sha3';
|
|
9
14
|
const { keccak256 } = pkg;
|
|
10
15
|
/**
|
|
11
16
|
* Generates random U64 number
|
|
12
17
|
*/
|
|
13
18
|
export function getRandomU64Number() {
|
|
14
|
-
return BigInt(
|
|
15
|
-
.map(n => n.toString(16))
|
|
16
|
-
.join("")).toString();
|
|
19
|
+
return BigInt('0x' + [...crypto.getRandomValues(new Uint8Array(8))].map((n) => n.toString(16)).join('')).toString();
|
|
17
20
|
}
|
|
18
21
|
|
|
19
22
|
/**
|
|
@@ -31,34 +34,18 @@ export function getSecretHash(
|
|
|
31
34
|
extraTransferCoinOut?: string,
|
|
32
35
|
extraTransferReceiver?: string,
|
|
33
36
|
) {
|
|
34
|
-
const coinOutTypeBytes = Buffer.from(
|
|
35
|
-
normalizeStructTag(coinOutType).replace("0x", ""),
|
|
36
|
-
"utf8"
|
|
37
|
-
);
|
|
37
|
+
const coinOutTypeBytes = Buffer.from(normalizeStructTag(coinOutType).replace('0x', ''), 'utf8');
|
|
38
38
|
const receiverBytes = fromHex(normalizeSuiAddress(receiver));
|
|
39
39
|
|
|
40
|
-
let resBytes = [
|
|
41
|
-
...coinOutTypeBytes,
|
|
42
|
-
...receiverBytes,
|
|
43
|
-
];
|
|
40
|
+
let resBytes = [...coinOutTypeBytes, ...receiverBytes];
|
|
44
41
|
if (extraTransferCoinOut && extraTransferReceiver) {
|
|
45
|
-
const extraTransferCoinOutBytes = Buffer.from(
|
|
46
|
-
normalizeStructTag(extraTransferCoinOut).replace("0x", ""),
|
|
47
|
-
"utf8"
|
|
48
|
-
);
|
|
42
|
+
const extraTransferCoinOutBytes = Buffer.from(normalizeStructTag(extraTransferCoinOut).replace('0x', ''), 'utf8');
|
|
49
43
|
const extraTransferReceiverBytes = fromHex(normalizeSuiAddress(extraTransferReceiver));
|
|
50
44
|
|
|
51
|
-
resBytes = [
|
|
52
|
-
...resBytes,
|
|
53
|
-
...extraTransferCoinOutBytes,
|
|
54
|
-
...extraTransferReceiverBytes,
|
|
55
|
-
];
|
|
45
|
+
resBytes = [...resBytes, ...extraTransferCoinOutBytes, ...extraTransferReceiverBytes];
|
|
56
46
|
}
|
|
57
47
|
|
|
58
|
-
resBytes = [
|
|
59
|
-
...resBytes,
|
|
60
|
-
...bcs.u64().serialize(secretNumber).toBytes(),
|
|
61
|
-
];
|
|
48
|
+
resBytes = [...resBytes, ...bcs.u64().serialize(secretNumber).toBytes()];
|
|
62
49
|
|
|
63
50
|
return keccak256.array(resBytes);
|
|
64
51
|
}
|
|
@@ -75,7 +62,7 @@ export async function getSuiSingleChainLimitOrderTransaction(
|
|
|
75
62
|
order: SingleChainOrder,
|
|
76
63
|
secretHash: Uint8Array,
|
|
77
64
|
guardAddress: string,
|
|
78
|
-
client?: ReturnType<typeof createSuiClient
|
|
65
|
+
client?: ReturnType<typeof createSuiClient>,
|
|
79
66
|
): Promise<Transaction> {
|
|
80
67
|
const userAddress = order.user;
|
|
81
68
|
const suiClient = client || createSuiClient();
|
|
@@ -98,8 +85,7 @@ export async function getSuiSingleChainLimitOrderTransaction(
|
|
|
98
85
|
);
|
|
99
86
|
}
|
|
100
87
|
|
|
101
|
-
const spendingGasCoin =
|
|
102
|
-
normalizeSuiObjectId(order.tokenIn) === normalizeSuiObjectId(NATIVE_SUI_TOKEN_ADDRESS);
|
|
88
|
+
const spendingGasCoin = normalizeSuiObjectId(order.tokenIn) === normalizeSuiObjectId(NATIVE_SUI_TOKEN_ADDRESS);
|
|
103
89
|
|
|
104
90
|
const tx = new Transaction();
|
|
105
91
|
const coinInArg = spendingGasCoin ? tx.gas : sourceTokenInCoins[0]!.coinObjectId;
|
|
@@ -117,9 +103,8 @@ export async function getSuiSingleChainLimitOrderTransaction(
|
|
|
117
103
|
const [coinIn] = tx.splitCoins(coinInArg, [order.amountIn]);
|
|
118
104
|
|
|
119
105
|
// Get extra transfer amount - only first extra transfer is supported on Sui
|
|
120
|
-
const extraTransferAmount =
|
|
121
|
-
? BigInt(order.extraTransfers[0]!.amount)
|
|
122
|
-
: 0n;
|
|
106
|
+
const extraTransferAmount =
|
|
107
|
+
order.extraTransfers && order.extraTransfers.length > 0 ? BigInt(order.extraTransfers[0]!.amount) : 0n;
|
|
123
108
|
|
|
124
109
|
tx.moveCall({
|
|
125
110
|
package: SUI_PACKAGE_ID,
|
package/src/index.ts
CHANGED
|
@@ -22,6 +22,7 @@ export {
|
|
|
22
22
|
type ApiSingleChainOrder,
|
|
23
23
|
type ApiUserOrders,
|
|
24
24
|
type ChainOrderStatus,
|
|
25
|
+
type ApiIntentResponse,
|
|
25
26
|
isErrorApiResponse,
|
|
26
27
|
isSuccessApiResponse,
|
|
27
28
|
} from './types/api.js';
|
|
@@ -42,7 +43,7 @@ export { getSolanaOrdersWithLockedFunds } from './core/solana/inspect.js';
|
|
|
42
43
|
export {
|
|
43
44
|
getSolanaCrossChainOrderInstructions,
|
|
44
45
|
getSolanaSingleChainOrderInstructions,
|
|
45
|
-
type SolanaOrderInstructionResult
|
|
46
|
+
type SolanaOrderInstructionResult,
|
|
46
47
|
} from './core/solana/order-instructions.js';
|
|
47
48
|
export {
|
|
48
49
|
cancelCrossChainOrderInstructionsAsBytes,
|
|
@@ -115,4 +116,3 @@ export {
|
|
|
115
116
|
type CreateSolanaSingleChainDcaOrderIntentParams,
|
|
116
117
|
type CreateSolanaCrossChainOrderIntentParams,
|
|
117
118
|
} from './core/solana/intent-helpers.js';
|
|
118
|
-
|
package/src/types/api.ts
CHANGED
|
@@ -54,8 +54,17 @@ export type ApiUserOrders = {
|
|
|
54
54
|
singleChainLimitOrders: ApiSingleChainOrder[];
|
|
55
55
|
crossChainLimitOrders: ApiCrossChainOrder[];
|
|
56
56
|
};
|
|
57
|
+
/**
|
|
58
|
+
* Represents the response from an Intent API endpoint.
|
|
59
|
+
*/
|
|
60
|
+
export interface ApiIntentResponse {
|
|
61
|
+
/** Unique identifier for the created intent */
|
|
62
|
+
intentId: string;
|
|
57
63
|
|
|
58
|
-
|
|
64
|
+
/** JWT token used for authorization or subsequent requests */
|
|
65
|
+
jwt: string;
|
|
66
|
+
}
|
|
67
|
+
export type ValidResponseData = ApiUserOrders | string | ApiIntentResponse | null;
|
|
59
68
|
|
|
60
69
|
export type ApiResponse<T extends ValidResponseData = ValidResponseData> = {
|
|
61
70
|
success: boolean;
|
package/src/types/intent.ts
CHANGED
|
@@ -85,7 +85,6 @@ export type CrossChainUserIntentRequest = {
|
|
|
85
85
|
/** Sui-specific data */
|
|
86
86
|
Sui?: SuiPreparedData;
|
|
87
87
|
};
|
|
88
|
-
|
|
89
88
|
};
|
|
90
89
|
|
|
91
90
|
export type SingleChainUserIntentRequest = {
|
|
@@ -153,7 +152,10 @@ export type DcaSingleChainSolanaPreparedData = {
|
|
|
153
152
|
orderPubkey: string;
|
|
154
153
|
};
|
|
155
154
|
|
|
156
|
-
export type DcaSingleChainPreparedData =
|
|
155
|
+
export type DcaSingleChainPreparedData =
|
|
156
|
+
| DcaSingleChainEVMPreparedData
|
|
157
|
+
| DcaSingleChainSolanaPreparedData
|
|
158
|
+
| DcaSingleChainSuiPreparedData;
|
|
157
159
|
|
|
158
160
|
export type DcaSingleChainOrderPrepared = {
|
|
159
161
|
order: DcaSingleChainOrder;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { createHash } from
|
|
2
|
-
import type { ExtraTransfer } from
|
|
3
|
-
import { Parsers } from
|
|
1
|
+
import { createHash } from 'crypto';
|
|
2
|
+
import type { ExtraTransfer } from '../core/orders/common.js';
|
|
3
|
+
import { Parsers } from './parsers.js';
|
|
4
4
|
|
|
5
5
|
export function generateExecutionDetailsHash({
|
|
6
6
|
destChainId,
|
|
@@ -11,24 +11,26 @@ export function generateExecutionDetailsHash({
|
|
|
11
11
|
takeProfitMinOut,
|
|
12
12
|
extraTransfers,
|
|
13
13
|
}: {
|
|
14
|
-
destChainId: number
|
|
15
|
-
destinationAddress: string
|
|
16
|
-
tokenOut: string
|
|
17
|
-
amountOutMin: string
|
|
18
|
-
stopLossMaxOut?: string
|
|
19
|
-
takeProfitMinOut?: string
|
|
20
|
-
extraTransfers?: ExtraTransfer[]
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
14
|
+
destChainId: number;
|
|
15
|
+
destinationAddress: string;
|
|
16
|
+
tokenOut: string;
|
|
17
|
+
amountOutMin: string;
|
|
18
|
+
stopLossMaxOut?: string;
|
|
19
|
+
takeProfitMinOut?: string;
|
|
20
|
+
extraTransfers?: ExtraTransfer[];
|
|
21
|
+
}): string {
|
|
22
|
+
const executionDetails = JSON.stringify(
|
|
23
|
+
{
|
|
24
|
+
destChainId,
|
|
25
|
+
destinationAddress,
|
|
26
|
+
tokenOut,
|
|
27
|
+
amountOutMin,
|
|
28
|
+
stopLossMaxOut,
|
|
29
|
+
takeProfitMinOut,
|
|
30
|
+
extraTransfers,
|
|
31
|
+
},
|
|
32
|
+
Parsers.bigIntReplacer,
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
return '0x' + createHash('sha256').update(executionDetails).digest('hex');
|
|
34
36
|
}
|