@debridge-finance/intents-client 1.4.2 → 1.5.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/dist/index.d.mts +8 -1
- package/dist/index.d.ts +8 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -1
package/dist/index.d.mts
CHANGED
|
@@ -3242,6 +3242,11 @@ type IntentsProgram = {
|
|
|
3242
3242
|
};
|
|
3243
3243
|
declare const IDL: IntentsProgram;
|
|
3244
3244
|
|
|
3245
|
+
declare enum SignatureType {
|
|
3246
|
+
RawBytes = 0,
|
|
3247
|
+
HexString = 1,
|
|
3248
|
+
Invalid = 65535
|
|
3249
|
+
}
|
|
3245
3250
|
type AddressType = Buffer<ArrayBuffer | ArrayBufferLike>;
|
|
3246
3251
|
type Any = "any";
|
|
3247
3252
|
type AnyOr<T> = T | "any";
|
|
@@ -3290,7 +3295,7 @@ interface IntentType {
|
|
|
3290
3295
|
preInteractions?: PublicKey;
|
|
3291
3296
|
postInteractions?: PublicKey;
|
|
3292
3297
|
validationRules?: Buffer;
|
|
3293
|
-
|
|
3298
|
+
executionMetadata?: Buffer;
|
|
3294
3299
|
srcAllowedCancelBeneficiary?: AddressType[];
|
|
3295
3300
|
dstAuthorityAddress: ReceiverInfo[];
|
|
3296
3301
|
externalCallHash?: Buffer | Any;
|
|
@@ -3541,6 +3546,7 @@ declare class IntentsClient {
|
|
|
3541
3546
|
programId: PublicKey;
|
|
3542
3547
|
recordProgramId?: PublicKey;
|
|
3543
3548
|
});
|
|
3549
|
+
static getSignatureType(message: Buffer, signature: Buffer, signerKey: PublicKey): SignatureType;
|
|
3544
3550
|
private getSpace;
|
|
3545
3551
|
getState(connection: Connection): Promise<State | null>;
|
|
3546
3552
|
getIntentStorage(connection: Connection, intentId: Buffer): Promise<IntentStorage | null>;
|
|
@@ -3612,6 +3618,7 @@ declare class Intent implements Serializable {
|
|
|
3612
3618
|
buffer: Buffer;
|
|
3613
3619
|
rawHash: Buffer;
|
|
3614
3620
|
};
|
|
3621
|
+
static deserialize(buffer: Buffer, owner: PublicKey): Intent | null;
|
|
3615
3622
|
}
|
|
3616
3623
|
|
|
3617
3624
|
export { DEFAULT_RECORD_OFFSET, IDL, Intent, IntentProgramSigPrefix, IntentsClient };
|
package/dist/index.d.ts
CHANGED
|
@@ -3242,6 +3242,11 @@ type IntentsProgram = {
|
|
|
3242
3242
|
};
|
|
3243
3243
|
declare const IDL: IntentsProgram;
|
|
3244
3244
|
|
|
3245
|
+
declare enum SignatureType {
|
|
3246
|
+
RawBytes = 0,
|
|
3247
|
+
HexString = 1,
|
|
3248
|
+
Invalid = 65535
|
|
3249
|
+
}
|
|
3245
3250
|
type AddressType = Buffer<ArrayBuffer | ArrayBufferLike>;
|
|
3246
3251
|
type Any = "any";
|
|
3247
3252
|
type AnyOr<T> = T | "any";
|
|
@@ -3290,7 +3295,7 @@ interface IntentType {
|
|
|
3290
3295
|
preInteractions?: PublicKey;
|
|
3291
3296
|
postInteractions?: PublicKey;
|
|
3292
3297
|
validationRules?: Buffer;
|
|
3293
|
-
|
|
3298
|
+
executionMetadata?: Buffer;
|
|
3294
3299
|
srcAllowedCancelBeneficiary?: AddressType[];
|
|
3295
3300
|
dstAuthorityAddress: ReceiverInfo[];
|
|
3296
3301
|
externalCallHash?: Buffer | Any;
|
|
@@ -3541,6 +3546,7 @@ declare class IntentsClient {
|
|
|
3541
3546
|
programId: PublicKey;
|
|
3542
3547
|
recordProgramId?: PublicKey;
|
|
3543
3548
|
});
|
|
3549
|
+
static getSignatureType(message: Buffer, signature: Buffer, signerKey: PublicKey): SignatureType;
|
|
3544
3550
|
private getSpace;
|
|
3545
3551
|
getState(connection: Connection): Promise<State | null>;
|
|
3546
3552
|
getIntentStorage(connection: Connection, intentId: Buffer): Promise<IntentStorage | null>;
|
|
@@ -3612,6 +3618,7 @@ declare class Intent implements Serializable {
|
|
|
3612
3618
|
buffer: Buffer;
|
|
3613
3619
|
rawHash: Buffer;
|
|
3614
3620
|
};
|
|
3621
|
+
static deserialize(buffer: Buffer, owner: PublicKey): Intent | null;
|
|
3615
3622
|
}
|
|
3616
3623
|
|
|
3617
3624
|
export { DEFAULT_RECORD_OFFSET, IDL, Intent, IntentProgramSigPrefix, IntentsClient };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var anchor=require('@coral-xyz/anchor'),solanaUtils=require('@debridge-finance/solana-utils'),web3_js=require('@solana/web3.js'),splToken=require('@solana/spl-token'),splRecord=require('@solana/spl-record'),jsSha3=require('js-sha3');var R={address:"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE",metadata:{name:"intentsProgram",version:"0.0.0",spec:"0.1.0",description:"deBridge Intents Program"},instructions:[{name:"about",discriminator:[62,111,52,44,118,185,179,229],accounts:[],args:[]},{name:"approveProtocolTransfers",discriminator:[17,3,184,144,112,130,116,98],accounts:[{name:"maker",signer:true},{name:"state",pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}},{name:"tokenProgram"}],args:[{name:"amounts",type:{vec:"u64"}}]},{name:"cancelIntent",discriminator:[67,73,238,244,208,89,225,59],accounts:[{name:"initiator",signer:true},{name:"intentStorage",writable:true},{name:"state"}],args:[]},{name:"closeAccount",discriminator:[125,255,149,14,110,34,72,24],accounts:[{name:"programAuthority",signer:true,address:"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE"},{name:"target",writable:true},{name:"rentReceiver",writable:true}],args:[]},{name:"closeIntent",discriminator:[112,245,154,249,57,126,54,122],accounts:[{name:"initiator",signer:true},{name:"maker",docs:["CHECK"]},{name:"makerInfo",writable:true,pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"rentPayer",writable:true},{name:"intentStorage",writable:true},{name:"state"},{name:"systemProgram",address:"11111111111111111111111111111111"}],args:[]},{name:"collectFee",discriminator:[60,173,247,103,4,93,130,48],accounts:[{name:"feeCollector",signer:true,relations:["state"]},{name:"state",pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}},{name:"feeLedger",writable:true,pda:{seeds:[{kind:"account",path:"state"},{kind:"account",path:"tokenProgram"},{kind:"account",path:"mint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"destination",writable:true},{name:"mint"},{name:"tokenProgram"}],args:[{name:"amount",type:"u64"}]},{name:"executeIntent",discriminator:[53,130,47,154,227,220,122,212],accounts:[{name:"taker",writable:true,signer:true},{name:"state"},{name:"maker",relations:["intentStorage"]},{name:"makerInfo",writable:true,pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"intentStorage",writable:true},{name:"intentGiveToken",writable:true,pda:{seeds:[{kind:"account",path:"intentStorage"},{kind:"account",path:"tokenProgram"},{kind:"account",path:"tokenMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"dlnSrc",address:"srch38nzfcgwJnfKE6xWD8vfNJtudazwisdcociAuQt"},{name:"dlnSrcState"},{name:"dlnSrcGiveOrderState",writable:true},{name:"dlnSrcGiveOrderWallet",writable:true},{name:"dlnSrcAuthorizedNativeSender"},{name:"dlnSrcFeeLedgerWallet",writable:true},{name:"tokenMint"},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"tokenProgram"},{name:"associatedTokenProgram",address:"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"dlnOrderArgs",type:{defined:{name:"createOrderArgs"}}},{name:"dlnOrderNonce",type:"u64"},{name:"dlnMetadata",type:"bytes"},{name:"tradeId",type:{array:["u8",32]}}]},{name:"executeIntent2",discriminator:[57,145,38,151,5,101,106,72],accounts:[{name:"taker",writable:true,signer:true},{name:"state",pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}},{name:"maker",writable:true,relations:["intentStorage"]},{name:"makerInfo",writable:true,pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"intentStorage",writable:true},{name:"intentTakeToken",writable:true,pda:{seeds:[{kind:"account",path:"intentStorage"},{kind:"account",path:"tokenProgram"},{kind:"account",path:"tokenMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"feeLedger",writable:true,pda:{seeds:[{kind:"account",path:"state"},{kind:"account",path:"tokenProgram"},{kind:"account",path:"tokenMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"receiver"},{name:"receiverTakeToken",writable:true},{name:"tokenMint"},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"tokenProgram"},{name:"associatedTokenProgram",address:"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"amount",type:"u64"},{name:"tradeId",type:{array:["u8",32]}}]},{name:"initIntent",discriminator:[231,255,81,23,112,148,49,134],accounts:[{name:"maker",signer:true},{name:"rentPayer",writable:true,signer:true},{name:"state"},{name:"intentStorage",writable:true},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"space",type:"u32"},{name:"encodedIntentHash",type:{defined:{name:"encodedIntentHash"}}}]},{name:"initIntentByDelegate",discriminator:[85,140,35,112,240,67,16,40],accounts:[{name:"delegate",signer:true},{name:"maker",docs:["CHECK"]},{name:"makerInfo",writable:true,pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"rentPayer",writable:true,signer:true},{name:"state"},{name:"intentStorage",writable:true},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"space",type:"u32"},{name:"encodedIntentHash",type:{defined:{name:"encodedIntentHash"}}}]},{name:"initIntentByDelegateUsingSig",discriminator:[113,25,150,248,204,41,36,34],accounts:[{name:"delegate",docs:["CHECK"]},{name:"maker",docs:["CHECK"]},{name:"makerInfo",pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"rentPayer",writable:true,signer:true},{name:"state"},{name:"intentStorage",writable:true},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"space",type:"u32"},{name:"encodedIntentHash",type:{defined:{name:"encodedIntentHash"}}},{name:"signature",type:{array:["u8",64]}}]},{name:"initIntentUsingSig",discriminator:[163,186,238,179,190,181,19,185],accounts:[{name:"maker",docs:["CHECK"]},{name:"rentPayer",writable:true,signer:true},{name:"state"},{name:"intentStorage",writable:true},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"space",type:"u32"},{name:"encodedIntentHash",type:{defined:{name:"encodedIntentHash"}}},{name:"signature",type:{array:["u8",64]}}]},{name:"initState",discriminator:[124,213,73,136,80,37,141,54],accounts:[{name:"protocolAuthority",signer:true},{name:"programAuthority",signer:true,address:"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE"},{name:"rentPayer",writable:true,signer:true},{name:"state",writable:true,pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}},{name:"systemProgram",address:"11111111111111111111111111111111"}],args:[]},{name:"reallocState",discriminator:[67,181,233,214,215,148,245,126],accounts:[{name:"inner",accounts:[{name:"protocolAuthority",signer:true,relations:["state"]},{name:"state",writable:true,pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}}]},{name:"rentPayer",writable:true,signer:true},{name:"systemProgram",address:"11111111111111111111111111111111"}],args:[{name:"newSpace",type:"u32"}]},{name:"setCancelUntilTimestamp",discriminator:[206,248,194,176,4,206,30,228],accounts:[{name:"inner",accounts:[{name:"protocolAuthority",signer:true,relations:["state"]},{name:"state",writable:true,pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}}]}],args:[{name:"cancelUntilTimestamp",type:"u64"}]},{name:"setDefaultFee",discriminator:[150,137,197,111,176,227,201,110],accounts:[{name:"inner",accounts:[{name:"protocolAuthority",signer:true,relations:["state"]},{name:"state",writable:true,pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}}]},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"defaultFeeBps",type:"u32"}]},{name:"setDelegateApprovedBudgets",discriminator:[82,182,181,250,30,186,95,15],accounts:[{name:"maker",signer:true},{name:"delegate"},{name:"rentPayer",writable:true,signer:true},{name:"makerInfo",writable:true,pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"state"},{name:"systemProgram",address:"11111111111111111111111111111111"}],args:[{name:"nonce",type:"u64"},{name:"approvedTokenBudgets",type:{defined:{name:"setApprovedTokenBudgets"}}}]},{name:"setDelegateApprovedBudgetsUsingSig",discriminator:[26,11,76,149,162,38,128,0],accounts:[{name:"maker"},{name:"delegate"},{name:"rentPayer",writable:true,signer:true},{name:"makerInfo",writable:true,pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"state"},{name:"systemProgram",address:"11111111111111111111111111111111"}],args:[{name:"nonce",type:"u64"},{name:"encodedApprovedTokenBudgets",type:"bytes"},{name:"signature",type:{array:["u8",64]}}]},{name:"setFeeCollector",discriminator:[143,46,10,113,121,157,245,166],accounts:[{name:"inner",accounts:[{name:"protocolAuthority",signer:true,relations:["state"]},{name:"state",writable:true,pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}}]}],args:[{name:"feeCollector",type:"pubkey"}]},{name:"setMakerCancelUntilTimestamp",discriminator:[144,42,186,107,205,215,55,229],accounts:[{name:"maker",signer:true},{name:"rentPayer",writable:true,signer:true},{name:"makerInfo",writable:true,pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"state"},{name:"systemProgram",address:"11111111111111111111111111111111"}],args:[{name:"cancelUntilTimestamp",type:"u64"}]},{name:"setPause",discriminator:[63,32,154,2,56,103,79,45],accounts:[{name:"inner",accounts:[{name:"protocolAuthority",signer:true,relations:["state"]},{name:"state",writable:true,pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}}]}],args:[{name:"pauseFlag",type:"bool"}]},{name:"setProtocolAuthority",discriminator:[96,162,46,152,72,147,175,176],accounts:[{name:"inner",accounts:[{name:"protocolAuthority",signer:true,relations:["state"]},{name:"state",writable:true,pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}}]},{name:"newProtocolAuthority",signer:true}],args:[]},{name:"swapBegin",discriminator:[87,236,193,120,215,245,9,37],accounts:[{name:"taker",writable:true,signer:true},{name:"state",pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}},{name:"maker",relations:["intentStorage"]},{name:"makerInfo",writable:true,pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"intentStorage",writable:true},{name:"inputMint"},{name:"outputMint"},{name:"makerInputToken",writable:true,pda:{seeds:[{kind:"account",path:"maker"},{kind:"account",path:"inputTokenProgram"},{kind:"account",path:"inputMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"takerInputToken",writable:true,pda:{seeds:[{kind:"account",path:"taker"},{kind:"account",path:"inputTokenProgram"},{kind:"account",path:"inputMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"takerOutputToken",writable:true,pda:{seeds:[{kind:"account",path:"taker"},{kind:"account",path:"outputTokenProgram"},{kind:"account",path:"outputMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"intentOutputToken",writable:true},{name:"instructions",address:"Sysvar1nstructions1111111111111111111111111"},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"inputTokenProgram"},{name:"outputTokenProgram"},{name:"associatedTokenProgram",address:"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"amount",type:"u64"},{name:"target",type:{defined:{name:"targetTokenAccount"}}},{name:"tradeId",type:{array:["u8",32]}}]},{name:"swapEnd",discriminator:[75,178,142,132,50,126,38,31],accounts:[{name:"taker",writable:true,signer:true},{name:"state",pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}},{name:"intentStorage",writable:true},{name:"inputMint"},{name:"outputMint"},{name:"takerOutputToken",writable:true,pda:{seeds:[{kind:"account",path:"taker"},{kind:"account",path:"outputTokenProgram"},{kind:"account",path:"outputMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"intentOutputToken",writable:true,pda:{seeds:[{kind:"account",path:"intentStorage"},{kind:"account",path:"outputTokenProgram"},{kind:"account",path:"outputMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"instructions",address:"Sysvar1nstructions1111111111111111111111111"},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"outputTokenProgram"},{name:"associatedTokenProgram",address:"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"expectedOutputTokenAmount",type:"u64"},{name:"takerSurplusShareBps",type:"u32"}]},{name:"updateIntent",discriminator:[214,203,249,158,90,27,54,17],accounts:[{name:"rentPayer",writable:true,signer:true},{name:"state"},{name:"intentStorage",writable:true},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"buffer",optional:true},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"dataOrigin",type:{defined:{name:"dataOrigin"}}}]},{name:"withdrawIntentTokenAccount",discriminator:[188,114,123,239,223,164,242,101],accounts:[{name:"state"},{name:"maker",docs:["CHECK"]},{name:"intentStorage"},{name:"intentTokenAccount",writable:true,pda:{seeds:[{kind:"account",path:"intentStorage"},{kind:"account",path:"tokenProgram"},{kind:"account",path:"tokenMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"makerTokenAccount",writable:true,pda:{seeds:[{kind:"account",path:"maker"},{kind:"account",path:"tokenProgram"},{kind:"account",path:"tokenMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"rentReceiver",writable:true},{name:"tokenMint"},{name:"tokenProgram"},{name:"associatedTokenProgram",address:"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"}],args:[{name:"encodedIntentHash",type:{option:{defined:{name:"encodedIntentHash"}}}}]}],accounts:[{name:"intentStorage",discriminator:[175,239,93,146,246,119,144,249]},{name:"makerInfo",discriminator:[164,184,52,218,144,52,100,40]},{name:"state",discriminator:[216,146,107,94,104,75,182,177]}],events:[{name:"closedIntent",discriminator:[197,62,20,42,191,176,242,94]},{name:"fulfilled",discriminator:[210,174,131,213,40,182,83,110]},{name:"fulfilledDln",discriminator:[42,231,52,35,155,251,144,108]},{name:"intentBudgetSpent",discriminator:[106,148,20,168,115,89,145,56]},{name:"newIntent",discriminator:[101,118,73,187,15,74,57,97]},{name:"sealedIntent",discriminator:[28,191,234,161,83,32,138,137]},{name:"swapped",discriminator:[217,52,52,83,147,135,96,109]}],errors:[{code:6160,name:"invalidArgument"},{code:6170,name:"invalidAmount"},{code:6172,name:"malformedRemainingAccounts"},{code:16782961,name:"protocolPaused"},{code:16782979,name:"timeParadox"},{code:6234,name:"unknownCaller"},{code:6236,name:"unknownCancelAuthority"},{code:6079,name:"signatureVerificationFailed"},{code:6085,name:"intentIdMiscalculated"},{code:6086,name:"intentFromAnotherChain"},{code:6087,name:"intentSameChainOnly"},{code:6088,name:"intentInconsistentInputTokens"},{code:6089,name:"intentInconsistentGiveTokens"},{code:6096,name:"intentInconsistentTakeTokens"},{code:6097,name:"intentInconsitentReceivers"},{code:6098,name:"intentInconsitentDstAuthorities"},{code:6275,name:"intentStorageAlreadyInitialized"},{code:6276,name:"intentHashMismatch"},{code:6277,name:"intentStorageSealed"},{code:6278,name:"missedBufferAccount"},{code:6288,name:"intentNotReady"},{code:6289,name:"intentCancelled"},{code:6290,name:"intentExpired"},{code:6291,name:"intentInvalidatedByUser"},{code:6292,name:"intentInvalidatedByProtocolAuthority"},{code:6293,name:"expectedClosedIntent"},{code:6294,name:"expectedCancelledIntent"},{code:9664,name:"tokenAccountMissingProtocolDelegate"},{code:9665,name:"unknownInputToken"},{code:9666,name:"inputTokenAmountOutOfRange"},{code:9667,name:"inputTokenAmountExceedsBudget"},{code:9680,name:"takerNotAllowed"},{code:9681,name:"unknownRoute"},{code:9682,name:"priceViolation"},{code:9683,name:"invalidReceiver"},{code:9684,name:"readonlyReceiver"},{code:6101,name:"missedNativeUnwrapFlag"},{code:9793,name:"invalidDlnOrderTakeAmount"},{code:9794,name:"invalidDlnDstReceiver"},{code:9802,name:"invalidDlnDstOrderAuthority"},{code:9803,name:"invalidDlnDstAllowedTaker"},{code:9804,name:"invalidDlnSrcAllowedCancelBeneficiary"},{code:9805,name:"invalidDlnMetadata"},{code:9806,name:"invalidDlnExtcallHash"},{code:9788,name:"cantBeClosed"},{code:9787,name:"invalidTokenAccountRentReceiver"},{code:9839,name:"intentArbitraryDataOverflow"},{code:8832,name:"takerMustBeFixedWhenExtcallAllowed"},{code:8833,name:"ambiguousReceivers"},{code:9600,name:"interactionAccountNotFound"},{code:9601,name:"interactionProgramNotFound"},{code:6239,name:"interactionFixedAccountNotFound"},{code:9536,name:"unknownDelegate"},{code:9537,name:"delegateNonceMismatchNext"},{code:9546,name:"delegateHasNoApproval"},{code:9547,name:"delegateExceedsApprovedBudget"},{code:9550,name:"delegateApprovalExpired"},{code:9551,name:"delegateRevoked"},{code:16767137,name:"crossProgramInvokeRestricted"},{code:16770159,name:"crossProgramInvokeHasIntentsProgramAccount"}],types:[{name:"address",type:{kind:"type",alias:{vec:"u8"}}},{name:"approvedTokenBudget",type:{kind:"struct",fields:[{name:"tokenMint",type:"pubkey"},{name:"approvedAmount",type:"u64"},{name:"expiration",type:"u64"}]}},{name:"closedIntent",type:{kind:"struct",fields:[{name:"status",type:{defined:{name:"closedIntentStatus"}}}]}},{name:"closedIntentStatus",repr:{kind:"rust"},type:{kind:"enum",variants:[{name:"wiped"},{name:"terminated"}]}},{name:"createOrderArgs",docs:["Structure for forming a new order"],type:{kind:"struct",fields:[{name:"giveOriginalAmount",docs:["Input amount for `create order` call, that will be transferred from the user's wallet.","The dln commissions will be deducted from it and the resulting value will be used as [`Order::give.amount`]"],type:"u64"},{name:"take",docs:["Offer to take in destination chain"],type:{defined:{name:"offer"}}},{name:"receiverDst",docs:["Address in dst chain","Address of receiver_dst of tokens in target chain","or","address of external call executor if `external_call` presented"],type:{defined:{name:"address"}}},{name:"extcall",docs:["External call for automatically execution in target chain after execution of order"],type:{option:"bytes"}},{name:"givePatchAuthoritySrc",docs:["Address in source chain","Can call `patch_order_give` method of src program"],type:"pubkey"},{name:"allowedCancelBeneficiarySrc",docs:["Address in source chain","If the field is `Some`, then only this address can receive cancel"],type:{option:"pubkey"}},{name:"orderAuthorityAddressDst",docs:["Address in destination chain","Can `send_order_cancel`, `process_fallback` and `patch_order_take`"],type:{defined:{name:"address"}}},{name:"allowedTakerDst",docs:["Address in destination chain","If the field is `Some`, then only this address can call `fulfill_order` with this","order"],type:{option:{defined:{name:"address"}}}}]}},{name:"currentTokenBudget",type:{kind:"struct",fields:[{name:"tokenMint",type:"pubkey"},{name:"approvedAmount",type:"u64"},{name:"expiration",type:"u64"},{name:"remainingAmount",type:"u64"}]}},{name:"dataOrigin",type:{kind:"enum",variants:[{name:"instruction",fields:["bytes"]},{name:"buffer",fields:[{name:"offset",type:"u32"},{name:"length",type:"u32"}]}]}},{name:"delegateBudgets",type:{kind:"enum",variants:[{name:"any"},{name:"perToken",fields:[{vec:{defined:{name:"currentTokenBudget"}}}]},{name:"revoked"}]}},{name:"delegateInfo",type:{kind:"struct",fields:[{name:"delegate",type:"pubkey"},{name:"nonce",type:"u64"},{name:"budgets",type:{defined:{name:"delegateBudgets"}}}]}},{name:"encodedIntentHash",type:{kind:"struct",fields:[{array:["u8",32]}]}},{name:"fulfilled",type:{kind:"struct",fields:[{name:"intentId",type:{defined:{name:"intentId"}}},{name:"tradeId",type:{array:["u8",32]}},{name:"executionMetadata",type:{option:"bytes"}},{name:"takeToken",type:"pubkey"},{name:"takeTokenAmount",type:"u64"},{name:"takeTokenFeeAmount",type:"u64"}]}},{name:"fulfilledDln",type:{kind:"struct",fields:[{name:"intentId",type:{defined:{name:"intentId"}}},{name:"executionMetadata",type:{option:"bytes"}},{name:"tradeId",type:{array:["u8",32]}},{name:"orderId",type:{defined:{name:"u256"}}},{name:"giveTokenFeeAmount",type:"u64"}]}},{name:"intentBudget",type:{kind:"struct",fields:[{name:"mintIndex",type:"u8"},{name:"remainingAmount",type:"u64"}]}},{name:"intentBudgetSpent",type:{kind:"struct",fields:[{name:"intentId",type:{defined:{name:"intentId"}}},{name:"tradeId",type:{array:["u8",32]}},{name:"executionMetadata",type:{option:"bytes"}},{name:"inputToken",type:"pubkey"},{name:"inputTokenSpentAmount",type:"u64"}]}},{name:"intentBudgets",type:{kind:"struct",fields:[{vec:{defined:{name:"intentBudget"}}}]}},{name:"intentId",type:{kind:"struct",fields:[{array:["u8",32]}]}},{name:"intentStorage",type:{kind:"struct",fields:[{name:"maker",type:"pubkey"},{name:"delegate",type:{option:"pubkey"}},{name:"rentPayer",type:"pubkey"},{name:"arbitraryData",type:{array:["u8",100]}},{name:"encodedIntentHash",type:{defined:{name:"encodedIntentHash"}}},{name:"version",type:"u8"},{name:"storedIntent",type:{defined:{name:"storedIntent"}}},{name:"bump",type:"u8"}]}},{name:"makerInfo",type:{kind:"struct",fields:[{name:"cancelUntilTimestamp",type:"u64"},{name:"delegates",type:{vec:{defined:{name:"delegateInfo"}}}}]}},{name:"newIntent",type:{kind:"struct",fields:[{name:"intentId",type:{defined:{name:"intentId"}}}]}},{name:"offer",type:{kind:"struct",fields:[{name:"chainId",type:{defined:{name:"u256"}}},{name:"tokenAddress",type:{defined:{name:"address"}}},{name:"amount",type:{defined:{name:"u256"}}}]}},{name:"sealedIntent",type:{kind:"struct",fields:[{name:"intentId",type:{defined:{name:"intentId"}}},{name:"encodedIntent",type:"bytes"}]}},{name:"setApprovedTokenBudgets",type:{kind:"enum",variants:[{name:"set",fields:[{vec:{defined:{name:"approvedTokenBudget"}}}]},{name:"setAny"},{name:"revoke"}]}},{name:"state",type:{kind:"struct",fields:[{name:"protocolAuthority",type:"pubkey"},{name:"feeCollector",type:"pubkey"},{name:"defaultFeeBps",type:"u32"},{name:"isPaused",type:"bool"},{name:"cancelUntilTimestamp",type:"u64"},{name:"bump",type:"u8"}]}},{name:"storedIntent",type:{kind:"enum",variants:[{name:"uninitialized"},{name:"ready",fields:[{name:"encodedIntent",type:"bytes"},{name:"budgets",type:{defined:{name:"intentBudgets"}}}]},{name:"cancelled",fields:[{name:"encodedIntent",type:"bytes"},{name:"budgets",type:{defined:{name:"intentBudgets"}}}]}]}},{name:"swapped",type:{kind:"struct",fields:[{name:"intentId",type:{defined:{name:"intentId"}}},{name:"tradeId",type:{array:["u8",32]}},{name:"executionMetadata",type:{option:"bytes"}},{name:"inputToken",type:"pubkey"},{name:"inputTokenAmount",type:"u64"},{name:"outputToken",type:"pubkey"},{name:"outputTokenAmount",type:"u64"},{name:"takerOutputTokenShareAmount",type:"u64"}]}},{name:"targetTokenAccount",type:{kind:"enum",variants:[{name:"taker"},{name:"intent"}]}},{name:"u256",type:{kind:"type",alias:{array:["u8",32]}}}],constants:[{name:"budgetsSigPrefix",type:"bytes",value:"[98, 117, 100, 103, 101, 116, 115]"},{name:"clockDriftToleranceSecs",type:"u64",value:"300"},{name:"defaultFeeBps",type:"u32",value:"8"},{name:"intentIdHashPrefix",docs:["Used **only** as sub-seed for [IntentId][`crate::types::IntentId`]"],type:"bytes",value:"[105, 110, 116, 101, 110, 116, 95, 105, 100]"},{name:"intentProgramSigPrefix",type:"bytes",value:"[105, 110, 116, 101, 110, 116, 115, 95, 112, 114, 111, 103, 114, 97, 109]"},{name:"intentSigPrefix",type:"bytes",value:"[105, 110, 116, 101, 110, 116, 115]"},{name:"intentStorageBaseSeed",type:"bytes",value:"[105, 110, 116, 101, 110, 116, 95, 115, 116, 111, 114, 97, 103, 101]"},{name:"interactionCallAuthority",type:"bytes",value:"[105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121]"},{name:"makerInfoSeed",type:"bytes",value:"[109, 97, 107, 101, 114, 95, 105, 110, 102, 111]"},{name:"stateSeed",type:"bytes",value:"[115, 116, 97, 116, 101]"},{name:"unwrapNativePseudoMint",type:"pubkey",value:"11111111111111111111111111111111"},{name:"unwrapNativeReceiverSeed",type:"bytes",value:"[117, 110, 119, 114, 97, 112, 95, 110, 97, 116, 105, 118, 101, 95, 114, 101, 99, 101, 105, 118, 101, 114]"}]};function N(m,e){let t;switch(e){case "u256":t=32;break;case "u64":t=8;break}return new anchor.BN(m.toString()).toArray("be",t)}var B=m=>{let e=[];return m?.limit&&e.push(web3_js.ComputeBudgetProgram.setComputeUnitLimit({units:m.limit})),m?.price&&e.push(web3_js.ComputeBudgetProgram.setComputeUnitPrice({microLamports:m.price})),e},k=({instructions:m,payer:e,blockhash:t,ALTs:a})=>new web3_js.VersionedTransaction(web3_js.MessageV0.compile({instructions:m,payerKey:e,recentBlockhash:t,addressLookupTableAccounts:a}));var he=(n=>(n.prod="intents_program",n.dubai="intents_program_dubai",n.hanoi="intents_program_hanoi",n.devnet="intents_program_devnet",n))(he||{}),C=splRecord.RECORD_META_DATA_SIZE,Y=class m{programId;idl;recordProgramId;_provider;_intentsProgram;_state;constructor(e,{programId:t,recordProgramId:a=splRecord.RECORD_PROGRAM_ID}){R.address=t.toString(),this.idl=R,this.programId=t,this.recordProgramId=a,this._provider=new anchor.AnchorProvider(e,{},{}),anchor.setProvider(this._provider),this._intentsProgram=new anchor.Program(R,this._provider),this._state=m.getStatePda(this._intentsProgram.programId);}getSpace(e,t){return 198+(1+e+(4+9*t))}async getState(e){let t=await e.getAccountInfo(this._state);if(!t)return null;let a=this._intentsProgram.coder.accounts.decode("state",t.data);return {...a,lastValidTimestamp:Number(a.lastValidTimestamp.toString())}}async getIntentStorage(e,t){let a=m.getIntentStoragePda(this._intentsProgram.programId,t),n=await e.getAccountInfo(a);return n?{...this._intentsProgram.coder.accounts.decode("intentStorage",n.data),intentId:t}:null}async getMakerInfo(e,t){let a=m.getMakerInfoPda(this._intentsProgram.programId,t),n=await e.getAccountInfo(a);return n?this._intentsProgram.coder.accounts.decode("makerInfo",n.data):null}async getNonceForDelegate(e,t,a){let n=await this.getMakerInfo(e,t);if(!n)return 0n;for(let i of n.delegates)if(i.delegate.toBase58()===a.toBase58())return BigInt(i.nonce.toString());return 0n}async approveProtocolTransfersIxs({maker:e,tokens:t,tokenProgram:a=splToken.TOKEN_PROGRAM_ID}){let{amounts:n,accounts:i}=t.reduce(({amounts:s,accounts:o},{mint:r,amount:d})=>({amounts:s.concat(new anchor.BN(d.toString())),accounts:o.concat({pubkey:splToken.getAssociatedTokenAddressSync(r,e,true,a),isSigner:false,isWritable:true})}),{amounts:[],accounts:[]});return [await this._intentsProgram.methods.approveProtocolTransfers(n).accountsStrict({maker:e,state:this._state,tokenProgram:a}).remainingAccounts(i).instruction()]}async cancelIntentIxs(e,t){return [await this._intentsProgram.methods.cancelIntent().accountsStrict({initiator:e,intentStorage:m.getIntentStoragePda(this._intentsProgram.programId,t),state:this._state}).instruction()]}async closeIntentIxs(e,t,a){return [await this._intentsProgram.methods.closeIntent().accountsStrict({initiator:e,rentPayer:t,intentStorage:m.getIntentStoragePda(this._intentsProgram.programId,a),state:this._state,systemProgram:web3_js.SystemProgram.programId,makerInfo:m.getMakerInfoPda(this._intentsProgram.programId,e),maker:e}).instruction()]}async executeIntentIxs({tradeId:e,intentId:t,taker:a,maker:n,tokenMint:i,dlnOrder:s,dlnMetadata:o,dlnSrc:r=new web3_js.PublicKey(solanaUtils.programs.dlnSrc),tokenProgram:d=splToken.TOKEN_PROGRAM_ID}){let c=solanaUtils.dlnSrcResolver(r).methods,[u]=c.getStateAccount(),[p]=c.getGiveOrderStateAccount(s.id),[l]=c.getGiveOrderWalletAddress(s.id),[f]=c.getAuthorizedNativeSenderAddress(Buffer.from(new anchor.BN(s.dstChainId.toString()).toArray("be",32))),[g]=c.getFeeLedgerWalletAddress(i),y=m.getIntentStoragePda(this._intentsProgram.programId,t),v=splToken.getAssociatedTokenAddressSync(i,y,true,d),b={giveOriginalAmount:new anchor.BN(s.args.giveOriginalAmount.toString()),take:{amount:N(s.args.take.amount,"u256"),chainId:N(s.args.take.chainId,"u256"),tokenAddress:Array.from(s.args.take.tokenAddress)},receiverDst:Array.from(s.args.receiver),extcall:s.args.externalCall?.externalCallData?Buffer.from(s.args.externalCall.externalCallData):null,givePatchAuthoritySrc:s.args.givePatchAuthority,orderAuthorityAddressDst:Array.from(s.args.orderAuthorityDstAddress),allowedCancelBeneficiarySrc:s.args.allowedCancelBeneficiary,allowedTakerDst:s.args.allowedTaker?Array.from(s.args.allowedTaker):null};return [await this._intentsProgram.methods.executeIntent(b,new anchor.BN(s.nonce.toString()),o??Buffer.from([]),Array.from(e)).accountsStrict({taker:a,state:this._state,intentStorage:y,maker:n,makerInfo:m.getMakerInfoPda(this._intentsProgram.programId,n),intentGiveToken:v,dlnSrc:r,dlnSrcState:u,dlnSrcGiveOrderState:p,dlnSrcGiveOrderWallet:l,dlnSrcAuthorizedNativeSender:f,dlnSrcFeeLedgerWallet:g,tokenMint:i,systemProgram:web3_js.SystemProgram.programId,tokenProgram:d,associatedTokenProgram:splToken.ASSOCIATED_TOKEN_PROGRAM_ID,eventAuthority:m.getEventAuthorityPda(this._intentsProgram.programId),program:this._intentsProgram.programId}).instruction()]}async executeSameChainIntentIxs({tradeId:e,intentId:t,taker:a,maker:n,tokenMint:i,receiver:s,amount:o,tokenProgram:r=splToken.TOKEN_PROGRAM_ID,unwrapTakeToken:d}){let c=false,u,p=m.getIntentStoragePda(this._intentsProgram.programId,t),l=splToken.getAssociatedTokenAddressSync(i,p,true,r);d&&i.toBase58()===splToken.NATIVE_MINT.toBase58()?(u=m.getNativePda(this._intentsProgram.programId),c=true):u=splToken.getAssociatedTokenAddressSync(i,s,true,r);let f=splToken.getAssociatedTokenAddressSync(i,this._state,true,r),g=await this._intentsProgram.methods.executeIntent2(new anchor.BN(o.toString()),Array.from(e)).accountsStrict({taker:a,state:this._state,maker:n,receiver:s,makerInfo:m.getMakerInfoPda(this._intentsProgram.programId,n),intentStorage:p,intentTakeToken:l,feeLedger:f,receiverTakeToken:u,tokenMint:i,systemProgram:web3_js.SystemProgram.programId,tokenProgram:r,associatedTokenProgram:splToken.ASSOCIATED_TOKEN_PROGRAM_ID,eventAuthority:m.getEventAuthorityPda(this._intentsProgram.programId),program:this._intentsProgram.programId}).instruction();if(c){let y=g.keys.findIndex(v=>v.pubkey==s);g.keys[y].isWritable=true;}return [g]}async initIntentIxs(e,t,a=null,n,i,s,o){let r=this.getSpace(s,o);return [await(a?this._intentsProgram.methods.initIntentByDelegate(r,{0:Array.from(i)}):this._intentsProgram.methods.initIntent(r,{0:Array.from(i)})).accountsStrict({maker:e,...a&&{delegate:a,makerInfo:m.getMakerInfoPda(this._intentsProgram.programId,e)},rentPayer:t,state:this._state,intentStorage:m.getIntentStoragePda(this._intentsProgram.programId,n),systemProgram:web3_js.SystemProgram.programId,eventAuthority:m.getEventAuthorityPda(this._intentsProgram.programId),program:this._intentsProgram.programId}).instruction()]}async initIntentUsingSigIxs(e,t,a=null,n,i,s,o,r){let d=this.getSpace(s,o);return [await(a?this._intentsProgram.methods.initIntentByDelegateUsingSig(d,{0:Array.from(i)},Array.from(r)):this._intentsProgram.methods.initIntentUsingSig(d,{0:Array.from(i)},Array.from(r))).accountsStrict({...a&&{delegate:a,makerInfo:m.getMakerInfoPda(this._intentsProgram.programId,e)},maker:e,rentPayer:t,state:this._state,intentStorage:m.getIntentStoragePda(this._intentsProgram.programId,n),systemProgram:web3_js.SystemProgram.programId,eventAuthority:m.getEventAuthorityPda(this._intentsProgram.programId),program:this._intentsProgram.programId}).instruction()]}async setDelegateApprovedBudgetsIxs({maker:e,payer:t,delegate:a,nonce:n,tokens:i,signature:s}){let o=m.getDelegateApprovedBudgetsArgs(i),r=this._intentsProgram.coder.types.encode("setApprovedTokenBudgets",o);return [await(s?this._intentsProgram.methods.setDelegateApprovedBudgetsUsingSig(new anchor.BN(n.toString()),r,Array.from(s)):this._intentsProgram.methods.setDelegateApprovedBudgets(new anchor.BN(n.toString()),o)).accountsStrict({maker:e,delegate:a,rentPayer:t,state:this._state,makerInfo:m.getMakerInfoPda(this._intentsProgram.programId,e),systemProgram:web3_js.SystemProgram.programId}).instruction()]}async setMakerCancelUntilTimestampIxs({maker:e,payer:t,timestamp:a}){return [await this._intentsProgram.methods.setMakerCancelUntilTimestamp(new anchor.BN(a.toString())).accountsStrict({maker:e,rentPayer:t,state:this._state,makerInfo:m.getMakerInfoPda(this._intentsProgram.programId,e),systemProgram:web3_js.SystemProgram.programId}).instruction()]}async swapBeginIxs({taker:e,maker:t,intentId:a,tradeId:n,beginAmount:i,target:s,inputMint:o,outputMint:r,inputTokenProgram:d=splToken.TOKEN_PROGRAM_ID,outputTokenProgram:c=splToken.TOKEN_PROGRAM_ID}){let u=m.getIntentStoragePda(this._intentsProgram.programId,a),p=splToken.getAssociatedTokenAddressSync(o,t,true,d),l=splToken.getAssociatedTokenAddressSync(o,e,true,d),f=splToken.getAssociatedTokenAddressSync(r,e,true,c),g=splToken.getAssociatedTokenAddressSync(r,u,true,c);return [await this._intentsProgram.methods.swapBegin(new anchor.BN(i.toString()),s==="intent"?{intent:{}}:{taker:{}},Array.from(n)).accountsStrict({taker:e,maker:t,state:this._state,intentStorage:u,inputMint:o,outputMint:r,makerInputToken:p,takerInputToken:l,takerOutputToken:f,intentOutputToken:g,instructions:web3_js.SYSVAR_INSTRUCTIONS_PUBKEY,systemProgram:web3_js.SystemProgram.programId,inputTokenProgram:d,outputTokenProgram:c,associatedTokenProgram:splToken.ASSOCIATED_TOKEN_PROGRAM_ID,makerInfo:m.getMakerInfoPda(this._intentsProgram.programId,t),eventAuthority:m.getEventAuthorityPda(this._intentsProgram.programId),program:this._intentsProgram.programId}).instruction()]}async swapEndIxs({taker:e,intentId:t,endAmount:a,bps:n,inputMint:i,outputMint:s,outputTokenProgram:o=splToken.TOKEN_PROGRAM_ID}){let r=m.getIntentStoragePda(this._intentsProgram.programId,t),d=splToken.getAssociatedTokenAddressSync(s,e,true,o),c=splToken.getAssociatedTokenAddressSync(s,r,true,o);return [await this._intentsProgram.methods.swapEnd(new anchor.BN(a.toString()),n).accountsStrict({taker:e,state:this._state,intentStorage:r,inputMint:i,outputMint:s,takerOutputToken:d,intentOutputToken:c,instructions:web3_js.SYSVAR_INSTRUCTIONS_PUBKEY,systemProgram:web3_js.SystemProgram.programId,outputTokenProgram:o,associatedTokenProgram:splToken.ASSOCIATED_TOKEN_PROGRAM_ID,eventAuthority:m.getEventAuthorityPda(this._intentsProgram.programId),program:this._intentsProgram.programId}).instruction()]}async updateIntentIxs({payer:e,record:t,id:a,offset:n,length:i,data:s}){let o=m.getIntentStoragePda(this._intentsProgram.programId,a);return [await this._intentsProgram.methods.updateIntent(s?{instruction:[s]}:{buffer:{offset:n,length:i}}).accountsStrict({rentPayer:e,state:this._state,intentStorage:o,systemProgram:web3_js.SystemProgram.programId,buffer:t??null,eventAuthority:m.getEventAuthorityPda(this._intentsProgram.programId),program:this._intentsProgram.programId}).instruction()]}async withdrawIntentTokenAccountIxs({maker:e,receiver:t,id:a,encodedIntentHash:n,tokenMint:i,tokenProgram:s=splToken.TOKEN_PROGRAM_ID}){t||(t=e);let o=m.getIntentStoragePda(this._intentsProgram.programId,a),r=splToken.getAssociatedTokenAddressSync(i,o,true,s),d=splToken.getAssociatedTokenAddressSync(i,e,true,s);return [await this._intentsProgram.methods.withdrawIntentTokenAccount({0:Array.from(n)}).accountsStrict({state:this._state,maker:e,intentStorage:o,intentTokenAccount:r,makerTokenAccount:d,rentReceiver:t,tokenMint:i,tokenProgram:s,associatedTokenProgram:splToken.ASSOCIATED_TOKEN_PROGRAM_ID}).instruction()]}closeRecordIxs({record:e,authority:t,receiver:a}){return a||(a=t),[splRecord.createCloseAccountInstruction(e,t,a,this.recordProgramId)]}writeRecordIxs({authority:e,record:t,buffer:a,offset:n}){return [splRecord.createWriteInstruction(t,e,BigInt(n),a,this.recordProgramId)]}async reallocRecordIxs({authority:e,payer:t,record:a,buffer:n,offset:i}){t||(t=e);let s=await this._provider.connection.getAccountInfo(a);if(!s)throw new Error("Record account not found");let o=s.lamports,r=s.data.length,d=i+n.length,c=[];if(d>r){let p=await this._provider.connection.getMinimumBalanceForRentExemption(d+1)-o,l=web3_js.SystemProgram.transfer({fromPubkey:t,toPubkey:a,lamports:p});c.push(l);let f=splRecord.createReallocateInstruction(a,e,BigInt(d-C),this.recordProgramId);c.push(f);}return c}async initIntentTxs({maker:e,payer:t,delegate:a,intent:n,signature:i,blockhash:s,ALTs:o,computeBudget:r}){t||(t=e);let d,c=web3_js.Keypair.generate(),u=n.data,p=C+u.length,l=await this._provider.connection.getMinimumBalanceForRentExemption(p+1),f=B(r);i?d=await this.initIntentUsingSigIxs(e,t,a??null,n.id,n.hash,u.length,n.inputTokensLength,i):d=await this.initIntentIxs(e,t,a??null,n.id,n.hash,u.length,n.inputTokensLength);let g=web3_js.SystemProgram.createAccount({fromPubkey:t,newAccountPubkey:c.publicKey,lamports:l,space:p,programId:this.recordProgramId}),y=splRecord.createInitializeInstruction(c.publicKey,t,this.recordProgramId),v=k({instructions:[...f,...d,g,y],payer:t,blockhash:s,ALTs:o});return {record:c,txs:[v]}}async writeIntentTxs({maker:e,payer:t,record:a,intent:n,blockhash:i,ALTs:s,computeBudget:o}){t||(t=e);let r=[],d=n.data,c=d.length,u=B(o),p=this.closeRecordIxs({record:a,authority:t,receiver:t}),l=k({instructions:[...u,...await this.updateIntentIxs({payer:t,id:n.id,data:d}),...p],payer:t,blockhash:i,ALTs:s}),f=solanaUtils.txs.getTransactionSize(l);if(f&&f<=solanaUtils.constants.MAX_TX_SIZE)return [l];let g=0,y=[];for(;g<c;){let S,U=[...u],L=1,G=c-g,V=[],Z=0;for(;L<=G;){let H=Math.floor((L+G)/2),j=d.subarray(g,g+H);S=this.writeRecordIxs({authority:t,record:a,buffer:j,offset:g});let ee=k({instructions:[...U,...S],payer:t,blockhash:i,ALTs:s}),q=solanaUtils.txs.getTransactionSize(ee);q&&q<=solanaUtils.constants.MAX_TX_SIZE?(V=S,Z=H,L=H+1):G=H-1;}U.push(...V),y=U;let Q=k({instructions:U,payer:t,blockhash:i,ALTs:s});r.push(Q),g+=Z;}let b=[...await this.updateIntentIxs({record:a,payer:t,id:n.id,offset:C,length:c}),...p],D=[...y,...b],M=k({instructions:D,payer:t,blockhash:i,ALTs:s}),w=solanaUtils.txs.getTransactionSize(M);if(w&&w<=solanaUtils.constants.MAX_TX_SIZE)r[r.length-1]=M;else {let S=k({instructions:b,payer:t,blockhash:i,ALTs:s});r.push(S);}return r}async createIntentTxs({maker:e,payer:t,delegate:a,intent:n,signature:i,blockhash:s,ALTs:o,computeBudget:r}){let{record:d,txs:c}=await this.initIntentTxs({maker:e,payer:t,delegate:a,intent:n,signature:i,blockhash:s,ALTs:o,computeBudget:r}),u=await this.writeIntentTxs({maker:e,payer:t,record:d.publicKey,intent:n,blockhash:s,ALTs:o,computeBudget:r});return {init:c,write:u,record:d}}async createAndUpdateIntentTxs({maker:e,payer:t,delegate:a,intent:n,signature:i,blockhash:s,ALTs:o,computeBudget:r}){t||(t=e);let d,c,u=B(r);i?d=await this.initIntentUsingSigIxs(e,t,a,n.id,n.hash,n.data?n.data.length:n.length,n.inputTokensLength,i):d=await this.initIntentIxs(e,t,a,n.id,n.hash,n.data?n.data.length:n.length,n.inputTokensLength),n.data?c=await this.updateIntentIxs({payer:t,id:n.id,data:n.data}):c=await this.updateIntentIxs({payer:t,record:n.record,id:n.id,offset:C+n.offset,length:n.length});let p=k({instructions:[...u,...d,...c],payer:t,blockhash:s,ALTs:o}),l=solanaUtils.txs.getTransactionSize(p);if(l&&l>solanaUtils.constants.MAX_TX_SIZE)throw new Error(`Tx size is ${l}, should be less than ${solanaUtils.constants.MAX_TX_SIZE}`);return [p]}async updateRecordTxs({authority:e,payer:t,record:a,serializedIntent:n,offset:i=C,blockhash:s,ALTs:o,computeBudget:r}){if(t||(t=e),i<C)throw new Error(`Offset can't be less than ${C}`);let d=[],c=n.length,u=await this.reallocRecordIxs({authority:e,payer:t,record:a,buffer:n,offset:i}),p=B(r),l=0;for(;l<c;){let f,g=[...p,...l===0?u:[]],y=1,v=c-l,b=[],D=0;for(;y<=v;){let w=Math.floor((y+v)/2),S=n.subarray(l,l+w);f=this.writeRecordIxs({authority:t,record:a,buffer:S,offset:l});let U=k({instructions:[...g,...f],payer:t,blockhash:s,ALTs:o}),L=solanaUtils.txs.getTransactionSize(U);L&&L<=solanaUtils.constants.MAX_TX_SIZE?(b=f,D=w,y=w+1):v=w-1;}g.push(...b);let M=k({instructions:g,payer:t,blockhash:s,ALTs:o});d.push(M),l+=D;}return d}async cancelIntentTxs({maker:e,payer:t,id:a,encodedIntentHash:n,tokenMint:i,tokenProgram:s=splToken.TOKEN_PROGRAM_ID,blockhash:o,ALTs:r,computeBudget:d}){t||(t=e);let c=B(d),u=await this.cancelIntentIxs(e,a);if(c.push(...u),i){let l=await this.withdrawIntentTokenAccountIxs({maker:e,receiver:t,id:a,encodedIntentHash:n,tokenMint:i,tokenProgram:s});c.push(...l);}return [k({instructions:c,payer:t,blockhash:o,ALTs:r})]}async closeIntentTxs({maker:e,payer:t,receiver:a,id:n,tokenMint:i,tokenProgram:s=splToken.TOKEN_PROGRAM_ID,blockhash:o,ALTs:r,computeBudget:d}){t||(t=e);let c=B(d),u=await this.closeIntentIxs(e,a??e,n);return c.push(...u),[k({instructions:c,payer:t,blockhash:o,ALTs:r})]}async swapTxs({taker:e,maker:t,intentId:a,tradeId:n,inputMint:i,outputMint:s,beginAmount:o,endAmount:r,bps:d,target:c,inputTokenProgram:u=splToken.TOKEN_PROGRAM_ID,outputTokenProgram:p=splToken.TOKEN_PROGRAM_ID,instructions:l=[],lastInstructions:f=[],computeBudget:g,payer:y,blockhash:v,ALTs:b}){y||(y=e);let D=B(g),M=await this.swapBeginIxs({taker:e,maker:t,intentId:a,tradeId:n,inputMint:i,outputMint:s,beginAmount:o,target:c,inputTokenProgram:u,outputTokenProgram:p}),w=await this.swapEndIxs({taker:e,intentId:a,endAmount:r,bps:d,inputMint:i,outputMint:s,outputTokenProgram:p});return [k({instructions:[...D,...M,...l,...w,...f],payer:y,blockhash:v,ALTs:b})]}static getStatePda(e){let[t]=web3_js.PublicKey.findProgramAddressSync([Buffer.from("state")],e);return t}static getIntentStoragePda(e,t){let[a]=web3_js.PublicKey.findProgramAddressSync([Buffer.from("intent_storage"),t],e);return a}static getMakerInfoPda(e,t){let[a]=web3_js.PublicKey.findProgramAddressSync([Buffer.from("maker_info"),t.toBuffer()],e);return a}static getDelegatesPda(e,t){let[a]=web3_js.PublicKey.findProgramAddressSync([Buffer.from("user_delegates"),t.toBuffer()],e);return a}static getEventAuthorityPda(e){let[t]=web3_js.PublicKey.findProgramAddressSync([Buffer.from("__event_authority")],e);return t}static getNativePda(e){let[t]=web3_js.PublicKey.findProgramAddressSync([Buffer.from("unwrap_native_receiver")],e);return t}static getBufferForIntentSignature(e,t="intents_program",a=solanaUtils.constants.SOLANA_CHAIN_ID){let n=Buffer.alloc(4);n.writeUInt32LE(a,0);let i=Buffer.from([105,110,116,101,110,116,115]);return Buffer.concat([Buffer.from(t),n,i,e])}static getDelegateApprovedBudgetsArgs(e){let t;return "set"in e?t={set:{0:e.set.map(({tokenMint:a,approvedAmount:n,expiration:i})=>({tokenMint:a,approvedAmount:new anchor.BN(n.toString()),expiration:new anchor.BN(i.toString())}))}}:"setAny"in e?t={setAny:{}}:t={revoke:{}},t}static getBufferForBudgetSignature(e,t,a,n="intents_program",i=solanaUtils.constants.SOLANA_CHAIN_ID){let s=m.getDelegateApprovedBudgetsArgs(a),r=new anchor.BorshCoder(R).types.encode("setApprovedTokenBudgets",s),d=Buffer.alloc(4);d.writeUInt32LE(i,0);let c=Buffer.from([98,117,100,103,101,116,115]);return Buffer.concat([Buffer.from(n),d,c,e.toBuffer(),Buffer.from(new anchor.BN(t.toString()).toArray("le",8)),r])}};var K=class{addresses;lookupMap=new Map;constructor(e){this.addresses=e.map(t=>Buffer.from(t));}lookupIndex(e){let t=e.toString("hex"),a=this.lookupMap.get(t);if(a===void 0)throw new Error(`Address ${t} not found in AddressesList`);return a}serialize(){let e=new Map;for(let o of this.addresses){let r=e.get(o.length);r===void 0?e.set(o.length,[o]):r.push(o);}let t=Array.from(e.keys()).sort(),a=Buffer.alloc(t.reduce((o,r)=>o+e.get(r).length*r,0)+t.length*2+1);a[0]=t.length;let n=1,i=1+t.length*2,s=0;for(let o of t){let r=e.get(o).sort((c,u)=>c.compare(u));for(let c of r)this.lookupMap.set(c.toString("hex"),s),s+=1;a[n]=o,n+=1,a[n]=r.length,n+=1;let d=Buffer.concat(r);a.set(d,i),i+=d.length;}return a}};var W=Buffer.from([1]),F=Buffer.from([0]),T=Buffer.from([0]),x=Buffer.from([1]),$=class{data;addressesList;serializedList;constructor(e){this.data=e,this.addressesList=this.buildAddressesListFromIntent(e),this.serializedList=this.addressesList.serialize();}buildAddressesListFromIntent(e){let t=new Set,a=r=>t.add(r.toString("hex")),n=r=>{if(r)for(let{address:d}of r)a(d);},i=r=>{if(r)for(let d of r)d.input!=="any"&&a(d.input),a(d.output);},s=r=>{if(r){for(let d of r)if(a(d.input),d.output!=="any")for(let c of d.output)c.token&&c.token!=="any"&&a(c.token);}};for(let r of e.inputTokens)a(r.token);i(e.giveTokens),s(e.takeTokens),n(e.receiverDetails),n(e.dstAuthorityAddress);let o=Array.from(t).map(r=>Buffer.from(r,"hex"));return new K(o)}serializeReceiversInfo(e){if(!e||e.length===0)return T;let t=e.map(({chainIds:n,address:i})=>{let s;if(n==="any")s=Buffer.alloc(2),s.writeUInt8(this.addressesList.lookupIndex(i),0),s.writeUInt8(1,1);else {s=Buffer.alloc(3+n.length*4),s.writeUInt8(this.addressesList.lookupIndex(i),0),s.writeUInt8(0,1),s.writeUInt8(n.length,2);for(let[o,r]of n.entries())s.writeUInt32LE(r,3+o*4);}return s}),a=Buffer.alloc(1);return a.writeUInt8(t.length,0),Buffer.concat([a,...t])}serializeInputTokens(){let e=this.data.inputTokens.map(a=>{let n=Buffer.alloc(25);return n[0]=this.addressesList.lookupIndex(a.token),n.writeBigUInt64LE(a.minPartialAmount,1),n.writeBigUInt64LE(a.maxPartialAmount,9),n.writeBigUInt64LE(a.constraintBudget,17),n}),t=Buffer.alloc(1);return t.writeUInt8(e.length,0),Buffer.concat([t,...e])}serializeGiveTokens(e){if(!e||e.length===0)return T;let t=e.map(n=>{let i;if(n.input==="any")i=Buffer.alloc(2),i.writeUInt8(this.addressesList.lookupIndex(n.output),0),i.writeUInt8(1,1);else {i=Buffer.alloc(35),i.writeUInt8(this.addressesList.lookupIndex(n.output),0),i.writeUInt8(0,1),i.writeUInt8(this.addressesList.lookupIndex(n.input),2),i.writeBigInt64LE(n.price,3);let s=n.price.toString(16).padStart(64,"0");Buffer.from(s,"hex").copy(i,3);}return i}),a=Buffer.alloc(1);return a.writeUInt8(e.length,0),Buffer.concat([a,...t])}serializeTakeTokens(e){let t=0,a=e.map(i=>{let s;return i.output==="any"?(t=1,s=Buffer.alloc(2),s.writeUInt8(this.addressesList.lookupIndex(i.input),0),s.writeUInt8(1,1)):(t+=i.output.length,s=Buffer.concat(i.output.map(o=>{if(o.token==="any"){let r=Buffer.alloc(6);return r.writeUInt8(0,0),r.writeUInt8(o.chainId,1),r.writeUInt8(1,5),Buffer.concat([Buffer.from([this.addressesList.lookupIndex(i.input)]),r])}else {let r;if(o.price==="any")r=Buffer.alloc(8),r.writeUInt8(0,0),r.writeUInt32LE(o.chainId,1),r.writeUInt8(0,5),r.writeUInt8(this.addressesList.lookupIndex(o.token),6),r.writeUInt8(1,7);else {r=Buffer.alloc(40),r.writeUInt8(0,0),r.writeUInt32LE(o.chainId,1),r.writeUInt8(0,5),r.writeUInt8(this.addressesList.lookupIndex(o.token),6),r.writeUInt8(0,7);let d=o.price.toString(16).padStart(64,"0");Buffer.from(d,"hex").copy(r,8);}return Buffer.concat([Buffer.from([this.addressesList.lookupIndex(i.input)]),r])}}))),s}),n=Buffer.alloc(1);return n.writeUInt8(t,0),Buffer.concat([n,...a])}serializeExternalCallHash(e){return e?e==="any"?Buffer.concat([x,W]):Buffer.concat([x,F,x,e]):T}serializeOptionalBytes(e){return e?Buffer.concat([x,e]):T}serializeDlnMetadata(e){if(!e)return T;if(e==="any")return Buffer.concat([x,W]);{let t=Buffer.alloc(2);return t.writeInt16LE(e.length,0),Buffer.concat([x,F,t,e])}}serializeShortArray(e){if(!e)return T;let t=Buffer.alloc(2);return t.writeInt16LE(e.length,0),Buffer.concat([x,t,e])}serializeAllowedSenders(e){if(this.data.allowedSenders==="any")return W;let t=Buffer.alloc(1);return t.writeUInt8(e.length,0),Buffer.concat([F,t,...e])}serializeAddresses(e){if(!e||e.length===0)return T;let t=Buffer.alloc(1);return t.writeUInt8(e.length,0),Buffer.concat([t,...e])}serializeOptionalPubkey(e){return e?Buffer.concat([x,e.toBuffer()]):T}serialize(){let e=[],t=Buffer.alloc(4);t.writeUInt32LE(this.data.chainId,0),e.push(t),this.data.authority?e.push(x,this.data.authority.toBuffer()):e.push(T);let a=Buffer.alloc(16);return a.writeBigUInt64LE(BigInt(this.data.timestamp),0),a.writeBigUInt64LE(BigInt(this.data.expirationTimestamp),8),e.push(a),e.push(this.serializedList),e.push(this.serializeInputTokens()),e.push(this.serializeGiveTokens(this.data.giveTokens)),e.push(this.serializeTakeTokens(this.data.takeTokens)),e.push(this.serializeReceiversInfo(this.data.receiverDetails)),e.push(this.serializeAllowedSenders(this.data.allowedSenders)),e.push(this.serializeOptionalPubkey(this.data.preInteractions)),e.push(this.serializeOptionalPubkey(this.data.postInteractions)),e.push(this.serializeShortArray(this.data.validationRules)),e.push(this.serializeOptionalBytes(this.data.executionMetadataHash)),e.push(this.serializeAddresses(this.data.srcAllowedCancelBeneficiary)),e.push(this.serializeReceiversInfo(this.data.dstAuthorityAddress)),e.push(this.serializeExternalCallHash(this.data.externalCallHash)),e.push(this.serializeDlnMetadata(this.data.dlnMetadata)),Buffer.concat(e)}static getId(e,t,a){let n=jsSha3.keccak256(e),i=Buffer.from(n,"hex"),[s]=web3_js.PublicKey.findProgramAddressSync([Buffer.from("intent_id"),t.toBuffer(),i],a);return {hex:`0x${s.toBuffer().toString("hex")}`,buffer:s.toBuffer(),rawHash:i}}};exports.DEFAULT_RECORD_OFFSET=C;exports.IDL=R;exports.Intent=$;exports.IntentProgramSigPrefix=he;exports.IntentsClient=Y;//# sourceMappingURL=index.js.map
|
|
1
|
+
'use strict';var anchor=require('@coral-xyz/anchor'),solanaUtils=require('@debridge-finance/solana-utils'),web3_js=require('@solana/web3.js'),splToken=require('@solana/spl-token'),splRecord=require('@solana/spl-record'),se=require('tweetnacl'),jsSha3=require('js-sha3');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var se__default=/*#__PURE__*/_interopDefault(se);var z={address:"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE",metadata:{name:"intentsProgram",version:"0.0.0",spec:"0.1.0",description:"deBridge Intents Program"},instructions:[{name:"about",discriminator:[62,111,52,44,118,185,179,229],accounts:[],args:[]},{name:"approveProtocolTransfers",discriminator:[17,3,184,144,112,130,116,98],accounts:[{name:"maker",signer:true},{name:"state",pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}},{name:"tokenProgram"}],args:[{name:"amounts",type:{vec:"u64"}}]},{name:"cancelIntent",discriminator:[67,73,238,244,208,89,225,59],accounts:[{name:"initiator",signer:true},{name:"intentStorage",writable:true},{name:"state"}],args:[]},{name:"closeAccount",discriminator:[125,255,149,14,110,34,72,24],accounts:[{name:"programAuthority",signer:true,address:"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE"},{name:"target",writable:true},{name:"rentReceiver",writable:true}],args:[]},{name:"closeIntent",discriminator:[112,245,154,249,57,126,54,122],accounts:[{name:"initiator",signer:true},{name:"maker",docs:["CHECK"]},{name:"makerInfo",writable:true,pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"rentPayer",writable:true},{name:"intentStorage",writable:true},{name:"state"},{name:"systemProgram",address:"11111111111111111111111111111111"}],args:[]},{name:"collectFee",discriminator:[60,173,247,103,4,93,130,48],accounts:[{name:"feeCollector",signer:true,relations:["state"]},{name:"state",pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}},{name:"feeLedger",writable:true,pda:{seeds:[{kind:"account",path:"state"},{kind:"account",path:"tokenProgram"},{kind:"account",path:"mint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"destination",writable:true},{name:"mint"},{name:"tokenProgram"}],args:[{name:"amount",type:"u64"}]},{name:"executeIntent",discriminator:[53,130,47,154,227,220,122,212],accounts:[{name:"taker",writable:true,signer:true},{name:"state"},{name:"maker",relations:["intentStorage"]},{name:"makerInfo",writable:true,pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"intentStorage",writable:true},{name:"intentGiveToken",writable:true,pda:{seeds:[{kind:"account",path:"intentStorage"},{kind:"account",path:"tokenProgram"},{kind:"account",path:"tokenMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"dlnSrc",address:"srch38nzfcgwJnfKE6xWD8vfNJtudazwisdcociAuQt"},{name:"dlnSrcState"},{name:"dlnSrcGiveOrderState",writable:true},{name:"dlnSrcGiveOrderWallet",writable:true},{name:"dlnSrcAuthorizedNativeSender"},{name:"dlnSrcFeeLedgerWallet",writable:true},{name:"tokenMint"},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"tokenProgram"},{name:"associatedTokenProgram",address:"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"dlnOrderArgs",type:{defined:{name:"createOrderArgs"}}},{name:"dlnOrderNonce",type:"u64"},{name:"dlnMetadata",type:"bytes"},{name:"tradeId",type:{array:["u8",32]}}]},{name:"executeIntent2",discriminator:[57,145,38,151,5,101,106,72],accounts:[{name:"taker",writable:true,signer:true},{name:"state",pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}},{name:"maker",writable:true,relations:["intentStorage"]},{name:"makerInfo",writable:true,pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"intentStorage",writable:true},{name:"intentTakeToken",writable:true,pda:{seeds:[{kind:"account",path:"intentStorage"},{kind:"account",path:"tokenProgram"},{kind:"account",path:"tokenMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"feeLedger",writable:true,pda:{seeds:[{kind:"account",path:"state"},{kind:"account",path:"tokenProgram"},{kind:"account",path:"tokenMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"receiver"},{name:"receiverTakeToken",writable:true},{name:"tokenMint"},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"tokenProgram"},{name:"associatedTokenProgram",address:"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"amount",type:"u64"},{name:"tradeId",type:{array:["u8",32]}}]},{name:"initIntent",discriminator:[231,255,81,23,112,148,49,134],accounts:[{name:"maker",signer:true},{name:"rentPayer",writable:true,signer:true},{name:"state"},{name:"intentStorage",writable:true},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"space",type:"u32"},{name:"encodedIntentHash",type:{defined:{name:"encodedIntentHash"}}}]},{name:"initIntentByDelegate",discriminator:[85,140,35,112,240,67,16,40],accounts:[{name:"delegate",signer:true},{name:"maker",docs:["CHECK"]},{name:"makerInfo",writable:true,pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"rentPayer",writable:true,signer:true},{name:"state"},{name:"intentStorage",writable:true},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"space",type:"u32"},{name:"encodedIntentHash",type:{defined:{name:"encodedIntentHash"}}}]},{name:"initIntentByDelegateUsingSig",discriminator:[113,25,150,248,204,41,36,34],accounts:[{name:"delegate",docs:["CHECK"]},{name:"maker",docs:["CHECK"]},{name:"makerInfo",pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"rentPayer",writable:true,signer:true},{name:"state"},{name:"intentStorage",writable:true},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"space",type:"u32"},{name:"encodedIntentHash",type:{defined:{name:"encodedIntentHash"}}},{name:"signature",type:{array:["u8",64]}}]},{name:"initIntentUsingSig",discriminator:[163,186,238,179,190,181,19,185],accounts:[{name:"maker",docs:["CHECK"]},{name:"rentPayer",writable:true,signer:true},{name:"state"},{name:"intentStorage",writable:true},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"space",type:"u32"},{name:"encodedIntentHash",type:{defined:{name:"encodedIntentHash"}}},{name:"signature",type:{array:["u8",64]}}]},{name:"initState",discriminator:[124,213,73,136,80,37,141,54],accounts:[{name:"protocolAuthority",signer:true},{name:"programAuthority",signer:true,address:"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE"},{name:"rentPayer",writable:true,signer:true},{name:"state",writable:true,pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}},{name:"systemProgram",address:"11111111111111111111111111111111"}],args:[]},{name:"reallocState",discriminator:[67,181,233,214,215,148,245,126],accounts:[{name:"inner",accounts:[{name:"protocolAuthority",signer:true,relations:["state"]},{name:"state",writable:true,pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}}]},{name:"rentPayer",writable:true,signer:true},{name:"systemProgram",address:"11111111111111111111111111111111"}],args:[{name:"newSpace",type:"u32"}]},{name:"setCancelUntilTimestamp",discriminator:[206,248,194,176,4,206,30,228],accounts:[{name:"inner",accounts:[{name:"protocolAuthority",signer:true,relations:["state"]},{name:"state",writable:true,pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}}]}],args:[{name:"cancelUntilTimestamp",type:"u64"}]},{name:"setDefaultFee",discriminator:[150,137,197,111,176,227,201,110],accounts:[{name:"inner",accounts:[{name:"protocolAuthority",signer:true,relations:["state"]},{name:"state",writable:true,pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}}]},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"defaultFeeBps",type:"u32"}]},{name:"setDelegateApprovedBudgets",discriminator:[82,182,181,250,30,186,95,15],accounts:[{name:"maker",signer:true},{name:"delegate"},{name:"rentPayer",writable:true,signer:true},{name:"makerInfo",writable:true,pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"state"},{name:"systemProgram",address:"11111111111111111111111111111111"}],args:[{name:"nonce",type:"u64"},{name:"approvedTokenBudgets",type:{defined:{name:"setApprovedTokenBudgets"}}}]},{name:"setDelegateApprovedBudgetsUsingSig",discriminator:[26,11,76,149,162,38,128,0],accounts:[{name:"maker"},{name:"delegate"},{name:"rentPayer",writable:true,signer:true},{name:"makerInfo",writable:true,pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"state"},{name:"systemProgram",address:"11111111111111111111111111111111"}],args:[{name:"nonce",type:"u64"},{name:"encodedApprovedTokenBudgets",type:"bytes"},{name:"signature",type:{array:["u8",64]}}]},{name:"setFeeCollector",discriminator:[143,46,10,113,121,157,245,166],accounts:[{name:"inner",accounts:[{name:"protocolAuthority",signer:true,relations:["state"]},{name:"state",writable:true,pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}}]}],args:[{name:"feeCollector",type:"pubkey"}]},{name:"setMakerCancelUntilTimestamp",discriminator:[144,42,186,107,205,215,55,229],accounts:[{name:"maker",signer:true},{name:"rentPayer",writable:true,signer:true},{name:"makerInfo",writable:true,pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"state"},{name:"systemProgram",address:"11111111111111111111111111111111"}],args:[{name:"cancelUntilTimestamp",type:"u64"}]},{name:"setPause",discriminator:[63,32,154,2,56,103,79,45],accounts:[{name:"inner",accounts:[{name:"protocolAuthority",signer:true,relations:["state"]},{name:"state",writable:true,pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}}]}],args:[{name:"pauseFlag",type:"bool"}]},{name:"setProtocolAuthority",discriminator:[96,162,46,152,72,147,175,176],accounts:[{name:"inner",accounts:[{name:"protocolAuthority",signer:true,relations:["state"]},{name:"state",writable:true,pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}}]},{name:"newProtocolAuthority",signer:true}],args:[]},{name:"swapBegin",discriminator:[87,236,193,120,215,245,9,37],accounts:[{name:"taker",writable:true,signer:true},{name:"state",pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}},{name:"maker",relations:["intentStorage"]},{name:"makerInfo",writable:true,pda:{seeds:[{kind:"const",value:[109,97,107,101,114,95,105,110,102,111]},{kind:"account",path:"maker"}]}},{name:"intentStorage",writable:true},{name:"inputMint"},{name:"outputMint"},{name:"makerInputToken",writable:true,pda:{seeds:[{kind:"account",path:"maker"},{kind:"account",path:"inputTokenProgram"},{kind:"account",path:"inputMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"takerInputToken",writable:true,pda:{seeds:[{kind:"account",path:"taker"},{kind:"account",path:"inputTokenProgram"},{kind:"account",path:"inputMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"takerOutputToken",writable:true,pda:{seeds:[{kind:"account",path:"taker"},{kind:"account",path:"outputTokenProgram"},{kind:"account",path:"outputMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"intentOutputToken",writable:true},{name:"instructions",address:"Sysvar1nstructions1111111111111111111111111"},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"inputTokenProgram"},{name:"outputTokenProgram"},{name:"associatedTokenProgram",address:"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"amount",type:"u64"},{name:"target",type:{defined:{name:"targetTokenAccount"}}},{name:"tradeId",type:{array:["u8",32]}}]},{name:"swapEnd",discriminator:[75,178,142,132,50,126,38,31],accounts:[{name:"taker",writable:true,signer:true},{name:"state",pda:{seeds:[{kind:"const",value:[115,116,97,116,101]}]}},{name:"intentStorage",writable:true},{name:"inputMint"},{name:"outputMint"},{name:"takerOutputToken",writable:true,pda:{seeds:[{kind:"account",path:"taker"},{kind:"account",path:"outputTokenProgram"},{kind:"account",path:"outputMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"intentOutputToken",writable:true,pda:{seeds:[{kind:"account",path:"intentStorage"},{kind:"account",path:"outputTokenProgram"},{kind:"account",path:"outputMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"instructions",address:"Sysvar1nstructions1111111111111111111111111"},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"outputTokenProgram"},{name:"associatedTokenProgram",address:"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"expectedOutputTokenAmount",type:"u64"},{name:"takerSurplusShareBps",type:"u32"}]},{name:"updateIntent",discriminator:[214,203,249,158,90,27,54,17],accounts:[{name:"rentPayer",writable:true,signer:true},{name:"state"},{name:"intentStorage",writable:true},{name:"systemProgram",address:"11111111111111111111111111111111"},{name:"buffer",optional:true},{name:"eventAuthority",pda:{seeds:[{kind:"const",value:[95,95,101,118,101,110,116,95,97,117,116,104,111,114,105,116,121]}]}},{name:"program"}],args:[{name:"dataOrigin",type:{defined:{name:"dataOrigin"}}}]},{name:"withdrawIntentTokenAccount",discriminator:[188,114,123,239,223,164,242,101],accounts:[{name:"state"},{name:"maker",docs:["CHECK"]},{name:"intentStorage"},{name:"intentTokenAccount",writable:true,pda:{seeds:[{kind:"account",path:"intentStorage"},{kind:"account",path:"tokenProgram"},{kind:"account",path:"tokenMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"makerTokenAccount",writable:true,pda:{seeds:[{kind:"account",path:"maker"},{kind:"account",path:"tokenProgram"},{kind:"account",path:"tokenMint"}],program:{kind:"const",value:[140,151,37,143,78,36,137,241,187,61,16,41,20,142,13,131,11,90,19,153,218,255,16,132,4,142,123,216,219,233,248,89]}}},{name:"rentReceiver",writable:true},{name:"tokenMint"},{name:"tokenProgram"},{name:"associatedTokenProgram",address:"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"}],args:[{name:"encodedIntentHash",type:{option:{defined:{name:"encodedIntentHash"}}}}]}],accounts:[{name:"intentStorage",discriminator:[175,239,93,146,246,119,144,249]},{name:"makerInfo",discriminator:[164,184,52,218,144,52,100,40]},{name:"state",discriminator:[216,146,107,94,104,75,182,177]}],events:[{name:"closedIntent",discriminator:[197,62,20,42,191,176,242,94]},{name:"fulfilled",discriminator:[210,174,131,213,40,182,83,110]},{name:"fulfilledDln",discriminator:[42,231,52,35,155,251,144,108]},{name:"intentBudgetSpent",discriminator:[106,148,20,168,115,89,145,56]},{name:"newIntent",discriminator:[101,118,73,187,15,74,57,97]},{name:"sealedIntent",discriminator:[28,191,234,161,83,32,138,137]},{name:"swapped",discriminator:[217,52,52,83,147,135,96,109]}],errors:[{code:6160,name:"invalidArgument"},{code:6170,name:"invalidAmount"},{code:6172,name:"malformedRemainingAccounts"},{code:16782961,name:"protocolPaused"},{code:16782979,name:"timeParadox"},{code:6234,name:"unknownCaller"},{code:6236,name:"unknownCancelAuthority"},{code:6079,name:"signatureVerificationFailed"},{code:6085,name:"intentIdMiscalculated"},{code:6086,name:"intentFromAnotherChain"},{code:6087,name:"intentSameChainOnly"},{code:6088,name:"intentInconsistentInputTokens"},{code:6089,name:"intentInconsistentGiveTokens"},{code:6096,name:"intentInconsistentTakeTokens"},{code:6097,name:"intentInconsitentReceivers"},{code:6098,name:"intentInconsitentDstAuthorities"},{code:6275,name:"intentStorageAlreadyInitialized"},{code:6276,name:"intentHashMismatch"},{code:6277,name:"intentStorageSealed"},{code:6278,name:"missedBufferAccount"},{code:6288,name:"intentNotReady"},{code:6289,name:"intentCancelled"},{code:6290,name:"intentExpired"},{code:6291,name:"intentInvalidatedByUser"},{code:6292,name:"intentInvalidatedByProtocolAuthority"},{code:6293,name:"expectedClosedIntent"},{code:6294,name:"expectedCancelledIntent"},{code:9664,name:"tokenAccountMissingProtocolDelegate"},{code:9665,name:"unknownInputToken"},{code:9666,name:"inputTokenAmountOutOfRange"},{code:9667,name:"inputTokenAmountExceedsBudget"},{code:9680,name:"takerNotAllowed"},{code:9681,name:"unknownRoute"},{code:9682,name:"priceViolation"},{code:9683,name:"invalidReceiver"},{code:9684,name:"readonlyReceiver"},{code:6101,name:"missedNativeUnwrapFlag"},{code:9793,name:"invalidDlnOrderTakeAmount"},{code:9794,name:"invalidDlnDstReceiver"},{code:9802,name:"invalidDlnDstOrderAuthority"},{code:9803,name:"invalidDlnDstAllowedTaker"},{code:9804,name:"invalidDlnSrcAllowedCancelBeneficiary"},{code:9805,name:"invalidDlnMetadata"},{code:9806,name:"invalidDlnExtcallHash"},{code:9788,name:"cantBeClosed"},{code:9787,name:"invalidTokenAccountRentReceiver"},{code:9839,name:"intentArbitraryDataOverflow"},{code:8832,name:"takerMustBeFixedWhenExtcallAllowed"},{code:8833,name:"ambiguousReceivers"},{code:9600,name:"interactionAccountNotFound"},{code:9601,name:"interactionProgramNotFound"},{code:6239,name:"interactionFixedAccountNotFound"},{code:9536,name:"unknownDelegate"},{code:9537,name:"delegateNonceMismatchNext"},{code:9546,name:"delegateHasNoApproval"},{code:9547,name:"delegateExceedsApprovedBudget"},{code:9550,name:"delegateApprovalExpired"},{code:9551,name:"delegateRevoked"},{code:16767137,name:"crossProgramInvokeRestricted"},{code:16770159,name:"crossProgramInvokeHasIntentsProgramAccount"}],types:[{name:"address",type:{kind:"type",alias:{vec:"u8"}}},{name:"approvedTokenBudget",type:{kind:"struct",fields:[{name:"tokenMint",type:"pubkey"},{name:"approvedAmount",type:"u64"},{name:"expiration",type:"u64"}]}},{name:"closedIntent",type:{kind:"struct",fields:[{name:"status",type:{defined:{name:"closedIntentStatus"}}}]}},{name:"closedIntentStatus",repr:{kind:"rust"},type:{kind:"enum",variants:[{name:"wiped"},{name:"terminated"}]}},{name:"createOrderArgs",docs:["Structure for forming a new order"],type:{kind:"struct",fields:[{name:"giveOriginalAmount",docs:["Input amount for `create order` call, that will be transferred from the user's wallet.","The dln commissions will be deducted from it and the resulting value will be used as [`Order::give.amount`]"],type:"u64"},{name:"take",docs:["Offer to take in destination chain"],type:{defined:{name:"offer"}}},{name:"receiverDst",docs:["Address in dst chain","Address of receiver_dst of tokens in target chain","or","address of external call executor if `external_call` presented"],type:{defined:{name:"address"}}},{name:"extcall",docs:["External call for automatically execution in target chain after execution of order"],type:{option:"bytes"}},{name:"givePatchAuthoritySrc",docs:["Address in source chain","Can call `patch_order_give` method of src program"],type:"pubkey"},{name:"allowedCancelBeneficiarySrc",docs:["Address in source chain","If the field is `Some`, then only this address can receive cancel"],type:{option:"pubkey"}},{name:"orderAuthorityAddressDst",docs:["Address in destination chain","Can `send_order_cancel`, `process_fallback` and `patch_order_take`"],type:{defined:{name:"address"}}},{name:"allowedTakerDst",docs:["Address in destination chain","If the field is `Some`, then only this address can call `fulfill_order` with this","order"],type:{option:{defined:{name:"address"}}}}]}},{name:"currentTokenBudget",type:{kind:"struct",fields:[{name:"tokenMint",type:"pubkey"},{name:"approvedAmount",type:"u64"},{name:"expiration",type:"u64"},{name:"remainingAmount",type:"u64"}]}},{name:"dataOrigin",type:{kind:"enum",variants:[{name:"instruction",fields:["bytes"]},{name:"buffer",fields:[{name:"offset",type:"u32"},{name:"length",type:"u32"}]}]}},{name:"delegateBudgets",type:{kind:"enum",variants:[{name:"any"},{name:"perToken",fields:[{vec:{defined:{name:"currentTokenBudget"}}}]},{name:"revoked"}]}},{name:"delegateInfo",type:{kind:"struct",fields:[{name:"delegate",type:"pubkey"},{name:"nonce",type:"u64"},{name:"budgets",type:{defined:{name:"delegateBudgets"}}}]}},{name:"encodedIntentHash",type:{kind:"struct",fields:[{array:["u8",32]}]}},{name:"fulfilled",type:{kind:"struct",fields:[{name:"intentId",type:{defined:{name:"intentId"}}},{name:"tradeId",type:{array:["u8",32]}},{name:"executionMetadata",type:{option:"bytes"}},{name:"takeToken",type:"pubkey"},{name:"takeTokenAmount",type:"u64"},{name:"takeTokenFeeAmount",type:"u64"}]}},{name:"fulfilledDln",type:{kind:"struct",fields:[{name:"intentId",type:{defined:{name:"intentId"}}},{name:"executionMetadata",type:{option:"bytes"}},{name:"tradeId",type:{array:["u8",32]}},{name:"orderId",type:{defined:{name:"u256"}}},{name:"giveTokenFeeAmount",type:"u64"}]}},{name:"intentBudget",type:{kind:"struct",fields:[{name:"mintIndex",type:"u8"},{name:"remainingAmount",type:"u64"}]}},{name:"intentBudgetSpent",type:{kind:"struct",fields:[{name:"intentId",type:{defined:{name:"intentId"}}},{name:"tradeId",type:{array:["u8",32]}},{name:"executionMetadata",type:{option:"bytes"}},{name:"inputToken",type:"pubkey"},{name:"inputTokenSpentAmount",type:"u64"}]}},{name:"intentBudgets",type:{kind:"struct",fields:[{vec:{defined:{name:"intentBudget"}}}]}},{name:"intentId",type:{kind:"struct",fields:[{array:["u8",32]}]}},{name:"intentStorage",type:{kind:"struct",fields:[{name:"maker",type:"pubkey"},{name:"delegate",type:{option:"pubkey"}},{name:"rentPayer",type:"pubkey"},{name:"arbitraryData",type:{array:["u8",100]}},{name:"encodedIntentHash",type:{defined:{name:"encodedIntentHash"}}},{name:"version",type:"u8"},{name:"storedIntent",type:{defined:{name:"storedIntent"}}},{name:"bump",type:"u8"}]}},{name:"makerInfo",type:{kind:"struct",fields:[{name:"cancelUntilTimestamp",type:"u64"},{name:"delegates",type:{vec:{defined:{name:"delegateInfo"}}}}]}},{name:"newIntent",type:{kind:"struct",fields:[{name:"intentId",type:{defined:{name:"intentId"}}}]}},{name:"offer",type:{kind:"struct",fields:[{name:"chainId",type:{defined:{name:"u256"}}},{name:"tokenAddress",type:{defined:{name:"address"}}},{name:"amount",type:{defined:{name:"u256"}}}]}},{name:"sealedIntent",type:{kind:"struct",fields:[{name:"intentId",type:{defined:{name:"intentId"}}},{name:"encodedIntent",type:"bytes"}]}},{name:"setApprovedTokenBudgets",type:{kind:"enum",variants:[{name:"set",fields:[{vec:{defined:{name:"approvedTokenBudget"}}}]},{name:"setAny"},{name:"revoke"}]}},{name:"state",type:{kind:"struct",fields:[{name:"protocolAuthority",type:"pubkey"},{name:"feeCollector",type:"pubkey"},{name:"defaultFeeBps",type:"u32"},{name:"isPaused",type:"bool"},{name:"cancelUntilTimestamp",type:"u64"},{name:"bump",type:"u8"}]}},{name:"storedIntent",type:{kind:"enum",variants:[{name:"uninitialized"},{name:"ready",fields:[{name:"encodedIntent",type:"bytes"},{name:"budgets",type:{defined:{name:"intentBudgets"}}}]},{name:"cancelled",fields:[{name:"encodedIntent",type:"bytes"},{name:"budgets",type:{defined:{name:"intentBudgets"}}}]}]}},{name:"swapped",type:{kind:"struct",fields:[{name:"intentId",type:{defined:{name:"intentId"}}},{name:"tradeId",type:{array:["u8",32]}},{name:"executionMetadata",type:{option:"bytes"}},{name:"inputToken",type:"pubkey"},{name:"inputTokenAmount",type:"u64"},{name:"outputToken",type:"pubkey"},{name:"outputTokenAmount",type:"u64"},{name:"takerOutputTokenShareAmount",type:"u64"}]}},{name:"targetTokenAccount",type:{kind:"enum",variants:[{name:"taker"},{name:"intent"}]}},{name:"u256",type:{kind:"type",alias:{array:["u8",32]}}}],constants:[{name:"budgetsSigPrefix",type:"bytes",value:"[98, 117, 100, 103, 101, 116, 115]"},{name:"clockDriftToleranceSecs",type:"u64",value:"300"},{name:"defaultFeeBps",type:"u32",value:"8"},{name:"intentIdHashPrefix",docs:["Used **only** as sub-seed for [IntentId][`crate::types::IntentId`]"],type:"bytes",value:"[105, 110, 116, 101, 110, 116, 95, 105, 100]"},{name:"intentProgramSigPrefix",type:"bytes",value:"[105, 110, 116, 101, 110, 116, 115, 95, 112, 114, 111, 103, 114, 97, 109]"},{name:"intentSigPrefix",type:"bytes",value:"[105, 110, 116, 101, 110, 116, 115]"},{name:"intentStorageBaseSeed",type:"bytes",value:"[105, 110, 116, 101, 110, 116, 95, 115, 116, 111, 114, 97, 103, 101]"},{name:"interactionCallAuthority",type:"bytes",value:"[105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121]"},{name:"makerInfoSeed",type:"bytes",value:"[109, 97, 107, 101, 114, 95, 105, 110, 102, 111]"},{name:"stateSeed",type:"bytes",value:"[115, 116, 97, 116, 101]"},{name:"unwrapNativePseudoMint",type:"pubkey",value:"11111111111111111111111111111111"},{name:"unwrapNativeReceiverSeed",type:"bytes",value:"[117, 110, 119, 114, 97, 112, 95, 110, 97, 116, 105, 118, 101, 95, 114, 101, 99, 101, 105, 118, 101, 114]"}]};function Q(u,e){let t;switch(e){case "u256":t=32;break;case "u64":t=8;break}return new anchor.BN(u.toString()).toArray("be",t)}var K=u=>{let e=[];return u?.limit&&e.push(web3_js.ComputeBudgetProgram.setComputeUnitLimit({units:u.limit})),u?.price&&e.push(web3_js.ComputeBudgetProgram.setComputeUnitPrice({microLamports:u.price})),e},P=({instructions:u,payer:e,blockhash:t,ALTs:n})=>new web3_js.VersionedTransaction(web3_js.MessageV0.compile({instructions:u,payerKey:e,recentBlockhash:t,addressLookupTableAccounts:n}));var xe=(a=>(a.prod="intents_program",a.dubai="intents_program_dubai",a.hanoi="intents_program_hanoi",a.devnet="intents_program_devnet",a))(xe||{}),D=splRecord.RECORD_META_DATA_SIZE,ie=class u{programId;idl;recordProgramId;_provider;_intentsProgram;_state;constructor(e,{programId:t,recordProgramId:n=splRecord.RECORD_PROGRAM_ID}){z.address=t.toString(),this.idl=z,this.programId=t,this.recordProgramId=n,this._provider=new anchor.AnchorProvider(e,{},{}),anchor.setProvider(this._provider),this._intentsProgram=new anchor.Program(z,this._provider),this._state=u.getStatePda(this._intentsProgram.programId);}static getSignatureType(e,t,n){let a=e,r=new TextEncoder().encode(`0x${e.toString("hex")}`),s=n.toBytes();return se__default.default.sign.detached.verify(a,t,s)?0:se__default.default.sign.detached.verify(r,t,s)?1:65535}getSpace(e,t){return 198+(1+e+(4+9*t))}async getState(e){let t=await e.getAccountInfo(this._state);if(!t)return null;let n=this._intentsProgram.coder.accounts.decode("state",t.data);return {...n,lastValidTimestamp:Number(n.lastValidTimestamp.toString())}}async getIntentStorage(e,t){let n=u.getIntentStoragePda(this._intentsProgram.programId,t),a=await e.getAccountInfo(n);return a?{...this._intentsProgram.coder.accounts.decode("intentStorage",a.data),intentId:t}:null}async getMakerInfo(e,t){let n=u.getMakerInfoPda(this._intentsProgram.programId,t),a=await e.getAccountInfo(n);return a?this._intentsProgram.coder.accounts.decode("makerInfo",a.data):null}async getNonceForDelegate(e,t,n){let a=await this.getMakerInfo(e,t);if(!a)return 0n;for(let r of a.delegates)if(r.delegate.toBase58()===n.toBase58())return BigInt(r.nonce.toString());return 0n}async approveProtocolTransfersIxs({maker:e,tokens:t,tokenProgram:n=splToken.TOKEN_PROGRAM_ID}){let{amounts:a,accounts:r}=t.reduce(({amounts:s,accounts:o},{mint:i,amount:d})=>({amounts:s.concat(new anchor.BN(d.toString())),accounts:o.concat({pubkey:splToken.getAssociatedTokenAddressSync(i,e,true,n),isSigner:false,isWritable:true})}),{amounts:[],accounts:[]});return [await this._intentsProgram.methods.approveProtocolTransfers(a).accountsStrict({maker:e,state:this._state,tokenProgram:n}).remainingAccounts(r).instruction()]}async cancelIntentIxs(e,t){return [await this._intentsProgram.methods.cancelIntent().accountsStrict({initiator:e,intentStorage:u.getIntentStoragePda(this._intentsProgram.programId,t),state:this._state}).instruction()]}async closeIntentIxs(e,t,n){return [await this._intentsProgram.methods.closeIntent().accountsStrict({initiator:e,rentPayer:t,intentStorage:u.getIntentStoragePda(this._intentsProgram.programId,n),state:this._state,systemProgram:web3_js.SystemProgram.programId,makerInfo:u.getMakerInfoPda(this._intentsProgram.programId,e),maker:e}).instruction()]}async executeIntentIxs({tradeId:e,intentId:t,taker:n,maker:a,tokenMint:r,dlnOrder:s,dlnMetadata:o,dlnSrc:i=new web3_js.PublicKey(solanaUtils.programs.dlnSrc),tokenProgram:d=splToken.TOKEN_PROGRAM_ID}){let c=solanaUtils.dlnSrcResolver(i).methods,[m]=c.getStateAccount(),[f]=c.getGiveOrderStateAccount(s.id),[p]=c.getGiveOrderWalletAddress(s.id),[y]=c.getAuthorizedNativeSenderAddress(Buffer.from(new anchor.BN(s.dstChainId.toString()).toArray("be",32))),[l]=c.getFeeLedgerWalletAddress(r),k=u.getIntentStoragePda(this._intentsProgram.programId,t),h=splToken.getAssociatedTokenAddressSync(r,k,true,d),I={giveOriginalAmount:new anchor.BN(s.args.giveOriginalAmount.toString()),take:{amount:Q(s.args.take.amount,"u256"),chainId:Q(s.args.take.chainId,"u256"),tokenAddress:Array.from(s.args.take.tokenAddress)},receiverDst:Array.from(s.args.receiver),extcall:s.args.externalCall?.externalCallData?Buffer.from(s.args.externalCall.externalCallData):null,givePatchAuthoritySrc:s.args.givePatchAuthority,orderAuthorityAddressDst:Array.from(s.args.orderAuthorityDstAddress),allowedCancelBeneficiarySrc:s.args.allowedCancelBeneficiary,allowedTakerDst:s.args.allowedTaker?Array.from(s.args.allowedTaker):null};return [await this._intentsProgram.methods.executeIntent(I,new anchor.BN(s.nonce.toString()),o??Buffer.from([]),Array.from(e)).accountsStrict({taker:n,state:this._state,intentStorage:k,maker:a,makerInfo:u.getMakerInfoPda(this._intentsProgram.programId,a),intentGiveToken:h,dlnSrc:i,dlnSrcState:m,dlnSrcGiveOrderState:f,dlnSrcGiveOrderWallet:p,dlnSrcAuthorizedNativeSender:y,dlnSrcFeeLedgerWallet:l,tokenMint:r,systemProgram:web3_js.SystemProgram.programId,tokenProgram:d,associatedTokenProgram:splToken.ASSOCIATED_TOKEN_PROGRAM_ID,eventAuthority:u.getEventAuthorityPda(this._intentsProgram.programId),program:this._intentsProgram.programId}).instruction()]}async executeSameChainIntentIxs({tradeId:e,intentId:t,taker:n,maker:a,tokenMint:r,receiver:s,amount:o,tokenProgram:i=splToken.TOKEN_PROGRAM_ID,unwrapTakeToken:d}){let c=false,m,f=u.getIntentStoragePda(this._intentsProgram.programId,t),p=splToken.getAssociatedTokenAddressSync(r,f,true,i);d&&r.toBase58()===splToken.NATIVE_MINT.toBase58()?(m=u.getNativePda(this._intentsProgram.programId),c=true):m=splToken.getAssociatedTokenAddressSync(r,s,true,i);let y=splToken.getAssociatedTokenAddressSync(r,this._state,true,i),l=await this._intentsProgram.methods.executeIntent2(new anchor.BN(o.toString()),Array.from(e)).accountsStrict({taker:n,state:this._state,maker:a,receiver:s,makerInfo:u.getMakerInfoPda(this._intentsProgram.programId,a),intentStorage:f,intentTakeToken:p,feeLedger:y,receiverTakeToken:m,tokenMint:r,systemProgram:web3_js.SystemProgram.programId,tokenProgram:i,associatedTokenProgram:splToken.ASSOCIATED_TOKEN_PROGRAM_ID,eventAuthority:u.getEventAuthorityPda(this._intentsProgram.programId),program:this._intentsProgram.programId}).instruction();if(c){let k=l.keys.findIndex(h=>h.pubkey==s);l.keys[k].isWritable=true;}return [l]}async initIntentIxs(e,t,n=null,a,r,s,o){let i=this.getSpace(s,o);return [await(n?this._intentsProgram.methods.initIntentByDelegate(i,{0:Array.from(r)}):this._intentsProgram.methods.initIntent(i,{0:Array.from(r)})).accountsStrict({maker:e,...n&&{delegate:n,makerInfo:u.getMakerInfoPda(this._intentsProgram.programId,e)},rentPayer:t,state:this._state,intentStorage:u.getIntentStoragePda(this._intentsProgram.programId,a),systemProgram:web3_js.SystemProgram.programId,eventAuthority:u.getEventAuthorityPda(this._intentsProgram.programId),program:this._intentsProgram.programId}).instruction()]}async initIntentUsingSigIxs(e,t,n=null,a,r,s,o,i){let d=this.getSpace(s,o);return [await(n?this._intentsProgram.methods.initIntentByDelegateUsingSig(d,{0:Array.from(r)},Array.from(i)):this._intentsProgram.methods.initIntentUsingSig(d,{0:Array.from(r)},Array.from(i))).accountsStrict({...n&&{delegate:n,makerInfo:u.getMakerInfoPda(this._intentsProgram.programId,e)},maker:e,rentPayer:t,state:this._state,intentStorage:u.getIntentStoragePda(this._intentsProgram.programId,a),systemProgram:web3_js.SystemProgram.programId,eventAuthority:u.getEventAuthorityPda(this._intentsProgram.programId),program:this._intentsProgram.programId}).instruction()]}async setDelegateApprovedBudgetsIxs({maker:e,payer:t,delegate:n,nonce:a,tokens:r,signature:s}){let o=u.getDelegateApprovedBudgetsArgs(r),i=this._intentsProgram.coder.types.encode("setApprovedTokenBudgets",o);return [await(s?this._intentsProgram.methods.setDelegateApprovedBudgetsUsingSig(new anchor.BN(a.toString()),i,Array.from(s)):this._intentsProgram.methods.setDelegateApprovedBudgets(new anchor.BN(a.toString()),o)).accountsStrict({maker:e,delegate:n,rentPayer:t,state:this._state,makerInfo:u.getMakerInfoPda(this._intentsProgram.programId,e),systemProgram:web3_js.SystemProgram.programId}).instruction()]}async setMakerCancelUntilTimestampIxs({maker:e,payer:t,timestamp:n}){return [await this._intentsProgram.methods.setMakerCancelUntilTimestamp(new anchor.BN(n.toString())).accountsStrict({maker:e,rentPayer:t,state:this._state,makerInfo:u.getMakerInfoPda(this._intentsProgram.programId,e),systemProgram:web3_js.SystemProgram.programId}).instruction()]}async swapBeginIxs({taker:e,maker:t,intentId:n,tradeId:a,beginAmount:r,target:s,inputMint:o,outputMint:i,inputTokenProgram:d=splToken.TOKEN_PROGRAM_ID,outputTokenProgram:c=splToken.TOKEN_PROGRAM_ID}){let m=u.getIntentStoragePda(this._intentsProgram.programId,n),f=splToken.getAssociatedTokenAddressSync(o,t,true,d),p=splToken.getAssociatedTokenAddressSync(o,e,true,d),y=splToken.getAssociatedTokenAddressSync(i,e,true,c),l=splToken.getAssociatedTokenAddressSync(i,m,true,c);return [await this._intentsProgram.methods.swapBegin(new anchor.BN(r.toString()),s==="intent"?{intent:{}}:{taker:{}},Array.from(a)).accountsStrict({taker:e,maker:t,state:this._state,intentStorage:m,inputMint:o,outputMint:i,makerInputToken:f,takerInputToken:p,takerOutputToken:y,intentOutputToken:l,instructions:web3_js.SYSVAR_INSTRUCTIONS_PUBKEY,systemProgram:web3_js.SystemProgram.programId,inputTokenProgram:d,outputTokenProgram:c,associatedTokenProgram:splToken.ASSOCIATED_TOKEN_PROGRAM_ID,makerInfo:u.getMakerInfoPda(this._intentsProgram.programId,t),eventAuthority:u.getEventAuthorityPda(this._intentsProgram.programId),program:this._intentsProgram.programId}).instruction()]}async swapEndIxs({taker:e,intentId:t,endAmount:n,bps:a,inputMint:r,outputMint:s,outputTokenProgram:o=splToken.TOKEN_PROGRAM_ID}){let i=u.getIntentStoragePda(this._intentsProgram.programId,t),d=splToken.getAssociatedTokenAddressSync(s,e,true,o),c=splToken.getAssociatedTokenAddressSync(s,i,true,o);return [await this._intentsProgram.methods.swapEnd(new anchor.BN(n.toString()),a).accountsStrict({taker:e,state:this._state,intentStorage:i,inputMint:r,outputMint:s,takerOutputToken:d,intentOutputToken:c,instructions:web3_js.SYSVAR_INSTRUCTIONS_PUBKEY,systemProgram:web3_js.SystemProgram.programId,outputTokenProgram:o,associatedTokenProgram:splToken.ASSOCIATED_TOKEN_PROGRAM_ID,eventAuthority:u.getEventAuthorityPda(this._intentsProgram.programId),program:this._intentsProgram.programId}).instruction()]}async updateIntentIxs({payer:e,record:t,id:n,offset:a,length:r,data:s}){let o=u.getIntentStoragePda(this._intentsProgram.programId,n);return [await this._intentsProgram.methods.updateIntent(s?{instruction:[s]}:{buffer:{offset:a,length:r}}).accountsStrict({rentPayer:e,state:this._state,intentStorage:o,systemProgram:web3_js.SystemProgram.programId,buffer:t??null,eventAuthority:u.getEventAuthorityPda(this._intentsProgram.programId),program:this._intentsProgram.programId}).instruction()]}async withdrawIntentTokenAccountIxs({maker:e,receiver:t,id:n,encodedIntentHash:a,tokenMint:r,tokenProgram:s=splToken.TOKEN_PROGRAM_ID}){t||(t=e);let o=u.getIntentStoragePda(this._intentsProgram.programId,n),i=splToken.getAssociatedTokenAddressSync(r,o,true,s),d=splToken.getAssociatedTokenAddressSync(r,e,true,s);return [await this._intentsProgram.methods.withdrawIntentTokenAccount({0:Array.from(a)}).accountsStrict({state:this._state,maker:e,intentStorage:o,intentTokenAccount:i,makerTokenAccount:d,rentReceiver:t,tokenMint:r,tokenProgram:s,associatedTokenProgram:splToken.ASSOCIATED_TOKEN_PROGRAM_ID}).instruction()]}closeRecordIxs({record:e,authority:t,receiver:n}){return n||(n=t),[splRecord.createCloseAccountInstruction(e,t,n,this.recordProgramId)]}writeRecordIxs({authority:e,record:t,buffer:n,offset:a}){return [splRecord.createWriteInstruction(t,e,BigInt(a),n,this.recordProgramId)]}async reallocRecordIxs({authority:e,payer:t,record:n,buffer:a,offset:r}){t||(t=e);let s=await this._provider.connection.getAccountInfo(n);if(!s)throw new Error("Record account not found");let o=s.lamports,i=s.data.length,d=r+a.length,c=[];if(d>i){let f=await this._provider.connection.getMinimumBalanceForRentExemption(d+1)-o,p=web3_js.SystemProgram.transfer({fromPubkey:t,toPubkey:n,lamports:f});c.push(p);let y=splRecord.createReallocateInstruction(n,e,BigInt(d-D),this.recordProgramId);c.push(y);}return c}async initIntentTxs({maker:e,payer:t,delegate:n,intent:a,signature:r,blockhash:s,ALTs:o,computeBudget:i}){t||(t=e);let d,c=web3_js.Keypair.generate(),m=a.data,f=D+m.length,p=await this._provider.connection.getMinimumBalanceForRentExemption(f+1),y=K(i);r?d=await this.initIntentUsingSigIxs(e,t,n??null,a.id,a.hash,m.length,a.inputTokensLength,r):d=await this.initIntentIxs(e,t,n??null,a.id,a.hash,m.length,a.inputTokensLength);let l=web3_js.SystemProgram.createAccount({fromPubkey:t,newAccountPubkey:c.publicKey,lamports:p,space:f,programId:this.recordProgramId}),k=splRecord.createInitializeInstruction(c.publicKey,t,this.recordProgramId),h=P({instructions:[...y,...d,l,k],payer:t,blockhash:s,ALTs:o});return {record:c,txs:[h]}}async writeIntentTxs({maker:e,payer:t,record:n,intent:a,blockhash:r,ALTs:s,computeBudget:o}){t||(t=e);let i=[],d=a.data,c=d.length,m=K(o),f=this.closeRecordIxs({record:n,authority:t,receiver:t}),p=P({instructions:[...m,...await this.updateIntentIxs({payer:t,id:a.id,data:d}),...f],payer:t,blockhash:r,ALTs:s}),y=solanaUtils.txs.getTransactionSize(p);if(y&&y<=solanaUtils.constants.MAX_TX_SIZE)return [p];let l=0,k=[];for(;l<c;){let B,C=[...m],U=1,H=c-l,V=[],W=0;for(;U<=H;){let R=Math.floor((U+H)/2),J=d.subarray(l,l+R);B=this.writeRecordIxs({authority:t,record:n,buffer:J,offset:l});let Y=P({instructions:[...C,...B],payer:t,blockhash:r,ALTs:s}),g=solanaUtils.txs.getTransactionSize(Y);g&&g<=solanaUtils.constants.MAX_TX_SIZE?(V=B,W=R,U=R+1):H=R-1;}C.push(...V),k=C;let X=P({instructions:C,payer:t,blockhash:r,ALTs:s});i.push(X),l+=W;}let I=[...await this.updateIntentIxs({record:n,payer:t,id:a.id,offset:D,length:c}),...f],x=[...k,...I],S=P({instructions:x,payer:t,blockhash:r,ALTs:s}),T=solanaUtils.txs.getTransactionSize(S);if(T&&T<=solanaUtils.constants.MAX_TX_SIZE)i[i.length-1]=S;else {let B=P({instructions:I,payer:t,blockhash:r,ALTs:s});i.push(B);}return i}async createIntentTxs({maker:e,payer:t,delegate:n,intent:a,signature:r,blockhash:s,ALTs:o,computeBudget:i}){let{record:d,txs:c}=await this.initIntentTxs({maker:e,payer:t,delegate:n,intent:a,signature:r,blockhash:s,ALTs:o,computeBudget:i}),m=await this.writeIntentTxs({maker:e,payer:t,record:d.publicKey,intent:a,blockhash:s,ALTs:o,computeBudget:i});return {init:c,write:m,record:d}}async createAndUpdateIntentTxs({maker:e,payer:t,delegate:n,intent:a,signature:r,blockhash:s,ALTs:o,computeBudget:i}){t||(t=e);let d,c,m=K(i);r?d=await this.initIntentUsingSigIxs(e,t,n,a.id,a.hash,a.data?a.data.length:a.length,a.inputTokensLength,r):d=await this.initIntentIxs(e,t,n,a.id,a.hash,a.data?a.data.length:a.length,a.inputTokensLength),a.data?c=await this.updateIntentIxs({payer:t,id:a.id,data:a.data}):c=await this.updateIntentIxs({payer:t,record:a.record,id:a.id,offset:D+a.offset,length:a.length});let f=P({instructions:[...m,...d,...c],payer:t,blockhash:s,ALTs:o}),p=solanaUtils.txs.getTransactionSize(f);if(p&&p>solanaUtils.constants.MAX_TX_SIZE)throw new Error(`Tx size is ${p}, should be less than ${solanaUtils.constants.MAX_TX_SIZE}`);return [f]}async updateRecordTxs({authority:e,payer:t,record:n,serializedIntent:a,offset:r=D,blockhash:s,ALTs:o,computeBudget:i}){if(t||(t=e),r<D)throw new Error(`Offset can't be less than ${D}`);let d=[],c=a.length,m=await this.reallocRecordIxs({authority:e,payer:t,record:n,buffer:a,offset:r}),f=K(i),p=0;for(;p<c;){let y,l=[...f,...p===0?m:[]],k=1,h=c-p,I=[],x=0;for(;k<=h;){let T=Math.floor((k+h)/2),B=a.subarray(p,p+T);y=this.writeRecordIxs({authority:t,record:n,buffer:B,offset:p});let C=P({instructions:[...l,...y],payer:t,blockhash:s,ALTs:o}),U=solanaUtils.txs.getTransactionSize(C);U&&U<=solanaUtils.constants.MAX_TX_SIZE?(I=y,x=T,k=T+1):h=T-1;}l.push(...I);let S=P({instructions:l,payer:t,blockhash:s,ALTs:o});d.push(S),p+=x;}return d}async cancelIntentTxs({maker:e,payer:t,id:n,encodedIntentHash:a,tokenMint:r,tokenProgram:s=splToken.TOKEN_PROGRAM_ID,blockhash:o,ALTs:i,computeBudget:d}){t||(t=e);let c=K(d),m=await this.cancelIntentIxs(e,n);if(c.push(...m),r){let p=await this.withdrawIntentTokenAccountIxs({maker:e,receiver:t,id:n,encodedIntentHash:a,tokenMint:r,tokenProgram:s});c.push(...p);}return [P({instructions:c,payer:t,blockhash:o,ALTs:i})]}async closeIntentTxs({maker:e,payer:t,receiver:n,id:a,tokenMint:r,tokenProgram:s=splToken.TOKEN_PROGRAM_ID,blockhash:o,ALTs:i,computeBudget:d}){t||(t=e);let c=K(d),m=await this.closeIntentIxs(e,n??e,a);return c.push(...m),[P({instructions:c,payer:t,blockhash:o,ALTs:i})]}async swapTxs({taker:e,maker:t,intentId:n,tradeId:a,inputMint:r,outputMint:s,beginAmount:o,endAmount:i,bps:d,target:c,inputTokenProgram:m=splToken.TOKEN_PROGRAM_ID,outputTokenProgram:f=splToken.TOKEN_PROGRAM_ID,instructions:p=[],lastInstructions:y=[],computeBudget:l,payer:k,blockhash:h,ALTs:I}){k||(k=e);let x=K(l),S=await this.swapBeginIxs({taker:e,maker:t,intentId:n,tradeId:a,inputMint:r,outputMint:s,beginAmount:o,target:c,inputTokenProgram:m,outputTokenProgram:f}),T=await this.swapEndIxs({taker:e,intentId:n,endAmount:i,bps:d,inputMint:r,outputMint:s,outputTokenProgram:f});return [P({instructions:[...x,...S,...p,...T,...y],payer:k,blockhash:h,ALTs:I})]}static getStatePda(e){let[t]=web3_js.PublicKey.findProgramAddressSync([Buffer.from("state")],e);return t}static getIntentStoragePda(e,t){let[n]=web3_js.PublicKey.findProgramAddressSync([Buffer.from("intent_storage"),t],e);return n}static getMakerInfoPda(e,t){let[n]=web3_js.PublicKey.findProgramAddressSync([Buffer.from("maker_info"),t.toBuffer()],e);return n}static getDelegatesPda(e,t){let[n]=web3_js.PublicKey.findProgramAddressSync([Buffer.from("user_delegates"),t.toBuffer()],e);return n}static getEventAuthorityPda(e){let[t]=web3_js.PublicKey.findProgramAddressSync([Buffer.from("__event_authority")],e);return t}static getNativePda(e){let[t]=web3_js.PublicKey.findProgramAddressSync([Buffer.from("unwrap_native_receiver")],e);return t}static getBufferForIntentSignature(e,t="intents_program",n=solanaUtils.constants.SOLANA_CHAIN_ID){let a=Buffer.alloc(4);a.writeUInt32LE(n,0);let r=Buffer.from([105,110,116,101,110,116,115]);return Buffer.concat([Buffer.from(t),a,r,e])}static getDelegateApprovedBudgetsArgs(e){let t;return "set"in e?t={set:{0:e.set.map(({tokenMint:n,approvedAmount:a,expiration:r})=>({tokenMint:n,approvedAmount:new anchor.BN(a.toString()),expiration:new anchor.BN(r.toString())}))}}:"setAny"in e?t={setAny:{}}:t={revoke:{}},t}static getBufferForBudgetSignature(e,t,n,a="intents_program",r=solanaUtils.constants.SOLANA_CHAIN_ID){let s=u.getDelegateApprovedBudgetsArgs(n),i=new anchor.BorshCoder(z).types.encode("setApprovedTokenBudgets",s),d=Buffer.alloc(4);d.writeUInt32LE(r,0);let c=Buffer.from([98,117,100,103,101,116,115]);return Buffer.concat([Buffer.from(a),d,c,e.toBuffer(),Buffer.from(new anchor.BN(t.toString()).toArray("le",8)),i])}};var F=class u{addresses;lookupMap=new Map;constructor(e){this.addresses=e.map(t=>Buffer.from(t));}lookupIndex(e){let t=e.toString("hex"),n=this.lookupMap.get(t);if(n===void 0)throw new Error(`Address ${t} not found in AddressesList`);return n}serialize(){let e=new Map;for(let o of this.addresses){let i=e.get(o.length);i===void 0?e.set(o.length,[o]):i.push(o);}let t=Array.from(e.keys()).sort(),n=Buffer.alloc(t.reduce((o,i)=>o+e.get(i).length*i,0)+t.length*2+1);n[0]=t.length;let a=1,r=1+t.length*2,s=0;for(let o of t){let i=e.get(o).sort((c,m)=>c.compare(m));for(let c of i)this.lookupMap.set(c.toString("hex"),s),s+=1;n[a]=o,a+=1,n[a]=i.length,a+=1;let d=Buffer.concat(i);n.set(d,r),r+=d.length;}return n}static deserialize(e){let t=[];if(e.length==0)return null;let n=e[0],a=1,r=1+n*2;for(let s=0;s<n;s++){let o=e[a];a+=1;let i=e[a];if(a+=1,a>e.length)return null;for(let d=0;d<i;d++){let c=e.subarray(r,r+o);t.push(c),r+=o;}}return new u(t)}};var j=Buffer.from([1]),ee=Buffer.from([0]),E=Buffer.from([0]),O=Buffer.from([1]),te=class{constructor(e){this.buffer=e;}offset=0;readU8(){return this.buffer[this.offset++]}readU16LE(){let e=this.buffer.readUInt16LE(this.offset);return this.offset+=2,e}readU32LE(){let e=this.buffer.readUInt32LE(this.offset);return this.offset+=4,e}readU64LE(){let e=this.buffer.readBigUInt64LE(this.offset);return this.offset+=8,e}readBigIntBE(){let e=this.buffer.subarray(this.offset,this.offset+32);return this.offset+=32,BigInt("0x"+e.toString("hex"))}readBytes(e){let t=this.buffer.subarray(this.offset,this.offset+e);return this.offset+=e,t}peekU8(){return this.buffer[this.offset]}consumeIfEquals(e){return this.peekU8()===e?(this.offset++,true):false}consumeSeparator(){this.consumeIfEquals(1);}readOption(e){if(!this.consumeIfEquals(0))return this.consumeSeparator(),e()}readArray(e,t="u8"){let n=t==="u8"?this.readU8():this.readU16LE();if(n===0)return [];let a=[];for(let r=0;r<n;r++)a.push(e());return a}readAnyOr(e){return this.readU8()===1?"any":e()}readOptionAnyOr(e){if(!this.consumeIfEquals(0))return this.consumeSeparator(),this.readAnyOr(e)}readShortArray(){if(this.consumeIfEquals(0))return;this.consumeSeparator();let e=this.readU16LE();return this.readBytes(e)}readFixedBuffer(e){if(!this.consumeIfEquals(0))return this.consumeSeparator(),this.readBytes(e)}getOffset(){return this.offset}setOffset(e){this.offset=e;}},oe=class u{data;addressesList;serializedList;constructor(e){this.data=e,this.addressesList=this.buildAddressesListFromIntent(e),this.serializedList=this.addressesList.serialize();}buildAddressesListFromIntent(e){let t=new Set,n=i=>t.add(i.toString("hex")),a=i=>{if(i)for(let{address:d}of i)n(d);},r=i=>{if(i)for(let d of i)d.input!=="any"&&n(d.input),n(d.output);},s=i=>{if(i){for(let d of i)if(n(d.input),d.output!=="any")for(let c of d.output)c.token&&c.token!=="any"&&n(c.token);}};for(let i of e.inputTokens)n(i.token);r(e.giveTokens),s(e.takeTokens),a(e.receiverDetails),a(e.dstAuthorityAddress);let o=Array.from(t).map(i=>Buffer.from(i,"hex"));return new F(o)}serializeReceiversInfo(e){if(!e||e.length===0)return E;let t=e.map(({chainIds:a,address:r})=>{let s;if(a==="any")s=Buffer.alloc(2),s.writeUInt8(this.addressesList.lookupIndex(r),0),s.writeUInt8(1,1);else {s=Buffer.alloc(3+a.length*4),s.writeUInt8(this.addressesList.lookupIndex(r),0),s.writeUInt8(0,1),s.writeUInt8(a.length,2);for(let[o,i]of a.entries())s.writeUInt32LE(i,3+o*4);}return s}),n=Buffer.alloc(1);return n.writeUInt8(t.length,0),Buffer.concat([n,...t])}serializeInputTokens(){let e=this.data.inputTokens.map(n=>{let a=Buffer.alloc(25);return a[0]=this.addressesList.lookupIndex(n.token),a.writeBigUInt64LE(n.minPartialAmount,1),a.writeBigUInt64LE(n.maxPartialAmount,9),a.writeBigUInt64LE(n.constraintBudget,17),a}),t=Buffer.alloc(1);return t.writeUInt8(e.length,0),Buffer.concat([t,...e])}serializeGiveTokens(e){if(!e||e.length===0)return E;let t=e.map(a=>{let r;if(a.input==="any")r=Buffer.alloc(2),r.writeUInt8(this.addressesList.lookupIndex(a.output),0),r.writeUInt8(1,1);else {r=Buffer.alloc(35),r.writeUInt8(this.addressesList.lookupIndex(a.output),0),r.writeUInt8(0,1),r.writeUInt8(this.addressesList.lookupIndex(a.input),2),r.writeBigInt64LE(a.price,3);let s=a.price.toString(16).padStart(64,"0");Buffer.from(s,"hex").copy(r,3);}return r}),n=Buffer.alloc(1);return n.writeUInt8(e.length,0),Buffer.concat([n,...t])}serializeTakeTokens(e){let t=0,n=e.map(r=>{let s;return r.output==="any"?(t=1,s=Buffer.alloc(2),s.writeUInt8(this.addressesList.lookupIndex(r.input),0),s.writeUInt8(1,1)):(t+=r.output.length,s=Buffer.concat(r.output.map(o=>{if(o.token==="any"){let i=Buffer.alloc(6);return i.writeUInt8(0,0),i.writeUInt8(o.chainId,1),i.writeUInt8(1,5),Buffer.concat([Buffer.from([this.addressesList.lookupIndex(r.input)]),i])}else {let i;if(o.price==="any")i=Buffer.alloc(8),i.writeUInt8(0,0),i.writeUInt32LE(o.chainId,1),i.writeUInt8(0,5),i.writeUInt8(this.addressesList.lookupIndex(o.token),6),i.writeUInt8(1,7);else {i=Buffer.alloc(40),i.writeUInt8(0,0),i.writeUInt32LE(o.chainId,1),i.writeUInt8(0,5),i.writeUInt8(this.addressesList.lookupIndex(o.token),6),i.writeUInt8(0,7);let d=o.price.toString(16).padStart(64,"0");Buffer.from(d,"hex").copy(i,8);}return Buffer.concat([Buffer.from([this.addressesList.lookupIndex(r.input)]),i])}}))),s}),a=Buffer.alloc(1);return a.writeUInt8(t,0),Buffer.concat([a,...n])}serializeExternalCallHash(e){return e?e==="any"?Buffer.concat([O,j]):Buffer.concat([O,ee,e]):E}serializeOptionalBytes(e){if(e){let t=Buffer.alloc(2);return t.writeInt16LE(e.length),Buffer.concat([O,t,e])}return E}serializeDlnMetadata(e){if(!e)return E;if(e==="any")return Buffer.concat([O,j]);{let t=Buffer.alloc(2);return t.writeInt16LE(e.length,0),Buffer.concat([O,ee,t,e])}}serializeShortArray(e){if(!e)return E;let t=Buffer.alloc(2);return t.writeInt16LE(e.length,0),Buffer.concat([O,t,e])}serializeAllowedSenders(e){if(this.data.allowedSenders==="any")return j;let t=Buffer.alloc(1);return t.writeUInt8(e.length,0),Buffer.concat([ee,t,...e])}serializeAddresses(e){if(!e||e.length===0)return E;let t=Buffer.alloc(1);return t.writeUInt8(e.length,0),Buffer.concat([t,...e])}serializeOptionalPubkey(e){return e?Buffer.concat([O,e.toBuffer()]):E}serialize(){let e=[],t=Buffer.alloc(4);t.writeUInt32LE(this.data.chainId,0),e.push(t),this.data.authority?e.push(O,this.data.authority.toBuffer()):e.push(E);let n=Buffer.alloc(16);return n.writeBigUInt64LE(BigInt(this.data.timestamp),0),n.writeBigUInt64LE(BigInt(this.data.expirationTimestamp),8),e.push(n),e.push(this.serializedList),e.push(this.serializeInputTokens()),e.push(this.serializeGiveTokens(this.data.giveTokens)),e.push(this.serializeTakeTokens(this.data.takeTokens)),e.push(this.serializeReceiversInfo(this.data.receiverDetails)),e.push(this.serializeAllowedSenders(this.data.allowedSenders)),e.push(this.serializeOptionalPubkey(this.data.preInteractions)),e.push(this.serializeOptionalPubkey(this.data.postInteractions)),e.push(this.serializeShortArray(this.data.validationRules)),e.push(this.serializeOptionalBytes(this.data.executionMetadata)),e.push(this.serializeAddresses(this.data.srcAllowedCancelBeneficiary)),e.push(this.serializeReceiversInfo(this.data.dstAuthorityAddress)),e.push(this.serializeExternalCallHash(this.data.externalCallHash)),e.push(this.serializeDlnMetadata(this.data.dlnMetadata)),Buffer.concat(e)}static getId(e,t,n){let a=jsSha3.keccak256(e),r=Buffer.from(a,"hex"),[s]=web3_js.PublicKey.findProgramAddressSync([Buffer.from("intent_id"),t.toBuffer(),r],n);return {hex:`0x${s.toBuffer().toString("hex")}`,buffer:s.toBuffer(),rawHash:r}}static deserialize(e,t){let n=new te(e),a=n.readU32LE(),r=n.readOption(()=>new web3_js.PublicKey(n.readBytes(32))),s=Number(n.readU64LE()),o=Number(n.readU64LE()),i=n.getOffset(),d=n.readU8(),c=1+d*2,m=0,f=n.getOffset();for(let g=0;g<d;g++){let M=e[f+g*2],q=e[f+g*2+1];m+=M*q;}let p=e.subarray(i,i+c+m),y=F.deserialize(p);if(y==null)return null;n.setOffset(i+c+m);let l=g=>y.addresses[g],k=n.readArray(()=>({token:l(n.readU8()),minPartialAmount:n.readU64LE(),maxPartialAmount:n.readU64LE(),constraintBudget:n.readU64LE()})),h=n.readArray(()=>{let g=n.readU8();return n.readU8()===1?{input:"any",output:l(g)}:{input:l(n.readU8()),output:l(g),price:n.readBigIntBE()}}),I=new Map;n.readArray(()=>{let g=n.readU8(),M=n.readAnyOr(()=>{let ne=n.readU32LE(),$=n.readAnyOr(()=>{let de=n.readU8(),ce=n.readAnyOr(()=>n.readBigIntBE());return {token:l(de),price:ce}});return $==="any"?{chainId:ne,token:"any"}:{chainId:ne,token:$.token,price:$.price}});(I.has(g)?I.get(g):I.set(g,[]).get(g)).push(M);},"u8");let x=[];for(let[g,M]of I.entries())x.push({input:l(g),output:M});let S=()=>{let g=n.readU8();if(n.readU8()===1)return {address:l(g),chainIds:"any"};let q=n.readArray(()=>n.readU32LE());return {address:l(g),chainIds:q}},T=n.readArray(S),B=n.readAnyOr(()=>n.readArray(()=>n.readBytes(32))),C=n.readOption(()=>new web3_js.PublicKey(n.readBytes(32))),U=n.readOption(()=>new web3_js.PublicKey(n.readBytes(32))),H=n.readShortArray(),V=n.readShortArray(),W=n.readArray(()=>n.readBytes(32)),X=n.readArray(S),R=n.readOptionAnyOr(()=>n.readBytes(32)),J=n.readOptionAnyOr(()=>{let g=n.readU16LE();return n.readBytes(g)}),Y={owner:t,chainId:a,authority:r,timestamp:s,expirationTimestamp:o,inputTokens:k,giveTokens:h.length>0?h:void 0,takeTokens:x,receiverDetails:T,allowedSenders:B,preInteractions:C,postInteractions:U,validationRules:H,executionMetadata:V,srcAllowedCancelBeneficiary:W.length>0?W:void 0,dstAuthorityAddress:X,externalCallHash:R,dlnMetadata:J};return new u(Y)}};exports.DEFAULT_RECORD_OFFSET=D;exports.IDL=z;exports.Intent=oe;exports.IntentProgramSigPrefix=xe;exports.IntentsClient=ie;//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|