@debridge-finance/intents-client 1.4.0 → 1.4.1

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.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../idl/intents-program.ts","../src/helpers.ts","../src/client.ts","../src/addresses-list.ts","../src/intent.ts"],"names":["IDL","bigintToArray","n","type","size","BN","getComputeBudgetIxs","computeBudget","ixs","ComputeBudgetProgram","getVersionedTransaction","instructions","payer","blockhash","ALTs","VersionedTransaction","MessageV0","IntentProgramSigPrefix","DEFAULT_RECORD_OFFSET","RECORD_META_DATA_SIZE","IntentsClient","_IntentsClient","connection","programId","recordProgramId","RECORD_PROGRAM_ID","AnchorProvider","setProvider","Program","length","budgets","accountInfo","data","intentId","intentStorage","maker","makerInfoPda","delegate","makerInfo","tokens","tokenProgram","TOKEN_PROGRAM_ID","amounts","accounts","mint","amount","getAssociatedTokenAddressSync","id","rentPayer","SystemProgram","tradeId","taker","tokenMint","dlnOrder","dlnMetadata","dlnSrc","PublicKey","programs","accountsResolver","dlnSrcResolver","dlnSrcState","dlnSrcGiveOrderState","dlnSrcGiveOrderWallet","dlnSrcAuthorizedNativeSender","dlnSrcFeeLedgerWallet","intentGiveTokenATA","args","ASSOCIATED_TOKEN_PROGRAM_ID","receiver","unwrapTakeToken","unwrapNativeSol","receiverTakeToken","intentTakeTokenATA","NATIVE_MINT","feeLedger","ix","receiverIdx","meta","encodedIntentHash","encodedIntentLength","inputTokensAmount","space","signature","nonce","enumArgs","encodedApprovedTokenBudgets","timestamp","beginAmount","target","inputMint","outputMint","inputTokenProgram","outputTokenProgram","makerInputToken","takerInputToken","takerOutputToken","intentOutputToken","SYSVAR_INSTRUCTIONS_PUBKEY","endAmount","bps","record","offset","intentTokenAccount","makerTokenAccount","authority","createCloseAccountInstruction","buffer","createWriteInstruction","currentLamports","currentSize","requiredSize","deltaLamports","transferIx","reallocIx","createReallocateInstruction","intent","initIntentIxs","recordAccount","Keypair","serializedIntent","lamports","budgetIxs","createAccountIx","initRecordIx","createInitializeInstruction","tx","txs","closeRecordIxs","tmpTx","tmpSize","transactions","constants","lastInstructions","writeIxs","low","high","lastGoodIx","lastGoodLen","mid","finalInstructions","combinedInstructions","combinedTx","combinedSize","updateTx","init","write","updateIntentIxs","reallocRecordIxs","bufferOffset","closeIntentIxs","withdrawIntentTokenAccountIxs","swapBeginIxs","swapEndIxs","pubkey","user","intentProgramSigPrefix","chainId","chainBuffer","intentSigPrefix","approvedAmount","expiration","argsBuffer","BorshCoder","budgetsSigPrefix","AddressesList","addresses","address","key","index","sizeGroups","sizeGroup","sortedKeys","result","acc","k","dataOffset","currentGroup","a","b","addressesBuffer","anyBuffer","exactBuffer","emptyArrayBuffer","separationBuffer","Intent","addressSet","collect","addr","collectMap","list","collectGiveTokens","token","collectTakeTokens","output","uniqueAddresses","hex","details","buffers","chainIds","buf","lengthBuf","addrs","pk","parts","idBuf","tsBuf","string","keccak256","rawHash"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Program IDL in camelCase format in order to be used in JS/TS.\n *\n * Note that this is only a type helper and is not the actual IDL. The original\n * IDL can be found at `target/idl/intents_program.json`.\n */\nexport type IntentsProgram = {\n address: \"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE\";\n metadata: {\n name: \"intentsProgram\";\n version: \"0.0.0\";\n spec: \"0.1.0\";\n description: \"deBridge Intents Program\";\n };\n instructions: [\n {\n name: \"about\";\n discriminator: [62, 111, 52, 44, 118, 185, 179, 229];\n accounts: [];\n args: [];\n },\n {\n name: \"approveProtocolTransfers\";\n discriminator: [17, 3, 184, 144, 112, 130, 116, 98];\n accounts: [\n {\n name: \"maker\";\n signer: true;\n },\n {\n name: \"state\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n {\n name: \"tokenProgram\";\n },\n ];\n args: [\n {\n name: \"amounts\";\n type: {\n vec: \"u64\";\n };\n },\n ];\n },\n {\n name: \"cancelIntent\";\n discriminator: [67, 73, 238, 244, 208, 89, 225, 59];\n accounts: [\n {\n name: \"initiator\";\n signer: true;\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"state\";\n },\n ];\n args: [];\n },\n {\n name: \"closeAccount\";\n discriminator: [125, 255, 149, 14, 110, 34, 72, 24];\n accounts: [\n {\n name: \"programAuthority\";\n signer: true;\n address: \"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE\";\n },\n {\n name: \"target\";\n writable: true;\n },\n {\n name: \"rentReceiver\";\n writable: true;\n },\n ];\n args: [];\n },\n {\n name: \"closeIntent\";\n discriminator: [112, 245, 154, 249, 57, 126, 54, 122];\n accounts: [\n {\n name: \"initiator\";\n signer: true;\n },\n {\n name: \"maker\";\n docs: [\"CHECK\"];\n },\n {\n name: \"makerInfo\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"rentPayer\";\n writable: true;\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"state\";\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n ];\n args: [];\n },\n {\n name: \"collectFee\";\n discriminator: [60, 173, 247, 103, 4, 93, 130, 48];\n accounts: [\n {\n name: \"feeCollector\";\n signer: true;\n relations: [\"state\"];\n },\n {\n name: \"state\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n {\n name: \"feeLedger\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"state\";\n },\n {\n kind: \"account\";\n path: \"tokenProgram\";\n },\n {\n kind: \"account\";\n path: \"mint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"destination\";\n writable: true;\n },\n {\n name: \"mint\";\n },\n {\n name: \"tokenProgram\";\n },\n ];\n args: [\n {\n name: \"amount\";\n type: \"u64\";\n },\n ];\n },\n {\n name: \"executeIntent\";\n discriminator: [53, 130, 47, 154, 227, 220, 122, 212];\n accounts: [\n {\n name: \"taker\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n },\n {\n name: \"maker\";\n relations: [\"intentStorage\"];\n },\n {\n name: \"makerInfo\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"intentGiveToken\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"intentStorage\";\n },\n {\n kind: \"account\";\n path: \"tokenProgram\";\n },\n {\n kind: \"account\";\n path: \"tokenMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"dlnSrc\";\n address: \"srch38nzfcgwJnfKE6xWD8vfNJtudazwisdcociAuQt\";\n },\n {\n name: \"dlnSrcState\";\n },\n {\n name: \"dlnSrcGiveOrderState\";\n writable: true;\n },\n {\n name: \"dlnSrcGiveOrderWallet\";\n writable: true;\n },\n {\n name: \"dlnSrcAuthorizedNativeSender\";\n },\n {\n name: \"dlnSrcFeeLedgerWallet\";\n writable: true;\n },\n {\n name: \"tokenMint\";\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"tokenProgram\";\n },\n {\n name: \"associatedTokenProgram\";\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"dlnOrderArgs\";\n type: {\n defined: {\n name: \"createOrderArgs\";\n };\n };\n },\n {\n name: \"dlnOrderNonce\";\n type: \"u64\";\n },\n {\n name: \"dlnMetadata\";\n type: \"bytes\";\n },\n {\n name: \"tradeId\";\n type: {\n array: [\"u8\", 32];\n };\n },\n ];\n },\n {\n name: \"executeIntent2\";\n discriminator: [57, 145, 38, 151, 5, 101, 106, 72];\n accounts: [\n {\n name: \"taker\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n {\n name: \"maker\";\n writable: true;\n relations: [\"intentStorage\"];\n },\n {\n name: \"makerInfo\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"intentTakeToken\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"intentStorage\";\n },\n {\n kind: \"account\";\n path: \"tokenProgram\";\n },\n {\n kind: \"account\";\n path: \"tokenMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"feeLedger\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"state\";\n },\n {\n kind: \"account\";\n path: \"tokenProgram\";\n },\n {\n kind: \"account\";\n path: \"tokenMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"receiver\";\n },\n {\n name: \"receiverTakeToken\";\n writable: true;\n },\n {\n name: \"tokenMint\";\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"tokenProgram\";\n },\n {\n name: \"associatedTokenProgram\";\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"amount\";\n type: \"u64\";\n },\n {\n name: \"tradeId\";\n type: {\n array: [\"u8\", 32];\n };\n },\n ];\n },\n {\n name: \"initIntent\";\n discriminator: [231, 255, 81, 23, 112, 148, 49, 134];\n accounts: [\n {\n name: \"maker\";\n signer: true;\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"space\";\n type: \"u32\";\n },\n {\n name: \"encodedIntentHash\";\n type: {\n defined: {\n name: \"encodedIntentHash\";\n };\n };\n },\n ];\n },\n {\n name: \"initIntentByDelegate\";\n discriminator: [85, 140, 35, 112, 240, 67, 16, 40];\n accounts: [\n {\n name: \"delegate\";\n signer: true;\n },\n {\n name: \"maker\";\n docs: [\"CHECK\"];\n },\n {\n name: \"makerInfo\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"space\";\n type: \"u32\";\n },\n {\n name: \"encodedIntentHash\";\n type: {\n defined: {\n name: \"encodedIntentHash\";\n };\n };\n },\n ];\n },\n {\n name: \"initIntentByDelegateUsingSig\";\n discriminator: [113, 25, 150, 248, 204, 41, 36, 34];\n accounts: [\n {\n name: \"delegate\";\n docs: [\"CHECK\"];\n },\n {\n name: \"maker\";\n docs: [\"CHECK\"];\n },\n {\n name: \"makerInfo\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"space\";\n type: \"u32\";\n },\n {\n name: \"encodedIntentHash\";\n type: {\n defined: {\n name: \"encodedIntentHash\";\n };\n };\n },\n {\n name: \"signature\";\n type: {\n array: [\"u8\", 64];\n };\n },\n ];\n },\n {\n name: \"initIntentUsingSig\";\n discriminator: [163, 186, 238, 179, 190, 181, 19, 185];\n accounts: [\n {\n name: \"maker\";\n docs: [\"CHECK\"];\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"space\";\n type: \"u32\";\n },\n {\n name: \"encodedIntentHash\";\n type: {\n defined: {\n name: \"encodedIntentHash\";\n };\n };\n },\n {\n name: \"signature\";\n type: {\n array: [\"u8\", 64];\n };\n },\n ];\n },\n {\n name: \"initState\";\n discriminator: [124, 213, 73, 136, 80, 37, 141, 54];\n accounts: [\n {\n name: \"protocolAuthority\";\n signer: true;\n },\n {\n name: \"programAuthority\";\n signer: true;\n address: \"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE\";\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n ];\n args: [];\n },\n {\n name: \"reallocState\";\n discriminator: [67, 181, 233, 214, 215, 148, 245, 126];\n accounts: [\n {\n name: \"inner\";\n accounts: [\n {\n name: \"protocolAuthority\";\n signer: true;\n relations: [\"state\"];\n },\n {\n name: \"state\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n ];\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n ];\n args: [\n {\n name: \"newSpace\";\n type: \"u32\";\n },\n ];\n },\n {\n name: \"setCancelUntilTimestamp\";\n discriminator: [206, 248, 194, 176, 4, 206, 30, 228];\n accounts: [\n {\n name: \"inner\";\n accounts: [\n {\n name: \"protocolAuthority\";\n signer: true;\n relations: [\"state\"];\n },\n {\n name: \"state\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n ];\n },\n ];\n args: [\n {\n name: \"cancelUntilTimestamp\";\n type: \"u64\";\n },\n ];\n },\n {\n name: \"setDefaultFee\";\n discriminator: [150, 137, 197, 111, 176, 227, 201, 110];\n accounts: [\n {\n name: \"inner\";\n accounts: [\n {\n name: \"protocolAuthority\";\n signer: true;\n relations: [\"state\"];\n },\n {\n name: \"state\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n ];\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"defaultFeeBps\";\n type: \"u32\";\n },\n ];\n },\n {\n name: \"setDelegateApprovedBudgets\";\n discriminator: [82, 182, 181, 250, 30, 186, 95, 15];\n accounts: [\n {\n name: \"maker\";\n signer: true;\n },\n {\n name: \"delegate\";\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"makerInfo\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"state\";\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n ];\n args: [\n {\n name: \"nonce\";\n type: \"u64\";\n },\n {\n name: \"approvedTokenBudgets\";\n type: {\n defined: {\n name: \"setApprovedTokenBudgets\";\n };\n };\n },\n ];\n },\n {\n name: \"setDelegateApprovedBudgetsUsingSig\";\n discriminator: [26, 11, 76, 149, 162, 38, 128, 0];\n accounts: [\n {\n name: \"maker\";\n },\n {\n name: \"delegate\";\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"makerInfo\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"state\";\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n ];\n args: [\n {\n name: \"nonce\";\n type: \"u64\";\n },\n {\n name: \"encodedApprovedTokenBudgets\";\n type: \"bytes\";\n },\n {\n name: \"signature\";\n type: {\n array: [\"u8\", 64];\n };\n },\n ];\n },\n {\n name: \"setFeeCollector\";\n discriminator: [143, 46, 10, 113, 121, 157, 245, 166];\n accounts: [\n {\n name: \"inner\";\n accounts: [\n {\n name: \"protocolAuthority\";\n signer: true;\n relations: [\"state\"];\n },\n {\n name: \"state\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n ];\n },\n ];\n args: [\n {\n name: \"feeCollector\";\n type: \"pubkey\";\n },\n ];\n },\n {\n name: \"setMakerCancelUntilTimestamp\";\n discriminator: [144, 42, 186, 107, 205, 215, 55, 229];\n accounts: [\n {\n name: \"maker\";\n signer: true;\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"makerInfo\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"state\";\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n ];\n args: [\n {\n name: \"cancelUntilTimestamp\";\n type: \"u64\";\n },\n ];\n },\n {\n name: \"setPause\";\n discriminator: [63, 32, 154, 2, 56, 103, 79, 45];\n accounts: [\n {\n name: \"inner\";\n accounts: [\n {\n name: \"protocolAuthority\";\n signer: true;\n relations: [\"state\"];\n },\n {\n name: \"state\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n ];\n },\n ];\n args: [\n {\n name: \"pauseFlag\";\n type: \"bool\";\n },\n ];\n },\n {\n name: \"setProtocolAuthority\";\n discriminator: [96, 162, 46, 152, 72, 147, 175, 176];\n accounts: [\n {\n name: \"inner\";\n accounts: [\n {\n name: \"protocolAuthority\";\n signer: true;\n relations: [\"state\"];\n },\n {\n name: \"state\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n ];\n },\n {\n name: \"newProtocolAuthority\";\n signer: true;\n },\n ];\n args: [];\n },\n {\n name: \"swapBegin\";\n discriminator: [87, 236, 193, 120, 215, 245, 9, 37];\n accounts: [\n {\n name: \"taker\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n {\n name: \"maker\";\n relations: [\"intentStorage\"];\n },\n {\n name: \"makerInfo\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"inputMint\";\n },\n {\n name: \"outputMint\";\n },\n {\n name: \"makerInputToken\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"maker\";\n },\n {\n kind: \"account\";\n path: \"inputTokenProgram\";\n },\n {\n kind: \"account\";\n path: \"inputMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"takerInputToken\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"taker\";\n },\n {\n kind: \"account\";\n path: \"inputTokenProgram\";\n },\n {\n kind: \"account\";\n path: \"inputMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"takerOutputToken\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"taker\";\n },\n {\n kind: \"account\";\n path: \"outputTokenProgram\";\n },\n {\n kind: \"account\";\n path: \"outputMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"intentOutputToken\";\n writable: true;\n },\n {\n name: \"instructions\";\n address: \"Sysvar1nstructions1111111111111111111111111\";\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"inputTokenProgram\";\n },\n {\n name: \"outputTokenProgram\";\n },\n {\n name: \"associatedTokenProgram\";\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"amount\";\n type: \"u64\";\n },\n {\n name: \"target\";\n type: {\n defined: {\n name: \"targetTokenAccount\";\n };\n };\n },\n {\n name: \"tradeId\";\n type: {\n array: [\"u8\", 32];\n };\n },\n ];\n },\n {\n name: \"swapEnd\";\n discriminator: [75, 178, 142, 132, 50, 126, 38, 31];\n accounts: [\n {\n name: \"taker\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"inputMint\";\n },\n {\n name: \"outputMint\";\n },\n {\n name: \"takerOutputToken\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"taker\";\n },\n {\n kind: \"account\";\n path: \"outputTokenProgram\";\n },\n {\n kind: \"account\";\n path: \"outputMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"intentOutputToken\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"intentStorage\";\n },\n {\n kind: \"account\";\n path: \"outputTokenProgram\";\n },\n {\n kind: \"account\";\n path: \"outputMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"instructions\";\n address: \"Sysvar1nstructions1111111111111111111111111\";\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"outputTokenProgram\";\n },\n {\n name: \"associatedTokenProgram\";\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"expectedOutputTokenAmount\";\n type: \"u64\";\n },\n {\n name: \"takerSurplusShareBps\";\n type: \"u32\";\n },\n ];\n },\n {\n name: \"updateIntent\";\n discriminator: [214, 203, 249, 158, 90, 27, 54, 17];\n accounts: [\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"buffer\";\n optional: true;\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"dataOrigin\";\n type: {\n defined: {\n name: \"dataOrigin\";\n };\n };\n },\n ];\n },\n {\n name: \"withdrawIntentTokenAccount\";\n discriminator: [188, 114, 123, 239, 223, 164, 242, 101];\n accounts: [\n {\n name: \"state\";\n },\n {\n name: \"maker\";\n docs: [\"CHECK\"];\n },\n {\n name: \"intentStorage\";\n },\n {\n name: \"intentTokenAccount\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"intentStorage\";\n },\n {\n kind: \"account\";\n path: \"tokenProgram\";\n },\n {\n kind: \"account\";\n path: \"tokenMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"makerTokenAccount\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"maker\";\n },\n {\n kind: \"account\";\n path: \"tokenProgram\";\n },\n {\n kind: \"account\";\n path: \"tokenMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"rentReceiver\";\n writable: true;\n },\n {\n name: \"tokenMint\";\n },\n {\n name: \"tokenProgram\";\n },\n {\n name: \"associatedTokenProgram\";\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n },\n ];\n args: [\n {\n name: \"encodedIntentHash\";\n type: {\n option: {\n defined: {\n name: \"encodedIntentHash\";\n };\n };\n };\n },\n ];\n },\n ];\n accounts: [\n {\n name: \"intentStorage\";\n discriminator: [175, 239, 93, 146, 246, 119, 144, 249];\n },\n {\n name: \"makerInfo\";\n discriminator: [164, 184, 52, 218, 144, 52, 100, 40];\n },\n {\n name: \"state\";\n discriminator: [216, 146, 107, 94, 104, 75, 182, 177];\n },\n ];\n events: [\n {\n name: \"closedIntent\";\n discriminator: [197, 62, 20, 42, 191, 176, 242, 94];\n },\n {\n name: \"fulfilled\";\n discriminator: [210, 174, 131, 213, 40, 182, 83, 110];\n },\n {\n name: \"fulfilledDln\";\n discriminator: [42, 231, 52, 35, 155, 251, 144, 108];\n },\n {\n name: \"intentBudgetSpent\";\n discriminator: [106, 148, 20, 168, 115, 89, 145, 56];\n },\n {\n name: \"newIntent\";\n discriminator: [101, 118, 73, 187, 15, 74, 57, 97];\n },\n {\n name: \"sealedIntent\";\n discriminator: [28, 191, 234, 161, 83, 32, 138, 137];\n },\n {\n name: \"swapped\";\n discriminator: [217, 52, 52, 83, 147, 135, 96, 109];\n },\n ];\n errors: [\n {\n code: 6160;\n name: \"invalidArgument\";\n },\n {\n code: 6170;\n name: \"invalidAmount\";\n },\n {\n code: 6172;\n name: \"malformedRemainingAccounts\";\n },\n {\n code: 16782961;\n name: \"protocolPaused\";\n },\n {\n code: 16782979;\n name: \"timeParadox\";\n },\n {\n code: 6234;\n name: \"unknownCaller\";\n },\n {\n code: 6236;\n name: \"unknownCancelAuthority\";\n },\n {\n code: 6079;\n name: \"signatureVerificationFailed\";\n },\n {\n code: 6085;\n name: \"intentIdMiscalculated\";\n },\n {\n code: 6086;\n name: \"intentFromAnotherChain\";\n },\n {\n code: 6087;\n name: \"intentSameChainOnly\";\n },\n {\n code: 6088;\n name: \"intentInconsistentInputTokens\";\n },\n {\n code: 6089;\n name: \"intentInconsistentGiveTokens\";\n },\n {\n code: 6096;\n name: \"intentInconsistentTakeTokens\";\n },\n {\n code: 6097;\n name: \"intentInconsitentReceivers\";\n },\n {\n code: 6098;\n name: \"intentInconsitentDstAuthorities\";\n },\n {\n code: 6275;\n name: \"intentStorageAlreadyInitialized\";\n },\n {\n code: 6276;\n name: \"intentHashMismatch\";\n },\n {\n code: 6277;\n name: \"intentStorageSealed\";\n },\n {\n code: 6278;\n name: \"missedBufferAccount\";\n },\n {\n code: 6288;\n name: \"intentNotReady\";\n },\n {\n code: 6289;\n name: \"intentCancelled\";\n },\n {\n code: 6290;\n name: \"intentExpired\";\n },\n {\n code: 6291;\n name: \"intentInvalidatedByUser\";\n },\n {\n code: 6292;\n name: \"intentInvalidatedByProtocolAuthority\";\n },\n {\n code: 6293;\n name: \"expectedClosedIntent\";\n },\n {\n code: 6294;\n name: \"expectedCancelledIntent\";\n },\n {\n code: 9664;\n name: \"tokenAccountMissingProtocolDelegate\";\n },\n {\n code: 9665;\n name: \"unknownInputToken\";\n },\n {\n code: 9666;\n name: \"inputTokenAmountOutOfRange\";\n },\n {\n code: 9667;\n name: \"inputTokenAmountExceedsBudget\";\n },\n {\n code: 9680;\n name: \"takerNotAllowed\";\n },\n {\n code: 9681;\n name: \"unknownRoute\";\n },\n {\n code: 9682;\n name: \"priceViolation\";\n },\n {\n code: 9683;\n name: \"invalidReceiver\";\n },\n {\n code: 9684;\n name: \"readonlyReceiver\";\n },\n {\n code: 6101;\n name: \"missedNativeUnwrapFlag\";\n },\n {\n code: 9793;\n name: \"invalidDlnOrderTakeAmount\";\n },\n {\n code: 9794;\n name: \"invalidDlnDstReceiver\";\n },\n {\n code: 9802;\n name: \"invalidDlnDstOrderAuthority\";\n },\n {\n code: 9803;\n name: \"invalidDlnDstAllowedTaker\";\n },\n {\n code: 9804;\n name: \"invalidDlnSrcAllowedCancelBeneficiary\";\n },\n {\n code: 9805;\n name: \"invalidDlnMetadata\";\n },\n {\n code: 9806;\n name: \"invalidDlnExtcallHash\";\n },\n {\n code: 9788;\n name: \"cantBeClosed\";\n },\n {\n code: 9787;\n name: \"invalidTokenAccountRentReceiver\";\n },\n {\n code: 9839;\n name: \"intentArbitraryDataOverflow\";\n },\n {\n code: 8832;\n name: \"takerMustBeFixedWhenExtcallAllowed\";\n },\n {\n code: 8833;\n name: \"ambiguousReceivers\";\n },\n {\n code: 9600;\n name: \"interactionAccountNotFound\";\n },\n {\n code: 9601;\n name: \"interactionProgramNotFound\";\n },\n {\n code: 6239;\n name: \"interactionFixedAccountNotFound\";\n },\n {\n code: 9536;\n name: \"unknownDelegate\";\n },\n {\n code: 9537;\n name: \"delegateNonceMismatchNext\";\n },\n {\n code: 9546;\n name: \"delegateHasNoApproval\";\n },\n {\n code: 9547;\n name: \"delegateExceedsApprovedBudget\";\n },\n {\n code: 9550;\n name: \"delegateApprovalExpired\";\n },\n {\n code: 9551;\n name: \"delegateRevoked\";\n },\n {\n code: 16767137;\n name: \"crossProgramInvokeRestricted\";\n },\n {\n code: 16770159;\n name: \"crossProgramInvokeHasIntentsProgramAccount\";\n },\n ];\n types: [\n {\n name: \"address\";\n type: {\n kind: \"type\";\n alias: {\n vec: \"u8\";\n };\n };\n },\n {\n name: \"approvedTokenBudget\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"tokenMint\";\n type: \"pubkey\";\n },\n {\n name: \"approvedAmount\";\n type: \"u64\";\n },\n {\n name: \"expiration\";\n type: \"u64\";\n },\n ];\n };\n },\n {\n name: \"closedIntent\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"status\";\n type: {\n defined: {\n name: \"closedIntentStatus\";\n };\n };\n },\n ];\n };\n },\n {\n name: \"closedIntentStatus\";\n repr: {\n kind: \"rust\";\n };\n type: {\n kind: \"enum\";\n variants: [\n {\n name: \"wiped\";\n },\n {\n name: \"terminated\";\n },\n ];\n };\n },\n {\n name: \"createOrderArgs\";\n docs: [\"Structure for forming a new order\"];\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"giveOriginalAmount\";\n docs: [\n \"Input amount for `create order` call, that will be transferred from the user's wallet.\",\n \"The dln commissions will be deducted from it and the resulting value will be used as [`Order::give.amount`]\",\n ];\n type: \"u64\";\n },\n {\n name: \"take\";\n docs: [\"Offer to take in destination chain\"];\n type: {\n defined: {\n name: \"offer\";\n };\n };\n },\n {\n name: \"receiverDst\";\n docs: [\n \"Address in dst chain\",\n \"Address of receiver_dst of tokens in target chain\",\n \"or\",\n \"address of external call executor if `external_call` presented\",\n ];\n type: {\n defined: {\n name: \"address\";\n };\n };\n },\n {\n name: \"extcall\";\n docs: [\n \"External call for automatically execution in target chain after execution of order\",\n ];\n type: {\n option: \"bytes\";\n };\n },\n {\n name: \"givePatchAuthoritySrc\";\n docs: [\n \"Address in source chain\",\n \"Can call `patch_order_give` method of src program\",\n ];\n type: \"pubkey\";\n },\n {\n name: \"allowedCancelBeneficiarySrc\";\n docs: [\n \"Address in source chain\",\n \"If the field is `Some`, then only this address can receive cancel\",\n ];\n type: {\n option: \"pubkey\";\n };\n },\n {\n name: \"orderAuthorityAddressDst\";\n docs: [\n \"Address in destination chain\",\n \"Can `send_order_cancel`, `process_fallback` and `patch_order_take`\",\n ];\n type: {\n defined: {\n name: \"address\";\n };\n };\n },\n {\n name: \"allowedTakerDst\";\n docs: [\n \"Address in destination chain\",\n \"If the field is `Some`, then only this address can call `fulfill_order` with this\",\n \"order\",\n ];\n type: {\n option: {\n defined: {\n name: \"address\";\n };\n };\n };\n },\n ];\n };\n },\n {\n name: \"currentTokenBudget\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"tokenMint\";\n type: \"pubkey\";\n },\n {\n name: \"approvedAmount\";\n type: \"u64\";\n },\n {\n name: \"expiration\";\n type: \"u64\";\n },\n {\n name: \"remainingAmount\";\n type: \"u64\";\n },\n ];\n };\n },\n {\n name: \"dataOrigin\";\n type: {\n kind: \"enum\";\n variants: [\n {\n name: \"instruction\";\n fields: [\"bytes\"];\n },\n {\n name: \"buffer\";\n fields: [\n {\n name: \"offset\";\n type: \"u32\";\n },\n {\n name: \"length\";\n type: \"u32\";\n },\n ];\n },\n ];\n };\n },\n {\n name: \"delegateBudgets\";\n type: {\n kind: \"enum\";\n variants: [\n {\n name: \"any\";\n },\n {\n name: \"perToken\";\n fields: [\n {\n vec: {\n defined: {\n name: \"currentTokenBudget\";\n };\n };\n },\n ];\n },\n {\n name: \"revoked\";\n },\n ];\n };\n },\n {\n name: \"delegateInfo\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"delegate\";\n type: \"pubkey\";\n },\n {\n name: \"nonce\";\n type: \"u64\";\n },\n {\n name: \"budgets\";\n type: {\n defined: {\n name: \"delegateBudgets\";\n };\n };\n },\n ];\n };\n },\n {\n name: \"encodedIntentHash\";\n type: {\n kind: \"struct\";\n fields: [\n {\n array: [\"u8\", 32];\n },\n ];\n };\n },\n {\n name: \"fulfilled\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"intentId\";\n type: {\n defined: {\n name: \"intentId\";\n };\n };\n },\n {\n name: \"tradeId\";\n type: {\n array: [\"u8\", 32];\n };\n },\n {\n name: \"executionMetadata\";\n type: {\n option: \"bytes\";\n };\n },\n {\n name: \"takeToken\";\n type: \"pubkey\";\n },\n {\n name: \"takeTokenAmount\";\n type: \"u64\";\n },\n {\n name: \"takeTokenFeeAmount\";\n type: \"u64\";\n },\n ];\n };\n },\n {\n name: \"fulfilledDln\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"intentId\";\n type: {\n defined: {\n name: \"intentId\";\n };\n };\n },\n {\n name: \"executionMetadata\";\n type: {\n option: \"bytes\";\n };\n },\n {\n name: \"tradeId\";\n type: {\n array: [\"u8\", 32];\n };\n },\n {\n name: \"orderId\";\n type: {\n defined: {\n name: \"u256\";\n };\n };\n },\n {\n name: \"giveTokenFeeAmount\";\n type: \"u64\";\n },\n ];\n };\n },\n {\n name: \"intentBudget\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"mintIndex\";\n type: \"u8\";\n },\n {\n name: \"remainingAmount\";\n type: \"u64\";\n },\n ];\n };\n },\n {\n name: \"intentBudgetSpent\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"intentId\";\n type: {\n defined: {\n name: \"intentId\";\n };\n };\n },\n {\n name: \"tradeId\";\n type: {\n array: [\"u8\", 32];\n };\n },\n {\n name: \"executionMetadata\";\n type: {\n option: \"bytes\";\n };\n },\n {\n name: \"inputToken\";\n type: \"pubkey\";\n },\n {\n name: \"inputTokenSpentAmount\";\n type: \"u64\";\n },\n ];\n };\n },\n {\n name: \"intentBudgets\";\n type: {\n kind: \"struct\";\n fields: [\n {\n vec: {\n defined: {\n name: \"intentBudget\";\n };\n };\n },\n ];\n };\n },\n {\n name: \"intentId\";\n type: {\n kind: \"struct\";\n fields: [\n {\n array: [\"u8\", 32];\n },\n ];\n };\n },\n {\n name: \"intentStorage\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"maker\";\n type: \"pubkey\";\n },\n {\n name: \"delegate\";\n type: {\n option: \"pubkey\";\n };\n },\n {\n name: \"rentPayer\";\n type: \"pubkey\";\n },\n {\n name: \"arbitraryData\";\n type: {\n array: [\"u8\", 100];\n };\n },\n {\n name: \"encodedIntentHash\";\n type: {\n defined: {\n name: \"encodedIntentHash\";\n };\n };\n },\n {\n name: \"version\";\n type: \"u8\";\n },\n {\n name: \"storedIntent\";\n type: {\n defined: {\n name: \"storedIntent\";\n };\n };\n },\n {\n name: \"bump\";\n type: \"u8\";\n },\n ];\n };\n },\n {\n name: \"makerInfo\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"cancelUntilTimestamp\";\n type: \"u64\";\n },\n {\n name: \"delegates\";\n type: {\n vec: {\n defined: {\n name: \"delegateInfo\";\n };\n };\n };\n },\n ];\n };\n },\n {\n name: \"newIntent\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"intentId\";\n type: {\n defined: {\n name: \"intentId\";\n };\n };\n },\n ];\n };\n },\n {\n name: \"offer\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"chainId\";\n type: {\n defined: {\n name: \"u256\";\n };\n };\n },\n {\n name: \"tokenAddress\";\n type: {\n defined: {\n name: \"address\";\n };\n };\n },\n {\n name: \"amount\";\n type: {\n defined: {\n name: \"u256\";\n };\n };\n },\n ];\n };\n },\n {\n name: \"sealedIntent\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"intentId\";\n type: {\n defined: {\n name: \"intentId\";\n };\n };\n },\n {\n name: \"encodedIntent\";\n type: \"bytes\";\n },\n ];\n };\n },\n {\n name: \"setApprovedTokenBudgets\";\n type: {\n kind: \"enum\";\n variants: [\n {\n name: \"set\";\n fields: [\n {\n vec: {\n defined: {\n name: \"approvedTokenBudget\";\n };\n };\n },\n ];\n },\n {\n name: \"setAny\";\n },\n {\n name: \"revoke\";\n },\n ];\n };\n },\n {\n name: \"state\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"protocolAuthority\";\n type: \"pubkey\";\n },\n {\n name: \"feeCollector\";\n type: \"pubkey\";\n },\n {\n name: \"defaultFeeBps\";\n type: \"u32\";\n },\n {\n name: \"isPaused\";\n type: \"bool\";\n },\n {\n name: \"cancelUntilTimestamp\";\n type: \"u64\";\n },\n {\n name: \"bump\";\n type: \"u8\";\n },\n ];\n };\n },\n {\n name: \"storedIntent\";\n type: {\n kind: \"enum\";\n variants: [\n {\n name: \"uninitialized\";\n },\n {\n name: \"ready\";\n fields: [\n {\n name: \"encodedIntent\";\n type: \"bytes\";\n },\n {\n name: \"budgets\";\n type: {\n defined: {\n name: \"intentBudgets\";\n };\n };\n },\n ];\n },\n {\n name: \"cancelled\";\n fields: [\n {\n name: \"encodedIntent\";\n type: \"bytes\";\n },\n {\n name: \"budgets\";\n type: {\n defined: {\n name: \"intentBudgets\";\n };\n };\n },\n ];\n },\n ];\n };\n },\n {\n name: \"swapped\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"intentId\";\n type: {\n defined: {\n name: \"intentId\";\n };\n };\n },\n {\n name: \"tradeId\";\n type: {\n array: [\"u8\", 32];\n };\n },\n {\n name: \"executionMetadata\";\n type: {\n option: \"bytes\";\n };\n },\n {\n name: \"inputToken\";\n type: \"pubkey\";\n },\n {\n name: \"inputTokenAmount\";\n type: \"u64\";\n },\n {\n name: \"outputToken\";\n type: \"pubkey\";\n },\n {\n name: \"outputTokenAmount\";\n type: \"u64\";\n },\n {\n name: \"takerOutputTokenShareAmount\";\n type: \"u64\";\n },\n ];\n };\n },\n {\n name: \"targetTokenAccount\";\n type: {\n kind: \"enum\";\n variants: [\n {\n name: \"taker\";\n },\n {\n name: \"intent\";\n },\n ];\n };\n },\n {\n name: \"u256\";\n type: {\n kind: \"type\";\n alias: {\n array: [\"u8\", 32];\n };\n };\n },\n ];\n constants: [\n {\n name: \"budgetsSigPrefix\";\n type: \"bytes\";\n value: \"[98, 117, 100, 103, 101, 116, 115]\";\n },\n {\n name: \"clockDriftToleranceSecs\";\n type: \"u64\";\n value: \"300\";\n },\n {\n name: \"defaultFeeBps\";\n type: \"u32\";\n value: \"8\";\n },\n {\n name: \"intentIdHashPrefix\";\n docs: [\n \"Used **only** as sub-seed for [IntentId][`crate::types::IntentId`]\",\n ];\n type: \"bytes\";\n value: \"[105, 110, 116, 101, 110, 116, 95, 105, 100]\";\n },\n {\n name: \"intentProgramSigPrefix\";\n type: \"bytes\";\n value: \"[105, 110, 116, 101, 110, 116, 115, 95, 112, 114, 111, 103, 114, 97, 109]\";\n },\n {\n name: \"intentSigPrefix\";\n type: \"bytes\";\n value: \"[105, 110, 116, 101, 110, 116, 115]\";\n },\n {\n name: \"intentStorageBaseSeed\";\n type: \"bytes\";\n value: \"[105, 110, 116, 101, 110, 116, 95, 115, 116, 111, 114, 97, 103, 101]\";\n },\n {\n name: \"interactionCallAuthority\";\n type: \"bytes\";\n value: \"[105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121]\";\n },\n {\n name: \"makerInfoSeed\";\n type: \"bytes\";\n value: \"[109, 97, 107, 101, 114, 95, 105, 110, 102, 111]\";\n },\n {\n name: \"stateSeed\";\n type: \"bytes\";\n value: \"[115, 116, 97, 116, 101]\";\n },\n {\n name: \"unwrapNativePseudoMint\";\n type: \"pubkey\";\n value: \"11111111111111111111111111111111\";\n },\n {\n name: \"unwrapNativeReceiverSeed\";\n type: \"bytes\";\n value: \"[117, 110, 119, 114, 97, 112, 95, 110, 97, 116, 105, 118, 101, 95, 114, 101, 99, 101, 105, 118, 101, 114]\";\n },\n ];\n};\n\nexport const IDL: IntentsProgram = {\n address: \"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE\",\n metadata: {\n name: \"intentsProgram\",\n version: \"0.0.0\",\n spec: \"0.1.0\",\n description: \"deBridge Intents Program\",\n },\n instructions: [\n {\n name: \"about\",\n discriminator: [62, 111, 52, 44, 118, 185, 179, 229],\n accounts: [],\n args: [],\n },\n {\n name: \"approveProtocolTransfers\",\n discriminator: [17, 3, 184, 144, 112, 130, 116, 98],\n accounts: [\n {\n name: \"maker\",\n signer: true,\n },\n {\n name: \"state\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n {\n name: \"tokenProgram\",\n },\n ],\n args: [\n {\n name: \"amounts\",\n type: {\n vec: \"u64\",\n },\n },\n ],\n },\n {\n name: \"cancelIntent\",\n discriminator: [67, 73, 238, 244, 208, 89, 225, 59],\n accounts: [\n {\n name: \"initiator\",\n signer: true,\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"state\",\n },\n ],\n args: [],\n },\n {\n name: \"closeAccount\",\n discriminator: [125, 255, 149, 14, 110, 34, 72, 24],\n accounts: [\n {\n name: \"programAuthority\",\n signer: true,\n address: \"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE\",\n },\n {\n name: \"target\",\n writable: true,\n },\n {\n name: \"rentReceiver\",\n writable: true,\n },\n ],\n args: [],\n },\n {\n name: \"closeIntent\",\n discriminator: [112, 245, 154, 249, 57, 126, 54, 122],\n accounts: [\n {\n name: \"initiator\",\n signer: true,\n },\n {\n name: \"maker\",\n docs: [\"CHECK\"],\n },\n {\n name: \"makerInfo\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"rentPayer\",\n writable: true,\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"state\",\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n ],\n args: [],\n },\n {\n name: \"collectFee\",\n discriminator: [60, 173, 247, 103, 4, 93, 130, 48],\n accounts: [\n {\n name: \"feeCollector\",\n signer: true,\n relations: [\"state\"],\n },\n {\n name: \"state\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n {\n name: \"feeLedger\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"state\",\n },\n {\n kind: \"account\",\n path: \"tokenProgram\",\n },\n {\n kind: \"account\",\n path: \"mint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"destination\",\n writable: true,\n },\n {\n name: \"mint\",\n },\n {\n name: \"tokenProgram\",\n },\n ],\n args: [\n {\n name: \"amount\",\n type: \"u64\",\n },\n ],\n }, //TODO\n {\n name: \"executeIntent\",\n discriminator: [53, 130, 47, 154, 227, 220, 122, 212],\n accounts: [\n {\n name: \"taker\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n },\n {\n name: \"maker\",\n relations: [\"intentStorage\"],\n },\n {\n name: \"makerInfo\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"intentGiveToken\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"intentStorage\",\n },\n {\n kind: \"account\",\n path: \"tokenProgram\",\n },\n {\n kind: \"account\",\n path: \"tokenMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"dlnSrc\",\n address: \"srch38nzfcgwJnfKE6xWD8vfNJtudazwisdcociAuQt\",\n },\n {\n name: \"dlnSrcState\",\n },\n {\n name: \"dlnSrcGiveOrderState\",\n writable: true,\n },\n {\n name: \"dlnSrcGiveOrderWallet\",\n writable: true,\n },\n {\n name: \"dlnSrcAuthorizedNativeSender\",\n },\n {\n name: \"dlnSrcFeeLedgerWallet\",\n writable: true,\n },\n {\n name: \"tokenMint\",\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"tokenProgram\",\n },\n {\n name: \"associatedTokenProgram\",\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\",\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"dlnOrderArgs\",\n type: {\n defined: {\n name: \"createOrderArgs\",\n },\n },\n },\n {\n name: \"dlnOrderNonce\",\n type: \"u64\",\n },\n {\n name: \"dlnMetadata\",\n type: \"bytes\",\n },\n {\n name: \"tradeId\",\n type: {\n array: [\"u8\", 32],\n },\n },\n ],\n },\n {\n name: \"executeIntent2\",\n discriminator: [57, 145, 38, 151, 5, 101, 106, 72],\n accounts: [\n {\n name: \"taker\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n {\n name: \"maker\",\n writable: true,\n relations: [\"intentStorage\"],\n },\n {\n name: \"makerInfo\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"intentTakeToken\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"intentStorage\",\n },\n {\n kind: \"account\",\n path: \"tokenProgram\",\n },\n {\n kind: \"account\",\n path: \"tokenMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"feeLedger\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"state\",\n },\n {\n kind: \"account\",\n path: \"tokenProgram\",\n },\n {\n kind: \"account\",\n path: \"tokenMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"receiver\",\n },\n {\n name: \"receiverTakeToken\",\n writable: true,\n },\n {\n name: \"tokenMint\",\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"tokenProgram\",\n },\n {\n name: \"associatedTokenProgram\",\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\",\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"amount\",\n type: \"u64\",\n },\n {\n name: \"tradeId\",\n type: {\n array: [\"u8\", 32],\n },\n },\n ],\n },\n {\n name: \"initIntent\",\n discriminator: [231, 255, 81, 23, 112, 148, 49, 134],\n accounts: [\n {\n name: \"maker\",\n signer: true,\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"space\",\n type: \"u32\",\n },\n {\n name: \"encodedIntentHash\",\n type: {\n defined: {\n name: \"encodedIntentHash\",\n },\n },\n },\n ],\n },\n {\n name: \"initIntentByDelegate\",\n discriminator: [85, 140, 35, 112, 240, 67, 16, 40],\n accounts: [\n {\n name: \"delegate\",\n signer: true,\n },\n {\n name: \"maker\",\n docs: [\"CHECK\"],\n },\n {\n name: \"makerInfo\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"space\",\n type: \"u32\",\n },\n {\n name: \"encodedIntentHash\",\n type: {\n defined: {\n name: \"encodedIntentHash\",\n },\n },\n },\n ],\n },\n {\n name: \"initIntentByDelegateUsingSig\",\n discriminator: [113, 25, 150, 248, 204, 41, 36, 34],\n accounts: [\n {\n name: \"delegate\",\n docs: [\"CHECK\"],\n },\n {\n name: \"maker\",\n docs: [\"CHECK\"],\n },\n {\n name: \"makerInfo\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"space\",\n type: \"u32\",\n },\n {\n name: \"encodedIntentHash\",\n type: {\n defined: {\n name: \"encodedIntentHash\",\n },\n },\n },\n {\n name: \"signature\",\n type: {\n array: [\"u8\", 64],\n },\n },\n ],\n },\n {\n name: \"initIntentUsingSig\",\n discriminator: [163, 186, 238, 179, 190, 181, 19, 185],\n accounts: [\n {\n name: \"maker\",\n docs: [\"CHECK\"],\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"space\",\n type: \"u32\",\n },\n {\n name: \"encodedIntentHash\",\n type: {\n defined: {\n name: \"encodedIntentHash\",\n },\n },\n },\n {\n name: \"signature\",\n type: {\n array: [\"u8\", 64],\n },\n },\n ],\n },\n {\n name: \"initState\",\n discriminator: [124, 213, 73, 136, 80, 37, 141, 54],\n accounts: [\n {\n name: \"protocolAuthority\",\n signer: true,\n },\n {\n name: \"programAuthority\",\n signer: true,\n address: \"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE\",\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n ],\n args: [],\n },\n {\n name: \"reallocState\",\n discriminator: [67, 181, 233, 214, 215, 148, 245, 126],\n accounts: [\n {\n name: \"inner\",\n accounts: [\n {\n name: \"protocolAuthority\",\n signer: true,\n relations: [\"state\"],\n },\n {\n name: \"state\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n ],\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n ],\n args: [\n {\n name: \"newSpace\",\n type: \"u32\",\n },\n ],\n },\n {\n name: \"setCancelUntilTimestamp\",\n discriminator: [206, 248, 194, 176, 4, 206, 30, 228],\n accounts: [\n {\n name: \"inner\",\n accounts: [\n {\n name: \"protocolAuthority\",\n signer: true,\n relations: [\"state\"],\n },\n {\n name: \"state\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n ],\n },\n ],\n args: [\n {\n name: \"cancelUntilTimestamp\",\n type: \"u64\",\n },\n ],\n },\n {\n name: \"setDefaultFee\",\n discriminator: [150, 137, 197, 111, 176, 227, 201, 110],\n accounts: [\n {\n name: \"inner\",\n accounts: [\n {\n name: \"protocolAuthority\",\n signer: true,\n relations: [\"state\"],\n },\n {\n name: \"state\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n ],\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"defaultFeeBps\",\n type: \"u32\",\n },\n ],\n },\n {\n name: \"setDelegateApprovedBudgets\",\n discriminator: [82, 182, 181, 250, 30, 186, 95, 15],\n accounts: [\n {\n name: \"maker\",\n signer: true,\n },\n {\n name: \"delegate\",\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"makerInfo\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"state\",\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n ],\n args: [\n {\n name: \"nonce\",\n type: \"u64\",\n },\n {\n name: \"approvedTokenBudgets\",\n type: {\n defined: {\n name: \"setApprovedTokenBudgets\",\n },\n },\n },\n ],\n },\n {\n name: \"setDelegateApprovedBudgetsUsingSig\",\n discriminator: [26, 11, 76, 149, 162, 38, 128, 0],\n accounts: [\n {\n name: \"maker\",\n },\n {\n name: \"delegate\",\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"makerInfo\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"state\",\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n ],\n args: [\n {\n name: \"nonce\",\n type: \"u64\",\n },\n {\n name: \"encodedApprovedTokenBudgets\",\n type: \"bytes\",\n },\n {\n name: \"signature\",\n type: {\n array: [\"u8\", 64],\n },\n },\n ],\n },\n {\n name: \"setFeeCollector\",\n discriminator: [143, 46, 10, 113, 121, 157, 245, 166],\n accounts: [\n {\n name: \"inner\",\n accounts: [\n {\n name: \"protocolAuthority\",\n signer: true,\n relations: [\"state\"],\n },\n {\n name: \"state\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n ],\n },\n ],\n args: [\n {\n name: \"feeCollector\",\n type: \"pubkey\",\n },\n ],\n },\n {\n name: \"setMakerCancelUntilTimestamp\",\n discriminator: [144, 42, 186, 107, 205, 215, 55, 229],\n accounts: [\n {\n name: \"maker\",\n signer: true,\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"makerInfo\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"state\",\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n ],\n args: [\n {\n name: \"cancelUntilTimestamp\",\n type: \"u64\",\n },\n ],\n }, //TODO test\n {\n name: \"setPause\",\n discriminator: [63, 32, 154, 2, 56, 103, 79, 45],\n accounts: [\n {\n name: \"inner\",\n accounts: [\n {\n name: \"protocolAuthority\",\n signer: true,\n relations: [\"state\"],\n },\n {\n name: \"state\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n ],\n },\n ],\n args: [\n {\n name: \"pauseFlag\",\n type: \"bool\",\n },\n ],\n },\n {\n name: \"setProtocolAuthority\",\n discriminator: [96, 162, 46, 152, 72, 147, 175, 176],\n accounts: [\n {\n name: \"inner\",\n accounts: [\n {\n name: \"protocolAuthority\",\n signer: true,\n relations: [\"state\"],\n },\n {\n name: \"state\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n ],\n },\n {\n name: \"newProtocolAuthority\",\n signer: true,\n },\n ],\n args: [],\n },\n {\n name: \"swapBegin\",\n discriminator: [87, 236, 193, 120, 215, 245, 9, 37],\n accounts: [\n {\n name: \"taker\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n {\n name: \"maker\",\n relations: [\"intentStorage\"],\n },\n {\n name: \"makerInfo\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"inputMint\",\n },\n {\n name: \"outputMint\",\n },\n {\n name: \"makerInputToken\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"maker\",\n },\n {\n kind: \"account\",\n path: \"inputTokenProgram\",\n },\n {\n kind: \"account\",\n path: \"inputMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"takerInputToken\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"taker\",\n },\n {\n kind: \"account\",\n path: \"inputTokenProgram\",\n },\n {\n kind: \"account\",\n path: \"inputMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"takerOutputToken\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"taker\",\n },\n {\n kind: \"account\",\n path: \"outputTokenProgram\",\n },\n {\n kind: \"account\",\n path: \"outputMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"intentOutputToken\",\n writable: true,\n },\n {\n name: \"instructions\",\n address: \"Sysvar1nstructions1111111111111111111111111\",\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"inputTokenProgram\",\n },\n {\n name: \"outputTokenProgram\",\n },\n {\n name: \"associatedTokenProgram\",\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\",\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"amount\",\n type: \"u64\",\n },\n {\n name: \"target\",\n type: {\n defined: {\n name: \"targetTokenAccount\",\n },\n },\n },\n {\n name: \"tradeId\",\n type: {\n array: [\"u8\", 32],\n },\n },\n ],\n },\n {\n name: \"swapEnd\",\n discriminator: [75, 178, 142, 132, 50, 126, 38, 31],\n accounts: [\n {\n name: \"taker\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"inputMint\",\n },\n {\n name: \"outputMint\",\n },\n {\n name: \"takerOutputToken\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"taker\",\n },\n {\n kind: \"account\",\n path: \"outputTokenProgram\",\n },\n {\n kind: \"account\",\n path: \"outputMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"intentOutputToken\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"intentStorage\",\n },\n {\n kind: \"account\",\n path: \"outputTokenProgram\",\n },\n {\n kind: \"account\",\n path: \"outputMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"instructions\",\n address: \"Sysvar1nstructions1111111111111111111111111\",\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"outputTokenProgram\",\n },\n {\n name: \"associatedTokenProgram\",\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\",\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"expectedOutputTokenAmount\",\n type: \"u64\",\n },\n {\n name: \"takerSurplusShareBps\",\n type: \"u32\",\n },\n ],\n },\n {\n name: \"updateIntent\",\n discriminator: [214, 203, 249, 158, 90, 27, 54, 17],\n accounts: [\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"buffer\",\n optional: true,\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"dataOrigin\",\n type: {\n defined: {\n name: \"dataOrigin\",\n },\n },\n },\n ],\n },\n {\n name: \"withdrawIntentTokenAccount\",\n discriminator: [188, 114, 123, 239, 223, 164, 242, 101],\n accounts: [\n {\n name: \"state\",\n },\n {\n name: \"maker\",\n docs: [\"CHECK\"],\n },\n {\n name: \"intentStorage\",\n },\n {\n name: \"intentTokenAccount\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"intentStorage\",\n },\n {\n kind: \"account\",\n path: \"tokenProgram\",\n },\n {\n kind: \"account\",\n path: \"tokenMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"makerTokenAccount\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"maker\",\n },\n {\n kind: \"account\",\n path: \"tokenProgram\",\n },\n {\n kind: \"account\",\n path: \"tokenMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"rentReceiver\",\n writable: true,\n },\n {\n name: \"tokenMint\",\n },\n {\n name: \"tokenProgram\",\n },\n {\n name: \"associatedTokenProgram\",\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\",\n },\n ],\n args: [\n {\n name: \"encodedIntentHash\",\n type: {\n option: {\n defined: {\n name: \"encodedIntentHash\",\n },\n },\n },\n },\n ],\n },\n ],\n accounts: [\n {\n name: \"intentStorage\",\n discriminator: [175, 239, 93, 146, 246, 119, 144, 249],\n },\n {\n name: \"makerInfo\",\n discriminator: [164, 184, 52, 218, 144, 52, 100, 40],\n },\n {\n name: \"state\",\n discriminator: [216, 146, 107, 94, 104, 75, 182, 177],\n },\n ],\n events: [\n {\n name: \"closedIntent\",\n discriminator: [197, 62, 20, 42, 191, 176, 242, 94],\n },\n {\n name: \"fulfilled\",\n discriminator: [210, 174, 131, 213, 40, 182, 83, 110],\n },\n {\n name: \"fulfilledDln\",\n discriminator: [42, 231, 52, 35, 155, 251, 144, 108],\n },\n {\n name: \"intentBudgetSpent\",\n discriminator: [106, 148, 20, 168, 115, 89, 145, 56],\n },\n {\n name: \"newIntent\",\n discriminator: [101, 118, 73, 187, 15, 74, 57, 97],\n },\n {\n name: \"sealedIntent\",\n discriminator: [28, 191, 234, 161, 83, 32, 138, 137],\n },\n {\n name: \"swapped\",\n discriminator: [217, 52, 52, 83, 147, 135, 96, 109],\n },\n ],\n errors: [\n {\n code: 6160,\n name: \"invalidArgument\",\n },\n {\n code: 6170,\n name: \"invalidAmount\",\n },\n {\n code: 6172,\n name: \"malformedRemainingAccounts\",\n },\n {\n code: 16782961,\n name: \"protocolPaused\",\n },\n {\n code: 16782979,\n name: \"timeParadox\",\n },\n {\n code: 6234,\n name: \"unknownCaller\",\n },\n {\n code: 6236,\n name: \"unknownCancelAuthority\",\n },\n {\n code: 6079,\n name: \"signatureVerificationFailed\",\n },\n {\n code: 6085,\n name: \"intentIdMiscalculated\",\n },\n {\n code: 6086,\n name: \"intentFromAnotherChain\",\n },\n {\n code: 6087,\n name: \"intentSameChainOnly\",\n },\n {\n code: 6088,\n name: \"intentInconsistentInputTokens\",\n },\n {\n code: 6089,\n name: \"intentInconsistentGiveTokens\",\n },\n {\n code: 6096,\n name: \"intentInconsistentTakeTokens\",\n },\n {\n code: 6097,\n name: \"intentInconsitentReceivers\",\n },\n {\n code: 6098,\n name: \"intentInconsitentDstAuthorities\",\n },\n {\n code: 6275,\n name: \"intentStorageAlreadyInitialized\",\n },\n {\n code: 6276,\n name: \"intentHashMismatch\",\n },\n {\n code: 6277,\n name: \"intentStorageSealed\",\n },\n {\n code: 6278,\n name: \"missedBufferAccount\",\n },\n {\n code: 6288,\n name: \"intentNotReady\",\n },\n {\n code: 6289,\n name: \"intentCancelled\",\n },\n {\n code: 6290,\n name: \"intentExpired\",\n },\n {\n code: 6291,\n name: \"intentInvalidatedByUser\",\n },\n {\n code: 6292,\n name: \"intentInvalidatedByProtocolAuthority\",\n },\n {\n code: 6293,\n name: \"expectedClosedIntent\",\n },\n {\n code: 6294,\n name: \"expectedCancelledIntent\",\n },\n {\n code: 9664,\n name: \"tokenAccountMissingProtocolDelegate\",\n },\n {\n code: 9665,\n name: \"unknownInputToken\",\n },\n {\n code: 9666,\n name: \"inputTokenAmountOutOfRange\",\n },\n {\n code: 9667,\n name: \"inputTokenAmountExceedsBudget\",\n },\n {\n code: 9680,\n name: \"takerNotAllowed\",\n },\n {\n code: 9681,\n name: \"unknownRoute\",\n },\n {\n code: 9682,\n name: \"priceViolation\",\n },\n {\n code: 9683,\n name: \"invalidReceiver\",\n },\n {\n code: 9684,\n name: \"readonlyReceiver\",\n },\n {\n code: 6101,\n name: \"missedNativeUnwrapFlag\",\n },\n {\n code: 9793,\n name: \"invalidDlnOrderTakeAmount\",\n },\n {\n code: 9794,\n name: \"invalidDlnDstReceiver\",\n },\n {\n code: 9802,\n name: \"invalidDlnDstOrderAuthority\",\n },\n {\n code: 9803,\n name: \"invalidDlnDstAllowedTaker\",\n },\n {\n code: 9804,\n name: \"invalidDlnSrcAllowedCancelBeneficiary\",\n },\n {\n code: 9805,\n name: \"invalidDlnMetadata\",\n },\n {\n code: 9806,\n name: \"invalidDlnExtcallHash\",\n },\n {\n code: 9788,\n name: \"cantBeClosed\",\n },\n {\n code: 9787,\n name: \"invalidTokenAccountRentReceiver\",\n },\n {\n code: 9839,\n name: \"intentArbitraryDataOverflow\",\n },\n {\n code: 8832,\n name: \"takerMustBeFixedWhenExtcallAllowed\",\n },\n {\n code: 8833,\n name: \"ambiguousReceivers\",\n },\n {\n code: 9600,\n name: \"interactionAccountNotFound\",\n },\n {\n code: 9601,\n name: \"interactionProgramNotFound\",\n },\n {\n code: 6239,\n name: \"interactionFixedAccountNotFound\",\n },\n {\n code: 9536,\n name: \"unknownDelegate\",\n },\n {\n code: 9537,\n name: \"delegateNonceMismatchNext\",\n },\n {\n code: 9546,\n name: \"delegateHasNoApproval\",\n },\n {\n code: 9547,\n name: \"delegateExceedsApprovedBudget\",\n },\n {\n code: 9550,\n name: \"delegateApprovalExpired\",\n },\n {\n code: 9551,\n name: \"delegateRevoked\",\n },\n {\n code: 16767137,\n name: \"crossProgramInvokeRestricted\",\n },\n {\n code: 16770159,\n name: \"crossProgramInvokeHasIntentsProgramAccount\",\n },\n ],\n types: [\n {\n name: \"address\",\n type: {\n kind: \"type\",\n alias: {\n vec: \"u8\",\n },\n },\n },\n {\n name: \"approvedTokenBudget\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"tokenMint\",\n type: \"pubkey\",\n },\n {\n name: \"approvedAmount\",\n type: \"u64\",\n },\n {\n name: \"expiration\",\n type: \"u64\",\n },\n ],\n },\n },\n {\n name: \"closedIntent\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"status\",\n type: {\n defined: {\n name: \"closedIntentStatus\",\n },\n },\n },\n ],\n },\n },\n {\n name: \"closedIntentStatus\",\n repr: {\n kind: \"rust\",\n },\n type: {\n kind: \"enum\",\n variants: [\n {\n name: \"wiped\",\n },\n {\n name: \"terminated\",\n },\n ],\n },\n },\n {\n name: \"createOrderArgs\",\n docs: [\"Structure for forming a new order\"],\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"giveOriginalAmount\",\n docs: [\n \"Input amount for `create order` call, that will be transferred from the user's wallet.\",\n \"The dln commissions will be deducted from it and the resulting value will be used as [`Order::give.amount`]\",\n ],\n type: \"u64\",\n },\n {\n name: \"take\",\n docs: [\"Offer to take in destination chain\"],\n type: {\n defined: {\n name: \"offer\",\n },\n },\n },\n {\n name: \"receiverDst\",\n docs: [\n \"Address in dst chain\",\n \"Address of receiver_dst of tokens in target chain\",\n \"or\",\n \"address of external call executor if `external_call` presented\",\n ],\n type: {\n defined: {\n name: \"address\",\n },\n },\n },\n {\n name: \"extcall\",\n docs: [\n \"External call for automatically execution in target chain after execution of order\",\n ],\n type: {\n option: \"bytes\",\n },\n },\n {\n name: \"givePatchAuthoritySrc\",\n docs: [\n \"Address in source chain\",\n \"Can call `patch_order_give` method of src program\",\n ],\n type: \"pubkey\",\n },\n {\n name: \"allowedCancelBeneficiarySrc\",\n docs: [\n \"Address in source chain\",\n \"If the field is `Some`, then only this address can receive cancel\",\n ],\n type: {\n option: \"pubkey\",\n },\n },\n {\n name: \"orderAuthorityAddressDst\",\n docs: [\n \"Address in destination chain\",\n \"Can `send_order_cancel`, `process_fallback` and `patch_order_take`\",\n ],\n type: {\n defined: {\n name: \"address\",\n },\n },\n },\n {\n name: \"allowedTakerDst\",\n docs: [\n \"Address in destination chain\",\n \"If the field is `Some`, then only this address can call `fulfill_order` with this\",\n \"order\",\n ],\n type: {\n option: {\n defined: {\n name: \"address\",\n },\n },\n },\n },\n ],\n },\n },\n {\n name: \"currentTokenBudget\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"tokenMint\",\n type: \"pubkey\",\n },\n {\n name: \"approvedAmount\",\n type: \"u64\",\n },\n {\n name: \"expiration\",\n type: \"u64\",\n },\n {\n name: \"remainingAmount\",\n type: \"u64\",\n },\n ],\n },\n },\n {\n name: \"dataOrigin\",\n type: {\n kind: \"enum\",\n variants: [\n {\n name: \"instruction\",\n fields: [\"bytes\"],\n },\n {\n name: \"buffer\",\n fields: [\n {\n name: \"offset\",\n type: \"u32\",\n },\n {\n name: \"length\",\n type: \"u32\",\n },\n ],\n },\n ],\n },\n },\n {\n name: \"delegateBudgets\",\n type: {\n kind: \"enum\",\n variants: [\n {\n name: \"any\",\n },\n {\n name: \"perToken\",\n fields: [\n {\n vec: {\n defined: {\n name: \"currentTokenBudget\",\n },\n },\n },\n ],\n },\n {\n name: \"revoked\",\n },\n ],\n },\n },\n {\n name: \"delegateInfo\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"delegate\",\n type: \"pubkey\",\n },\n {\n name: \"nonce\",\n type: \"u64\",\n },\n {\n name: \"budgets\",\n type: {\n defined: {\n name: \"delegateBudgets\",\n },\n },\n },\n ],\n },\n },\n {\n name: \"encodedIntentHash\",\n type: {\n kind: \"struct\",\n fields: [\n {\n array: [\"u8\", 32],\n },\n ],\n },\n },\n {\n name: \"fulfilled\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"intentId\",\n type: {\n defined: {\n name: \"intentId\",\n },\n },\n },\n {\n name: \"tradeId\",\n type: {\n array: [\"u8\", 32],\n },\n },\n {\n name: \"executionMetadata\",\n type: {\n option: \"bytes\",\n },\n },\n {\n name: \"takeToken\",\n type: \"pubkey\",\n },\n {\n name: \"takeTokenAmount\",\n type: \"u64\",\n },\n {\n name: \"takeTokenFeeAmount\",\n type: \"u64\",\n },\n ],\n },\n },\n {\n name: \"fulfilledDln\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"intentId\",\n type: {\n defined: {\n name: \"intentId\",\n },\n },\n },\n {\n name: \"executionMetadata\",\n type: {\n option: \"bytes\",\n },\n },\n {\n name: \"tradeId\",\n type: {\n array: [\"u8\", 32],\n },\n },\n {\n name: \"orderId\",\n type: {\n defined: {\n name: \"u256\",\n },\n },\n },\n {\n name: \"giveTokenFeeAmount\",\n type: \"u64\",\n },\n ],\n },\n },\n {\n name: \"intentBudget\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"mintIndex\",\n type: \"u8\",\n },\n {\n name: \"remainingAmount\",\n type: \"u64\",\n },\n ],\n },\n },\n {\n name: \"intentBudgetSpent\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"intentId\",\n type: {\n defined: {\n name: \"intentId\",\n },\n },\n },\n {\n name: \"tradeId\",\n type: {\n array: [\"u8\", 32],\n },\n },\n {\n name: \"executionMetadata\",\n type: {\n option: \"bytes\",\n },\n },\n {\n name: \"inputToken\",\n type: \"pubkey\",\n },\n {\n name: \"inputTokenSpentAmount\",\n type: \"u64\",\n },\n ],\n },\n },\n {\n name: \"intentBudgets\",\n type: {\n kind: \"struct\",\n fields: [\n {\n vec: {\n defined: {\n name: \"intentBudget\",\n },\n },\n },\n ],\n },\n },\n {\n name: \"intentId\",\n type: {\n kind: \"struct\",\n fields: [\n {\n array: [\"u8\", 32],\n },\n ],\n },\n },\n {\n name: \"intentStorage\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"maker\",\n type: \"pubkey\",\n },\n {\n name: \"delegate\",\n type: {\n option: \"pubkey\",\n },\n },\n {\n name: \"rentPayer\",\n type: \"pubkey\",\n },\n {\n name: \"arbitraryData\",\n type: {\n array: [\"u8\", 100],\n },\n },\n {\n name: \"encodedIntentHash\",\n type: {\n defined: {\n name: \"encodedIntentHash\",\n },\n },\n },\n {\n name: \"version\",\n type: \"u8\",\n },\n {\n name: \"storedIntent\",\n type: {\n defined: {\n name: \"storedIntent\",\n },\n },\n },\n {\n name: \"bump\",\n type: \"u8\",\n },\n ],\n },\n },\n {\n name: \"makerInfo\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"cancelUntilTimestamp\",\n type: \"u64\",\n },\n {\n name: \"delegates\",\n type: {\n vec: {\n defined: {\n name: \"delegateInfo\",\n },\n },\n },\n },\n ],\n },\n },\n {\n name: \"newIntent\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"intentId\",\n type: {\n defined: {\n name: \"intentId\",\n },\n },\n },\n ],\n },\n },\n {\n name: \"offer\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"chainId\",\n type: {\n defined: {\n name: \"u256\",\n },\n },\n },\n {\n name: \"tokenAddress\",\n type: {\n defined: {\n name: \"address\",\n },\n },\n },\n {\n name: \"amount\",\n type: {\n defined: {\n name: \"u256\",\n },\n },\n },\n ],\n },\n },\n {\n name: \"sealedIntent\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"intentId\",\n type: {\n defined: {\n name: \"intentId\",\n },\n },\n },\n {\n name: \"encodedIntent\",\n type: \"bytes\",\n },\n ],\n },\n },\n {\n name: \"setApprovedTokenBudgets\",\n type: {\n kind: \"enum\",\n variants: [\n {\n name: \"set\",\n fields: [\n {\n vec: {\n defined: {\n name: \"approvedTokenBudget\",\n },\n },\n },\n ],\n },\n {\n name: \"setAny\",\n },\n {\n name: \"revoke\",\n },\n ],\n },\n },\n {\n name: \"state\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"protocolAuthority\",\n type: \"pubkey\",\n },\n {\n name: \"feeCollector\",\n type: \"pubkey\",\n },\n {\n name: \"defaultFeeBps\",\n type: \"u32\",\n },\n {\n name: \"isPaused\",\n type: \"bool\",\n },\n {\n name: \"cancelUntilTimestamp\",\n type: \"u64\",\n },\n {\n name: \"bump\",\n type: \"u8\",\n },\n ],\n },\n },\n {\n name: \"storedIntent\",\n type: {\n kind: \"enum\",\n variants: [\n {\n name: \"uninitialized\",\n },\n {\n name: \"ready\",\n fields: [\n {\n name: \"encodedIntent\",\n type: \"bytes\",\n },\n {\n name: \"budgets\",\n type: {\n defined: {\n name: \"intentBudgets\",\n },\n },\n },\n ],\n },\n {\n name: \"cancelled\",\n fields: [\n {\n name: \"encodedIntent\",\n type: \"bytes\",\n },\n {\n name: \"budgets\",\n type: {\n defined: {\n name: \"intentBudgets\",\n },\n },\n },\n ],\n },\n ],\n },\n },\n {\n name: \"swapped\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"intentId\",\n type: {\n defined: {\n name: \"intentId\",\n },\n },\n },\n {\n name: \"tradeId\",\n type: {\n array: [\"u8\", 32],\n },\n },\n {\n name: \"executionMetadata\",\n type: {\n option: \"bytes\",\n },\n },\n {\n name: \"inputToken\",\n type: \"pubkey\",\n },\n {\n name: \"inputTokenAmount\",\n type: \"u64\",\n },\n {\n name: \"outputToken\",\n type: \"pubkey\",\n },\n {\n name: \"outputTokenAmount\",\n type: \"u64\",\n },\n {\n name: \"takerOutputTokenShareAmount\",\n type: \"u64\",\n },\n ],\n },\n },\n {\n name: \"targetTokenAccount\",\n type: {\n kind: \"enum\",\n variants: [\n {\n name: \"taker\",\n },\n {\n name: \"intent\",\n },\n ],\n },\n },\n {\n name: \"u256\",\n type: {\n kind: \"type\",\n alias: {\n array: [\"u8\", 32],\n },\n },\n },\n ],\n constants: [\n {\n name: \"budgetsSigPrefix\",\n type: \"bytes\",\n value: \"[98, 117, 100, 103, 101, 116, 115]\",\n },\n {\n name: \"clockDriftToleranceSecs\",\n type: \"u64\",\n value: \"300\",\n },\n {\n name: \"defaultFeeBps\",\n type: \"u32\",\n value: \"8\",\n },\n {\n name: \"intentIdHashPrefix\",\n docs: [\n \"Used **only** as sub-seed for [IntentId][`crate::types::IntentId`]\",\n ],\n type: \"bytes\",\n value: \"[105, 110, 116, 101, 110, 116, 95, 105, 100]\",\n },\n {\n name: \"intentProgramSigPrefix\",\n type: \"bytes\",\n value:\n \"[105, 110, 116, 101, 110, 116, 115, 95, 112, 114, 111, 103, 114, 97, 109]\",\n },\n {\n name: \"intentSigPrefix\",\n type: \"bytes\",\n value: \"[105, 110, 116, 101, 110, 116, 115]\",\n },\n {\n name: \"intentStorageBaseSeed\",\n type: \"bytes\",\n value:\n \"[105, 110, 116, 101, 110, 116, 95, 115, 116, 111, 114, 97, 103, 101]\",\n },\n {\n name: \"interactionCallAuthority\",\n type: \"bytes\",\n value:\n \"[105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121]\",\n },\n {\n name: \"makerInfoSeed\",\n type: \"bytes\",\n value: \"[109, 97, 107, 101, 114, 95, 105, 110, 102, 111]\",\n },\n {\n name: \"stateSeed\",\n type: \"bytes\",\n value: \"[115, 116, 97, 116, 101]\",\n },\n {\n name: \"unwrapNativePseudoMint\",\n type: \"pubkey\",\n value: \"11111111111111111111111111111111\",\n },\n {\n name: \"unwrapNativeReceiverSeed\",\n type: \"bytes\",\n value:\n \"[117, 110, 119, 114, 97, 112, 95, 110, 97, 116, 105, 118, 101, 95, 114, 101, 99, 101, 105, 118, 101, 114]\",\n },\n ],\n};\n","import {\n ComputeBudget,\n ExternalCallParams,\n GetTransactionParams,\n} from \"./types\";\nimport {\n ComputeBudgetProgram,\n MessageV0,\n TransactionInstruction,\n VersionedTransaction,\n} from \"@solana/web3.js\";\nimport { BN } from \"@coral-xyz/anchor\";\nimport { helpers } from \"@debridge-finance/solana-utils\";\nimport { keccak256 } from \"js-sha3\";\n\nexport function bigintToArray(\n n: bigint | number,\n type: \"u64\" | \"u256\",\n): number[] {\n let size: number;\n switch (type) {\n case \"u256\":\n size = 32;\n break;\n case \"u64\":\n size = 8;\n break;\n }\n\n return new BN(n.toString()).toArray(\"be\", size);\n}\n\nexport const u64 = (v: bigint) => {\n const buf = Buffer.alloc(8);\n buf.writeBigUInt64LE(v);\n return buf;\n};\n\nexport const vecU8 = (data: Buffer) => {\n const len = Buffer.alloc(4);\n len.writeUInt32LE(data.length);\n return Buffer.concat([len, data]);\n};\n\nexport const getComputeBudgetIxs = (\n computeBudget?: ComputeBudget,\n): TransactionInstruction[] => {\n const ixs: TransactionInstruction[] = [];\n\n if (computeBudget?.limit) {\n ixs.push(\n ComputeBudgetProgram.setComputeUnitLimit({\n units: computeBudget.limit,\n }),\n );\n }\n\n if (computeBudget?.price) {\n ixs.push(\n ComputeBudgetProgram.setComputeUnitPrice({\n microLamports: computeBudget.price,\n }),\n );\n }\n\n return ixs;\n};\n\nexport const getVersionedTransaction = ({\n instructions,\n payer,\n blockhash,\n ALTs,\n}: GetTransactionParams) =>\n new VersionedTransaction(\n MessageV0.compile({\n instructions,\n payerKey: payer,\n recentBlockhash: blockhash,\n addressLookupTableAccounts: ALTs,\n }),\n );\n","import {\n AnchorProvider,\n BN,\n Program,\n setProvider,\n Wallet as AnchorWallet,\n BorshCoder,\n IdlAccounts,\n} from \"@coral-xyz/anchor\";\nimport {\n constants,\n dlnSrcResolver,\n programs,\n txs as transactions,\n} from \"@debridge-finance/solana-utils\";\nimport {\n Connection,\n Keypair,\n PublicKey,\n SystemProgram,\n SYSVAR_INSTRUCTIONS_PUBKEY,\n TransactionInstruction,\n VersionedTransaction,\n} from \"@solana/web3.js\";\nimport { ASSOCIATED_TOKEN_PROGRAM_ID, NATIVE_MINT } from \"@solana/spl-token\";\nimport {\n getAssociatedTokenAddressSync,\n TOKEN_PROGRAM_ID,\n} from \"@solana/spl-token\";\nimport { IntentsProgram, IDL } from \"../idl/intents-program\";\nimport {\n createInitializeInstruction,\n createReallocateInstruction,\n createWriteInstruction,\n createCloseAccountInstruction,\n RECORD_PROGRAM_ID,\n RECORD_META_DATA_SIZE,\n} from \"@solana/spl-record\";\nimport {\n CloseIntentParams,\n CloseRecordParams,\n CreateAndUpdateIntentParams,\n ApproveProtocolTransfersParams,\n InitIntentParams,\n TokenApproval,\n UpdateIntentParams,\n UpdateRecordParams,\n WriteIntentParams,\n WriteRecordParams,\n UpdateRecordTxsParams,\n DelegateApprovedBudgetsParams,\n SwapBeginParams,\n SwapEndParams,\n ExecuteIntentParams,\n SwapParams,\n IntentStorage,\n State,\n ExecuteIntentSameChainParams,\n SetMakerCancelUntilTimestampParams,\n WithdrawIntentTokenAccountParams,\n WithdrawClosedIntentTokenAccountParams,\n CancelIntentParams,\n DelegateApprovedBudgetsArgs,\n} from \"./types\";\nimport {\n bigintToArray,\n getComputeBudgetIxs,\n getVersionedTransaction,\n} from \"./helpers\";\n\nexport enum IntentProgramSigPrefix {\n prod = \"intents_program\",\n dubai = \"intents_program_dubai\",\n hanoi = \"intents_program_hanoi\",\n devnet = \"intents_program_devnet\",\n}\n\nexport const DEFAULT_RECORD_OFFSET = RECORD_META_DATA_SIZE;\n\nexport class IntentsClient {\n public readonly programId: PublicKey;\n public readonly idl: IntentsProgram;\n public readonly recordProgramId: PublicKey;\n private readonly _provider: AnchorProvider;\n private readonly _intentsProgram: Program<IntentsProgram>;\n private readonly _state: PublicKey;\n\n constructor(\n connection: Connection,\n {\n programId,\n recordProgramId = RECORD_PROGRAM_ID,\n }: {\n programId: PublicKey;\n recordProgramId?: PublicKey;\n },\n ) {\n IDL.address = programId.toString() as typeof IDL.address;\n this.idl = IDL;\n this.programId = programId;\n this.recordProgramId = recordProgramId;\n this._provider = new AnchorProvider(connection, {} as AnchorWallet, {});\n setProvider(this._provider);\n this._intentsProgram = new Program(IDL, this._provider);\n this._state = IntentsClient.getStatePda(this._intentsProgram.programId);\n }\n\n private getSpace(length: number, budgets: number) {\n return 198 + (1 + length + (4 + 9 * budgets)); // (min 100)\n }\n\n async getState(connection: Connection): Promise<State | null> {\n const accountInfo = await connection.getAccountInfo(this._state);\n\n if (!accountInfo) {\n return null;\n }\n\n const data = this._intentsProgram.coder.accounts.decode(\n \"state\",\n accountInfo.data,\n );\n\n return {\n ...data,\n lastValidTimestamp: Number(data.lastValidTimestamp.toString()),\n };\n }\n\n async getIntentStorage(\n connection: Connection,\n intentId: Buffer,\n ): Promise<IntentStorage | null> {\n const intentStorage = IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n intentId,\n );\n\n const accountInfo = await connection.getAccountInfo(intentStorage);\n\n if (!accountInfo) {\n return null;\n }\n\n const data = this._intentsProgram.coder.accounts.decode(\n \"intentStorage\",\n accountInfo.data,\n );\n\n return {\n ...data,\n intentId: Buffer.from(data.intentId[\"0\"]),\n };\n }\n\n async getMakerInfo(\n connection: Connection,\n maker: PublicKey,\n ): Promise<IdlAccounts<IntentsProgram>[\"makerInfo\"] | null> {\n const makerInfoPda = IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n );\n\n const accountInfo = await connection.getAccountInfo(makerInfoPda);\n\n if (!accountInfo) {\n return null;\n }\n\n const data = this._intentsProgram.coder.accounts.decode(\n \"makerInfo\",\n accountInfo.data,\n );\n\n return data;\n }\n\n async getNonceForDelegate(\n connection: Connection,\n maker: PublicKey,\n delegate: PublicKey,\n ): Promise<bigint> {\n const makerInfo = await this.getMakerInfo(connection, maker);\n\n if (!makerInfo) {\n return 0n;\n }\n\n for (let data of makerInfo.delegates) {\n if (data.delegate.toBase58() === delegate.toBase58()) {\n return BigInt(data.nonce.toString());\n }\n }\n\n return 0n;\n }\n\n // TODO vanilla solana delegation\n async approveProtocolTransfersIxs({\n maker,\n tokens,\n tokenProgram = TOKEN_PROGRAM_ID,\n }: ApproveProtocolTransfersParams): Promise<TransactionInstruction[]> {\n const { amounts, accounts } = tokens.reduce<TokenApproval>(\n ({ amounts, accounts }, { mint, amount }) => {\n return {\n amounts: amounts.concat(new BN(amount.toString())),\n accounts: accounts.concat({\n pubkey: getAssociatedTokenAddressSync(\n mint,\n maker,\n true,\n tokenProgram,\n ),\n isSigner: false,\n isWritable: true,\n }),\n };\n },\n { amounts: [], accounts: [] },\n );\n\n return [\n await this._intentsProgram.methods\n .approveProtocolTransfers(amounts)\n .accountsStrict({\n maker,\n state: this._state,\n tokenProgram,\n })\n .remainingAccounts(accounts)\n .instruction(),\n ];\n }\n\n private async cancelIntentIxs(\n maker: PublicKey,\n id: Buffer,\n ): Promise<TransactionInstruction[]> {\n return [\n await this._intentsProgram.methods\n .cancelIntent()\n .accountsStrict({\n initiator: maker,\n intentStorage: IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n id,\n ),\n state: this._state,\n })\n .instruction(),\n ];\n }\n\n private async closeIntentIxs(\n maker: PublicKey,\n rentPayer: PublicKey,\n id: Buffer,\n ): Promise<TransactionInstruction[]> {\n return [\n await this._intentsProgram.methods\n .closeIntent()\n .accountsStrict({\n initiator: maker,\n rentPayer,\n intentStorage: IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n id,\n ),\n state: this._state,\n systemProgram: SystemProgram.programId,\n makerInfo: IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n ),\n maker,\n })\n .instruction(),\n ];\n }\n\n async executeIntentIxs({\n tradeId,\n intentId,\n taker,\n maker,\n tokenMint,\n dlnOrder,\n dlnMetadata,\n dlnSrc = new PublicKey(programs.dlnSrc),\n tokenProgram = TOKEN_PROGRAM_ID,\n }: ExecuteIntentParams): Promise<TransactionInstruction[]> {\n const accountsResolver = dlnSrcResolver(dlnSrc).methods;\n\n const [dlnSrcState] = accountsResolver.getStateAccount();\n\n const [dlnSrcGiveOrderState] = accountsResolver.getGiveOrderStateAccount(\n dlnOrder.id,\n );\n\n const [dlnSrcGiveOrderWallet] = accountsResolver.getGiveOrderWalletAddress(\n dlnOrder.id,\n );\n\n const [dlnSrcAuthorizedNativeSender] =\n accountsResolver.getAuthorizedNativeSenderAddress(\n Buffer.from(new BN(dlnOrder.dstChainId.toString()).toArray(\"be\", 32)),\n );\n\n const [dlnSrcFeeLedgerWallet] =\n accountsResolver.getFeeLedgerWalletAddress(tokenMint);\n\n const intentStorage = IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n intentId,\n );\n\n const intentGiveTokenATA = getAssociatedTokenAddressSync(\n tokenMint,\n intentStorage,\n true,\n tokenProgram,\n );\n\n const args: Parameters<\n Program<IntentsProgram>[\"methods\"][\"executeIntent\"]\n >[0] = {\n giveOriginalAmount: new BN(dlnOrder.args.giveOriginalAmount.toString()),\n take: {\n amount: bigintToArray(dlnOrder.args.take.amount, \"u256\"),\n chainId: bigintToArray(dlnOrder.args.take.chainId, \"u256\"),\n tokenAddress: Array.from(dlnOrder.args.take.tokenAddress),\n },\n receiverDst: Array.from(dlnOrder.args.receiver),\n extcall: dlnOrder.args.externalCall?.externalCallData\n ? Buffer.from(dlnOrder.args.externalCall.externalCallData)\n : null,\n givePatchAuthoritySrc: dlnOrder.args.givePatchAuthority,\n orderAuthorityAddressDst: Array.from(\n dlnOrder.args.orderAuthorityDstAddress,\n ),\n allowedCancelBeneficiarySrc: dlnOrder.args.allowedCancelBeneficiary,\n allowedTakerDst: dlnOrder.args.allowedTaker\n ? Array.from(dlnOrder.args.allowedTaker)\n : null,\n };\n\n return [\n await this._intentsProgram.methods\n .executeIntent(\n args,\n new BN(dlnOrder.nonce.toString()),\n dlnMetadata ?? Buffer.from([]),\n Array.from(tradeId),\n )\n .accountsStrict({\n taker,\n state: this._state,\n intentStorage,\n maker,\n makerInfo: IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n ),\n intentGiveToken: intentGiveTokenATA,\n dlnSrc,\n dlnSrcState,\n dlnSrcGiveOrderState,\n dlnSrcGiveOrderWallet,\n dlnSrcAuthorizedNativeSender,\n dlnSrcFeeLedgerWallet,\n tokenMint,\n systemProgram: SystemProgram.programId,\n tokenProgram,\n associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,\n eventAuthority: IntentsClient.getEventAuthorityPda(\n this._intentsProgram.programId,\n ),\n program: this._intentsProgram.programId,\n })\n .instruction(),\n ];\n }\n\n async executeSameChainIntentIxs({\n tradeId,\n intentId,\n taker,\n maker,\n tokenMint,\n receiver,\n amount,\n tokenProgram = TOKEN_PROGRAM_ID,\n unwrapTakeToken,\n }: ExecuteIntentSameChainParams): Promise<TransactionInstruction[]> {\n let unwrapNativeSol = false;\n let receiverTakeToken;\n\n const intentStorage = IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n intentId,\n );\n\n const intentTakeTokenATA = getAssociatedTokenAddressSync(\n tokenMint,\n intentStorage,\n true,\n tokenProgram,\n );\n\n if (unwrapTakeToken && tokenMint.toBase58() === NATIVE_MINT.toBase58()) {\n receiverTakeToken = IntentsClient.getNativePda(\n this._intentsProgram.programId,\n );\n unwrapNativeSol = true;\n } else {\n receiverTakeToken = getAssociatedTokenAddressSync(\n tokenMint,\n receiver,\n true,\n tokenProgram,\n );\n }\n\n const feeLedger = getAssociatedTokenAddressSync(\n tokenMint,\n this._state,\n true,\n tokenProgram,\n );\n\n const ix = await this._intentsProgram.methods\n .executeIntent2(new BN(amount.toString()), Array.from(tradeId))\n .accountsStrict({\n taker,\n state: this._state,\n maker,\n receiver,\n makerInfo: IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n ),\n intentStorage,\n intentTakeToken: intentTakeTokenATA,\n feeLedger,\n receiverTakeToken,\n tokenMint,\n systemProgram: SystemProgram.programId,\n tokenProgram,\n associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,\n eventAuthority: IntentsClient.getEventAuthorityPda(\n this._intentsProgram.programId,\n ),\n program: this._intentsProgram.programId,\n })\n .instruction();\n\n if (unwrapNativeSol) {\n let receiverIdx = ix.keys.findIndex((meta) => meta.pubkey == receiver)!;\n ix.keys[receiverIdx]!.isWritable = true;\n }\n\n return [ix];\n }\n\n async initIntentIxs(\n maker: PublicKey,\n payer: PublicKey,\n delegate: PublicKey | null = null,\n id: Buffer,\n encodedIntentHash: Buffer,\n encodedIntentLength: number,\n inputTokensAmount: number,\n ): Promise<TransactionInstruction[]> {\n const space = this.getSpace(encodedIntentLength, inputTokensAmount);\n\n const method = delegate\n ? this._intentsProgram.methods.initIntentByDelegate(space, {\n 0: Array.from(encodedIntentHash),\n }) // rawHash\n : this._intentsProgram.methods.initIntent(space, {\n 0: Array.from(encodedIntentHash),\n }); // rawHash\n\n return [\n await method\n .accountsStrict({\n maker,\n ...(delegate && {\n delegate,\n makerInfo: IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n ),\n }),\n rentPayer: payer,\n state: this._state,\n intentStorage: IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n id,\n ),\n systemProgram: SystemProgram.programId,\n eventAuthority: IntentsClient.getEventAuthorityPda(\n this._intentsProgram.programId,\n ),\n program: this._intentsProgram.programId,\n })\n .instruction(),\n ];\n }\n\n async initIntentUsingSigIxs(\n maker: PublicKey,\n payer: PublicKey,\n delegate: PublicKey | null = null,\n id: Buffer,\n encodedIntentHash: Buffer,\n encodedIntentLength: number,\n inputTokensAmount: number,\n signature: Buffer,\n ): Promise<TransactionInstruction[]> {\n const space = this.getSpace(encodedIntentLength, inputTokensAmount);\n\n const method = delegate\n ? this._intentsProgram.methods.initIntentByDelegateUsingSig(\n space,\n { 0: Array.from(encodedIntentHash) },\n Array.from(signature),\n )\n : this._intentsProgram.methods.initIntentUsingSig(\n space,\n { 0: Array.from(encodedIntentHash) },\n Array.from(signature),\n );\n\n return [\n await method\n .accountsStrict({\n ...(delegate && {\n delegate,\n makerInfo: IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n ),\n }),\n maker,\n rentPayer: payer,\n state: this._state,\n intentStorage: IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n id,\n ),\n systemProgram: SystemProgram.programId,\n eventAuthority: IntentsClient.getEventAuthorityPda(\n this._intentsProgram.programId,\n ),\n program: this._intentsProgram.programId,\n })\n .instruction(),\n ];\n }\n\n async setDelegateApprovedBudgetsIxs({\n maker,\n payer,\n delegate,\n nonce,\n tokens,\n signature,\n }: DelegateApprovedBudgetsParams): Promise<TransactionInstruction[]> {\n const enumArgs = IntentsClient.getDelegateApprovedBudgetsArgs(tokens);\n const encodedApprovedTokenBudgets = this._intentsProgram.coder.types.encode(\n \"setApprovedTokenBudgets\",\n enumArgs,\n );\n\n const method = signature\n ? this._intentsProgram.methods.setDelegateApprovedBudgetsUsingSig(\n new BN(nonce.toString()),\n encodedApprovedTokenBudgets,\n Array.from(signature),\n )\n : this._intentsProgram.methods.setDelegateApprovedBudgets(\n new BN(nonce.toString()),\n enumArgs,\n );\n\n return [\n await method\n .accountsStrict({\n maker,\n delegate,\n rentPayer: payer,\n state: this._state,\n makerInfo: IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n ),\n systemProgram: SystemProgram.programId,\n })\n .instruction(),\n ];\n }\n\n async setMakerCancelUntilTimestampIxs({\n maker,\n payer,\n timestamp,\n }: SetMakerCancelUntilTimestampParams): Promise<TransactionInstruction[]> {\n return [\n await this._intentsProgram.methods\n .setMakerCancelUntilTimestamp(new BN(timestamp.toString()))\n .accountsStrict({\n maker,\n rentPayer: payer,\n state: this._state,\n makerInfo: IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n ),\n systemProgram: SystemProgram.programId,\n })\n .instruction(),\n ];\n }\n\n async swapBeginIxs({\n taker,\n maker,\n intentId,\n tradeId,\n beginAmount, // 0 for tests // transfer from random wallet to taker output amount, input / output = intent price\n target,\n inputMint,\n outputMint,\n inputTokenProgram = TOKEN_PROGRAM_ID,\n outputTokenProgram = TOKEN_PROGRAM_ID,\n }: SwapBeginParams): Promise<TransactionInstruction[]> {\n const intentStorage = IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n intentId,\n );\n\n const makerInputToken = getAssociatedTokenAddressSync(\n inputMint,\n maker,\n true,\n inputTokenProgram,\n );\n\n const takerInputToken = getAssociatedTokenAddressSync(\n inputMint,\n taker,\n true,\n inputTokenProgram,\n );\n\n const takerOutputToken = getAssociatedTokenAddressSync(\n outputMint,\n taker,\n true,\n outputTokenProgram,\n );\n\n const intentOutputToken = getAssociatedTokenAddressSync(\n outputMint,\n intentStorage,\n true,\n outputTokenProgram,\n );\n\n return [\n await this._intentsProgram.methods\n .swapBegin(\n new BN(beginAmount.toString()),\n target === \"intent\" ? { intent: {} } : { taker: {} },\n Array.from(tradeId),\n )\n .accountsStrict({\n taker,\n maker,\n state: this._state,\n intentStorage,\n inputMint,\n outputMint,\n makerInputToken,\n takerInputToken,\n takerOutputToken,\n intentOutputToken,\n instructions: SYSVAR_INSTRUCTIONS_PUBKEY,\n systemProgram: SystemProgram.programId,\n inputTokenProgram,\n outputTokenProgram,\n associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,\n makerInfo: IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n ),\n eventAuthority: IntentsClient.getEventAuthorityPda(\n this._intentsProgram.programId,\n ),\n program: this._intentsProgram.programId,\n })\n .instruction(),\n ];\n }\n\n async swapEndIxs({\n taker,\n intentId,\n endAmount,\n bps,\n inputMint,\n outputMint,\n outputTokenProgram = TOKEN_PROGRAM_ID,\n }: SwapEndParams): Promise<TransactionInstruction[]> {\n const intentStorage = IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n intentId,\n );\n\n const takerOutputToken = getAssociatedTokenAddressSync(\n outputMint,\n taker,\n true,\n outputTokenProgram,\n );\n\n const intentOutputToken = getAssociatedTokenAddressSync(\n outputMint,\n intentStorage,\n true,\n outputTokenProgram,\n );\n\n return [\n await this._intentsProgram.methods\n .swapEnd(new BN(endAmount.toString()), bps)\n .accountsStrict({\n taker,\n state: this._state,\n intentStorage,\n inputMint,\n outputMint,\n takerOutputToken,\n intentOutputToken,\n instructions: SYSVAR_INSTRUCTIONS_PUBKEY,\n systemProgram: SystemProgram.programId,\n outputTokenProgram,\n associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,\n eventAuthority: IntentsClient.getEventAuthorityPda(\n this._intentsProgram.programId,\n ),\n program: this._intentsProgram.programId,\n })\n .instruction(),\n ];\n }\n\n async updateIntentIxs({\n payer,\n record,\n id,\n offset,\n length,\n data,\n }: UpdateIntentParams): Promise<TransactionInstruction[]> {\n const intentStorage = IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n id,\n );\n\n return [\n await this._intentsProgram.methods\n .updateIntent(\n data ? { instruction: [data] } : { buffer: { offset, length } },\n )\n .accountsStrict({\n rentPayer: payer,\n state: this._state,\n intentStorage,\n systemProgram: SystemProgram.programId,\n buffer: record ?? null,\n eventAuthority: IntentsClient.getEventAuthorityPda(\n this._intentsProgram.programId,\n ),\n program: this._intentsProgram.programId,\n })\n .instruction(),\n ];\n }\n\n async withdrawIntentTokenAccountIxs({\n maker,\n receiver,\n id,\n encodedIntentHash,\n tokenMint,\n tokenProgram = TOKEN_PROGRAM_ID,\n }: WithdrawIntentTokenAccountParams): Promise<TransactionInstruction[]> {\n if (!receiver) {\n receiver = maker;\n }\n\n const intentStorage = IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n id,\n );\n\n const intentTokenAccount = getAssociatedTokenAddressSync(\n tokenMint,\n intentStorage,\n true,\n tokenProgram,\n );\n\n const makerTokenAccount = getAssociatedTokenAddressSync(\n tokenMint,\n maker,\n true,\n tokenProgram,\n );\n\n return [\n await this._intentsProgram.methods\n .withdrawIntentTokenAccount({\n 0: Array.from(encodedIntentHash),\n })\n .accountsStrict({\n state: this._state,\n maker,\n intentStorage,\n intentTokenAccount,\n makerTokenAccount,\n rentReceiver: receiver,\n tokenMint,\n tokenProgram,\n associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,\n })\n .instruction(),\n ];\n }\n\n /*\n async withdrawClosedIntentTokenAccount({\n id,\n tokenMint,\n tokenProgram = TOKEN_PROGRAM_ID,\n }: WithdrawClosedIntentTokenAccountParams): Promise<\n TransactionInstruction[]\n > {\n const intentStorage = IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n id,\n );\n\n const intentTokenAccount = getAssociatedTokenAddressSync(\n tokenMint,\n intentStorage,\n true,\n tokenProgram,\n );\n\n const feeLedger = getAssociatedTokenAddressSync(\n tokenMint,\n this._state,\n true,\n tokenProgram,\n );\n\n return [\n await this._intentsProgram.methods\n .withdrawClosedIntentTokenAccount({ 0: Array.from(id) })\n .accountsStrict({\n state: this._state,\n intentStorage,\n intentTokenAccount,\n feeLedger,\n mint: tokenMint,\n tokenProgram,\n associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,\n })\n .instruction(),\n ];\n }\n */\n\n closeRecordIxs({\n record,\n authority,\n receiver,\n }: CloseRecordParams): TransactionInstruction[] {\n if (!receiver) {\n receiver = authority;\n }\n\n return [\n createCloseAccountInstruction(\n record,\n authority,\n receiver,\n this.recordProgramId,\n ),\n ];\n }\n\n writeRecordIxs({\n authority,\n record,\n buffer,\n offset,\n }: WriteRecordParams): TransactionInstruction[] {\n // TODO add realloc for wider usage?\n //const reallocIx = createReallocateInstruction(record, authority, BigInt(dataLength), this.recordProgramId);\n return [\n createWriteInstruction(\n record,\n authority,\n BigInt(offset),\n buffer,\n this.recordProgramId,\n ),\n ];\n }\n\n async reallocRecordIxs({\n authority,\n payer,\n record,\n buffer,\n offset,\n }: UpdateRecordParams): Promise<TransactionInstruction[]> {\n if (!payer) {\n payer = authority;\n }\n\n const accountInfo = await this._provider.connection.getAccountInfo(record);\n\n if (!accountInfo) {\n throw new Error(\"Record account not found\");\n }\n\n const currentLamports = accountInfo.lamports;\n const currentSize = accountInfo.data.length;\n const requiredSize = offset + buffer.length;\n\n const ixs: TransactionInstruction[] = [];\n\n if (requiredSize > currentSize) {\n const requiredLamports =\n await this._provider.connection.getMinimumBalanceForRentExemption(\n requiredSize + 1,\n );\n const deltaLamports = requiredLamports - currentLamports;\n\n const transferIx = SystemProgram.transfer({\n fromPubkey: payer,\n toPubkey: record,\n lamports: deltaLamports,\n });\n\n ixs.push(transferIx);\n\n const reallocIx = createReallocateInstruction(\n record,\n authority,\n BigInt(requiredSize - DEFAULT_RECORD_OFFSET),\n this.recordProgramId,\n );\n\n ixs.push(reallocIx);\n }\n\n return ixs;\n }\n\n async initIntentTxs({\n authority,\n payer,\n delegate,\n intent,\n signature,\n blockhash,\n ALTs,\n computeBudget,\n }: InitIntentParams): Promise<{\n record: Keypair;\n txs: VersionedTransaction[];\n }> {\n if (!payer) {\n payer = authority;\n }\n\n let initIntentIxs: TransactionInstruction[];\n const recordAccount = Keypair.generate();\n const serializedIntent = intent.data;\n const space = DEFAULT_RECORD_OFFSET + serializedIntent.length;\n const lamports =\n await this._provider.connection.getMinimumBalanceForRentExemption(\n space + 1,\n );\n const budgetIxs = getComputeBudgetIxs(computeBudget);\n\n if (signature) {\n initIntentIxs = await this.initIntentUsingSigIxs(\n authority,\n payer,\n delegate ?? null,\n intent.id,\n intent.hash,\n serializedIntent.length,\n intent.inputTokensLength,\n signature,\n );\n } else {\n initIntentIxs = await this.initIntentIxs(\n authority,\n payer,\n delegate ?? null,\n intent.id,\n intent.hash,\n serializedIntent.length,\n intent.inputTokensLength,\n );\n }\n\n const createAccountIx = SystemProgram.createAccount({\n fromPubkey: payer,\n newAccountPubkey: recordAccount.publicKey,\n lamports,\n space,\n programId: this.recordProgramId,\n });\n\n const initRecordIx = createInitializeInstruction(\n recordAccount.publicKey,\n payer, // authority\n this.recordProgramId,\n );\n\n const tx = getVersionedTransaction({\n instructions: [\n ...budgetIxs,\n ...initIntentIxs,\n createAccountIx,\n initRecordIx,\n ],\n payer,\n blockhash,\n ALTs,\n });\n\n return {\n record: recordAccount,\n txs: [tx],\n };\n }\n\n async writeIntentTxs({\n authority,\n payer,\n record,\n intent,\n blockhash,\n ALTs,\n computeBudget,\n }: WriteIntentParams): Promise<VersionedTransaction[]> {\n if (!payer) {\n payer = authority;\n }\n\n const txs: VersionedTransaction[] = [];\n const serializedIntent = intent.data;\n const size = serializedIntent.length;\n const budgetIxs = getComputeBudgetIxs(computeBudget);\n const closeRecordIxs = this.closeRecordIxs({\n record,\n authority: payer, // authority = payer\n receiver: payer,\n });\n\n const tmpTx = getVersionedTransaction({\n instructions: [\n ...budgetIxs,\n ...(await this.updateIntentIxs({\n // record,\n payer,\n id: intent.id,\n data: serializedIntent,\n })),\n ...closeRecordIxs,\n ],\n payer,\n blockhash,\n ALTs,\n });\n const tmpSize = transactions.getTransactionSize(tmpTx);\n\n if (tmpSize && tmpSize <= constants.MAX_TX_SIZE) {\n return [tmpTx];\n }\n\n let offset = 0;\n let lastInstructions: TransactionInstruction[] = [];\n while (offset < size) {\n let writeIxs;\n let ixs: TransactionInstruction[] = [...budgetIxs];\n let low = 1;\n let high = size - offset;\n let lastGoodIx: TransactionInstruction[] = [];\n let lastGoodLen = 0;\n\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const buffer = serializedIntent.subarray(offset, offset + mid);\n\n writeIxs = this.writeRecordIxs({\n authority: payer,\n record,\n buffer,\n offset,\n });\n\n const tx = getVersionedTransaction({\n instructions: [...ixs, ...writeIxs],\n payer,\n blockhash,\n ALTs,\n });\n\n const size = transactions.getTransactionSize(tx);\n if (size && size <= constants.MAX_TX_SIZE) {\n lastGoodIx = writeIxs;\n lastGoodLen = mid;\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n\n ixs.push(...lastGoodIx);\n lastInstructions = ixs;\n const tx = getVersionedTransaction({\n instructions: ixs,\n payer,\n blockhash,\n ALTs,\n });\n txs.push(tx);\n offset += lastGoodLen;\n }\n\n const updateIntentIxs = await this.updateIntentIxs({\n record,\n payer,\n id: intent.id,\n offset: DEFAULT_RECORD_OFFSET,\n length: size,\n });\n\n const finalInstructions = [...updateIntentIxs, ...closeRecordIxs];\n\n const combinedInstructions = [...lastInstructions, ...finalInstructions];\n const combinedTx = getVersionedTransaction({\n instructions: combinedInstructions,\n payer,\n blockhash,\n ALTs,\n });\n const combinedSize = transactions.getTransactionSize(combinedTx);\n if (combinedSize && combinedSize <= constants.MAX_TX_SIZE) {\n txs[txs.length - 1] = combinedTx;\n } else {\n const updateTx = getVersionedTransaction({\n instructions: finalInstructions,\n payer,\n blockhash,\n ALTs,\n });\n txs.push(updateTx);\n }\n\n return txs;\n }\n\n async createIntentTxs({\n authority,\n payer,\n delegate,\n intent,\n signature,\n blockhash,\n ALTs,\n computeBudget,\n }: InitIntentParams): Promise<{\n init: VersionedTransaction[];\n write: VersionedTransaction[];\n record: Keypair;\n }> {\n const { record, txs: init } = await this.initIntentTxs({\n authority,\n payer,\n delegate,\n intent,\n signature,\n blockhash,\n ALTs,\n computeBudget,\n });\n const write = await this.writeIntentTxs({\n authority,\n payer,\n record: record.publicKey,\n intent,\n blockhash,\n ALTs,\n computeBudget,\n });\n\n return {\n init,\n write,\n record,\n };\n }\n\n async createAndUpdateIntentTxs({\n maker,\n payer,\n delegate,\n intent,\n signature,\n blockhash,\n ALTs,\n computeBudget,\n }: CreateAndUpdateIntentParams): Promise<VersionedTransaction[]> {\n if (!payer) {\n payer = maker;\n }\n\n let initIntentIxs: TransactionInstruction[];\n let updateIntentIxs: TransactionInstruction[];\n\n const budgetIxs = getComputeBudgetIxs(computeBudget);\n\n // delegateApprove + initIntentDelegate\n\n if (signature) {\n initIntentIxs = await this.initIntentUsingSigIxs(\n maker,\n payer,\n delegate,\n intent.id,\n intent.hash,\n intent.data ? intent.data.length : intent.length,\n intent.inputTokensLength,\n signature,\n );\n } else {\n initIntentIxs = await this.initIntentIxs(\n maker,\n payer,\n delegate,\n intent.id,\n intent.hash,\n intent.data ? intent.data.length : intent.length,\n intent.inputTokensLength,\n );\n }\n\n if (intent.data) {\n updateIntentIxs = await this.updateIntentIxs({\n payer,\n id: intent.id,\n data: intent.data,\n });\n } else {\n updateIntentIxs = await this.updateIntentIxs({\n payer,\n record: intent.record,\n id: intent.id,\n offset: DEFAULT_RECORD_OFFSET + intent.offset,\n length: intent.length,\n });\n }\n\n const tx = getVersionedTransaction({\n instructions: [...budgetIxs, ...initIntentIxs, ...updateIntentIxs],\n payer,\n blockhash,\n ALTs,\n });\n\n const size = transactions.getTransactionSize(tx);\n\n if (size && size > constants.MAX_TX_SIZE) {\n throw new Error(\n `Tx size is ${size}, should be less than ${constants.MAX_TX_SIZE}`,\n );\n }\n\n return [tx];\n }\n\n async updateRecordTxs({\n authority,\n payer,\n record,\n serializedIntent,\n offset = DEFAULT_RECORD_OFFSET,\n blockhash,\n ALTs,\n computeBudget,\n }: UpdateRecordTxsParams): Promise<VersionedTransaction[]> {\n if (!payer) {\n payer = authority;\n }\n\n if (offset < DEFAULT_RECORD_OFFSET) {\n throw new Error(`Offset can't be less than ${DEFAULT_RECORD_OFFSET}`);\n }\n\n const txs: VersionedTransaction[] = [];\n const size = serializedIntent.length;\n const reallocRecordIxs = await this.reallocRecordIxs({\n authority,\n payer,\n record,\n buffer: serializedIntent,\n offset,\n });\n const budgetIxs = getComputeBudgetIxs(computeBudget);\n\n let bufferOffset = 0;\n while (bufferOffset < size) {\n let writeIxs;\n let ixs: TransactionInstruction[] = [\n ...budgetIxs,\n ...(bufferOffset === 0 ? reallocRecordIxs : []),\n ];\n let low = 1;\n let high = size - bufferOffset;\n let lastGoodIx: TransactionInstruction[] = [];\n let lastGoodLen = 0;\n\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const buffer = serializedIntent.subarray(\n bufferOffset,\n bufferOffset + mid,\n );\n\n writeIxs = this.writeRecordIxs({\n authority: payer,\n record,\n buffer,\n offset: bufferOffset,\n });\n\n const tx = getVersionedTransaction({\n instructions: [...ixs, ...writeIxs],\n payer,\n blockhash,\n ALTs,\n });\n\n const size = transactions.getTransactionSize(tx);\n if (size && size <= constants.MAX_TX_SIZE) {\n lastGoodIx = writeIxs;\n lastGoodLen = mid;\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n\n ixs.push(...lastGoodIx);\n\n const tx = getVersionedTransaction({\n instructions: ixs,\n payer,\n blockhash,\n ALTs,\n });\n txs.push(tx);\n bufferOffset += lastGoodLen;\n }\n\n return txs;\n }\n\n async cancelIntentTxs({\n maker,\n payer,\n id,\n encodedIntentHash,\n tokenMint,\n tokenProgram = TOKEN_PROGRAM_ID,\n blockhash,\n ALTs,\n computeBudget,\n }: CancelIntentParams): Promise<VersionedTransaction[]> {\n if (!payer) {\n payer = maker;\n }\n\n const ixs: TransactionInstruction[] = getComputeBudgetIxs(computeBudget);\n\n const closeIntentIxs = await this.cancelIntentIxs(maker, id);\n\n ixs.push(...closeIntentIxs);\n\n if (tokenMint) {\n const withdrawIntentTokenAccountIxs =\n await this.withdrawIntentTokenAccountIxs({\n maker,\n receiver: payer,\n id,\n encodedIntentHash,\n tokenMint,\n tokenProgram,\n });\n\n ixs.push(...withdrawIntentTokenAccountIxs);\n }\n\n const tx = getVersionedTransaction({\n instructions: ixs,\n payer,\n blockhash,\n ALTs,\n });\n\n return [tx];\n }\n\n async closeIntentTxs({\n maker,\n payer,\n receiver,\n id,\n tokenMint,\n tokenProgram = TOKEN_PROGRAM_ID,\n blockhash,\n ALTs,\n computeBudget,\n }: CloseIntentParams): Promise<VersionedTransaction[]> {\n if (!payer) {\n payer = maker;\n }\n\n const ixs: TransactionInstruction[] = getComputeBudgetIxs(computeBudget);\n\n const closeIntentIxs = await this.closeIntentIxs(\n maker,\n receiver ?? maker,\n id,\n );\n\n ixs.push(...closeIntentIxs);\n\n /*\n if (tokenMint) {\n const withdrawClosedIntentTokenAccount =\n await this.withdrawClosedIntentTokenAccount({\n id,\n tokenMint,\n tokenProgram,\n });\n\n ixs.push(...withdrawClosedIntentTokenAccount);\n }\n */\n\n const tx = getVersionedTransaction({\n instructions: ixs,\n payer,\n blockhash,\n ALTs,\n });\n\n return [tx];\n }\n\n async swapTxs({\n taker,\n maker,\n intentId,\n tradeId,\n inputMint,\n outputMint,\n beginAmount,\n endAmount,\n bps,\n target,\n inputTokenProgram = TOKEN_PROGRAM_ID,\n outputTokenProgram = TOKEN_PROGRAM_ID,\n instructions = [],\n lastInstructions = [],\n computeBudget,\n payer,\n blockhash,\n ALTs,\n }: SwapParams) {\n if (!payer) {\n payer = taker;\n }\n\n const budgetIxs = getComputeBudgetIxs(computeBudget);\n\n const swapBeginIxs = await this.swapBeginIxs({\n taker,\n maker,\n intentId,\n tradeId,\n inputMint,\n outputMint,\n beginAmount,\n target,\n inputTokenProgram,\n outputTokenProgram,\n });\n\n const swapEndIxs = await this.swapEndIxs({\n taker,\n intentId,\n endAmount,\n bps,\n inputMint,\n outputMint,\n outputTokenProgram,\n });\n\n const tx = getVersionedTransaction({\n instructions: [\n ...budgetIxs,\n ...swapBeginIxs,\n ...instructions,\n ...swapEndIxs,\n ...lastInstructions,\n ],\n payer,\n blockhash,\n ALTs,\n });\n\n return [tx];\n }\n\n static getStatePda(programId: PublicKey): PublicKey {\n const [pubkey] = PublicKey.findProgramAddressSync(\n [Buffer.from(\"state\")],\n programId,\n );\n return pubkey;\n }\n\n static getIntentStoragePda(\n programId: PublicKey,\n intentId: Buffer,\n ): PublicKey {\n const [pubkey] = PublicKey.findProgramAddressSync(\n [Buffer.from(\"intent_storage\"), intentId],\n programId,\n );\n return pubkey;\n }\n\n static getMakerInfoPda(programId: PublicKey, maker: PublicKey) {\n const [pubkey] = PublicKey.findProgramAddressSync(\n [Buffer.from(\"maker_info\"), maker.toBuffer()],\n programId,\n );\n return pubkey;\n }\n\n static getDelegatesPda(programId: PublicKey, user: PublicKey): PublicKey {\n const [pubkey] = PublicKey.findProgramAddressSync(\n [Buffer.from(\"user_delegates\"), user.toBuffer()],\n programId,\n );\n return pubkey;\n }\n\n static getEventAuthorityPda(programId: PublicKey): PublicKey {\n const [pubkey] = PublicKey.findProgramAddressSync(\n [Buffer.from(\"__event_authority\")],\n programId,\n );\n return pubkey;\n }\n\n static getNativePda(programId: PublicKey): PublicKey {\n const [pubkey] = PublicKey.findProgramAddressSync(\n [Buffer.from(\"unwrap_native_receiver\")],\n programId,\n );\n return pubkey;\n }\n\n static getBufferForIntentSignature(\n intentId: Buffer,\n intentProgramSigPrefix: IntentProgramSigPrefix = IntentProgramSigPrefix.prod,\n chainId: number = constants.SOLANA_CHAIN_ID,\n ): Buffer {\n const chainBuffer = Buffer.alloc(4);\n chainBuffer.writeUInt32LE(chainId, 0);\n\n const intentSigPrefix = Buffer.from([105, 110, 116, 101, 110, 116, 115]);\n\n return Buffer.concat([\n Buffer.from(intentProgramSigPrefix),\n chainBuffer,\n intentSigPrefix,\n intentId,\n ]);\n }\n\n static getDelegateApprovedBudgetsArgs(tokens: DelegateApprovedBudgetsArgs) {\n let enumArgs: any;\n if (\"set\" in tokens) {\n enumArgs = {\n set: {\n 0: tokens.set.map(({ tokenMint, approvedAmount, expiration }) => ({\n tokenMint: tokenMint,\n approvedAmount: new BN(approvedAmount.toString()),\n expiration: new BN(expiration.toString()),\n })),\n },\n };\n } else if (\"setAny\" in tokens) {\n enumArgs = { setAny: {} };\n } else {\n enumArgs = { revoke: {} };\n }\n\n return enumArgs;\n }\n\n static getBufferForBudgetSignature(\n delegate: PublicKey,\n nonce: bigint,\n tokens: DelegateApprovedBudgetsArgs,\n intentProgramSigPrefix: IntentProgramSigPrefix = IntentProgramSigPrefix.prod,\n chainId: number = constants.SOLANA_CHAIN_ID,\n ): Buffer {\n const enumArgs = IntentsClient.getDelegateApprovedBudgetsArgs(tokens);\n const coder = new BorshCoder(IDL);\n const argsBuffer = coder.types.encode(\"setApprovedTokenBudgets\", enumArgs);\n\n const chainBuffer = Buffer.alloc(4);\n chainBuffer.writeUInt32LE(chainId, 0);\n\n const budgetsSigPrefix = Buffer.from([98, 117, 100, 103, 101, 116, 115]);\n\n return Buffer.concat([\n Buffer.from(intentProgramSigPrefix),\n chainBuffer,\n budgetsSigPrefix,\n delegate.toBuffer(),\n Buffer.from(new BN(nonce.toString()).toArray(\"le\", 8)),\n argsBuffer,\n ]);\n }\n}\n","import { AddressType, Serializable } from \"./types\";\n\nexport class AddressesList implements Serializable {\n private addresses: Buffer[];\n private lookupMap: Map<string, number> = new Map();\n\n constructor(addresses: AddressType[]) {\n this.addresses = addresses.map((address) => Buffer.from(address));\n }\n\n public lookupIndex(address: AddressType): number {\n const key = address.toString(\"hex\");\n const index = this.lookupMap.get(key);\n if (index === undefined) {\n throw new Error(`Address ${key} not found in AddressesList`);\n }\n return index;\n }\n\n serialize(): Buffer {\n const sizeGroups: Map<number, Buffer[]> = new Map();\n for (const address of this.addresses) {\n const sizeGroup = sizeGroups.get(address.length);\n if (sizeGroup === undefined) {\n sizeGroups.set(address.length, [address]);\n } else {\n sizeGroup.push(address);\n }\n }\n\n const sortedKeys = Array.from(sizeGroups.keys()).sort();\n /**\n * chunks size = items in chunk count * item length\n * chunk header size = 2 bytes\n * total header size = 1 byte + chunks count * chunk header size (2)\n */\n const result = Buffer.alloc(\n sortedKeys.reduce((acc, k) => acc + sizeGroups.get(k)!.length * k, 0) +\n sortedKeys.length * 2 +\n 1,\n );\n result[0] = sortedKeys.length;\n let offset = 1;\n let dataOffset = 1 + sortedKeys.length * 2;\n let index = 0;\n\n for (const key of sortedKeys) {\n const currentGroup = sizeGroups.get(key)!.sort((a, b) => a.compare(b));\n for (const address of currentGroup) {\n this.lookupMap.set(address.toString(\"hex\"), index);\n index += 1;\n }\n result[offset] = key; // item size;\n offset += 1;\n result[offset] = currentGroup.length; // items count\n offset += 1;\n\n const addressesBuffer = Buffer.concat(currentGroup);\n result.set(addressesBuffer, dataOffset);\n dataOffset += addressesBuffer.length;\n }\n\n return result;\n }\n}\n","import { PublicKey } from \"@solana/web3.js\";\nimport { keccak256 } from \"js-sha3\";\nimport {\n AddressType,\n AnyOr,\n GiveToken,\n IntentType,\n ReceiverInfo,\n Serializable,\n TakeToken,\n} from \"./types\";\nimport { AddressesList } from \"./addresses-list\";\n\nenum AnyOrExact {\n Any = 1,\n Exact = 0,\n}\n\nconst anyBuffer = Buffer.from([AnyOrExact.Any]);\nconst exactBuffer = Buffer.from([AnyOrExact.Exact]);\nconst emptyArrayBuffer = Buffer.from([0]);\nconst separationBuffer = Buffer.from([1]);\n\nexport class Intent implements Serializable {\n public data: IntentType;\n private addressesList: AddressesList;\n private serializedList: Buffer;\n\n constructor(intent: IntentType) {\n this.data = intent;\n this.addressesList = this.buildAddressesListFromIntent(intent);\n this.serializedList = this.addressesList.serialize();\n }\n\n private buildAddressesListFromIntent(intent: IntentType): AddressesList {\n const addressSet = new Set<string>();\n\n const collect = (addr: AddressType) => addressSet.add(addr.toString(\"hex\"));\n\n const collectMap = (list?: ReceiverInfo[]) => {\n if (!list) return;\n for (const { address } of list) collect(address);\n };\n\n const collectGiveTokens = (list?: GiveToken[]) => {\n if (!list) return;\n for (const token of list) {\n if (token.input !== \"any\") collect(token.input);\n collect(token.output);\n }\n };\n\n const collectTakeTokens = (list: TakeToken[]) => {\n if (!list) return;\n for (const token of list) {\n collect(token.input);\n\n if (token.output !== \"any\") {\n for (const output of token.output) {\n if (output.token && output.token !== \"any\") collect(output.token);\n }\n }\n }\n };\n\n for (const token of intent.inputTokens) collect(token.token);\n collectGiveTokens(intent.giveTokens);\n collectTakeTokens(intent.takeTokens);\n\n collectMap(intent.receiverDetails);\n collectMap(intent.dstAuthorityAddress);\n\n //intent.allowedSenders?.forEach(collect);\n //intent.srcAllowedCancelBeneficiary?.forEach(collect);\n\n const uniqueAddresses = Array.from(addressSet).map((hex) =>\n Buffer.from(hex, \"hex\"),\n );\n return new AddressesList(uniqueAddresses);\n }\n\n private serializeReceiversInfo(details: ReceiverInfo[]): Buffer {\n if (!details || details.length === 0) return emptyArrayBuffer;\n\n const buffers = details.map(({ chainIds, address }) => {\n let buf: Buffer;\n\n if (chainIds === \"any\") {\n buf = Buffer.alloc(2);\n buf.writeUInt8(this.addressesList.lookupIndex(address), 0);\n buf.writeUInt8(AnyOrExact.Any, 1);\n } else {\n buf = Buffer.alloc(1 + 1 + 1 + chainIds.length * 4);\n buf.writeUInt8(this.addressesList.lookupIndex(address), 0);\n buf.writeUInt8(AnyOrExact.Exact, 1);\n buf.writeUInt8(chainIds.length, 2);\n\n for (const [index, chainId] of chainIds.entries()) {\n buf.writeUInt32LE(chainId, 3 + index * 4);\n }\n }\n\n return buf;\n });\n\n const lengthBuf = Buffer.alloc(1);\n lengthBuf.writeUInt8(buffers.length, 0);\n\n return Buffer.concat([lengthBuf, ...buffers]);\n }\n\n private serializeInputTokens(): Buffer {\n const buffers = this.data.inputTokens.map((token) => {\n const buf = Buffer.alloc(25);\n buf[0] = this.addressesList.lookupIndex(token.token);\n buf.writeBigUInt64LE(token.minPartialAmount, 1);\n buf.writeBigUInt64LE(token.maxPartialAmount, 9);\n buf.writeBigUInt64LE(token.constraintBudget, 17);\n return buf;\n });\n const lengthBuf = Buffer.alloc(1);\n lengthBuf.writeUInt8(buffers.length, 0);\n\n return Buffer.concat([lengthBuf, ...buffers]);\n }\n\n private serializeGiveTokens(tokens?: GiveToken[]): Buffer {\n if (!tokens || tokens.length === 0) return emptyArrayBuffer;\n const buffers = tokens.map((token) => {\n let buf: Buffer;\n\n if (token.input === \"any\") {\n buf = Buffer.alloc(2);\n buf.writeUInt8(this.addressesList.lookupIndex(token.output), 0);\n buf.writeUInt8(AnyOrExact.Any, 1);\n } else {\n buf = Buffer.alloc(35);\n buf.writeUInt8(this.addressesList.lookupIndex(token.output), 0);\n buf.writeUInt8(AnyOrExact.Exact, 1);\n buf.writeUInt8(this.addressesList.lookupIndex(token.input), 2);\n buf.writeBigInt64LE(token.price, 3);\n\n let hex = token.price.toString(16).padStart(64, \"0\");\n const u256BufBE = Buffer.from(hex, \"hex\");\n u256BufBE.copy(buf, 3);\n }\n return buf;\n });\n\n const lengthBuf = Buffer.alloc(1);\n lengthBuf.writeUInt8(tokens.length, 0);\n\n return Buffer.concat([lengthBuf, ...buffers]);\n }\n\n private serializeTakeTokens(tokens: TakeToken[]): Buffer {\n let length = 0;\n const buffers = tokens.map((token) => {\n let buf: Buffer;\n\n if (token.output === \"any\") {\n length = 1;\n buf = Buffer.alloc(2);\n buf.writeUInt8(this.addressesList.lookupIndex(token.input), 0);\n buf.writeUInt8(AnyOrExact.Any, 1);\n } else {\n length += token.output.length;\n buf = Buffer.concat(\n token.output.map((output) => {\n if (output.token === \"any\") {\n const buf = Buffer.alloc(6);\n buf.writeUInt8(AnyOrExact.Exact, 0);\n buf.writeUInt8(output.chainId, 1);\n buf.writeUInt8(AnyOrExact.Any, 5);\n return Buffer.concat([\n Buffer.from([this.addressesList.lookupIndex(token.input)]),\n buf,\n ]);\n } else {\n let buf;\n\n if (output.price === \"any\") {\n buf = Buffer.alloc(8);\n buf.writeUInt8(AnyOrExact.Exact, 0);\n buf.writeUInt32LE(output.chainId, 1);\n buf.writeUInt8(AnyOrExact.Exact, 5);\n buf.writeUInt8(this.addressesList.lookupIndex(output.token), 6);\n buf.writeUInt8(AnyOrExact.Any, 7);\n } else {\n buf = Buffer.alloc(40);\n buf.writeUInt8(AnyOrExact.Exact, 0);\n buf.writeUInt32LE(output.chainId, 1);\n buf.writeUInt8(AnyOrExact.Exact, 5);\n buf.writeUInt8(this.addressesList.lookupIndex(output.token), 6);\n buf.writeUInt8(AnyOrExact.Exact, 7);\n\n let hex = output.price.toString(16).padStart(64, \"0\");\n const u256BufBE = Buffer.from(hex, \"hex\");\n u256BufBE.copy(buf, 8);\n }\n\n return Buffer.concat([\n Buffer.from([this.addressesList.lookupIndex(token.input)]),\n buf,\n ]);\n }\n }),\n );\n }\n\n return buf;\n });\n\n const lengthBuf = Buffer.alloc(1);\n lengthBuf.writeUInt8(length, 0);\n\n return Buffer.concat([lengthBuf, ...buffers]);\n }\n\n private serializeExternalCallHash(buf?: AnyOr<Buffer>): Buffer {\n if (!buf) {\n return emptyArrayBuffer;\n }\n\n if (buf === \"any\") {\n return Buffer.concat([separationBuffer, anyBuffer]);\n } else {\n return Buffer.concat([\n separationBuffer,\n exactBuffer,\n separationBuffer,\n buf,\n ]);\n }\n }\n\n private serializeOptionalBytes(buf?: Buffer): Buffer {\n return buf ? Buffer.concat([separationBuffer, buf]) : emptyArrayBuffer;\n }\n\n private serializeDlnMetadata(buf?: AnyOr<Buffer>): Buffer {\n if (!buf) {\n return emptyArrayBuffer;\n }\n\n if (buf === \"any\") {\n return Buffer.concat([separationBuffer, anyBuffer]);\n } else {\n const lengthBuf = Buffer.alloc(2);\n lengthBuf.writeInt16LE(buf.length, 0);\n\n return Buffer.concat([separationBuffer, exactBuffer, lengthBuf, buf]);\n }\n }\n\n private serializeShortArray(buf?: Buffer): Buffer {\n if (!buf) {\n return emptyArrayBuffer;\n }\n\n const lengthBuf = Buffer.alloc(2);\n lengthBuf.writeInt16LE(buf.length, 0);\n\n return Buffer.concat([separationBuffer, lengthBuf, buf]);\n }\n\n private serializeAllowedSenders(addrs: AnyOr<AddressType[]>): Buffer {\n if (this.data.allowedSenders === \"any\") {\n return anyBuffer;\n }\n\n const lengthBuf = Buffer.alloc(1);\n lengthBuf.writeUInt8(addrs.length, 0);\n\n return Buffer.concat([exactBuffer, lengthBuf, ...(addrs as AddressType[])]);\n }\n\n private serializeAddresses(addrs?: AddressType[]): Buffer {\n if (!addrs || addrs.length === 0) {\n return emptyArrayBuffer;\n }\n\n const lengthBuf = Buffer.alloc(1);\n lengthBuf.writeUInt8(addrs.length, 0);\n\n return Buffer.concat([lengthBuf, ...addrs]);\n }\n\n private serializeOptionalPubkey(pk?: PublicKey): Buffer {\n return pk\n ? Buffer.concat([separationBuffer, pk.toBuffer()])\n : emptyArrayBuffer;\n }\n\n serialize(): Buffer {\n const parts: Buffer[] = [];\n\n // 1. chainId\n const idBuf = Buffer.alloc(4);\n idBuf.writeUInt32LE(this.data.chainId, 0);\n parts.push(idBuf);\n\n // 2. owner\n // parts.push(this.data.owner.toBuffer());\n\n // 3. authority\n if (this.data.authority) {\n parts.push(separationBuffer, this.data.authority.toBuffer());\n } else {\n parts.push(emptyArrayBuffer);\n }\n\n // 4–5. timestamp, expirationTimestamp (u64 LE)\n const tsBuf = Buffer.alloc(16);\n tsBuf.writeBigUInt64LE(BigInt(this.data.timestamp), 0);\n tsBuf.writeBigUInt64LE(BigInt(this.data.expirationTimestamp), 8);\n parts.push(tsBuf);\n\n // 6. AddressesList\n parts.push(this.serializedList);\n\n // 7. inputTokens (CharArray<InputToken>)\n parts.push(this.serializeInputTokens());\n\n // 8. giveTokens (CharArray<GiveToken>, optional as empty array)\n parts.push(this.serializeGiveTokens(this.data.giveTokens));\n\n // 9. takeTokens (CharArray<TakeToken>)\n parts.push(this.serializeTakeTokens(this.data.takeTokens));\n\n // 10. receiverDetails (ReceiversInfo)\n parts.push(this.serializeReceiversInfo(this.data.receiverDetails));\n\n // 11. srcAllowedSenders (CharArray<GenericAddress>)\n parts.push(this.serializeAllowedSenders(this.data.allowedSenders));\n\n // 12. preInteractions (Option<Pubkey>)\n parts.push(this.serializeOptionalPubkey(this.data.preInteractions));\n\n // 13. postInteractions (Option<Pubkey>)\n parts.push(this.serializeOptionalPubkey(this.data.postInteractions));\n\n // 14. validationRules (Option<ShortArray<u8>>)\n parts.push(this.serializeShortArray(this.data.validationRules));\n\n // 15. executionMetadataHash (Option<CharArray<u8>>)\n parts.push(this.serializeOptionalBytes(this.data.executionMetadataHash));\n\n // 16. srcAllowedCancelBeneficiary (CharArray<GenericAddress>)\n parts.push(this.serializeAddresses(this.data.srcAllowedCancelBeneficiary));\n\n // 17. dstAuthorityAddress (ReceiversInfo)\n parts.push(this.serializeReceiversInfo(this.data.dstAuthorityAddress));\n\n // 18. externalCallHash (Option<AnyOr<[u8; 32]>>)\n parts.push(this.serializeExternalCallHash(this.data.externalCallHash));\n\n // 19. dlnMetadata (Option<AnyOr<ShortArray<u8>>>)\n parts.push(this.serializeDlnMetadata(this.data.dlnMetadata));\n\n return Buffer.concat(parts);\n }\n\n static getId(\n serializedIntent: Buffer,\n maker: PublicKey,\n programId: PublicKey,\n ): { hex: string; buffer: Buffer; rawHash: Buffer } {\n const string = keccak256(serializedIntent);\n const rawHash = Buffer.from(string, \"hex\");\n const [intentId] = PublicKey.findProgramAddressSync(\n [Buffer.from(\"intent_id\"), maker.toBuffer(), rawHash],\n programId,\n );\n return {\n hex: `0x${intentId.toBuffer().toString(\"hex\")}`,\n buffer: intentId.toBuffer(),\n rawHash,\n };\n }\n\n /*\n public static getTextToSign(intent: Intent): string {\n const string = intent.getId().hex;\n\n return string;\n }\n */\n}\n"]}
1
+ {"version":3,"sources":["../idl/intents-program.ts","../src/helpers.ts","../src/client.ts","../src/addresses-list.ts","../src/intent.ts"],"names":["IDL","bigintToArray","n","type","size","BN","getComputeBudgetIxs","computeBudget","ixs","ComputeBudgetProgram","getVersionedTransaction","instructions","payer","blockhash","ALTs","VersionedTransaction","MessageV0","IntentProgramSigPrefix","DEFAULT_RECORD_OFFSET","RECORD_META_DATA_SIZE","IntentsClient","_IntentsClient","connection","programId","recordProgramId","RECORD_PROGRAM_ID","AnchorProvider","setProvider","Program","length","budgets","accountInfo","data","intentId","intentStorage","maker","makerInfoPda","delegate","makerInfo","tokens","tokenProgram","TOKEN_PROGRAM_ID","amounts","accounts","mint","amount","getAssociatedTokenAddressSync","id","rentPayer","SystemProgram","tradeId","taker","tokenMint","dlnOrder","dlnMetadata","dlnSrc","PublicKey","programs","accountsResolver","dlnSrcResolver","dlnSrcState","dlnSrcGiveOrderState","dlnSrcGiveOrderWallet","dlnSrcAuthorizedNativeSender","dlnSrcFeeLedgerWallet","intentGiveTokenATA","args","ASSOCIATED_TOKEN_PROGRAM_ID","receiver","unwrapTakeToken","unwrapNativeSol","receiverTakeToken","intentTakeTokenATA","NATIVE_MINT","feeLedger","ix","receiverIdx","meta","encodedIntentHash","encodedIntentLength","inputTokensAmount","space","signature","nonce","enumArgs","encodedApprovedTokenBudgets","timestamp","beginAmount","target","inputMint","outputMint","inputTokenProgram","outputTokenProgram","makerInputToken","takerInputToken","takerOutputToken","intentOutputToken","SYSVAR_INSTRUCTIONS_PUBKEY","endAmount","bps","record","offset","intentTokenAccount","makerTokenAccount","authority","createCloseAccountInstruction","buffer","createWriteInstruction","currentLamports","currentSize","requiredSize","deltaLamports","transferIx","reallocIx","createReallocateInstruction","intent","initIntentIxs","recordAccount","Keypair","serializedIntent","lamports","budgetIxs","createAccountIx","initRecordIx","createInitializeInstruction","tx","txs","closeRecordIxs","tmpTx","tmpSize","transactions","constants","lastInstructions","writeIxs","low","high","lastGoodIx","lastGoodLen","mid","finalInstructions","combinedInstructions","combinedTx","combinedSize","updateTx","init","write","updateIntentIxs","reallocRecordIxs","bufferOffset","closeIntentIxs","withdrawIntentTokenAccountIxs","swapBeginIxs","swapEndIxs","pubkey","user","intentProgramSigPrefix","chainId","chainBuffer","intentSigPrefix","approvedAmount","expiration","argsBuffer","BorshCoder","budgetsSigPrefix","AddressesList","addresses","address","key","index","sizeGroups","sizeGroup","sortedKeys","result","acc","k","dataOffset","currentGroup","a","b","addressesBuffer","anyBuffer","exactBuffer","emptyArrayBuffer","separationBuffer","Intent","addressSet","collect","addr","collectMap","list","collectGiveTokens","token","collectTakeTokens","output","uniqueAddresses","hex","details","buffers","chainIds","buf","lengthBuf","addrs","pk","parts","idBuf","tsBuf","string","keccak256","rawHash"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Program IDL in camelCase format in order to be used in JS/TS.\n *\n * Note that this is only a type helper and is not the actual IDL. The original\n * IDL can be found at `target/idl/intents_program.json`.\n */\nexport type IntentsProgram = {\n address: \"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE\";\n metadata: {\n name: \"intentsProgram\";\n version: \"0.0.0\";\n spec: \"0.1.0\";\n description: \"deBridge Intents Program\";\n };\n instructions: [\n {\n name: \"about\";\n discriminator: [62, 111, 52, 44, 118, 185, 179, 229];\n accounts: [];\n args: [];\n },\n {\n name: \"approveProtocolTransfers\";\n discriminator: [17, 3, 184, 144, 112, 130, 116, 98];\n accounts: [\n {\n name: \"maker\";\n signer: true;\n },\n {\n name: \"state\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n {\n name: \"tokenProgram\";\n },\n ];\n args: [\n {\n name: \"amounts\";\n type: {\n vec: \"u64\";\n };\n },\n ];\n },\n {\n name: \"cancelIntent\";\n discriminator: [67, 73, 238, 244, 208, 89, 225, 59];\n accounts: [\n {\n name: \"initiator\";\n signer: true;\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"state\";\n },\n ];\n args: [];\n },\n {\n name: \"closeAccount\";\n discriminator: [125, 255, 149, 14, 110, 34, 72, 24];\n accounts: [\n {\n name: \"programAuthority\";\n signer: true;\n address: \"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE\";\n },\n {\n name: \"target\";\n writable: true;\n },\n {\n name: \"rentReceiver\";\n writable: true;\n },\n ];\n args: [];\n },\n {\n name: \"closeIntent\";\n discriminator: [112, 245, 154, 249, 57, 126, 54, 122];\n accounts: [\n {\n name: \"initiator\";\n signer: true;\n },\n {\n name: \"maker\";\n docs: [\"CHECK\"];\n },\n {\n name: \"makerInfo\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"rentPayer\";\n writable: true;\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"state\";\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n ];\n args: [];\n },\n {\n name: \"collectFee\";\n discriminator: [60, 173, 247, 103, 4, 93, 130, 48];\n accounts: [\n {\n name: \"feeCollector\";\n signer: true;\n relations: [\"state\"];\n },\n {\n name: \"state\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n {\n name: \"feeLedger\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"state\";\n },\n {\n kind: \"account\";\n path: \"tokenProgram\";\n },\n {\n kind: \"account\";\n path: \"mint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"destination\";\n writable: true;\n },\n {\n name: \"mint\";\n },\n {\n name: \"tokenProgram\";\n },\n ];\n args: [\n {\n name: \"amount\";\n type: \"u64\";\n },\n ];\n },\n {\n name: \"executeIntent\";\n discriminator: [53, 130, 47, 154, 227, 220, 122, 212];\n accounts: [\n {\n name: \"taker\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n },\n {\n name: \"maker\";\n relations: [\"intentStorage\"];\n },\n {\n name: \"makerInfo\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"intentGiveToken\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"intentStorage\";\n },\n {\n kind: \"account\";\n path: \"tokenProgram\";\n },\n {\n kind: \"account\";\n path: \"tokenMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"dlnSrc\";\n address: \"srch38nzfcgwJnfKE6xWD8vfNJtudazwisdcociAuQt\";\n },\n {\n name: \"dlnSrcState\";\n },\n {\n name: \"dlnSrcGiveOrderState\";\n writable: true;\n },\n {\n name: \"dlnSrcGiveOrderWallet\";\n writable: true;\n },\n {\n name: \"dlnSrcAuthorizedNativeSender\";\n },\n {\n name: \"dlnSrcFeeLedgerWallet\";\n writable: true;\n },\n {\n name: \"tokenMint\";\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"tokenProgram\";\n },\n {\n name: \"associatedTokenProgram\";\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"dlnOrderArgs\";\n type: {\n defined: {\n name: \"createOrderArgs\";\n };\n };\n },\n {\n name: \"dlnOrderNonce\";\n type: \"u64\";\n },\n {\n name: \"dlnMetadata\";\n type: \"bytes\";\n },\n {\n name: \"tradeId\";\n type: {\n array: [\"u8\", 32];\n };\n },\n ];\n },\n {\n name: \"executeIntent2\";\n discriminator: [57, 145, 38, 151, 5, 101, 106, 72];\n accounts: [\n {\n name: \"taker\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n {\n name: \"maker\";\n writable: true;\n relations: [\"intentStorage\"];\n },\n {\n name: \"makerInfo\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"intentTakeToken\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"intentStorage\";\n },\n {\n kind: \"account\";\n path: \"tokenProgram\";\n },\n {\n kind: \"account\";\n path: \"tokenMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"feeLedger\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"state\";\n },\n {\n kind: \"account\";\n path: \"tokenProgram\";\n },\n {\n kind: \"account\";\n path: \"tokenMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"receiver\";\n },\n {\n name: \"receiverTakeToken\";\n writable: true;\n },\n {\n name: \"tokenMint\";\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"tokenProgram\";\n },\n {\n name: \"associatedTokenProgram\";\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"amount\";\n type: \"u64\";\n },\n {\n name: \"tradeId\";\n type: {\n array: [\"u8\", 32];\n };\n },\n ];\n },\n {\n name: \"initIntent\";\n discriminator: [231, 255, 81, 23, 112, 148, 49, 134];\n accounts: [\n {\n name: \"maker\";\n signer: true;\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"space\";\n type: \"u32\";\n },\n {\n name: \"encodedIntentHash\";\n type: {\n defined: {\n name: \"encodedIntentHash\";\n };\n };\n },\n ];\n },\n {\n name: \"initIntentByDelegate\";\n discriminator: [85, 140, 35, 112, 240, 67, 16, 40];\n accounts: [\n {\n name: \"delegate\";\n signer: true;\n },\n {\n name: \"maker\";\n docs: [\"CHECK\"];\n },\n {\n name: \"makerInfo\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"space\";\n type: \"u32\";\n },\n {\n name: \"encodedIntentHash\";\n type: {\n defined: {\n name: \"encodedIntentHash\";\n };\n };\n },\n ];\n },\n {\n name: \"initIntentByDelegateUsingSig\";\n discriminator: [113, 25, 150, 248, 204, 41, 36, 34];\n accounts: [\n {\n name: \"delegate\";\n docs: [\"CHECK\"];\n },\n {\n name: \"maker\";\n docs: [\"CHECK\"];\n },\n {\n name: \"makerInfo\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"space\";\n type: \"u32\";\n },\n {\n name: \"encodedIntentHash\";\n type: {\n defined: {\n name: \"encodedIntentHash\";\n };\n };\n },\n {\n name: \"signature\";\n type: {\n array: [\"u8\", 64];\n };\n },\n ];\n },\n {\n name: \"initIntentUsingSig\";\n discriminator: [163, 186, 238, 179, 190, 181, 19, 185];\n accounts: [\n {\n name: \"maker\";\n docs: [\"CHECK\"];\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"space\";\n type: \"u32\";\n },\n {\n name: \"encodedIntentHash\";\n type: {\n defined: {\n name: \"encodedIntentHash\";\n };\n };\n },\n {\n name: \"signature\";\n type: {\n array: [\"u8\", 64];\n };\n },\n ];\n },\n {\n name: \"initState\";\n discriminator: [124, 213, 73, 136, 80, 37, 141, 54];\n accounts: [\n {\n name: \"protocolAuthority\";\n signer: true;\n },\n {\n name: \"programAuthority\";\n signer: true;\n address: \"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE\";\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n ];\n args: [];\n },\n {\n name: \"reallocState\";\n discriminator: [67, 181, 233, 214, 215, 148, 245, 126];\n accounts: [\n {\n name: \"inner\";\n accounts: [\n {\n name: \"protocolAuthority\";\n signer: true;\n relations: [\"state\"];\n },\n {\n name: \"state\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n ];\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n ];\n args: [\n {\n name: \"newSpace\";\n type: \"u32\";\n },\n ];\n },\n {\n name: \"setCancelUntilTimestamp\";\n discriminator: [206, 248, 194, 176, 4, 206, 30, 228];\n accounts: [\n {\n name: \"inner\";\n accounts: [\n {\n name: \"protocolAuthority\";\n signer: true;\n relations: [\"state\"];\n },\n {\n name: \"state\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n ];\n },\n ];\n args: [\n {\n name: \"cancelUntilTimestamp\";\n type: \"u64\";\n },\n ];\n },\n {\n name: \"setDefaultFee\";\n discriminator: [150, 137, 197, 111, 176, 227, 201, 110];\n accounts: [\n {\n name: \"inner\";\n accounts: [\n {\n name: \"protocolAuthority\";\n signer: true;\n relations: [\"state\"];\n },\n {\n name: \"state\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n ];\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"defaultFeeBps\";\n type: \"u32\";\n },\n ];\n },\n {\n name: \"setDelegateApprovedBudgets\";\n discriminator: [82, 182, 181, 250, 30, 186, 95, 15];\n accounts: [\n {\n name: \"maker\";\n signer: true;\n },\n {\n name: \"delegate\";\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"makerInfo\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"state\";\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n ];\n args: [\n {\n name: \"nonce\";\n type: \"u64\";\n },\n {\n name: \"approvedTokenBudgets\";\n type: {\n defined: {\n name: \"setApprovedTokenBudgets\";\n };\n };\n },\n ];\n },\n {\n name: \"setDelegateApprovedBudgetsUsingSig\";\n discriminator: [26, 11, 76, 149, 162, 38, 128, 0];\n accounts: [\n {\n name: \"maker\";\n },\n {\n name: \"delegate\";\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"makerInfo\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"state\";\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n ];\n args: [\n {\n name: \"nonce\";\n type: \"u64\";\n },\n {\n name: \"encodedApprovedTokenBudgets\";\n type: \"bytes\";\n },\n {\n name: \"signature\";\n type: {\n array: [\"u8\", 64];\n };\n },\n ];\n },\n {\n name: \"setFeeCollector\";\n discriminator: [143, 46, 10, 113, 121, 157, 245, 166];\n accounts: [\n {\n name: \"inner\";\n accounts: [\n {\n name: \"protocolAuthority\";\n signer: true;\n relations: [\"state\"];\n },\n {\n name: \"state\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n ];\n },\n ];\n args: [\n {\n name: \"feeCollector\";\n type: \"pubkey\";\n },\n ];\n },\n {\n name: \"setMakerCancelUntilTimestamp\";\n discriminator: [144, 42, 186, 107, 205, 215, 55, 229];\n accounts: [\n {\n name: \"maker\";\n signer: true;\n },\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"makerInfo\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"state\";\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n ];\n args: [\n {\n name: \"cancelUntilTimestamp\";\n type: \"u64\";\n },\n ];\n },\n {\n name: \"setPause\";\n discriminator: [63, 32, 154, 2, 56, 103, 79, 45];\n accounts: [\n {\n name: \"inner\";\n accounts: [\n {\n name: \"protocolAuthority\";\n signer: true;\n relations: [\"state\"];\n },\n {\n name: \"state\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n ];\n },\n ];\n args: [\n {\n name: \"pauseFlag\";\n type: \"bool\";\n },\n ];\n },\n {\n name: \"setProtocolAuthority\";\n discriminator: [96, 162, 46, 152, 72, 147, 175, 176];\n accounts: [\n {\n name: \"inner\";\n accounts: [\n {\n name: \"protocolAuthority\";\n signer: true;\n relations: [\"state\"];\n },\n {\n name: \"state\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n ];\n },\n {\n name: \"newProtocolAuthority\";\n signer: true;\n },\n ];\n args: [];\n },\n {\n name: \"swapBegin\";\n discriminator: [87, 236, 193, 120, 215, 245, 9, 37];\n accounts: [\n {\n name: \"taker\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n {\n name: \"maker\";\n relations: [\"intentStorage\"];\n },\n {\n name: \"makerInfo\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111];\n },\n {\n kind: \"account\";\n path: \"maker\";\n },\n ];\n };\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"inputMint\";\n },\n {\n name: \"outputMint\";\n },\n {\n name: \"makerInputToken\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"maker\";\n },\n {\n kind: \"account\";\n path: \"inputTokenProgram\";\n },\n {\n kind: \"account\";\n path: \"inputMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"takerInputToken\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"taker\";\n },\n {\n kind: \"account\";\n path: \"inputTokenProgram\";\n },\n {\n kind: \"account\";\n path: \"inputMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"takerOutputToken\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"taker\";\n },\n {\n kind: \"account\";\n path: \"outputTokenProgram\";\n },\n {\n kind: \"account\";\n path: \"outputMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"intentOutputToken\";\n writable: true;\n },\n {\n name: \"instructions\";\n address: \"Sysvar1nstructions1111111111111111111111111\";\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"inputTokenProgram\";\n },\n {\n name: \"outputTokenProgram\";\n },\n {\n name: \"associatedTokenProgram\";\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"amount\";\n type: \"u64\";\n },\n {\n name: \"target\";\n type: {\n defined: {\n name: \"targetTokenAccount\";\n };\n };\n },\n {\n name: \"tradeId\";\n type: {\n array: [\"u8\", 32];\n };\n },\n ];\n },\n {\n name: \"swapEnd\";\n discriminator: [75, 178, 142, 132, 50, 126, 38, 31];\n accounts: [\n {\n name: \"taker\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [115, 116, 97, 116, 101];\n },\n ];\n };\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"inputMint\";\n },\n {\n name: \"outputMint\";\n },\n {\n name: \"takerOutputToken\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"taker\";\n },\n {\n kind: \"account\";\n path: \"outputTokenProgram\";\n },\n {\n kind: \"account\";\n path: \"outputMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"intentOutputToken\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"intentStorage\";\n },\n {\n kind: \"account\";\n path: \"outputTokenProgram\";\n },\n {\n kind: \"account\";\n path: \"outputMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"instructions\";\n address: \"Sysvar1nstructions1111111111111111111111111\";\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"outputTokenProgram\";\n },\n {\n name: \"associatedTokenProgram\";\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"expectedOutputTokenAmount\";\n type: \"u64\";\n },\n {\n name: \"takerSurplusShareBps\";\n type: \"u32\";\n },\n ];\n },\n {\n name: \"updateIntent\";\n discriminator: [214, 203, 249, 158, 90, 27, 54, 17];\n accounts: [\n {\n name: \"rentPayer\";\n writable: true;\n signer: true;\n },\n {\n name: \"state\";\n },\n {\n name: \"intentStorage\";\n writable: true;\n },\n {\n name: \"systemProgram\";\n address: \"11111111111111111111111111111111\";\n },\n {\n name: \"buffer\";\n optional: true;\n },\n {\n name: \"eventAuthority\";\n pda: {\n seeds: [\n {\n kind: \"const\";\n value: [\n 95,\n 95,\n 101,\n 118,\n 101,\n 110,\n 116,\n 95,\n 97,\n 117,\n 116,\n 104,\n 111,\n 114,\n 105,\n 116,\n 121,\n ];\n },\n ];\n };\n },\n {\n name: \"program\";\n },\n ];\n args: [\n {\n name: \"dataOrigin\";\n type: {\n defined: {\n name: \"dataOrigin\";\n };\n };\n },\n ];\n },\n {\n name: \"withdrawIntentTokenAccount\";\n discriminator: [188, 114, 123, 239, 223, 164, 242, 101];\n accounts: [\n {\n name: \"state\";\n },\n {\n name: \"maker\";\n docs: [\"CHECK\"];\n },\n {\n name: \"intentStorage\";\n },\n {\n name: \"intentTokenAccount\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"intentStorage\";\n },\n {\n kind: \"account\";\n path: \"tokenProgram\";\n },\n {\n kind: \"account\";\n path: \"tokenMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"makerTokenAccount\";\n writable: true;\n pda: {\n seeds: [\n {\n kind: \"account\";\n path: \"maker\";\n },\n {\n kind: \"account\";\n path: \"tokenProgram\";\n },\n {\n kind: \"account\";\n path: \"tokenMint\";\n },\n ];\n program: {\n kind: \"const\";\n value: [\n 140,\n 151,\n 37,\n 143,\n 78,\n 36,\n 137,\n 241,\n 187,\n 61,\n 16,\n 41,\n 20,\n 142,\n 13,\n 131,\n 11,\n 90,\n 19,\n 153,\n 218,\n 255,\n 16,\n 132,\n 4,\n 142,\n 123,\n 216,\n 219,\n 233,\n 248,\n 89,\n ];\n };\n };\n },\n {\n name: \"rentReceiver\";\n writable: true;\n },\n {\n name: \"tokenMint\";\n },\n {\n name: \"tokenProgram\";\n },\n {\n name: \"associatedTokenProgram\";\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\";\n },\n ];\n args: [\n {\n name: \"encodedIntentHash\";\n type: {\n option: {\n defined: {\n name: \"encodedIntentHash\";\n };\n };\n };\n },\n ];\n },\n ];\n accounts: [\n {\n name: \"intentStorage\";\n discriminator: [175, 239, 93, 146, 246, 119, 144, 249];\n },\n {\n name: \"makerInfo\";\n discriminator: [164, 184, 52, 218, 144, 52, 100, 40];\n },\n {\n name: \"state\";\n discriminator: [216, 146, 107, 94, 104, 75, 182, 177];\n },\n ];\n events: [\n {\n name: \"closedIntent\";\n discriminator: [197, 62, 20, 42, 191, 176, 242, 94];\n },\n {\n name: \"fulfilled\";\n discriminator: [210, 174, 131, 213, 40, 182, 83, 110];\n },\n {\n name: \"fulfilledDln\";\n discriminator: [42, 231, 52, 35, 155, 251, 144, 108];\n },\n {\n name: \"intentBudgetSpent\";\n discriminator: [106, 148, 20, 168, 115, 89, 145, 56];\n },\n {\n name: \"newIntent\";\n discriminator: [101, 118, 73, 187, 15, 74, 57, 97];\n },\n {\n name: \"sealedIntent\";\n discriminator: [28, 191, 234, 161, 83, 32, 138, 137];\n },\n {\n name: \"swapped\";\n discriminator: [217, 52, 52, 83, 147, 135, 96, 109];\n },\n ];\n errors: [\n {\n code: 6160;\n name: \"invalidArgument\";\n },\n {\n code: 6170;\n name: \"invalidAmount\";\n },\n {\n code: 6172;\n name: \"malformedRemainingAccounts\";\n },\n {\n code: 16782961;\n name: \"protocolPaused\";\n },\n {\n code: 16782979;\n name: \"timeParadox\";\n },\n {\n code: 6234;\n name: \"unknownCaller\";\n },\n {\n code: 6236;\n name: \"unknownCancelAuthority\";\n },\n {\n code: 6079;\n name: \"signatureVerificationFailed\";\n },\n {\n code: 6085;\n name: \"intentIdMiscalculated\";\n },\n {\n code: 6086;\n name: \"intentFromAnotherChain\";\n },\n {\n code: 6087;\n name: \"intentSameChainOnly\";\n },\n {\n code: 6088;\n name: \"intentInconsistentInputTokens\";\n },\n {\n code: 6089;\n name: \"intentInconsistentGiveTokens\";\n },\n {\n code: 6096;\n name: \"intentInconsistentTakeTokens\";\n },\n {\n code: 6097;\n name: \"intentInconsitentReceivers\";\n },\n {\n code: 6098;\n name: \"intentInconsitentDstAuthorities\";\n },\n {\n code: 6275;\n name: \"intentStorageAlreadyInitialized\";\n },\n {\n code: 6276;\n name: \"intentHashMismatch\";\n },\n {\n code: 6277;\n name: \"intentStorageSealed\";\n },\n {\n code: 6278;\n name: \"missedBufferAccount\";\n },\n {\n code: 6288;\n name: \"intentNotReady\";\n },\n {\n code: 6289;\n name: \"intentCancelled\";\n },\n {\n code: 6290;\n name: \"intentExpired\";\n },\n {\n code: 6291;\n name: \"intentInvalidatedByUser\";\n },\n {\n code: 6292;\n name: \"intentInvalidatedByProtocolAuthority\";\n },\n {\n code: 6293;\n name: \"expectedClosedIntent\";\n },\n {\n code: 6294;\n name: \"expectedCancelledIntent\";\n },\n {\n code: 9664;\n name: \"tokenAccountMissingProtocolDelegate\";\n },\n {\n code: 9665;\n name: \"unknownInputToken\";\n },\n {\n code: 9666;\n name: \"inputTokenAmountOutOfRange\";\n },\n {\n code: 9667;\n name: \"inputTokenAmountExceedsBudget\";\n },\n {\n code: 9680;\n name: \"takerNotAllowed\";\n },\n {\n code: 9681;\n name: \"unknownRoute\";\n },\n {\n code: 9682;\n name: \"priceViolation\";\n },\n {\n code: 9683;\n name: \"invalidReceiver\";\n },\n {\n code: 9684;\n name: \"readonlyReceiver\";\n },\n {\n code: 6101;\n name: \"missedNativeUnwrapFlag\";\n },\n {\n code: 9793;\n name: \"invalidDlnOrderTakeAmount\";\n },\n {\n code: 9794;\n name: \"invalidDlnDstReceiver\";\n },\n {\n code: 9802;\n name: \"invalidDlnDstOrderAuthority\";\n },\n {\n code: 9803;\n name: \"invalidDlnDstAllowedTaker\";\n },\n {\n code: 9804;\n name: \"invalidDlnSrcAllowedCancelBeneficiary\";\n },\n {\n code: 9805;\n name: \"invalidDlnMetadata\";\n },\n {\n code: 9806;\n name: \"invalidDlnExtcallHash\";\n },\n {\n code: 9788;\n name: \"cantBeClosed\";\n },\n {\n code: 9787;\n name: \"invalidTokenAccountRentReceiver\";\n },\n {\n code: 9839;\n name: \"intentArbitraryDataOverflow\";\n },\n {\n code: 8832;\n name: \"takerMustBeFixedWhenExtcallAllowed\";\n },\n {\n code: 8833;\n name: \"ambiguousReceivers\";\n },\n {\n code: 9600;\n name: \"interactionAccountNotFound\";\n },\n {\n code: 9601;\n name: \"interactionProgramNotFound\";\n },\n {\n code: 6239;\n name: \"interactionFixedAccountNotFound\";\n },\n {\n code: 9536;\n name: \"unknownDelegate\";\n },\n {\n code: 9537;\n name: \"delegateNonceMismatchNext\";\n },\n {\n code: 9546;\n name: \"delegateHasNoApproval\";\n },\n {\n code: 9547;\n name: \"delegateExceedsApprovedBudget\";\n },\n {\n code: 9550;\n name: \"delegateApprovalExpired\";\n },\n {\n code: 9551;\n name: \"delegateRevoked\";\n },\n {\n code: 16767137;\n name: \"crossProgramInvokeRestricted\";\n },\n {\n code: 16770159;\n name: \"crossProgramInvokeHasIntentsProgramAccount\";\n },\n ];\n types: [\n {\n name: \"address\";\n type: {\n kind: \"type\";\n alias: {\n vec: \"u8\";\n };\n };\n },\n {\n name: \"approvedTokenBudget\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"tokenMint\";\n type: \"pubkey\";\n },\n {\n name: \"approvedAmount\";\n type: \"u64\";\n },\n {\n name: \"expiration\";\n type: \"u64\";\n },\n ];\n };\n },\n {\n name: \"closedIntent\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"status\";\n type: {\n defined: {\n name: \"closedIntentStatus\";\n };\n };\n },\n ];\n };\n },\n {\n name: \"closedIntentStatus\";\n repr: {\n kind: \"rust\";\n };\n type: {\n kind: \"enum\";\n variants: [\n {\n name: \"wiped\";\n },\n {\n name: \"terminated\";\n },\n ];\n };\n },\n {\n name: \"createOrderArgs\";\n docs: [\"Structure for forming a new order\"];\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"giveOriginalAmount\";\n docs: [\n \"Input amount for `create order` call, that will be transferred from the user's wallet.\",\n \"The dln commissions will be deducted from it and the resulting value will be used as [`Order::give.amount`]\",\n ];\n type: \"u64\";\n },\n {\n name: \"take\";\n docs: [\"Offer to take in destination chain\"];\n type: {\n defined: {\n name: \"offer\";\n };\n };\n },\n {\n name: \"receiverDst\";\n docs: [\n \"Address in dst chain\",\n \"Address of receiver_dst of tokens in target chain\",\n \"or\",\n \"address of external call executor if `external_call` presented\",\n ];\n type: {\n defined: {\n name: \"address\";\n };\n };\n },\n {\n name: \"extcall\";\n docs: [\n \"External call for automatically execution in target chain after execution of order\",\n ];\n type: {\n option: \"bytes\";\n };\n },\n {\n name: \"givePatchAuthoritySrc\";\n docs: [\n \"Address in source chain\",\n \"Can call `patch_order_give` method of src program\",\n ];\n type: \"pubkey\";\n },\n {\n name: \"allowedCancelBeneficiarySrc\";\n docs: [\n \"Address in source chain\",\n \"If the field is `Some`, then only this address can receive cancel\",\n ];\n type: {\n option: \"pubkey\";\n };\n },\n {\n name: \"orderAuthorityAddressDst\";\n docs: [\n \"Address in destination chain\",\n \"Can `send_order_cancel`, `process_fallback` and `patch_order_take`\",\n ];\n type: {\n defined: {\n name: \"address\";\n };\n };\n },\n {\n name: \"allowedTakerDst\";\n docs: [\n \"Address in destination chain\",\n \"If the field is `Some`, then only this address can call `fulfill_order` with this\",\n \"order\",\n ];\n type: {\n option: {\n defined: {\n name: \"address\";\n };\n };\n };\n },\n ];\n };\n },\n {\n name: \"currentTokenBudget\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"tokenMint\";\n type: \"pubkey\";\n },\n {\n name: \"approvedAmount\";\n type: \"u64\";\n },\n {\n name: \"expiration\";\n type: \"u64\";\n },\n {\n name: \"remainingAmount\";\n type: \"u64\";\n },\n ];\n };\n },\n {\n name: \"dataOrigin\";\n type: {\n kind: \"enum\";\n variants: [\n {\n name: \"instruction\";\n fields: [\"bytes\"];\n },\n {\n name: \"buffer\";\n fields: [\n {\n name: \"offset\";\n type: \"u32\";\n },\n {\n name: \"length\";\n type: \"u32\";\n },\n ];\n },\n ];\n };\n },\n {\n name: \"delegateBudgets\";\n type: {\n kind: \"enum\";\n variants: [\n {\n name: \"any\";\n },\n {\n name: \"perToken\";\n fields: [\n {\n vec: {\n defined: {\n name: \"currentTokenBudget\";\n };\n };\n },\n ];\n },\n {\n name: \"revoked\";\n },\n ];\n };\n },\n {\n name: \"delegateInfo\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"delegate\";\n type: \"pubkey\";\n },\n {\n name: \"nonce\";\n type: \"u64\";\n },\n {\n name: \"budgets\";\n type: {\n defined: {\n name: \"delegateBudgets\";\n };\n };\n },\n ];\n };\n },\n {\n name: \"encodedIntentHash\";\n type: {\n kind: \"struct\";\n fields: [\n {\n array: [\"u8\", 32];\n },\n ];\n };\n },\n {\n name: \"fulfilled\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"intentId\";\n type: {\n defined: {\n name: \"intentId\";\n };\n };\n },\n {\n name: \"tradeId\";\n type: {\n array: [\"u8\", 32];\n };\n },\n {\n name: \"executionMetadata\";\n type: {\n option: \"bytes\";\n };\n },\n {\n name: \"takeToken\";\n type: \"pubkey\";\n },\n {\n name: \"takeTokenAmount\";\n type: \"u64\";\n },\n {\n name: \"takeTokenFeeAmount\";\n type: \"u64\";\n },\n ];\n };\n },\n {\n name: \"fulfilledDln\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"intentId\";\n type: {\n defined: {\n name: \"intentId\";\n };\n };\n },\n {\n name: \"executionMetadata\";\n type: {\n option: \"bytes\";\n };\n },\n {\n name: \"tradeId\";\n type: {\n array: [\"u8\", 32];\n };\n },\n {\n name: \"orderId\";\n type: {\n defined: {\n name: \"u256\";\n };\n };\n },\n {\n name: \"giveTokenFeeAmount\";\n type: \"u64\";\n },\n ];\n };\n },\n {\n name: \"intentBudget\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"mintIndex\";\n type: \"u8\";\n },\n {\n name: \"remainingAmount\";\n type: \"u64\";\n },\n ];\n };\n },\n {\n name: \"intentBudgetSpent\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"intentId\";\n type: {\n defined: {\n name: \"intentId\";\n };\n };\n },\n {\n name: \"tradeId\";\n type: {\n array: [\"u8\", 32];\n };\n },\n {\n name: \"executionMetadata\";\n type: {\n option: \"bytes\";\n };\n },\n {\n name: \"inputToken\";\n type: \"pubkey\";\n },\n {\n name: \"inputTokenSpentAmount\";\n type: \"u64\";\n },\n ];\n };\n },\n {\n name: \"intentBudgets\";\n type: {\n kind: \"struct\";\n fields: [\n {\n vec: {\n defined: {\n name: \"intentBudget\";\n };\n };\n },\n ];\n };\n },\n {\n name: \"intentId\";\n type: {\n kind: \"struct\";\n fields: [\n {\n array: [\"u8\", 32];\n },\n ];\n };\n },\n {\n name: \"intentStorage\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"maker\";\n type: \"pubkey\";\n },\n {\n name: \"delegate\";\n type: {\n option: \"pubkey\";\n };\n },\n {\n name: \"rentPayer\";\n type: \"pubkey\";\n },\n {\n name: \"arbitraryData\";\n type: {\n array: [\"u8\", 100];\n };\n },\n {\n name: \"encodedIntentHash\";\n type: {\n defined: {\n name: \"encodedIntentHash\";\n };\n };\n },\n {\n name: \"version\";\n type: \"u8\";\n },\n {\n name: \"storedIntent\";\n type: {\n defined: {\n name: \"storedIntent\";\n };\n };\n },\n {\n name: \"bump\";\n type: \"u8\";\n },\n ];\n };\n },\n {\n name: \"makerInfo\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"cancelUntilTimestamp\";\n type: \"u64\";\n },\n {\n name: \"delegates\";\n type: {\n vec: {\n defined: {\n name: \"delegateInfo\";\n };\n };\n };\n },\n ];\n };\n },\n {\n name: \"newIntent\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"intentId\";\n type: {\n defined: {\n name: \"intentId\";\n };\n };\n },\n ];\n };\n },\n {\n name: \"offer\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"chainId\";\n type: {\n defined: {\n name: \"u256\";\n };\n };\n },\n {\n name: \"tokenAddress\";\n type: {\n defined: {\n name: \"address\";\n };\n };\n },\n {\n name: \"amount\";\n type: {\n defined: {\n name: \"u256\";\n };\n };\n },\n ];\n };\n },\n {\n name: \"sealedIntent\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"intentId\";\n type: {\n defined: {\n name: \"intentId\";\n };\n };\n },\n {\n name: \"encodedIntent\";\n type: \"bytes\";\n },\n ];\n };\n },\n {\n name: \"setApprovedTokenBudgets\";\n type: {\n kind: \"enum\";\n variants: [\n {\n name: \"set\";\n fields: [\n {\n vec: {\n defined: {\n name: \"approvedTokenBudget\";\n };\n };\n },\n ];\n },\n {\n name: \"setAny\";\n },\n {\n name: \"revoke\";\n },\n ];\n };\n },\n {\n name: \"state\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"protocolAuthority\";\n type: \"pubkey\";\n },\n {\n name: \"feeCollector\";\n type: \"pubkey\";\n },\n {\n name: \"defaultFeeBps\";\n type: \"u32\";\n },\n {\n name: \"isPaused\";\n type: \"bool\";\n },\n {\n name: \"cancelUntilTimestamp\";\n type: \"u64\";\n },\n {\n name: \"bump\";\n type: \"u8\";\n },\n ];\n };\n },\n {\n name: \"storedIntent\";\n type: {\n kind: \"enum\";\n variants: [\n {\n name: \"uninitialized\";\n },\n {\n name: \"ready\";\n fields: [\n {\n name: \"encodedIntent\";\n type: \"bytes\";\n },\n {\n name: \"budgets\";\n type: {\n defined: {\n name: \"intentBudgets\";\n };\n };\n },\n ];\n },\n {\n name: \"cancelled\";\n fields: [\n {\n name: \"encodedIntent\";\n type: \"bytes\";\n },\n {\n name: \"budgets\";\n type: {\n defined: {\n name: \"intentBudgets\";\n };\n };\n },\n ];\n },\n ];\n };\n },\n {\n name: \"swapped\";\n type: {\n kind: \"struct\";\n fields: [\n {\n name: \"intentId\";\n type: {\n defined: {\n name: \"intentId\";\n };\n };\n },\n {\n name: \"tradeId\";\n type: {\n array: [\"u8\", 32];\n };\n },\n {\n name: \"executionMetadata\";\n type: {\n option: \"bytes\";\n };\n },\n {\n name: \"inputToken\";\n type: \"pubkey\";\n },\n {\n name: \"inputTokenAmount\";\n type: \"u64\";\n },\n {\n name: \"outputToken\";\n type: \"pubkey\";\n },\n {\n name: \"outputTokenAmount\";\n type: \"u64\";\n },\n {\n name: \"takerOutputTokenShareAmount\";\n type: \"u64\";\n },\n ];\n };\n },\n {\n name: \"targetTokenAccount\";\n type: {\n kind: \"enum\";\n variants: [\n {\n name: \"taker\";\n },\n {\n name: \"intent\";\n },\n ];\n };\n },\n {\n name: \"u256\";\n type: {\n kind: \"type\";\n alias: {\n array: [\"u8\", 32];\n };\n };\n },\n ];\n constants: [\n {\n name: \"budgetsSigPrefix\";\n type: \"bytes\";\n value: \"[98, 117, 100, 103, 101, 116, 115]\";\n },\n {\n name: \"clockDriftToleranceSecs\";\n type: \"u64\";\n value: \"300\";\n },\n {\n name: \"defaultFeeBps\";\n type: \"u32\";\n value: \"8\";\n },\n {\n name: \"intentIdHashPrefix\";\n docs: [\n \"Used **only** as sub-seed for [IntentId][`crate::types::IntentId`]\",\n ];\n type: \"bytes\";\n value: \"[105, 110, 116, 101, 110, 116, 95, 105, 100]\";\n },\n {\n name: \"intentProgramSigPrefix\";\n type: \"bytes\";\n value: \"[105, 110, 116, 101, 110, 116, 115, 95, 112, 114, 111, 103, 114, 97, 109]\";\n },\n {\n name: \"intentSigPrefix\";\n type: \"bytes\";\n value: \"[105, 110, 116, 101, 110, 116, 115]\";\n },\n {\n name: \"intentStorageBaseSeed\";\n type: \"bytes\";\n value: \"[105, 110, 116, 101, 110, 116, 95, 115, 116, 111, 114, 97, 103, 101]\";\n },\n {\n name: \"interactionCallAuthority\";\n type: \"bytes\";\n value: \"[105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121]\";\n },\n {\n name: \"makerInfoSeed\";\n type: \"bytes\";\n value: \"[109, 97, 107, 101, 114, 95, 105, 110, 102, 111]\";\n },\n {\n name: \"stateSeed\";\n type: \"bytes\";\n value: \"[115, 116, 97, 116, 101]\";\n },\n {\n name: \"unwrapNativePseudoMint\";\n type: \"pubkey\";\n value: \"11111111111111111111111111111111\";\n },\n {\n name: \"unwrapNativeReceiverSeed\";\n type: \"bytes\";\n value: \"[117, 110, 119, 114, 97, 112, 95, 110, 97, 116, 105, 118, 101, 95, 114, 101, 99, 101, 105, 118, 101, 114]\";\n },\n ];\n};\n\nexport const IDL: IntentsProgram = {\n address: \"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE\",\n metadata: {\n name: \"intentsProgram\",\n version: \"0.0.0\",\n spec: \"0.1.0\",\n description: \"deBridge Intents Program\",\n },\n instructions: [\n {\n name: \"about\",\n discriminator: [62, 111, 52, 44, 118, 185, 179, 229],\n accounts: [],\n args: [],\n },\n {\n name: \"approveProtocolTransfers\",\n discriminator: [17, 3, 184, 144, 112, 130, 116, 98],\n accounts: [\n {\n name: \"maker\",\n signer: true,\n },\n {\n name: \"state\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n {\n name: \"tokenProgram\",\n },\n ],\n args: [\n {\n name: \"amounts\",\n type: {\n vec: \"u64\",\n },\n },\n ],\n },\n {\n name: \"cancelIntent\",\n discriminator: [67, 73, 238, 244, 208, 89, 225, 59],\n accounts: [\n {\n name: \"initiator\",\n signer: true,\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"state\",\n },\n ],\n args: [],\n },\n {\n name: \"closeAccount\",\n discriminator: [125, 255, 149, 14, 110, 34, 72, 24],\n accounts: [\n {\n name: \"programAuthority\",\n signer: true,\n address: \"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE\",\n },\n {\n name: \"target\",\n writable: true,\n },\n {\n name: \"rentReceiver\",\n writable: true,\n },\n ],\n args: [],\n },\n {\n name: \"closeIntent\",\n discriminator: [112, 245, 154, 249, 57, 126, 54, 122],\n accounts: [\n {\n name: \"initiator\",\n signer: true,\n },\n {\n name: \"maker\",\n docs: [\"CHECK\"],\n },\n {\n name: \"makerInfo\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"rentPayer\",\n writable: true,\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"state\",\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n ],\n args: [],\n },\n {\n name: \"collectFee\",\n discriminator: [60, 173, 247, 103, 4, 93, 130, 48],\n accounts: [\n {\n name: \"feeCollector\",\n signer: true,\n relations: [\"state\"],\n },\n {\n name: \"state\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n {\n name: \"feeLedger\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"state\",\n },\n {\n kind: \"account\",\n path: \"tokenProgram\",\n },\n {\n kind: \"account\",\n path: \"mint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"destination\",\n writable: true,\n },\n {\n name: \"mint\",\n },\n {\n name: \"tokenProgram\",\n },\n ],\n args: [\n {\n name: \"amount\",\n type: \"u64\",\n },\n ],\n }, //TODO\n {\n name: \"executeIntent\",\n discriminator: [53, 130, 47, 154, 227, 220, 122, 212],\n accounts: [\n {\n name: \"taker\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n },\n {\n name: \"maker\",\n relations: [\"intentStorage\"],\n },\n {\n name: \"makerInfo\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"intentGiveToken\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"intentStorage\",\n },\n {\n kind: \"account\",\n path: \"tokenProgram\",\n },\n {\n kind: \"account\",\n path: \"tokenMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"dlnSrc\",\n address: \"srch38nzfcgwJnfKE6xWD8vfNJtudazwisdcociAuQt\",\n },\n {\n name: \"dlnSrcState\",\n },\n {\n name: \"dlnSrcGiveOrderState\",\n writable: true,\n },\n {\n name: \"dlnSrcGiveOrderWallet\",\n writable: true,\n },\n {\n name: \"dlnSrcAuthorizedNativeSender\",\n },\n {\n name: \"dlnSrcFeeLedgerWallet\",\n writable: true,\n },\n {\n name: \"tokenMint\",\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"tokenProgram\",\n },\n {\n name: \"associatedTokenProgram\",\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\",\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"dlnOrderArgs\",\n type: {\n defined: {\n name: \"createOrderArgs\",\n },\n },\n },\n {\n name: \"dlnOrderNonce\",\n type: \"u64\",\n },\n {\n name: \"dlnMetadata\",\n type: \"bytes\",\n },\n {\n name: \"tradeId\",\n type: {\n array: [\"u8\", 32],\n },\n },\n ],\n },\n {\n name: \"executeIntent2\",\n discriminator: [57, 145, 38, 151, 5, 101, 106, 72],\n accounts: [\n {\n name: \"taker\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n {\n name: \"maker\",\n writable: true,\n relations: [\"intentStorage\"],\n },\n {\n name: \"makerInfo\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"intentTakeToken\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"intentStorage\",\n },\n {\n kind: \"account\",\n path: \"tokenProgram\",\n },\n {\n kind: \"account\",\n path: \"tokenMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"feeLedger\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"state\",\n },\n {\n kind: \"account\",\n path: \"tokenProgram\",\n },\n {\n kind: \"account\",\n path: \"tokenMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"receiver\",\n },\n {\n name: \"receiverTakeToken\",\n writable: true,\n },\n {\n name: \"tokenMint\",\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"tokenProgram\",\n },\n {\n name: \"associatedTokenProgram\",\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\",\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"amount\",\n type: \"u64\",\n },\n {\n name: \"tradeId\",\n type: {\n array: [\"u8\", 32],\n },\n },\n ],\n },\n {\n name: \"initIntent\",\n discriminator: [231, 255, 81, 23, 112, 148, 49, 134],\n accounts: [\n {\n name: \"maker\",\n signer: true,\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"space\",\n type: \"u32\",\n },\n {\n name: \"encodedIntentHash\",\n type: {\n defined: {\n name: \"encodedIntentHash\",\n },\n },\n },\n ],\n },\n {\n name: \"initIntentByDelegate\",\n discriminator: [85, 140, 35, 112, 240, 67, 16, 40],\n accounts: [\n {\n name: \"delegate\",\n signer: true,\n },\n {\n name: \"maker\",\n docs: [\"CHECK\"],\n },\n {\n name: \"makerInfo\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"space\",\n type: \"u32\",\n },\n {\n name: \"encodedIntentHash\",\n type: {\n defined: {\n name: \"encodedIntentHash\",\n },\n },\n },\n ],\n },\n {\n name: \"initIntentByDelegateUsingSig\",\n discriminator: [113, 25, 150, 248, 204, 41, 36, 34],\n accounts: [\n {\n name: \"delegate\",\n docs: [\"CHECK\"],\n },\n {\n name: \"maker\",\n docs: [\"CHECK\"],\n },\n {\n name: \"makerInfo\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"space\",\n type: \"u32\",\n },\n {\n name: \"encodedIntentHash\",\n type: {\n defined: {\n name: \"encodedIntentHash\",\n },\n },\n },\n {\n name: \"signature\",\n type: {\n array: [\"u8\", 64],\n },\n },\n ],\n },\n {\n name: \"initIntentUsingSig\",\n discriminator: [163, 186, 238, 179, 190, 181, 19, 185],\n accounts: [\n {\n name: \"maker\",\n docs: [\"CHECK\"],\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"space\",\n type: \"u32\",\n },\n {\n name: \"encodedIntentHash\",\n type: {\n defined: {\n name: \"encodedIntentHash\",\n },\n },\n },\n {\n name: \"signature\",\n type: {\n array: [\"u8\", 64],\n },\n },\n ],\n },\n {\n name: \"initState\",\n discriminator: [124, 213, 73, 136, 80, 37, 141, 54],\n accounts: [\n {\n name: \"protocolAuthority\",\n signer: true,\n },\n {\n name: \"programAuthority\",\n signer: true,\n address: \"intV2u5xDE8T2ZMFP3W3X6sVqGHBT7zvYtTW3rRLmvE\",\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n ],\n args: [],\n },\n {\n name: \"reallocState\",\n discriminator: [67, 181, 233, 214, 215, 148, 245, 126],\n accounts: [\n {\n name: \"inner\",\n accounts: [\n {\n name: \"protocolAuthority\",\n signer: true,\n relations: [\"state\"],\n },\n {\n name: \"state\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n ],\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n ],\n args: [\n {\n name: \"newSpace\",\n type: \"u32\",\n },\n ],\n },\n {\n name: \"setCancelUntilTimestamp\",\n discriminator: [206, 248, 194, 176, 4, 206, 30, 228],\n accounts: [\n {\n name: \"inner\",\n accounts: [\n {\n name: \"protocolAuthority\",\n signer: true,\n relations: [\"state\"],\n },\n {\n name: \"state\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n ],\n },\n ],\n args: [\n {\n name: \"cancelUntilTimestamp\",\n type: \"u64\",\n },\n ],\n },\n {\n name: \"setDefaultFee\",\n discriminator: [150, 137, 197, 111, 176, 227, 201, 110],\n accounts: [\n {\n name: \"inner\",\n accounts: [\n {\n name: \"protocolAuthority\",\n signer: true,\n relations: [\"state\"],\n },\n {\n name: \"state\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n ],\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"defaultFeeBps\",\n type: \"u32\",\n },\n ],\n },\n {\n name: \"setDelegateApprovedBudgets\",\n discriminator: [82, 182, 181, 250, 30, 186, 95, 15],\n accounts: [\n {\n name: \"maker\",\n signer: true,\n },\n {\n name: \"delegate\",\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"makerInfo\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"state\",\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n ],\n args: [\n {\n name: \"nonce\",\n type: \"u64\",\n },\n {\n name: \"approvedTokenBudgets\",\n type: {\n defined: {\n name: \"setApprovedTokenBudgets\",\n },\n },\n },\n ],\n },\n {\n name: \"setDelegateApprovedBudgetsUsingSig\",\n discriminator: [26, 11, 76, 149, 162, 38, 128, 0],\n accounts: [\n {\n name: \"maker\",\n },\n {\n name: \"delegate\",\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"makerInfo\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"state\",\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n ],\n args: [\n {\n name: \"nonce\",\n type: \"u64\",\n },\n {\n name: \"encodedApprovedTokenBudgets\",\n type: \"bytes\",\n },\n {\n name: \"signature\",\n type: {\n array: [\"u8\", 64],\n },\n },\n ],\n },\n {\n name: \"setFeeCollector\",\n discriminator: [143, 46, 10, 113, 121, 157, 245, 166],\n accounts: [\n {\n name: \"inner\",\n accounts: [\n {\n name: \"protocolAuthority\",\n signer: true,\n relations: [\"state\"],\n },\n {\n name: \"state\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n ],\n },\n ],\n args: [\n {\n name: \"feeCollector\",\n type: \"pubkey\",\n },\n ],\n },\n {\n name: \"setMakerCancelUntilTimestamp\",\n discriminator: [144, 42, 186, 107, 205, 215, 55, 229],\n accounts: [\n {\n name: \"maker\",\n signer: true,\n },\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"makerInfo\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"state\",\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n ],\n args: [\n {\n name: \"cancelUntilTimestamp\",\n type: \"u64\",\n },\n ],\n }, //TODO test\n {\n name: \"setPause\",\n discriminator: [63, 32, 154, 2, 56, 103, 79, 45],\n accounts: [\n {\n name: \"inner\",\n accounts: [\n {\n name: \"protocolAuthority\",\n signer: true,\n relations: [\"state\"],\n },\n {\n name: \"state\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n ],\n },\n ],\n args: [\n {\n name: \"pauseFlag\",\n type: \"bool\",\n },\n ],\n },\n {\n name: \"setProtocolAuthority\",\n discriminator: [96, 162, 46, 152, 72, 147, 175, 176],\n accounts: [\n {\n name: \"inner\",\n accounts: [\n {\n name: \"protocolAuthority\",\n signer: true,\n relations: [\"state\"],\n },\n {\n name: \"state\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n ],\n },\n {\n name: \"newProtocolAuthority\",\n signer: true,\n },\n ],\n args: [],\n },\n {\n name: \"swapBegin\",\n discriminator: [87, 236, 193, 120, 215, 245, 9, 37],\n accounts: [\n {\n name: \"taker\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n {\n name: \"maker\",\n relations: [\"intentStorage\"],\n },\n {\n name: \"makerInfo\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [109, 97, 107, 101, 114, 95, 105, 110, 102, 111],\n },\n {\n kind: \"account\",\n path: \"maker\",\n },\n ],\n },\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"inputMint\",\n },\n {\n name: \"outputMint\",\n },\n {\n name: \"makerInputToken\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"maker\",\n },\n {\n kind: \"account\",\n path: \"inputTokenProgram\",\n },\n {\n kind: \"account\",\n path: \"inputMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"takerInputToken\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"taker\",\n },\n {\n kind: \"account\",\n path: \"inputTokenProgram\",\n },\n {\n kind: \"account\",\n path: \"inputMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"takerOutputToken\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"taker\",\n },\n {\n kind: \"account\",\n path: \"outputTokenProgram\",\n },\n {\n kind: \"account\",\n path: \"outputMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"intentOutputToken\",\n writable: true,\n },\n {\n name: \"instructions\",\n address: \"Sysvar1nstructions1111111111111111111111111\",\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"inputTokenProgram\",\n },\n {\n name: \"outputTokenProgram\",\n },\n {\n name: \"associatedTokenProgram\",\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\",\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"amount\",\n type: \"u64\",\n },\n {\n name: \"target\",\n type: {\n defined: {\n name: \"targetTokenAccount\",\n },\n },\n },\n {\n name: \"tradeId\",\n type: {\n array: [\"u8\", 32],\n },\n },\n ],\n },\n {\n name: \"swapEnd\",\n discriminator: [75, 178, 142, 132, 50, 126, 38, 31],\n accounts: [\n {\n name: \"taker\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [115, 116, 97, 116, 101],\n },\n ],\n },\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"inputMint\",\n },\n {\n name: \"outputMint\",\n },\n {\n name: \"takerOutputToken\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"taker\",\n },\n {\n kind: \"account\",\n path: \"outputTokenProgram\",\n },\n {\n kind: \"account\",\n path: \"outputMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"intentOutputToken\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"intentStorage\",\n },\n {\n kind: \"account\",\n path: \"outputTokenProgram\",\n },\n {\n kind: \"account\",\n path: \"outputMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"instructions\",\n address: \"Sysvar1nstructions1111111111111111111111111\",\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"outputTokenProgram\",\n },\n {\n name: \"associatedTokenProgram\",\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\",\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"expectedOutputTokenAmount\",\n type: \"u64\",\n },\n {\n name: \"takerSurplusShareBps\",\n type: \"u32\",\n },\n ],\n },\n {\n name: \"updateIntent\",\n discriminator: [214, 203, 249, 158, 90, 27, 54, 17],\n accounts: [\n {\n name: \"rentPayer\",\n writable: true,\n signer: true,\n },\n {\n name: \"state\",\n },\n {\n name: \"intentStorage\",\n writable: true,\n },\n {\n name: \"systemProgram\",\n address: \"11111111111111111111111111111111\",\n },\n {\n name: \"buffer\",\n optional: true,\n },\n {\n name: \"eventAuthority\",\n pda: {\n seeds: [\n {\n kind: \"const\",\n value: [\n 95, 95, 101, 118, 101, 110, 116, 95, 97, 117, 116, 104, 111,\n 114, 105, 116, 121,\n ],\n },\n ],\n },\n },\n {\n name: \"program\",\n },\n ],\n args: [\n {\n name: \"dataOrigin\",\n type: {\n defined: {\n name: \"dataOrigin\",\n },\n },\n },\n ],\n },\n {\n name: \"withdrawIntentTokenAccount\",\n discriminator: [188, 114, 123, 239, 223, 164, 242, 101],\n accounts: [\n {\n name: \"state\",\n },\n {\n name: \"maker\",\n docs: [\"CHECK\"],\n },\n {\n name: \"intentStorage\",\n },\n {\n name: \"intentTokenAccount\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"intentStorage\",\n },\n {\n kind: \"account\",\n path: \"tokenProgram\",\n },\n {\n kind: \"account\",\n path: \"tokenMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"makerTokenAccount\",\n writable: true,\n pda: {\n seeds: [\n {\n kind: \"account\",\n path: \"maker\",\n },\n {\n kind: \"account\",\n path: \"tokenProgram\",\n },\n {\n kind: \"account\",\n path: \"tokenMint\",\n },\n ],\n program: {\n kind: \"const\",\n value: [\n 140, 151, 37, 143, 78, 36, 137, 241, 187, 61, 16, 41, 20, 142,\n 13, 131, 11, 90, 19, 153, 218, 255, 16, 132, 4, 142, 123, 216,\n 219, 233, 248, 89,\n ],\n },\n },\n },\n {\n name: \"rentReceiver\",\n writable: true,\n },\n {\n name: \"tokenMint\",\n },\n {\n name: \"tokenProgram\",\n },\n {\n name: \"associatedTokenProgram\",\n address: \"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL\",\n },\n ],\n args: [\n {\n name: \"encodedIntentHash\",\n type: {\n option: {\n defined: {\n name: \"encodedIntentHash\",\n },\n },\n },\n },\n ],\n },\n ],\n accounts: [\n {\n name: \"intentStorage\",\n discriminator: [175, 239, 93, 146, 246, 119, 144, 249],\n },\n {\n name: \"makerInfo\",\n discriminator: [164, 184, 52, 218, 144, 52, 100, 40],\n },\n {\n name: \"state\",\n discriminator: [216, 146, 107, 94, 104, 75, 182, 177],\n },\n ],\n events: [\n {\n name: \"closedIntent\",\n discriminator: [197, 62, 20, 42, 191, 176, 242, 94],\n },\n {\n name: \"fulfilled\",\n discriminator: [210, 174, 131, 213, 40, 182, 83, 110],\n },\n {\n name: \"fulfilledDln\",\n discriminator: [42, 231, 52, 35, 155, 251, 144, 108],\n },\n {\n name: \"intentBudgetSpent\",\n discriminator: [106, 148, 20, 168, 115, 89, 145, 56],\n },\n {\n name: \"newIntent\",\n discriminator: [101, 118, 73, 187, 15, 74, 57, 97],\n },\n {\n name: \"sealedIntent\",\n discriminator: [28, 191, 234, 161, 83, 32, 138, 137],\n },\n {\n name: \"swapped\",\n discriminator: [217, 52, 52, 83, 147, 135, 96, 109],\n },\n ],\n errors: [\n {\n code: 6160,\n name: \"invalidArgument\",\n },\n {\n code: 6170,\n name: \"invalidAmount\",\n },\n {\n code: 6172,\n name: \"malformedRemainingAccounts\",\n },\n {\n code: 16782961,\n name: \"protocolPaused\",\n },\n {\n code: 16782979,\n name: \"timeParadox\",\n },\n {\n code: 6234,\n name: \"unknownCaller\",\n },\n {\n code: 6236,\n name: \"unknownCancelAuthority\",\n },\n {\n code: 6079,\n name: \"signatureVerificationFailed\",\n },\n {\n code: 6085,\n name: \"intentIdMiscalculated\",\n },\n {\n code: 6086,\n name: \"intentFromAnotherChain\",\n },\n {\n code: 6087,\n name: \"intentSameChainOnly\",\n },\n {\n code: 6088,\n name: \"intentInconsistentInputTokens\",\n },\n {\n code: 6089,\n name: \"intentInconsistentGiveTokens\",\n },\n {\n code: 6096,\n name: \"intentInconsistentTakeTokens\",\n },\n {\n code: 6097,\n name: \"intentInconsitentReceivers\",\n },\n {\n code: 6098,\n name: \"intentInconsitentDstAuthorities\",\n },\n {\n code: 6275,\n name: \"intentStorageAlreadyInitialized\",\n },\n {\n code: 6276,\n name: \"intentHashMismatch\",\n },\n {\n code: 6277,\n name: \"intentStorageSealed\",\n },\n {\n code: 6278,\n name: \"missedBufferAccount\",\n },\n {\n code: 6288,\n name: \"intentNotReady\",\n },\n {\n code: 6289,\n name: \"intentCancelled\",\n },\n {\n code: 6290,\n name: \"intentExpired\",\n },\n {\n code: 6291,\n name: \"intentInvalidatedByUser\",\n },\n {\n code: 6292,\n name: \"intentInvalidatedByProtocolAuthority\",\n },\n {\n code: 6293,\n name: \"expectedClosedIntent\",\n },\n {\n code: 6294,\n name: \"expectedCancelledIntent\",\n },\n {\n code: 9664,\n name: \"tokenAccountMissingProtocolDelegate\",\n },\n {\n code: 9665,\n name: \"unknownInputToken\",\n },\n {\n code: 9666,\n name: \"inputTokenAmountOutOfRange\",\n },\n {\n code: 9667,\n name: \"inputTokenAmountExceedsBudget\",\n },\n {\n code: 9680,\n name: \"takerNotAllowed\",\n },\n {\n code: 9681,\n name: \"unknownRoute\",\n },\n {\n code: 9682,\n name: \"priceViolation\",\n },\n {\n code: 9683,\n name: \"invalidReceiver\",\n },\n {\n code: 9684,\n name: \"readonlyReceiver\",\n },\n {\n code: 6101,\n name: \"missedNativeUnwrapFlag\",\n },\n {\n code: 9793,\n name: \"invalidDlnOrderTakeAmount\",\n },\n {\n code: 9794,\n name: \"invalidDlnDstReceiver\",\n },\n {\n code: 9802,\n name: \"invalidDlnDstOrderAuthority\",\n },\n {\n code: 9803,\n name: \"invalidDlnDstAllowedTaker\",\n },\n {\n code: 9804,\n name: \"invalidDlnSrcAllowedCancelBeneficiary\",\n },\n {\n code: 9805,\n name: \"invalidDlnMetadata\",\n },\n {\n code: 9806,\n name: \"invalidDlnExtcallHash\",\n },\n {\n code: 9788,\n name: \"cantBeClosed\",\n },\n {\n code: 9787,\n name: \"invalidTokenAccountRentReceiver\",\n },\n {\n code: 9839,\n name: \"intentArbitraryDataOverflow\",\n },\n {\n code: 8832,\n name: \"takerMustBeFixedWhenExtcallAllowed\",\n },\n {\n code: 8833,\n name: \"ambiguousReceivers\",\n },\n {\n code: 9600,\n name: \"interactionAccountNotFound\",\n },\n {\n code: 9601,\n name: \"interactionProgramNotFound\",\n },\n {\n code: 6239,\n name: \"interactionFixedAccountNotFound\",\n },\n {\n code: 9536,\n name: \"unknownDelegate\",\n },\n {\n code: 9537,\n name: \"delegateNonceMismatchNext\",\n },\n {\n code: 9546,\n name: \"delegateHasNoApproval\",\n },\n {\n code: 9547,\n name: \"delegateExceedsApprovedBudget\",\n },\n {\n code: 9550,\n name: \"delegateApprovalExpired\",\n },\n {\n code: 9551,\n name: \"delegateRevoked\",\n },\n {\n code: 16767137,\n name: \"crossProgramInvokeRestricted\",\n },\n {\n code: 16770159,\n name: \"crossProgramInvokeHasIntentsProgramAccount\",\n },\n ],\n types: [\n {\n name: \"address\",\n type: {\n kind: \"type\",\n alias: {\n vec: \"u8\",\n },\n },\n },\n {\n name: \"approvedTokenBudget\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"tokenMint\",\n type: \"pubkey\",\n },\n {\n name: \"approvedAmount\",\n type: \"u64\",\n },\n {\n name: \"expiration\",\n type: \"u64\",\n },\n ],\n },\n },\n {\n name: \"closedIntent\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"status\",\n type: {\n defined: {\n name: \"closedIntentStatus\",\n },\n },\n },\n ],\n },\n },\n {\n name: \"closedIntentStatus\",\n repr: {\n kind: \"rust\",\n },\n type: {\n kind: \"enum\",\n variants: [\n {\n name: \"wiped\",\n },\n {\n name: \"terminated\",\n },\n ],\n },\n },\n {\n name: \"createOrderArgs\",\n docs: [\"Structure for forming a new order\"],\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"giveOriginalAmount\",\n docs: [\n \"Input amount for `create order` call, that will be transferred from the user's wallet.\",\n \"The dln commissions will be deducted from it and the resulting value will be used as [`Order::give.amount`]\",\n ],\n type: \"u64\",\n },\n {\n name: \"take\",\n docs: [\"Offer to take in destination chain\"],\n type: {\n defined: {\n name: \"offer\",\n },\n },\n },\n {\n name: \"receiverDst\",\n docs: [\n \"Address in dst chain\",\n \"Address of receiver_dst of tokens in target chain\",\n \"or\",\n \"address of external call executor if `external_call` presented\",\n ],\n type: {\n defined: {\n name: \"address\",\n },\n },\n },\n {\n name: \"extcall\",\n docs: [\n \"External call for automatically execution in target chain after execution of order\",\n ],\n type: {\n option: \"bytes\",\n },\n },\n {\n name: \"givePatchAuthoritySrc\",\n docs: [\n \"Address in source chain\",\n \"Can call `patch_order_give` method of src program\",\n ],\n type: \"pubkey\",\n },\n {\n name: \"allowedCancelBeneficiarySrc\",\n docs: [\n \"Address in source chain\",\n \"If the field is `Some`, then only this address can receive cancel\",\n ],\n type: {\n option: \"pubkey\",\n },\n },\n {\n name: \"orderAuthorityAddressDst\",\n docs: [\n \"Address in destination chain\",\n \"Can `send_order_cancel`, `process_fallback` and `patch_order_take`\",\n ],\n type: {\n defined: {\n name: \"address\",\n },\n },\n },\n {\n name: \"allowedTakerDst\",\n docs: [\n \"Address in destination chain\",\n \"If the field is `Some`, then only this address can call `fulfill_order` with this\",\n \"order\",\n ],\n type: {\n option: {\n defined: {\n name: \"address\",\n },\n },\n },\n },\n ],\n },\n },\n {\n name: \"currentTokenBudget\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"tokenMint\",\n type: \"pubkey\",\n },\n {\n name: \"approvedAmount\",\n type: \"u64\",\n },\n {\n name: \"expiration\",\n type: \"u64\",\n },\n {\n name: \"remainingAmount\",\n type: \"u64\",\n },\n ],\n },\n },\n {\n name: \"dataOrigin\",\n type: {\n kind: \"enum\",\n variants: [\n {\n name: \"instruction\",\n fields: [\"bytes\"],\n },\n {\n name: \"buffer\",\n fields: [\n {\n name: \"offset\",\n type: \"u32\",\n },\n {\n name: \"length\",\n type: \"u32\",\n },\n ],\n },\n ],\n },\n },\n {\n name: \"delegateBudgets\",\n type: {\n kind: \"enum\",\n variants: [\n {\n name: \"any\",\n },\n {\n name: \"perToken\",\n fields: [\n {\n vec: {\n defined: {\n name: \"currentTokenBudget\",\n },\n },\n },\n ],\n },\n {\n name: \"revoked\",\n },\n ],\n },\n },\n {\n name: \"delegateInfo\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"delegate\",\n type: \"pubkey\",\n },\n {\n name: \"nonce\",\n type: \"u64\",\n },\n {\n name: \"budgets\",\n type: {\n defined: {\n name: \"delegateBudgets\",\n },\n },\n },\n ],\n },\n },\n {\n name: \"encodedIntentHash\",\n type: {\n kind: \"struct\",\n fields: [\n {\n array: [\"u8\", 32],\n },\n ],\n },\n },\n {\n name: \"fulfilled\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"intentId\",\n type: {\n defined: {\n name: \"intentId\",\n },\n },\n },\n {\n name: \"tradeId\",\n type: {\n array: [\"u8\", 32],\n },\n },\n {\n name: \"executionMetadata\",\n type: {\n option: \"bytes\",\n },\n },\n {\n name: \"takeToken\",\n type: \"pubkey\",\n },\n {\n name: \"takeTokenAmount\",\n type: \"u64\",\n },\n {\n name: \"takeTokenFeeAmount\",\n type: \"u64\",\n },\n ],\n },\n },\n {\n name: \"fulfilledDln\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"intentId\",\n type: {\n defined: {\n name: \"intentId\",\n },\n },\n },\n {\n name: \"executionMetadata\",\n type: {\n option: \"bytes\",\n },\n },\n {\n name: \"tradeId\",\n type: {\n array: [\"u8\", 32],\n },\n },\n {\n name: \"orderId\",\n type: {\n defined: {\n name: \"u256\",\n },\n },\n },\n {\n name: \"giveTokenFeeAmount\",\n type: \"u64\",\n },\n ],\n },\n },\n {\n name: \"intentBudget\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"mintIndex\",\n type: \"u8\",\n },\n {\n name: \"remainingAmount\",\n type: \"u64\",\n },\n ],\n },\n },\n {\n name: \"intentBudgetSpent\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"intentId\",\n type: {\n defined: {\n name: \"intentId\",\n },\n },\n },\n {\n name: \"tradeId\",\n type: {\n array: [\"u8\", 32],\n },\n },\n {\n name: \"executionMetadata\",\n type: {\n option: \"bytes\",\n },\n },\n {\n name: \"inputToken\",\n type: \"pubkey\",\n },\n {\n name: \"inputTokenSpentAmount\",\n type: \"u64\",\n },\n ],\n },\n },\n {\n name: \"intentBudgets\",\n type: {\n kind: \"struct\",\n fields: [\n {\n vec: {\n defined: {\n name: \"intentBudget\",\n },\n },\n },\n ],\n },\n },\n {\n name: \"intentId\",\n type: {\n kind: \"struct\",\n fields: [\n {\n array: [\"u8\", 32],\n },\n ],\n },\n },\n {\n name: \"intentStorage\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"maker\",\n type: \"pubkey\",\n },\n {\n name: \"delegate\",\n type: {\n option: \"pubkey\",\n },\n },\n {\n name: \"rentPayer\",\n type: \"pubkey\",\n },\n {\n name: \"arbitraryData\",\n type: {\n array: [\"u8\", 100],\n },\n },\n {\n name: \"encodedIntentHash\",\n type: {\n defined: {\n name: \"encodedIntentHash\",\n },\n },\n },\n {\n name: \"version\",\n type: \"u8\",\n },\n {\n name: \"storedIntent\",\n type: {\n defined: {\n name: \"storedIntent\",\n },\n },\n },\n {\n name: \"bump\",\n type: \"u8\",\n },\n ],\n },\n },\n {\n name: \"makerInfo\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"cancelUntilTimestamp\",\n type: \"u64\",\n },\n {\n name: \"delegates\",\n type: {\n vec: {\n defined: {\n name: \"delegateInfo\",\n },\n },\n },\n },\n ],\n },\n },\n {\n name: \"newIntent\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"intentId\",\n type: {\n defined: {\n name: \"intentId\",\n },\n },\n },\n ],\n },\n },\n {\n name: \"offer\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"chainId\",\n type: {\n defined: {\n name: \"u256\",\n },\n },\n },\n {\n name: \"tokenAddress\",\n type: {\n defined: {\n name: \"address\",\n },\n },\n },\n {\n name: \"amount\",\n type: {\n defined: {\n name: \"u256\",\n },\n },\n },\n ],\n },\n },\n {\n name: \"sealedIntent\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"intentId\",\n type: {\n defined: {\n name: \"intentId\",\n },\n },\n },\n {\n name: \"encodedIntent\",\n type: \"bytes\",\n },\n ],\n },\n },\n {\n name: \"setApprovedTokenBudgets\",\n type: {\n kind: \"enum\",\n variants: [\n {\n name: \"set\",\n fields: [\n {\n vec: {\n defined: {\n name: \"approvedTokenBudget\",\n },\n },\n },\n ],\n },\n {\n name: \"setAny\",\n },\n {\n name: \"revoke\",\n },\n ],\n },\n },\n {\n name: \"state\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"protocolAuthority\",\n type: \"pubkey\",\n },\n {\n name: \"feeCollector\",\n type: \"pubkey\",\n },\n {\n name: \"defaultFeeBps\",\n type: \"u32\",\n },\n {\n name: \"isPaused\",\n type: \"bool\",\n },\n {\n name: \"cancelUntilTimestamp\",\n type: \"u64\",\n },\n {\n name: \"bump\",\n type: \"u8\",\n },\n ],\n },\n },\n {\n name: \"storedIntent\",\n type: {\n kind: \"enum\",\n variants: [\n {\n name: \"uninitialized\",\n },\n {\n name: \"ready\",\n fields: [\n {\n name: \"encodedIntent\",\n type: \"bytes\",\n },\n {\n name: \"budgets\",\n type: {\n defined: {\n name: \"intentBudgets\",\n },\n },\n },\n ],\n },\n {\n name: \"cancelled\",\n fields: [\n {\n name: \"encodedIntent\",\n type: \"bytes\",\n },\n {\n name: \"budgets\",\n type: {\n defined: {\n name: \"intentBudgets\",\n },\n },\n },\n ],\n },\n ],\n },\n },\n {\n name: \"swapped\",\n type: {\n kind: \"struct\",\n fields: [\n {\n name: \"intentId\",\n type: {\n defined: {\n name: \"intentId\",\n },\n },\n },\n {\n name: \"tradeId\",\n type: {\n array: [\"u8\", 32],\n },\n },\n {\n name: \"executionMetadata\",\n type: {\n option: \"bytes\",\n },\n },\n {\n name: \"inputToken\",\n type: \"pubkey\",\n },\n {\n name: \"inputTokenAmount\",\n type: \"u64\",\n },\n {\n name: \"outputToken\",\n type: \"pubkey\",\n },\n {\n name: \"outputTokenAmount\",\n type: \"u64\",\n },\n {\n name: \"takerOutputTokenShareAmount\",\n type: \"u64\",\n },\n ],\n },\n },\n {\n name: \"targetTokenAccount\",\n type: {\n kind: \"enum\",\n variants: [\n {\n name: \"taker\",\n },\n {\n name: \"intent\",\n },\n ],\n },\n },\n {\n name: \"u256\",\n type: {\n kind: \"type\",\n alias: {\n array: [\"u8\", 32],\n },\n },\n },\n ],\n constants: [\n {\n name: \"budgetsSigPrefix\",\n type: \"bytes\",\n value: \"[98, 117, 100, 103, 101, 116, 115]\",\n },\n {\n name: \"clockDriftToleranceSecs\",\n type: \"u64\",\n value: \"300\",\n },\n {\n name: \"defaultFeeBps\",\n type: \"u32\",\n value: \"8\",\n },\n {\n name: \"intentIdHashPrefix\",\n docs: [\n \"Used **only** as sub-seed for [IntentId][`crate::types::IntentId`]\",\n ],\n type: \"bytes\",\n value: \"[105, 110, 116, 101, 110, 116, 95, 105, 100]\",\n },\n {\n name: \"intentProgramSigPrefix\",\n type: \"bytes\",\n value:\n \"[105, 110, 116, 101, 110, 116, 115, 95, 112, 114, 111, 103, 114, 97, 109]\",\n },\n {\n name: \"intentSigPrefix\",\n type: \"bytes\",\n value: \"[105, 110, 116, 101, 110, 116, 115]\",\n },\n {\n name: \"intentStorageBaseSeed\",\n type: \"bytes\",\n value:\n \"[105, 110, 116, 101, 110, 116, 95, 115, 116, 111, 114, 97, 103, 101]\",\n },\n {\n name: \"interactionCallAuthority\",\n type: \"bytes\",\n value:\n \"[105, 110, 116, 101, 114, 97, 99, 116, 105, 111, 110, 95, 97, 117, 116, 104, 111, 114, 105, 116, 121]\",\n },\n {\n name: \"makerInfoSeed\",\n type: \"bytes\",\n value: \"[109, 97, 107, 101, 114, 95, 105, 110, 102, 111]\",\n },\n {\n name: \"stateSeed\",\n type: \"bytes\",\n value: \"[115, 116, 97, 116, 101]\",\n },\n {\n name: \"unwrapNativePseudoMint\",\n type: \"pubkey\",\n value: \"11111111111111111111111111111111\",\n },\n {\n name: \"unwrapNativeReceiverSeed\",\n type: \"bytes\",\n value:\n \"[117, 110, 119, 114, 97, 112, 95, 110, 97, 116, 105, 118, 101, 95, 114, 101, 99, 101, 105, 118, 101, 114]\",\n },\n ],\n};\n","import {\n ComputeBudget,\n ExternalCallParams,\n GetTransactionParams,\n} from \"./types\";\nimport {\n ComputeBudgetProgram,\n MessageV0,\n TransactionInstruction,\n VersionedTransaction,\n} from \"@solana/web3.js\";\nimport { BN } from \"@coral-xyz/anchor\";\nimport { helpers } from \"@debridge-finance/solana-utils\";\nimport { keccak256 } from \"js-sha3\";\n\nexport function bigintToArray(\n n: bigint | number,\n type: \"u64\" | \"u256\",\n): number[] {\n let size: number;\n switch (type) {\n case \"u256\":\n size = 32;\n break;\n case \"u64\":\n size = 8;\n break;\n }\n\n return new BN(n.toString()).toArray(\"be\", size);\n}\n\nexport const u64 = (v: bigint) => {\n const buf = Buffer.alloc(8);\n buf.writeBigUInt64LE(v);\n return buf;\n};\n\nexport const vecU8 = (data: Buffer) => {\n const len = Buffer.alloc(4);\n len.writeUInt32LE(data.length);\n return Buffer.concat([len, data]);\n};\n\nexport const getComputeBudgetIxs = (\n computeBudget?: ComputeBudget,\n): TransactionInstruction[] => {\n const ixs: TransactionInstruction[] = [];\n\n if (computeBudget?.limit) {\n ixs.push(\n ComputeBudgetProgram.setComputeUnitLimit({\n units: computeBudget.limit,\n }),\n );\n }\n\n if (computeBudget?.price) {\n ixs.push(\n ComputeBudgetProgram.setComputeUnitPrice({\n microLamports: computeBudget.price,\n }),\n );\n }\n\n return ixs;\n};\n\nexport const getVersionedTransaction = ({\n instructions,\n payer,\n blockhash,\n ALTs,\n}: GetTransactionParams) =>\n new VersionedTransaction(\n MessageV0.compile({\n instructions,\n payerKey: payer,\n recentBlockhash: blockhash,\n addressLookupTableAccounts: ALTs,\n }),\n );\n","import {\n AnchorProvider,\n BN,\n Program,\n setProvider,\n Wallet as AnchorWallet,\n BorshCoder,\n IdlAccounts,\n} from \"@coral-xyz/anchor\";\nimport {\n constants,\n dlnSrcResolver,\n programs,\n txs as transactions,\n} from \"@debridge-finance/solana-utils\";\nimport {\n Connection,\n Keypair,\n PublicKey,\n SystemProgram,\n SYSVAR_INSTRUCTIONS_PUBKEY,\n TransactionInstruction,\n VersionedTransaction,\n} from \"@solana/web3.js\";\nimport { ASSOCIATED_TOKEN_PROGRAM_ID, NATIVE_MINT } from \"@solana/spl-token\";\nimport {\n getAssociatedTokenAddressSync,\n TOKEN_PROGRAM_ID,\n} from \"@solana/spl-token\";\nimport { IntentsProgram, IDL } from \"../idl/intents-program\";\nimport {\n createInitializeInstruction,\n createReallocateInstruction,\n createWriteInstruction,\n createCloseAccountInstruction,\n RECORD_PROGRAM_ID,\n RECORD_META_DATA_SIZE,\n} from \"@solana/spl-record\";\nimport {\n CloseIntentParams,\n CloseRecordParams,\n CreateAndUpdateIntentParams,\n ApproveProtocolTransfersParams,\n InitIntentParams,\n TokenApproval,\n UpdateIntentParams,\n UpdateRecordParams,\n WriteIntentParams,\n WriteRecordParams,\n UpdateRecordTxsParams,\n DelegateApprovedBudgetsParams,\n SwapBeginParams,\n SwapEndParams,\n ExecuteIntentParams,\n SwapParams,\n IntentStorage,\n State,\n ExecuteIntentSameChainParams,\n SetMakerCancelUntilTimestampParams,\n WithdrawIntentTokenAccountParams,\n WithdrawClosedIntentTokenAccountParams,\n CancelIntentParams,\n DelegateApprovedBudgetsArgs,\n} from \"./types\";\nimport {\n bigintToArray,\n getComputeBudgetIxs,\n getVersionedTransaction,\n} from \"./helpers\";\n\nexport enum IntentProgramSigPrefix {\n prod = \"intents_program\",\n dubai = \"intents_program_dubai\",\n hanoi = \"intents_program_hanoi\",\n devnet = \"intents_program_devnet\",\n}\n\nexport const DEFAULT_RECORD_OFFSET = RECORD_META_DATA_SIZE;\n\nexport class IntentsClient {\n public readonly programId: PublicKey;\n public readonly idl: IntentsProgram;\n public readonly recordProgramId: PublicKey;\n private readonly _provider: AnchorProvider;\n private readonly _intentsProgram: Program<IntentsProgram>;\n private readonly _state: PublicKey;\n\n constructor(\n connection: Connection,\n {\n programId,\n recordProgramId = RECORD_PROGRAM_ID,\n }: {\n programId: PublicKey;\n recordProgramId?: PublicKey;\n },\n ) {\n IDL.address = programId.toString() as typeof IDL.address;\n this.idl = IDL;\n this.programId = programId;\n this.recordProgramId = recordProgramId;\n this._provider = new AnchorProvider(connection, {} as AnchorWallet, {});\n setProvider(this._provider);\n this._intentsProgram = new Program(IDL, this._provider);\n this._state = IntentsClient.getStatePda(this._intentsProgram.programId);\n }\n\n private getSpace(length: number, budgets: number) {\n return 198 + (1 + length + (4 + 9 * budgets)); // (min 100)\n }\n\n async getState(connection: Connection): Promise<State | null> {\n const accountInfo = await connection.getAccountInfo(this._state);\n\n if (!accountInfo) {\n return null;\n }\n\n const data = this._intentsProgram.coder.accounts.decode(\n \"state\",\n accountInfo.data,\n );\n\n return {\n ...data,\n lastValidTimestamp: Number(data.lastValidTimestamp.toString()),\n };\n }\n\n async getIntentStorage(\n connection: Connection,\n intentId: Buffer,\n ): Promise<IntentStorage | null> {\n const intentStorage = IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n intentId,\n );\n\n const accountInfo = await connection.getAccountInfo(intentStorage);\n\n if (!accountInfo) {\n return null;\n }\n\n const data = this._intentsProgram.coder.accounts.decode(\n \"intentStorage\",\n accountInfo.data,\n );\n\n return {\n ...data,\n intentId: Buffer.from(data.intentId[\"0\"]),\n };\n }\n\n async getMakerInfo(\n connection: Connection,\n maker: PublicKey,\n ): Promise<IdlAccounts<IntentsProgram>[\"makerInfo\"] | null> {\n const makerInfoPda = IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n );\n\n const accountInfo = await connection.getAccountInfo(makerInfoPda);\n\n if (!accountInfo) {\n return null;\n }\n\n const data = this._intentsProgram.coder.accounts.decode(\n \"makerInfo\",\n accountInfo.data,\n );\n\n return data;\n }\n\n async getNonceForDelegate(\n connection: Connection,\n maker: PublicKey,\n delegate: PublicKey,\n ): Promise<bigint> {\n const makerInfo = await this.getMakerInfo(connection, maker);\n\n if (!makerInfo) {\n return 0n;\n }\n\n for (let data of makerInfo.delegates) {\n if (data.delegate.toBase58() === delegate.toBase58()) {\n return BigInt(data.nonce.toString());\n }\n }\n\n return 0n;\n }\n\n // TODO vanilla solana delegation\n async approveProtocolTransfersIxs({\n maker,\n tokens,\n tokenProgram = TOKEN_PROGRAM_ID,\n }: ApproveProtocolTransfersParams): Promise<TransactionInstruction[]> {\n const { amounts, accounts } = tokens.reduce<TokenApproval>(\n ({ amounts, accounts }, { mint, amount }) => {\n return {\n amounts: amounts.concat(new BN(amount.toString())),\n accounts: accounts.concat({\n pubkey: getAssociatedTokenAddressSync(\n mint,\n maker,\n true,\n tokenProgram,\n ),\n isSigner: false,\n isWritable: true,\n }),\n };\n },\n { amounts: [], accounts: [] },\n );\n\n return [\n await this._intentsProgram.methods\n .approveProtocolTransfers(amounts)\n .accountsStrict({\n maker,\n state: this._state,\n tokenProgram,\n })\n .remainingAccounts(accounts)\n .instruction(),\n ];\n }\n\n private async cancelIntentIxs(\n maker: PublicKey,\n id: Buffer,\n ): Promise<TransactionInstruction[]> {\n return [\n await this._intentsProgram.methods\n .cancelIntent()\n .accountsStrict({\n initiator: maker,\n intentStorage: IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n id,\n ),\n state: this._state,\n })\n .instruction(),\n ];\n }\n\n private async closeIntentIxs(\n maker: PublicKey,\n rentPayer: PublicKey,\n id: Buffer,\n ): Promise<TransactionInstruction[]> {\n return [\n await this._intentsProgram.methods\n .closeIntent()\n .accountsStrict({\n initiator: maker,\n rentPayer,\n intentStorage: IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n id,\n ),\n state: this._state,\n systemProgram: SystemProgram.programId,\n makerInfo: IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n ),\n maker,\n })\n .instruction(),\n ];\n }\n\n async executeIntentIxs({\n tradeId,\n intentId,\n taker,\n maker,\n tokenMint,\n dlnOrder,\n dlnMetadata,\n dlnSrc = new PublicKey(programs.dlnSrc),\n tokenProgram = TOKEN_PROGRAM_ID,\n }: ExecuteIntentParams): Promise<TransactionInstruction[]> {\n const accountsResolver = dlnSrcResolver(dlnSrc).methods;\n\n const [dlnSrcState] = accountsResolver.getStateAccount();\n\n const [dlnSrcGiveOrderState] = accountsResolver.getGiveOrderStateAccount(\n dlnOrder.id,\n );\n\n const [dlnSrcGiveOrderWallet] = accountsResolver.getGiveOrderWalletAddress(\n dlnOrder.id,\n );\n\n const [dlnSrcAuthorizedNativeSender] =\n accountsResolver.getAuthorizedNativeSenderAddress(\n Buffer.from(new BN(dlnOrder.dstChainId.toString()).toArray(\"be\", 32)),\n );\n\n const [dlnSrcFeeLedgerWallet] =\n accountsResolver.getFeeLedgerWalletAddress(tokenMint);\n\n const intentStorage = IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n intentId,\n );\n\n const intentGiveTokenATA = getAssociatedTokenAddressSync(\n tokenMint,\n intentStorage,\n true,\n tokenProgram,\n );\n\n const args: Parameters<\n Program<IntentsProgram>[\"methods\"][\"executeIntent\"]\n >[0] = {\n giveOriginalAmount: new BN(dlnOrder.args.giveOriginalAmount.toString()),\n take: {\n amount: bigintToArray(dlnOrder.args.take.amount, \"u256\"),\n chainId: bigintToArray(dlnOrder.args.take.chainId, \"u256\"),\n tokenAddress: Array.from(dlnOrder.args.take.tokenAddress),\n },\n receiverDst: Array.from(dlnOrder.args.receiver),\n extcall: dlnOrder.args.externalCall?.externalCallData\n ? Buffer.from(dlnOrder.args.externalCall.externalCallData)\n : null,\n givePatchAuthoritySrc: dlnOrder.args.givePatchAuthority,\n orderAuthorityAddressDst: Array.from(\n dlnOrder.args.orderAuthorityDstAddress,\n ),\n allowedCancelBeneficiarySrc: dlnOrder.args.allowedCancelBeneficiary,\n allowedTakerDst: dlnOrder.args.allowedTaker\n ? Array.from(dlnOrder.args.allowedTaker)\n : null,\n };\n\n return [\n await this._intentsProgram.methods\n .executeIntent(\n args,\n new BN(dlnOrder.nonce.toString()),\n dlnMetadata ?? Buffer.from([]),\n Array.from(tradeId),\n )\n .accountsStrict({\n taker,\n state: this._state,\n intentStorage,\n maker,\n makerInfo: IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n ),\n intentGiveToken: intentGiveTokenATA,\n dlnSrc,\n dlnSrcState,\n dlnSrcGiveOrderState,\n dlnSrcGiveOrderWallet,\n dlnSrcAuthorizedNativeSender,\n dlnSrcFeeLedgerWallet,\n tokenMint,\n systemProgram: SystemProgram.programId,\n tokenProgram,\n associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,\n eventAuthority: IntentsClient.getEventAuthorityPda(\n this._intentsProgram.programId,\n ),\n program: this._intentsProgram.programId,\n })\n .instruction(),\n ];\n }\n\n async executeSameChainIntentIxs({\n tradeId,\n intentId,\n taker,\n maker,\n tokenMint,\n receiver,\n amount,\n tokenProgram = TOKEN_PROGRAM_ID,\n unwrapTakeToken,\n }: ExecuteIntentSameChainParams): Promise<TransactionInstruction[]> {\n let unwrapNativeSol = false;\n let receiverTakeToken;\n\n const intentStorage = IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n intentId,\n );\n\n const intentTakeTokenATA = getAssociatedTokenAddressSync(\n tokenMint,\n intentStorage,\n true,\n tokenProgram,\n );\n\n if (unwrapTakeToken && tokenMint.toBase58() === NATIVE_MINT.toBase58()) {\n receiverTakeToken = IntentsClient.getNativePda(\n this._intentsProgram.programId,\n );\n unwrapNativeSol = true;\n } else {\n receiverTakeToken = getAssociatedTokenAddressSync(\n tokenMint,\n receiver,\n true,\n tokenProgram,\n );\n }\n\n const feeLedger = getAssociatedTokenAddressSync(\n tokenMint,\n this._state,\n true,\n tokenProgram,\n );\n\n const ix = await this._intentsProgram.methods\n .executeIntent2(new BN(amount.toString()), Array.from(tradeId))\n .accountsStrict({\n taker,\n state: this._state,\n maker,\n receiver,\n makerInfo: IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n ),\n intentStorage,\n intentTakeToken: intentTakeTokenATA,\n feeLedger,\n receiverTakeToken,\n tokenMint,\n systemProgram: SystemProgram.programId,\n tokenProgram,\n associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,\n eventAuthority: IntentsClient.getEventAuthorityPda(\n this._intentsProgram.programId,\n ),\n program: this._intentsProgram.programId,\n })\n .instruction();\n\n if (unwrapNativeSol) {\n let receiverIdx = ix.keys.findIndex((meta) => meta.pubkey == receiver)!;\n ix.keys[receiverIdx]!.isWritable = true;\n }\n\n return [ix];\n }\n\n async initIntentIxs(\n maker: PublicKey,\n payer: PublicKey,\n delegate: PublicKey | null = null,\n id: Buffer,\n encodedIntentHash: Buffer,\n encodedIntentLength: number,\n inputTokensAmount: number,\n ): Promise<TransactionInstruction[]> {\n const space = this.getSpace(encodedIntentLength, inputTokensAmount);\n\n const method = delegate\n ? this._intentsProgram.methods.initIntentByDelegate(space, {\n 0: Array.from(encodedIntentHash),\n }) // rawHash\n : this._intentsProgram.methods.initIntent(space, {\n 0: Array.from(encodedIntentHash),\n }); // rawHash\n\n return [\n await method\n .accountsStrict({\n maker,\n ...(delegate && {\n delegate,\n makerInfo: IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n ),\n }),\n rentPayer: payer,\n state: this._state,\n intentStorage: IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n id,\n ),\n systemProgram: SystemProgram.programId,\n eventAuthority: IntentsClient.getEventAuthorityPda(\n this._intentsProgram.programId,\n ),\n program: this._intentsProgram.programId,\n })\n .instruction(),\n ];\n }\n\n async initIntentUsingSigIxs(\n maker: PublicKey,\n payer: PublicKey,\n delegate: PublicKey | null = null,\n id: Buffer,\n encodedIntentHash: Buffer,\n encodedIntentLength: number,\n inputTokensAmount: number,\n signature: Buffer,\n ): Promise<TransactionInstruction[]> {\n const space = this.getSpace(encodedIntentLength, inputTokensAmount);\n\n const method = delegate\n ? this._intentsProgram.methods.initIntentByDelegateUsingSig(\n space,\n { 0: Array.from(encodedIntentHash) },\n Array.from(signature),\n )\n : this._intentsProgram.methods.initIntentUsingSig(\n space,\n { 0: Array.from(encodedIntentHash) },\n Array.from(signature),\n );\n\n return [\n await method\n .accountsStrict({\n ...(delegate && {\n delegate,\n makerInfo: IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n ),\n }),\n maker,\n rentPayer: payer,\n state: this._state,\n intentStorage: IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n id,\n ),\n systemProgram: SystemProgram.programId,\n eventAuthority: IntentsClient.getEventAuthorityPda(\n this._intentsProgram.programId,\n ),\n program: this._intentsProgram.programId,\n })\n .instruction(),\n ];\n }\n\n async setDelegateApprovedBudgetsIxs({\n maker,\n payer,\n delegate,\n nonce,\n tokens,\n signature,\n }: DelegateApprovedBudgetsParams): Promise<TransactionInstruction[]> {\n const enumArgs = IntentsClient.getDelegateApprovedBudgetsArgs(tokens);\n const encodedApprovedTokenBudgets = this._intentsProgram.coder.types.encode(\n \"setApprovedTokenBudgets\",\n enumArgs,\n );\n\n const method = signature\n ? this._intentsProgram.methods.setDelegateApprovedBudgetsUsingSig(\n new BN(nonce.toString()),\n encodedApprovedTokenBudgets,\n Array.from(signature),\n )\n : this._intentsProgram.methods.setDelegateApprovedBudgets(\n new BN(nonce.toString()),\n enumArgs,\n );\n\n return [\n await method\n .accountsStrict({\n maker,\n delegate,\n rentPayer: payer,\n state: this._state,\n makerInfo: IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n ),\n systemProgram: SystemProgram.programId,\n })\n .instruction(),\n ];\n }\n\n async setMakerCancelUntilTimestampIxs({\n maker,\n payer,\n timestamp,\n }: SetMakerCancelUntilTimestampParams): Promise<TransactionInstruction[]> {\n return [\n await this._intentsProgram.methods\n .setMakerCancelUntilTimestamp(new BN(timestamp.toString()))\n .accountsStrict({\n maker,\n rentPayer: payer,\n state: this._state,\n makerInfo: IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n ),\n systemProgram: SystemProgram.programId,\n })\n .instruction(),\n ];\n }\n\n async swapBeginIxs({\n taker,\n maker,\n intentId,\n tradeId,\n beginAmount, // 0 for tests // transfer from random wallet to taker output amount, input / output = intent price\n target,\n inputMint,\n outputMint,\n inputTokenProgram = TOKEN_PROGRAM_ID,\n outputTokenProgram = TOKEN_PROGRAM_ID,\n }: SwapBeginParams): Promise<TransactionInstruction[]> {\n const intentStorage = IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n intentId,\n );\n\n const makerInputToken = getAssociatedTokenAddressSync(\n inputMint,\n maker,\n true,\n inputTokenProgram,\n );\n\n const takerInputToken = getAssociatedTokenAddressSync(\n inputMint,\n taker,\n true,\n inputTokenProgram,\n );\n\n const takerOutputToken = getAssociatedTokenAddressSync(\n outputMint,\n taker,\n true,\n outputTokenProgram,\n );\n\n const intentOutputToken = getAssociatedTokenAddressSync(\n outputMint,\n intentStorage,\n true,\n outputTokenProgram,\n );\n\n return [\n await this._intentsProgram.methods\n .swapBegin(\n new BN(beginAmount.toString()),\n target === \"intent\" ? { intent: {} } : { taker: {} },\n Array.from(tradeId),\n )\n .accountsStrict({\n taker,\n maker,\n state: this._state,\n intentStorage,\n inputMint,\n outputMint,\n makerInputToken,\n takerInputToken,\n takerOutputToken,\n intentOutputToken,\n instructions: SYSVAR_INSTRUCTIONS_PUBKEY,\n systemProgram: SystemProgram.programId,\n inputTokenProgram,\n outputTokenProgram,\n associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,\n makerInfo: IntentsClient.getMakerInfoPda(\n this._intentsProgram.programId,\n maker,\n ),\n eventAuthority: IntentsClient.getEventAuthorityPda(\n this._intentsProgram.programId,\n ),\n program: this._intentsProgram.programId,\n })\n .instruction(),\n ];\n }\n\n async swapEndIxs({\n taker,\n intentId,\n endAmount,\n bps,\n inputMint,\n outputMint,\n outputTokenProgram = TOKEN_PROGRAM_ID,\n }: SwapEndParams): Promise<TransactionInstruction[]> {\n const intentStorage = IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n intentId,\n );\n\n const takerOutputToken = getAssociatedTokenAddressSync(\n outputMint,\n taker,\n true,\n outputTokenProgram,\n );\n\n const intentOutputToken = getAssociatedTokenAddressSync(\n outputMint,\n intentStorage,\n true,\n outputTokenProgram,\n );\n\n return [\n await this._intentsProgram.methods\n .swapEnd(new BN(endAmount.toString()), bps)\n .accountsStrict({\n taker,\n state: this._state,\n intentStorage,\n inputMint,\n outputMint,\n takerOutputToken,\n intentOutputToken,\n instructions: SYSVAR_INSTRUCTIONS_PUBKEY,\n systemProgram: SystemProgram.programId,\n outputTokenProgram,\n associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,\n eventAuthority: IntentsClient.getEventAuthorityPda(\n this._intentsProgram.programId,\n ),\n program: this._intentsProgram.programId,\n })\n .instruction(),\n ];\n }\n\n async updateIntentIxs({\n payer,\n record,\n id,\n offset,\n length,\n data,\n }: UpdateIntentParams): Promise<TransactionInstruction[]> {\n const intentStorage = IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n id,\n );\n\n return [\n await this._intentsProgram.methods\n .updateIntent(\n data ? { instruction: [data] } : { buffer: { offset, length } },\n )\n .accountsStrict({\n rentPayer: payer,\n state: this._state,\n intentStorage,\n systemProgram: SystemProgram.programId,\n buffer: record ?? null,\n eventAuthority: IntentsClient.getEventAuthorityPda(\n this._intentsProgram.programId,\n ),\n program: this._intentsProgram.programId,\n })\n .instruction(),\n ];\n }\n\n async withdrawIntentTokenAccountIxs({\n maker,\n receiver,\n id,\n encodedIntentHash,\n tokenMint,\n tokenProgram = TOKEN_PROGRAM_ID,\n }: WithdrawIntentTokenAccountParams): Promise<TransactionInstruction[]> {\n if (!receiver) {\n receiver = maker;\n }\n\n const intentStorage = IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n id,\n );\n\n const intentTokenAccount = getAssociatedTokenAddressSync(\n tokenMint,\n intentStorage,\n true,\n tokenProgram,\n );\n\n const makerTokenAccount = getAssociatedTokenAddressSync(\n tokenMint,\n maker,\n true,\n tokenProgram,\n );\n\n return [\n await this._intentsProgram.methods\n .withdrawIntentTokenAccount({\n 0: Array.from(encodedIntentHash),\n })\n .accountsStrict({\n state: this._state,\n maker,\n intentStorage,\n intentTokenAccount,\n makerTokenAccount,\n rentReceiver: receiver,\n tokenMint,\n tokenProgram,\n associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,\n })\n .instruction(),\n ];\n }\n\n /*\n async withdrawClosedIntentTokenAccount({\n id,\n tokenMint,\n tokenProgram = TOKEN_PROGRAM_ID,\n }: WithdrawClosedIntentTokenAccountParams): Promise<\n TransactionInstruction[]\n > {\n const intentStorage = IntentsClient.getIntentStoragePda(\n this._intentsProgram.programId,\n id,\n );\n\n const intentTokenAccount = getAssociatedTokenAddressSync(\n tokenMint,\n intentStorage,\n true,\n tokenProgram,\n );\n\n const feeLedger = getAssociatedTokenAddressSync(\n tokenMint,\n this._state,\n true,\n tokenProgram,\n );\n\n return [\n await this._intentsProgram.methods\n .withdrawClosedIntentTokenAccount({ 0: Array.from(id) })\n .accountsStrict({\n state: this._state,\n intentStorage,\n intentTokenAccount,\n feeLedger,\n mint: tokenMint,\n tokenProgram,\n associatedTokenProgram: ASSOCIATED_TOKEN_PROGRAM_ID,\n })\n .instruction(),\n ];\n }\n */\n\n closeRecordIxs({\n record,\n authority,\n receiver,\n }: CloseRecordParams): TransactionInstruction[] {\n if (!receiver) {\n receiver = authority;\n }\n\n return [\n createCloseAccountInstruction(\n record,\n authority,\n receiver,\n this.recordProgramId,\n ),\n ];\n }\n\n writeRecordIxs({\n authority,\n record,\n buffer,\n offset,\n }: WriteRecordParams): TransactionInstruction[] {\n // TODO add realloc for wider usage?\n //const reallocIx = createReallocateInstruction(record, authority, BigInt(dataLength), this.recordProgramId);\n return [\n createWriteInstruction(\n record,\n authority,\n BigInt(offset),\n buffer,\n this.recordProgramId,\n ),\n ];\n }\n\n async reallocRecordIxs({\n authority,\n payer,\n record,\n buffer,\n offset,\n }: UpdateRecordParams): Promise<TransactionInstruction[]> {\n if (!payer) {\n payer = authority;\n }\n\n const accountInfo = await this._provider.connection.getAccountInfo(record);\n\n if (!accountInfo) {\n throw new Error(\"Record account not found\");\n }\n\n const currentLamports = accountInfo.lamports;\n const currentSize = accountInfo.data.length;\n const requiredSize = offset + buffer.length;\n\n const ixs: TransactionInstruction[] = [];\n\n if (requiredSize > currentSize) {\n const requiredLamports =\n await this._provider.connection.getMinimumBalanceForRentExemption(\n requiredSize + 1,\n );\n const deltaLamports = requiredLamports - currentLamports;\n\n const transferIx = SystemProgram.transfer({\n fromPubkey: payer,\n toPubkey: record,\n lamports: deltaLamports,\n });\n\n ixs.push(transferIx);\n\n const reallocIx = createReallocateInstruction(\n record,\n authority,\n BigInt(requiredSize - DEFAULT_RECORD_OFFSET),\n this.recordProgramId,\n );\n\n ixs.push(reallocIx);\n }\n\n return ixs;\n }\n\n async initIntentTxs({\n maker,\n payer,\n delegate,\n intent,\n signature,\n blockhash,\n ALTs,\n computeBudget,\n }: InitIntentParams): Promise<{\n record: Keypair;\n txs: VersionedTransaction[];\n }> {\n if (!payer) {\n payer = maker;\n }\n\n let initIntentIxs: TransactionInstruction[];\n const recordAccount = Keypair.generate();\n const serializedIntent = intent.data;\n const space = DEFAULT_RECORD_OFFSET + serializedIntent.length;\n const lamports =\n await this._provider.connection.getMinimumBalanceForRentExemption(\n space + 1,\n );\n const budgetIxs = getComputeBudgetIxs(computeBudget);\n\n if (signature) {\n initIntentIxs = await this.initIntentUsingSigIxs(\n maker,\n payer,\n delegate ?? null,\n intent.id,\n intent.hash,\n serializedIntent.length,\n intent.inputTokensLength,\n signature,\n );\n } else {\n initIntentIxs = await this.initIntentIxs(\n maker,\n payer,\n delegate ?? null,\n intent.id,\n intent.hash,\n serializedIntent.length,\n intent.inputTokensLength,\n );\n }\n\n const createAccountIx = SystemProgram.createAccount({\n fromPubkey: payer,\n newAccountPubkey: recordAccount.publicKey,\n lamports,\n space,\n programId: this.recordProgramId,\n });\n\n const initRecordIx = createInitializeInstruction(\n recordAccount.publicKey,\n payer, // authority\n this.recordProgramId,\n );\n\n const tx = getVersionedTransaction({\n instructions: [\n ...budgetIxs,\n ...initIntentIxs,\n createAccountIx,\n initRecordIx,\n ],\n payer,\n blockhash,\n ALTs,\n });\n\n return {\n record: recordAccount,\n txs: [tx],\n };\n }\n\n async writeIntentTxs({\n maker,\n payer,\n record,\n intent,\n blockhash,\n ALTs,\n computeBudget,\n }: WriteIntentParams): Promise<VersionedTransaction[]> {\n if (!payer) {\n payer = maker;\n }\n\n const txs: VersionedTransaction[] = [];\n const serializedIntent = intent.data;\n const size = serializedIntent.length;\n const budgetIxs = getComputeBudgetIxs(computeBudget);\n const closeRecordIxs = this.closeRecordIxs({\n record,\n authority: payer, // authority = payer\n receiver: payer,\n });\n\n const tmpTx = getVersionedTransaction({\n instructions: [\n ...budgetIxs,\n ...(await this.updateIntentIxs({\n // record,\n payer,\n id: intent.id,\n data: serializedIntent,\n })),\n ...closeRecordIxs,\n ],\n payer,\n blockhash,\n ALTs,\n });\n const tmpSize = transactions.getTransactionSize(tmpTx);\n\n if (tmpSize && tmpSize <= constants.MAX_TX_SIZE) {\n return [tmpTx];\n }\n\n let offset = 0;\n let lastInstructions: TransactionInstruction[] = [];\n while (offset < size) {\n let writeIxs;\n let ixs: TransactionInstruction[] = [...budgetIxs];\n let low = 1;\n let high = size - offset;\n let lastGoodIx: TransactionInstruction[] = [];\n let lastGoodLen = 0;\n\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const buffer = serializedIntent.subarray(offset, offset + mid);\n\n writeIxs = this.writeRecordIxs({\n authority: payer,\n record,\n buffer,\n offset,\n });\n\n const tx = getVersionedTransaction({\n instructions: [...ixs, ...writeIxs],\n payer,\n blockhash,\n ALTs,\n });\n\n const size = transactions.getTransactionSize(tx);\n if (size && size <= constants.MAX_TX_SIZE) {\n lastGoodIx = writeIxs;\n lastGoodLen = mid;\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n\n ixs.push(...lastGoodIx);\n lastInstructions = ixs;\n const tx = getVersionedTransaction({\n instructions: ixs,\n payer,\n blockhash,\n ALTs,\n });\n txs.push(tx);\n offset += lastGoodLen;\n }\n\n const updateIntentIxs = await this.updateIntentIxs({\n record,\n payer,\n id: intent.id,\n offset: DEFAULT_RECORD_OFFSET,\n length: size,\n });\n\n const finalInstructions = [...updateIntentIxs, ...closeRecordIxs];\n\n const combinedInstructions = [...lastInstructions, ...finalInstructions];\n const combinedTx = getVersionedTransaction({\n instructions: combinedInstructions,\n payer,\n blockhash,\n ALTs,\n });\n const combinedSize = transactions.getTransactionSize(combinedTx);\n if (combinedSize && combinedSize <= constants.MAX_TX_SIZE) {\n txs[txs.length - 1] = combinedTx;\n } else {\n const updateTx = getVersionedTransaction({\n instructions: finalInstructions,\n payer,\n blockhash,\n ALTs,\n });\n txs.push(updateTx);\n }\n\n return txs;\n }\n\n async createIntentTxs({\n maker,\n payer,\n delegate,\n intent,\n signature,\n blockhash,\n ALTs,\n computeBudget,\n }: InitIntentParams): Promise<{\n init: VersionedTransaction[];\n write: VersionedTransaction[];\n record: Keypair;\n }> {\n const { record, txs: init } = await this.initIntentTxs({\n maker,\n payer,\n delegate,\n intent,\n signature,\n blockhash,\n ALTs,\n computeBudget,\n });\n const write = await this.writeIntentTxs({\n maker,\n payer,\n record: record.publicKey,\n intent,\n blockhash,\n ALTs,\n computeBudget,\n });\n\n return {\n init,\n write,\n record,\n };\n }\n\n async createAndUpdateIntentTxs({\n maker,\n payer,\n delegate,\n intent,\n signature,\n blockhash,\n ALTs,\n computeBudget,\n }: CreateAndUpdateIntentParams): Promise<VersionedTransaction[]> {\n if (!payer) {\n payer = maker;\n }\n\n let initIntentIxs: TransactionInstruction[];\n let updateIntentIxs: TransactionInstruction[];\n\n const budgetIxs = getComputeBudgetIxs(computeBudget);\n\n // delegateApprove + initIntentDelegate\n\n if (signature) {\n initIntentIxs = await this.initIntentUsingSigIxs(\n maker,\n payer,\n delegate,\n intent.id,\n intent.hash,\n intent.data ? intent.data.length : intent.length,\n intent.inputTokensLength,\n signature,\n );\n } else {\n initIntentIxs = await this.initIntentIxs(\n maker,\n payer,\n delegate,\n intent.id,\n intent.hash,\n intent.data ? intent.data.length : intent.length,\n intent.inputTokensLength,\n );\n }\n\n if (intent.data) {\n updateIntentIxs = await this.updateIntentIxs({\n payer,\n id: intent.id,\n data: intent.data,\n });\n } else {\n updateIntentIxs = await this.updateIntentIxs({\n payer,\n record: intent.record,\n id: intent.id,\n offset: DEFAULT_RECORD_OFFSET + intent.offset,\n length: intent.length,\n });\n }\n\n const tx = getVersionedTransaction({\n instructions: [...budgetIxs, ...initIntentIxs, ...updateIntentIxs],\n payer,\n blockhash,\n ALTs,\n });\n\n const size = transactions.getTransactionSize(tx);\n\n if (size && size > constants.MAX_TX_SIZE) {\n throw new Error(\n `Tx size is ${size}, should be less than ${constants.MAX_TX_SIZE}`,\n );\n }\n\n return [tx];\n }\n\n async updateRecordTxs({\n authority,\n payer,\n record,\n serializedIntent,\n offset = DEFAULT_RECORD_OFFSET,\n blockhash,\n ALTs,\n computeBudget,\n }: UpdateRecordTxsParams): Promise<VersionedTransaction[]> {\n if (!payer) {\n payer = authority;\n }\n\n if (offset < DEFAULT_RECORD_OFFSET) {\n throw new Error(`Offset can't be less than ${DEFAULT_RECORD_OFFSET}`);\n }\n\n const txs: VersionedTransaction[] = [];\n const size = serializedIntent.length;\n const reallocRecordIxs = await this.reallocRecordIxs({\n authority,\n payer,\n record,\n buffer: serializedIntent,\n offset,\n });\n const budgetIxs = getComputeBudgetIxs(computeBudget);\n\n let bufferOffset = 0;\n while (bufferOffset < size) {\n let writeIxs;\n let ixs: TransactionInstruction[] = [\n ...budgetIxs,\n ...(bufferOffset === 0 ? reallocRecordIxs : []),\n ];\n let low = 1;\n let high = size - bufferOffset;\n let lastGoodIx: TransactionInstruction[] = [];\n let lastGoodLen = 0;\n\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const buffer = serializedIntent.subarray(\n bufferOffset,\n bufferOffset + mid,\n );\n\n writeIxs = this.writeRecordIxs({\n authority: payer,\n record,\n buffer,\n offset: bufferOffset,\n });\n\n const tx = getVersionedTransaction({\n instructions: [...ixs, ...writeIxs],\n payer,\n blockhash,\n ALTs,\n });\n\n const size = transactions.getTransactionSize(tx);\n if (size && size <= constants.MAX_TX_SIZE) {\n lastGoodIx = writeIxs;\n lastGoodLen = mid;\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n\n ixs.push(...lastGoodIx);\n\n const tx = getVersionedTransaction({\n instructions: ixs,\n payer,\n blockhash,\n ALTs,\n });\n txs.push(tx);\n bufferOffset += lastGoodLen;\n }\n\n return txs;\n }\n\n async cancelIntentTxs({\n maker,\n payer,\n id,\n encodedIntentHash,\n tokenMint,\n tokenProgram = TOKEN_PROGRAM_ID,\n blockhash,\n ALTs,\n computeBudget,\n }: CancelIntentParams): Promise<VersionedTransaction[]> {\n if (!payer) {\n payer = maker;\n }\n\n const ixs: TransactionInstruction[] = getComputeBudgetIxs(computeBudget);\n\n const closeIntentIxs = await this.cancelIntentIxs(maker, id);\n\n ixs.push(...closeIntentIxs);\n\n if (tokenMint) {\n const withdrawIntentTokenAccountIxs =\n await this.withdrawIntentTokenAccountIxs({\n maker,\n receiver: payer,\n id,\n encodedIntentHash,\n tokenMint,\n tokenProgram,\n });\n\n ixs.push(...withdrawIntentTokenAccountIxs);\n }\n\n const tx = getVersionedTransaction({\n instructions: ixs,\n payer,\n blockhash,\n ALTs,\n });\n\n return [tx];\n }\n\n async closeIntentTxs({\n maker,\n payer,\n receiver,\n id,\n tokenMint,\n tokenProgram = TOKEN_PROGRAM_ID,\n blockhash,\n ALTs,\n computeBudget,\n }: CloseIntentParams): Promise<VersionedTransaction[]> {\n if (!payer) {\n payer = maker;\n }\n\n const ixs: TransactionInstruction[] = getComputeBudgetIxs(computeBudget);\n\n const closeIntentIxs = await this.closeIntentIxs(\n maker,\n receiver ?? maker,\n id,\n );\n\n ixs.push(...closeIntentIxs);\n\n /*\n if (tokenMint) {\n const withdrawClosedIntentTokenAccount =\n await this.withdrawClosedIntentTokenAccount({\n id,\n tokenMint,\n tokenProgram,\n });\n\n ixs.push(...withdrawClosedIntentTokenAccount);\n }\n */\n\n const tx = getVersionedTransaction({\n instructions: ixs,\n payer,\n blockhash,\n ALTs,\n });\n\n return [tx];\n }\n\n async swapTxs({\n taker,\n maker,\n intentId,\n tradeId,\n inputMint,\n outputMint,\n beginAmount,\n endAmount,\n bps,\n target,\n inputTokenProgram = TOKEN_PROGRAM_ID,\n outputTokenProgram = TOKEN_PROGRAM_ID,\n instructions = [],\n lastInstructions = [],\n computeBudget,\n payer,\n blockhash,\n ALTs,\n }: SwapParams) {\n if (!payer) {\n payer = taker;\n }\n\n const budgetIxs = getComputeBudgetIxs(computeBudget);\n\n const swapBeginIxs = await this.swapBeginIxs({\n taker,\n maker,\n intentId,\n tradeId,\n inputMint,\n outputMint,\n beginAmount,\n target,\n inputTokenProgram,\n outputTokenProgram,\n });\n\n const swapEndIxs = await this.swapEndIxs({\n taker,\n intentId,\n endAmount,\n bps,\n inputMint,\n outputMint,\n outputTokenProgram,\n });\n\n const tx = getVersionedTransaction({\n instructions: [\n ...budgetIxs,\n ...swapBeginIxs,\n ...instructions,\n ...swapEndIxs,\n ...lastInstructions,\n ],\n payer,\n blockhash,\n ALTs,\n });\n\n return [tx];\n }\n\n static getStatePda(programId: PublicKey): PublicKey {\n const [pubkey] = PublicKey.findProgramAddressSync(\n [Buffer.from(\"state\")],\n programId,\n );\n return pubkey;\n }\n\n static getIntentStoragePda(\n programId: PublicKey,\n intentId: Buffer,\n ): PublicKey {\n const [pubkey] = PublicKey.findProgramAddressSync(\n [Buffer.from(\"intent_storage\"), intentId],\n programId,\n );\n return pubkey;\n }\n\n static getMakerInfoPda(programId: PublicKey, maker: PublicKey) {\n const [pubkey] = PublicKey.findProgramAddressSync(\n [Buffer.from(\"maker_info\"), maker.toBuffer()],\n programId,\n );\n return pubkey;\n }\n\n static getDelegatesPda(programId: PublicKey, user: PublicKey): PublicKey {\n const [pubkey] = PublicKey.findProgramAddressSync(\n [Buffer.from(\"user_delegates\"), user.toBuffer()],\n programId,\n );\n return pubkey;\n }\n\n static getEventAuthorityPda(programId: PublicKey): PublicKey {\n const [pubkey] = PublicKey.findProgramAddressSync(\n [Buffer.from(\"__event_authority\")],\n programId,\n );\n return pubkey;\n }\n\n static getNativePda(programId: PublicKey): PublicKey {\n const [pubkey] = PublicKey.findProgramAddressSync(\n [Buffer.from(\"unwrap_native_receiver\")],\n programId,\n );\n return pubkey;\n }\n\n static getBufferForIntentSignature(\n intentId: Buffer,\n intentProgramSigPrefix: IntentProgramSigPrefix = IntentProgramSigPrefix.prod,\n chainId: number = constants.SOLANA_CHAIN_ID,\n ): Buffer {\n const chainBuffer = Buffer.alloc(4);\n chainBuffer.writeUInt32LE(chainId, 0);\n\n const intentSigPrefix = Buffer.from([105, 110, 116, 101, 110, 116, 115]);\n\n return Buffer.concat([\n Buffer.from(intentProgramSigPrefix),\n chainBuffer,\n intentSigPrefix,\n intentId,\n ]);\n }\n\n static getDelegateApprovedBudgetsArgs(tokens: DelegateApprovedBudgetsArgs) {\n let enumArgs: any;\n if (\"set\" in tokens) {\n enumArgs = {\n set: {\n 0: tokens.set.map(({ tokenMint, approvedAmount, expiration }) => ({\n tokenMint: tokenMint,\n approvedAmount: new BN(approvedAmount.toString()),\n expiration: new BN(expiration.toString()),\n })),\n },\n };\n } else if (\"setAny\" in tokens) {\n enumArgs = { setAny: {} };\n } else {\n enumArgs = { revoke: {} };\n }\n\n return enumArgs;\n }\n\n static getBufferForBudgetSignature(\n delegate: PublicKey,\n nonce: bigint,\n tokens: DelegateApprovedBudgetsArgs,\n intentProgramSigPrefix: IntentProgramSigPrefix = IntentProgramSigPrefix.prod,\n chainId: number = constants.SOLANA_CHAIN_ID,\n ): Buffer {\n const enumArgs = IntentsClient.getDelegateApprovedBudgetsArgs(tokens);\n const coder = new BorshCoder(IDL);\n const argsBuffer = coder.types.encode(\"setApprovedTokenBudgets\", enumArgs);\n\n const chainBuffer = Buffer.alloc(4);\n chainBuffer.writeUInt32LE(chainId, 0);\n\n const budgetsSigPrefix = Buffer.from([98, 117, 100, 103, 101, 116, 115]);\n\n return Buffer.concat([\n Buffer.from(intentProgramSigPrefix),\n chainBuffer,\n budgetsSigPrefix,\n delegate.toBuffer(),\n Buffer.from(new BN(nonce.toString()).toArray(\"le\", 8)),\n argsBuffer,\n ]);\n }\n}\n","import { AddressType, Serializable } from \"./types\";\n\nexport class AddressesList implements Serializable {\n private addresses: Buffer[];\n private lookupMap: Map<string, number> = new Map();\n\n constructor(addresses: AddressType[]) {\n this.addresses = addresses.map((address) => Buffer.from(address));\n }\n\n public lookupIndex(address: AddressType): number {\n const key = address.toString(\"hex\");\n const index = this.lookupMap.get(key);\n if (index === undefined) {\n throw new Error(`Address ${key} not found in AddressesList`);\n }\n return index;\n }\n\n serialize(): Buffer {\n const sizeGroups: Map<number, Buffer[]> = new Map();\n for (const address of this.addresses) {\n const sizeGroup = sizeGroups.get(address.length);\n if (sizeGroup === undefined) {\n sizeGroups.set(address.length, [address]);\n } else {\n sizeGroup.push(address);\n }\n }\n\n const sortedKeys = Array.from(sizeGroups.keys()).sort();\n /**\n * chunks size = items in chunk count * item length\n * chunk header size = 2 bytes\n * total header size = 1 byte + chunks count * chunk header size (2)\n */\n const result = Buffer.alloc(\n sortedKeys.reduce((acc, k) => acc + sizeGroups.get(k)!.length * k, 0) +\n sortedKeys.length * 2 +\n 1,\n );\n result[0] = sortedKeys.length;\n let offset = 1;\n let dataOffset = 1 + sortedKeys.length * 2;\n let index = 0;\n\n for (const key of sortedKeys) {\n const currentGroup = sizeGroups.get(key)!.sort((a, b) => a.compare(b));\n for (const address of currentGroup) {\n this.lookupMap.set(address.toString(\"hex\"), index);\n index += 1;\n }\n result[offset] = key; // item size;\n offset += 1;\n result[offset] = currentGroup.length; // items count\n offset += 1;\n\n const addressesBuffer = Buffer.concat(currentGroup);\n result.set(addressesBuffer, dataOffset);\n dataOffset += addressesBuffer.length;\n }\n\n return result;\n }\n}\n","import { PublicKey } from \"@solana/web3.js\";\nimport { keccak256 } from \"js-sha3\";\nimport {\n AddressType,\n AnyOr,\n GiveToken,\n IntentType,\n ReceiverInfo,\n Serializable,\n TakeToken,\n} from \"./types\";\nimport { AddressesList } from \"./addresses-list\";\n\nenum AnyOrExact {\n Any = 1,\n Exact = 0,\n}\n\nconst anyBuffer = Buffer.from([AnyOrExact.Any]);\nconst exactBuffer = Buffer.from([AnyOrExact.Exact]);\nconst emptyArrayBuffer = Buffer.from([0]);\nconst separationBuffer = Buffer.from([1]);\n\nexport class Intent implements Serializable {\n public data: IntentType;\n private addressesList: AddressesList;\n private serializedList: Buffer;\n\n constructor(intent: IntentType) {\n this.data = intent;\n this.addressesList = this.buildAddressesListFromIntent(intent);\n this.serializedList = this.addressesList.serialize();\n }\n\n private buildAddressesListFromIntent(intent: IntentType): AddressesList {\n const addressSet = new Set<string>();\n\n const collect = (addr: AddressType) => addressSet.add(addr.toString(\"hex\"));\n\n const collectMap = (list?: ReceiverInfo[]) => {\n if (!list) return;\n for (const { address } of list) collect(address);\n };\n\n const collectGiveTokens = (list?: GiveToken[]) => {\n if (!list) return;\n for (const token of list) {\n if (token.input !== \"any\") collect(token.input);\n collect(token.output);\n }\n };\n\n const collectTakeTokens = (list: TakeToken[]) => {\n if (!list) return;\n for (const token of list) {\n collect(token.input);\n\n if (token.output !== \"any\") {\n for (const output of token.output) {\n if (output.token && output.token !== \"any\") collect(output.token);\n }\n }\n }\n };\n\n for (const token of intent.inputTokens) collect(token.token);\n collectGiveTokens(intent.giveTokens);\n collectTakeTokens(intent.takeTokens);\n\n collectMap(intent.receiverDetails);\n collectMap(intent.dstAuthorityAddress);\n\n //intent.allowedSenders?.forEach(collect);\n //intent.srcAllowedCancelBeneficiary?.forEach(collect);\n\n const uniqueAddresses = Array.from(addressSet).map((hex) =>\n Buffer.from(hex, \"hex\"),\n );\n return new AddressesList(uniqueAddresses);\n }\n\n private serializeReceiversInfo(details: ReceiverInfo[]): Buffer {\n if (!details || details.length === 0) return emptyArrayBuffer;\n\n const buffers = details.map(({ chainIds, address }) => {\n let buf: Buffer;\n\n if (chainIds === \"any\") {\n buf = Buffer.alloc(2);\n buf.writeUInt8(this.addressesList.lookupIndex(address), 0);\n buf.writeUInt8(AnyOrExact.Any, 1);\n } else {\n buf = Buffer.alloc(1 + 1 + 1 + chainIds.length * 4);\n buf.writeUInt8(this.addressesList.lookupIndex(address), 0);\n buf.writeUInt8(AnyOrExact.Exact, 1);\n buf.writeUInt8(chainIds.length, 2);\n\n for (const [index, chainId] of chainIds.entries()) {\n buf.writeUInt32LE(chainId, 3 + index * 4);\n }\n }\n\n return buf;\n });\n\n const lengthBuf = Buffer.alloc(1);\n lengthBuf.writeUInt8(buffers.length, 0);\n\n return Buffer.concat([lengthBuf, ...buffers]);\n }\n\n private serializeInputTokens(): Buffer {\n const buffers = this.data.inputTokens.map((token) => {\n const buf = Buffer.alloc(25);\n buf[0] = this.addressesList.lookupIndex(token.token);\n buf.writeBigUInt64LE(token.minPartialAmount, 1);\n buf.writeBigUInt64LE(token.maxPartialAmount, 9);\n buf.writeBigUInt64LE(token.constraintBudget, 17);\n return buf;\n });\n const lengthBuf = Buffer.alloc(1);\n lengthBuf.writeUInt8(buffers.length, 0);\n\n return Buffer.concat([lengthBuf, ...buffers]);\n }\n\n private serializeGiveTokens(tokens?: GiveToken[]): Buffer {\n if (!tokens || tokens.length === 0) return emptyArrayBuffer;\n const buffers = tokens.map((token) => {\n let buf: Buffer;\n\n if (token.input === \"any\") {\n buf = Buffer.alloc(2);\n buf.writeUInt8(this.addressesList.lookupIndex(token.output), 0);\n buf.writeUInt8(AnyOrExact.Any, 1);\n } else {\n buf = Buffer.alloc(35);\n buf.writeUInt8(this.addressesList.lookupIndex(token.output), 0);\n buf.writeUInt8(AnyOrExact.Exact, 1);\n buf.writeUInt8(this.addressesList.lookupIndex(token.input), 2);\n buf.writeBigInt64LE(token.price, 3);\n\n let hex = token.price.toString(16).padStart(64, \"0\");\n const u256BufBE = Buffer.from(hex, \"hex\");\n u256BufBE.copy(buf, 3);\n }\n return buf;\n });\n\n const lengthBuf = Buffer.alloc(1);\n lengthBuf.writeUInt8(tokens.length, 0);\n\n return Buffer.concat([lengthBuf, ...buffers]);\n }\n\n private serializeTakeTokens(tokens: TakeToken[]): Buffer {\n let length = 0;\n const buffers = tokens.map((token) => {\n let buf: Buffer;\n\n if (token.output === \"any\") {\n length = 1;\n buf = Buffer.alloc(2);\n buf.writeUInt8(this.addressesList.lookupIndex(token.input), 0);\n buf.writeUInt8(AnyOrExact.Any, 1);\n } else {\n length += token.output.length;\n buf = Buffer.concat(\n token.output.map((output) => {\n if (output.token === \"any\") {\n const buf = Buffer.alloc(6);\n buf.writeUInt8(AnyOrExact.Exact, 0);\n buf.writeUInt8(output.chainId, 1);\n buf.writeUInt8(AnyOrExact.Any, 5);\n return Buffer.concat([\n Buffer.from([this.addressesList.lookupIndex(token.input)]),\n buf,\n ]);\n } else {\n let buf;\n\n if (output.price === \"any\") {\n buf = Buffer.alloc(8);\n buf.writeUInt8(AnyOrExact.Exact, 0);\n buf.writeUInt32LE(output.chainId, 1);\n buf.writeUInt8(AnyOrExact.Exact, 5);\n buf.writeUInt8(this.addressesList.lookupIndex(output.token), 6);\n buf.writeUInt8(AnyOrExact.Any, 7);\n } else {\n buf = Buffer.alloc(40);\n buf.writeUInt8(AnyOrExact.Exact, 0);\n buf.writeUInt32LE(output.chainId, 1);\n buf.writeUInt8(AnyOrExact.Exact, 5);\n buf.writeUInt8(this.addressesList.lookupIndex(output.token), 6);\n buf.writeUInt8(AnyOrExact.Exact, 7);\n\n let hex = output.price.toString(16).padStart(64, \"0\");\n const u256BufBE = Buffer.from(hex, \"hex\");\n u256BufBE.copy(buf, 8);\n }\n\n return Buffer.concat([\n Buffer.from([this.addressesList.lookupIndex(token.input)]),\n buf,\n ]);\n }\n }),\n );\n }\n\n return buf;\n });\n\n const lengthBuf = Buffer.alloc(1);\n lengthBuf.writeUInt8(length, 0);\n\n return Buffer.concat([lengthBuf, ...buffers]);\n }\n\n private serializeExternalCallHash(buf?: AnyOr<Buffer>): Buffer {\n if (!buf) {\n return emptyArrayBuffer;\n }\n\n if (buf === \"any\") {\n return Buffer.concat([separationBuffer, anyBuffer]);\n } else {\n return Buffer.concat([\n separationBuffer,\n exactBuffer,\n separationBuffer,\n buf,\n ]);\n }\n }\n\n private serializeOptionalBytes(buf?: Buffer): Buffer {\n return buf ? Buffer.concat([separationBuffer, buf]) : emptyArrayBuffer;\n }\n\n private serializeDlnMetadata(buf?: AnyOr<Buffer>): Buffer {\n if (!buf) {\n return emptyArrayBuffer;\n }\n\n if (buf === \"any\") {\n return Buffer.concat([separationBuffer, anyBuffer]);\n } else {\n const lengthBuf = Buffer.alloc(2);\n lengthBuf.writeInt16LE(buf.length, 0);\n\n return Buffer.concat([separationBuffer, exactBuffer, lengthBuf, buf]);\n }\n }\n\n private serializeShortArray(buf?: Buffer): Buffer {\n if (!buf) {\n return emptyArrayBuffer;\n }\n\n const lengthBuf = Buffer.alloc(2);\n lengthBuf.writeInt16LE(buf.length, 0);\n\n return Buffer.concat([separationBuffer, lengthBuf, buf]);\n }\n\n private serializeAllowedSenders(addrs: AnyOr<AddressType[]>): Buffer {\n if (this.data.allowedSenders === \"any\") {\n return anyBuffer;\n }\n\n const lengthBuf = Buffer.alloc(1);\n lengthBuf.writeUInt8(addrs.length, 0);\n\n return Buffer.concat([exactBuffer, lengthBuf, ...(addrs as AddressType[])]);\n }\n\n private serializeAddresses(addrs?: AddressType[]): Buffer {\n if (!addrs || addrs.length === 0) {\n return emptyArrayBuffer;\n }\n\n const lengthBuf = Buffer.alloc(1);\n lengthBuf.writeUInt8(addrs.length, 0);\n\n return Buffer.concat([lengthBuf, ...addrs]);\n }\n\n private serializeOptionalPubkey(pk?: PublicKey): Buffer {\n return pk\n ? Buffer.concat([separationBuffer, pk.toBuffer()])\n : emptyArrayBuffer;\n }\n\n serialize(): Buffer {\n const parts: Buffer[] = [];\n\n // 1. chainId\n const idBuf = Buffer.alloc(4);\n idBuf.writeUInt32LE(this.data.chainId, 0);\n parts.push(idBuf);\n\n // 2. owner\n // parts.push(this.data.owner.toBuffer());\n\n // 3. authority\n if (this.data.authority) {\n parts.push(separationBuffer, this.data.authority.toBuffer());\n } else {\n parts.push(emptyArrayBuffer);\n }\n\n // 4–5. timestamp, expirationTimestamp (u64 LE)\n const tsBuf = Buffer.alloc(16);\n tsBuf.writeBigUInt64LE(BigInt(this.data.timestamp), 0);\n tsBuf.writeBigUInt64LE(BigInt(this.data.expirationTimestamp), 8);\n parts.push(tsBuf);\n\n // 6. AddressesList\n parts.push(this.serializedList);\n\n // 7. inputTokens (CharArray<InputToken>)\n parts.push(this.serializeInputTokens());\n\n // 8. giveTokens (CharArray<GiveToken>, optional as empty array)\n parts.push(this.serializeGiveTokens(this.data.giveTokens));\n\n // 9. takeTokens (CharArray<TakeToken>)\n parts.push(this.serializeTakeTokens(this.data.takeTokens));\n\n // 10. receiverDetails (ReceiversInfo)\n parts.push(this.serializeReceiversInfo(this.data.receiverDetails));\n\n // 11. srcAllowedSenders (CharArray<GenericAddress>)\n parts.push(this.serializeAllowedSenders(this.data.allowedSenders));\n\n // 12. preInteractions (Option<Pubkey>)\n parts.push(this.serializeOptionalPubkey(this.data.preInteractions));\n\n // 13. postInteractions (Option<Pubkey>)\n parts.push(this.serializeOptionalPubkey(this.data.postInteractions));\n\n // 14. validationRules (Option<ShortArray<u8>>)\n parts.push(this.serializeShortArray(this.data.validationRules));\n\n // 15. executionMetadataHash (Option<CharArray<u8>>)\n parts.push(this.serializeOptionalBytes(this.data.executionMetadataHash));\n\n // 16. srcAllowedCancelBeneficiary (CharArray<GenericAddress>)\n parts.push(this.serializeAddresses(this.data.srcAllowedCancelBeneficiary));\n\n // 17. dstAuthorityAddress (ReceiversInfo)\n parts.push(this.serializeReceiversInfo(this.data.dstAuthorityAddress));\n\n // 18. externalCallHash (Option<AnyOr<[u8; 32]>>)\n parts.push(this.serializeExternalCallHash(this.data.externalCallHash));\n\n // 19. dlnMetadata (Option<AnyOr<ShortArray<u8>>>)\n parts.push(this.serializeDlnMetadata(this.data.dlnMetadata));\n\n return Buffer.concat(parts);\n }\n\n static getId(\n serializedIntent: Buffer,\n maker: PublicKey,\n programId: PublicKey,\n ): { hex: string; buffer: Buffer; rawHash: Buffer } {\n const string = keccak256(serializedIntent);\n const rawHash = Buffer.from(string, \"hex\");\n const [intentId] = PublicKey.findProgramAddressSync(\n [Buffer.from(\"intent_id\"), maker.toBuffer(), rawHash],\n programId,\n );\n return {\n hex: `0x${intentId.toBuffer().toString(\"hex\")}`,\n buffer: intentId.toBuffer(),\n rawHash,\n };\n }\n\n /*\n public static getTextToSign(intent: Intent): string {\n const string = intent.getId().hex;\n\n return string;\n }\n */\n}\n"]}