UNPKG

web3.db-fileconnector

Version:

GraphQL System Built on web3 technologies. Web3.DB is an open database built on top of web3 technologies. It is a decentralized, open-source database that allows users to store and query data in a secure and efficient manner. The system is designed to be

2,221 lines (2,218 loc) 53.4 kB
export class OrcaInterface { idl = idl; /** Will clean drift transaction */ clean(data) { let obj = data; const newObj = {}; for (let key in obj) { if (obj.hasOwnProperty(key)) { const value = obj[key]; switch (key) { case "amount": newObj[key] = value.toString(); break; case "otherAmountThreshold": newObj[key] = value.toString(); break; case "sqrtPriceLimit": newObj[key] = value.toString(); break; default: newObj[key] = value; break; } } } return newObj; } } export const orcaRawTx = [ { blockTime: 1709807656, indexWithinBlock: 124, meta: { err: null, fee: 15527, innerInstructions: [ { index: 3, instructions: [ { accounts: [2, 8, 0], data: "3RKgqnEaQg7Z", programIdIndex: 12, }, { accounts: [1, 5, 6], data: "3UYaBS7WpuCB", programIdIndex: 12, }, ], }, ], loadedAddresses: { readonly: [], writable: [], }, logMessages: [ "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program ComputeBudget111111111111111111111111111111 invoke [1]", "Program ComputeBudget111111111111111111111111111111 success", "Program 59FguaJypTjiVbZPRGSq8Z78pBa9CGhrrEaeK1s1vnyT invoke [1]", "Program log: Instruction: CheckAndUpdate", "Program 59FguaJypTjiVbZPRGSq8Z78pBa9CGhrrEaeK1s1vnyT consumed 3559 of 109700 compute units", "Program 59FguaJypTjiVbZPRGSq8Z78pBa9CGhrrEaeK1s1vnyT success", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc invoke [1]", "Program log: Instruction: Swap", "Program log: fee_growth: 17048993576", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4736 of 76745 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]", "Program log: Instruction: Transfer", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4645 of 69092 compute units", "Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc consumed 45235 of 106141 compute units", "Program whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc success", ], postBalances: [ 2901549114, 2039280, 1438501156766, 70407360, 70407360, 2039280, 5435761, 1224960, 262117263108, 0, 70407360, 1, 934087680, 1141440, 1141440, ], postTokenBalances: [ { accountIndex: 1, mint: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", owner: "Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE", programId: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", uiTokenAmount: { amount: "122787294081", decimals: 6, uiAmount: 122787.3, uiAmountString: "122787.294081", }, }, { accountIndex: 2, mint: "So11111111111111111111111111111111111111112", owner: "9vu7XMz8Brmfm4mT1T2E1YzemsUCwQEzeM3DrocPBxWc", programId: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", uiTokenAmount: { amount: "1438499117486", decimals: 9, uiAmount: 1438.4991, uiAmountString: "1438.499117486", }, }, { accountIndex: 5, mint: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", owner: "9vu7XMz8Brmfm4mT1T2E1YzemsUCwQEzeM3DrocPBxWc", programId: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", uiTokenAmount: { amount: "124906965507", decimals: 6, uiAmount: 124906.97, uiAmountString: "124906.965507", }, }, { accountIndex: 8, mint: "So11111111111111111111111111111111111111112", owner: "Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE", programId: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", uiTokenAmount: { amount: "261925171465", decimals: 9, uiAmount: 261.92517, uiAmountString: "261.925171465", }, }, ], preBalances: [ 2901564641, 2039280, 1438509213156, 70407360, 70407360, 2039280, 5435761, 1224960, 262109206718, 0, 70407360, 1, 934087680, 1141440, 1141440, ], preTokenBalances: [ { accountIndex: 1, mint: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", owner: "Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE", programId: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", uiTokenAmount: { amount: "122788421083", decimals: 6, uiAmount: 122788.42, uiAmountString: "122788.421083", }, }, { accountIndex: 2, mint: "So11111111111111111111111111111111111111112", owner: "9vu7XMz8Brmfm4mT1T2E1YzemsUCwQEzeM3DrocPBxWc", programId: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", uiTokenAmount: { amount: "1438507173876", decimals: 9, uiAmount: 1438.5072, uiAmountString: "1438.507173876", }, }, { accountIndex: 5, mint: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", owner: "9vu7XMz8Brmfm4mT1T2E1YzemsUCwQEzeM3DrocPBxWc", programId: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", uiTokenAmount: { amount: "124905838505", decimals: 6, uiAmount: 124905.836, uiAmountString: "124905.838505", }, }, { accountIndex: 8, mint: "So11111111111111111111111111111111111111112", owner: "Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE", programId: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", uiTokenAmount: { amount: "261917115075", decimals: 9, uiAmount: 261.9171, uiAmountString: "261.917115075", }, }, ], rewards: [], }, slot: 252648532, transaction: { message: { accountKeys: [ "9vu7XMz8Brmfm4mT1T2E1YzemsUCwQEzeM3DrocPBxWc", "2WLWEuKDgkDUccTpbwYp1GToYktiSB1cXvreHUwiSUVP", "7exzsvjn46jweUp1uerS3SYMmHUdQcBgrQi2MHMv5fJV", "8Yoy9SqpLRV1UkLiTkMkNqnuE1bcSAFiYC8jMjS7Niqp", "8bnKeevCLsmbudhjkwg6GFMcsZpf78cs8pzRxzMqwZLa", "BkJFS1HF6JgrsB1VXdTVMsZ7R6WCKqokCqhUZqarPPVZ", "Czfq3xZZDmsdGdUyrNLtRhGc47cXcZtLG4crryfu44zE", "EG8fySEhqMrxwzbLudCAjVhpqMrnFFUxRVvBLrMuCCd6", "EUuUbDcafPrmVTD5M6qoJAoyyNbihBhugADAxRMn5he9", "FoKYKtRpD25TKzBMndysKpgPqbj8AdLXjfpYHXn9PGTX", "HKFHvjsaXWqm5eJpP6minENF6EDK4r86d7G3oYfqD4Q8", "ComputeBudget111111111111111111111111111111", "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", "whirLbMiicVdio4qvUfM5KAg6Ct8VwpYzGff3uctyCc", "59FguaJypTjiVbZPRGSq8Z78pBa9CGhrrEaeK1s1vnyT", ], addressTableLookups: null, header: { numReadonlySignedAccounts: 0, numReadonlyUnsignedAccounts: 4, numRequiredSignatures: 1, }, instructions: [ { accounts: [], data: "JbzbGj", programIdIndex: 11, }, { accounts: [], data: "3pzfNMnn7cfR", programIdIndex: 11, }, { accounts: [7, 0], data: "4fqBdVvMsQe1WGg6DBXq43", programIdIndex: 14, }, { accounts: [12, 0, 6, 2, 8, 5, 1, 4, 3, 10, 9], data: "59p8WydnSZtTVbfL3VnJpqBTs9HGRJdZHXrirEfx7kH4T4d9rwjw5kL5fn", programIdIndex: 13, }, ], recentBlockhash: "AE14S4LJPR4GCSd6c9FAuKiW24JL5BwHnNomn9coLc8", }, signatures: [ "3a6KL25Pi7LKDMCcF7eaSXTtvJu1bGe6XyYU1Fd9umAdSsgL1gGimof2JZD5KeJynUSpruFzipTgB7tkjmfyjiw", ], }, version: "legacy", }, ]; export const idl = { version: "0.2.0", name: "whirlpool", instructions: [ { name: "initializeConfig", accounts: [ { name: "config", isMut: true, isSigner: true, }, { name: "funder", isMut: true, isSigner: true, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "feeAuthority", type: "publicKey", }, { name: "collectProtocolFeesAuthority", type: "publicKey", }, { name: "rewardEmissionsSuperAuthority", type: "publicKey", }, { name: "defaultProtocolFeeRate", type: "u16", }, ], }, { name: "initializePool", accounts: [ { name: "whirlpoolsConfig", isMut: false, isSigner: false, }, { name: "tokenMintA", isMut: false, isSigner: false, }, { name: "tokenMintB", isMut: false, isSigner: false, }, { name: "funder", isMut: true, isSigner: true, }, { name: "whirlpool", isMut: true, isSigner: false, }, { name: "tokenVaultA", isMut: true, isSigner: true, }, { name: "tokenVaultB", isMut: true, isSigner: true, }, { name: "feeTier", isMut: false, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, { name: "rent", isMut: false, isSigner: false, }, ], args: [ { name: "bumps", type: { defined: "WhirlpoolBumps", }, }, { name: "tickSpacing", type: "u16", }, { name: "initialSqrtPrice", type: "u128", }, ], }, { name: "initializeTickArray", accounts: [ { name: "whirlpool", isMut: false, isSigner: false, }, { name: "funder", isMut: true, isSigner: true, }, { name: "tickArray", isMut: true, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "startTickIndex", type: "i32", }, ], }, { name: "initializeFeeTier", accounts: [ { name: "config", isMut: false, isSigner: false, }, { name: "feeTier", isMut: true, isSigner: false, }, { name: "funder", isMut: true, isSigner: true, }, { name: "feeAuthority", isMut: false, isSigner: true, }, { name: "systemProgram", isMut: false, isSigner: false, }, ], args: [ { name: "tickSpacing", type: "u16", }, { name: "defaultFeeRate", type: "u16", }, ], }, { name: "initializeReward", accounts: [ { name: "rewardAuthority", isMut: false, isSigner: true, }, { name: "funder", isMut: true, isSigner: true, }, { name: "whirlpool", isMut: true, isSigner: false, }, { name: "rewardMint", isMut: false, isSigner: false, }, { name: "rewardVault", isMut: true, isSigner: true, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, { name: "rent", isMut: false, isSigner: false, }, ], args: [ { name: "rewardIndex", type: "u8", }, ], }, { name: "setRewardEmissions", accounts: [ { name: "whirlpool", isMut: true, isSigner: false, }, { name: "rewardAuthority", isMut: false, isSigner: true, }, { name: "rewardVault", isMut: false, isSigner: false, }, ], args: [ { name: "rewardIndex", type: "u8", }, { name: "emissionsPerSecondX64", type: "u128", }, ], }, { name: "openPosition", accounts: [ { name: "funder", isMut: true, isSigner: true, }, { name: "owner", isMut: false, isSigner: false, }, { name: "position", isMut: true, isSigner: false, }, { name: "positionMint", isMut: true, isSigner: true, }, { name: "positionTokenAccount", isMut: true, isSigner: false, }, { name: "whirlpool", isMut: false, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, { name: "rent", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, ], args: [ { name: "bumps", type: { defined: "OpenPositionBumps", }, }, { name: "tickLowerIndex", type: "i32", }, { name: "tickUpperIndex", type: "i32", }, ], }, { name: "openPositionWithMetadata", accounts: [ { name: "funder", isMut: true, isSigner: true, }, { name: "owner", isMut: false, isSigner: false, }, { name: "position", isMut: true, isSigner: false, }, { name: "positionMint", isMut: true, isSigner: true, }, { name: "positionMetadataAccount", isMut: true, isSigner: false, }, { name: "positionTokenAccount", isMut: true, isSigner: false, }, { name: "whirlpool", isMut: false, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, { name: "rent", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, { name: "metadataProgram", isMut: false, isSigner: false, }, { name: "metadataUpdateAuth", isMut: false, isSigner: false, }, ], args: [ { name: "bumps", type: { defined: "OpenPositionWithMetadataBumps", }, }, { name: "tickLowerIndex", type: "i32", }, { name: "tickUpperIndex", type: "i32", }, ], }, { name: "increaseLiquidity", accounts: [ { name: "whirlpool", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "positionAuthority", isMut: false, isSigner: true, }, { name: "position", isMut: true, isSigner: false, }, { name: "positionTokenAccount", isMut: false, isSigner: false, }, { name: "tokenOwnerAccountA", isMut: true, isSigner: false, }, { name: "tokenOwnerAccountB", isMut: true, isSigner: false, }, { name: "tokenVaultA", isMut: true, isSigner: false, }, { name: "tokenVaultB", isMut: true, isSigner: false, }, { name: "tickArrayLower", isMut: true, isSigner: false, }, { name: "tickArrayUpper", isMut: true, isSigner: false, }, ], args: [ { name: "liquidityAmount", type: "u128", }, { name: "tokenMaxA", type: "u64", }, { name: "tokenMaxB", type: "u64", }, ], }, { name: "decreaseLiquidity", accounts: [ { name: "whirlpool", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "positionAuthority", isMut: false, isSigner: true, }, { name: "position", isMut: true, isSigner: false, }, { name: "positionTokenAccount", isMut: false, isSigner: false, }, { name: "tokenOwnerAccountA", isMut: true, isSigner: false, }, { name: "tokenOwnerAccountB", isMut: true, isSigner: false, }, { name: "tokenVaultA", isMut: true, isSigner: false, }, { name: "tokenVaultB", isMut: true, isSigner: false, }, { name: "tickArrayLower", isMut: true, isSigner: false, }, { name: "tickArrayUpper", isMut: true, isSigner: false, }, ], args: [ { name: "liquidityAmount", type: "u128", }, { name: "tokenMinA", type: "u64", }, { name: "tokenMinB", type: "u64", }, ], }, { name: "updateFeesAndRewards", accounts: [ { name: "whirlpool", isMut: true, isSigner: false, }, { name: "position", isMut: true, isSigner: false, }, { name: "tickArrayLower", isMut: false, isSigner: false, }, { name: "tickArrayUpper", isMut: false, isSigner: false, }, ], args: [], }, { name: "collectFees", accounts: [ { name: "whirlpool", isMut: false, isSigner: false, }, { name: "positionAuthority", isMut: false, isSigner: true, }, { name: "position", isMut: true, isSigner: false, }, { name: "positionTokenAccount", isMut: false, isSigner: false, }, { name: "tokenOwnerAccountA", isMut: true, isSigner: false, }, { name: "tokenVaultA", isMut: true, isSigner: false, }, { name: "tokenOwnerAccountB", isMut: true, isSigner: false, }, { name: "tokenVaultB", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, ], args: [], }, { name: "collectReward", accounts: [ { name: "whirlpool", isMut: false, isSigner: false, }, { name: "positionAuthority", isMut: false, isSigner: true, }, { name: "position", isMut: true, isSigner: false, }, { name: "positionTokenAccount", isMut: false, isSigner: false, }, { name: "rewardOwnerAccount", isMut: true, isSigner: false, }, { name: "rewardVault", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, ], args: [ { name: "rewardIndex", type: "u8", }, ], }, { name: "collectProtocolFees", accounts: [ { name: "whirlpoolsConfig", isMut: false, isSigner: false, }, { name: "whirlpool", isMut: true, isSigner: false, }, { name: "collectProtocolFeesAuthority", isMut: false, isSigner: true, }, { name: "tokenVaultA", isMut: true, isSigner: false, }, { name: "tokenVaultB", isMut: true, isSigner: false, }, { name: "tokenDestinationA", isMut: true, isSigner: false, }, { name: "tokenDestinationB", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, ], args: [], }, { name: "swap", accounts: [ { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "tokenAuthority", isMut: false, isSigner: true, }, { name: "whirlpool", isMut: true, isSigner: false, }, { name: "tokenOwnerAccountA", isMut: true, isSigner: false, }, { name: "tokenVaultA", isMut: true, isSigner: false, }, { name: "tokenOwnerAccountB", isMut: true, isSigner: false, }, { name: "tokenVaultB", isMut: true, isSigner: false, }, { name: "tickArray0", isMut: true, isSigner: false, }, { name: "tickArray1", isMut: true, isSigner: false, }, { name: "tickArray2", isMut: true, isSigner: false, }, { name: "oracle", isMut: false, isSigner: false, }, ], args: [ { name: "amount", type: "u64", }, { name: "otherAmountThreshold", type: "u64", }, { name: "sqrtPriceLimit", type: "u128", }, { name: "amountSpecifiedIsInput", type: "bool", }, { name: "aToB", type: "bool", }, ], }, { name: "closePosition", accounts: [ { name: "positionAuthority", isMut: false, isSigner: true, }, { name: "receiver", isMut: true, isSigner: false, }, { name: "position", isMut: true, isSigner: false, }, { name: "positionMint", isMut: true, isSigner: false, }, { name: "positionTokenAccount", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, ], args: [], }, { name: "setDefaultFeeRate", accounts: [ { name: "whirlpoolsConfig", isMut: false, isSigner: false, }, { name: "feeTier", isMut: true, isSigner: false, }, { name: "feeAuthority", isMut: false, isSigner: true, }, ], args: [ { name: "defaultFeeRate", type: "u16", }, ], }, { name: "setDefaultProtocolFeeRate", accounts: [ { name: "whirlpoolsConfig", isMut: true, isSigner: false, }, { name: "feeAuthority", isMut: false, isSigner: true, }, ], args: [ { name: "defaultProtocolFeeRate", type: "u16", }, ], }, { name: "setFeeRate", accounts: [ { name: "whirlpoolsConfig", isMut: false, isSigner: false, }, { name: "whirlpool", isMut: true, isSigner: false, }, { name: "feeAuthority", isMut: false, isSigner: true, }, ], args: [ { name: "feeRate", type: "u16", }, ], }, { name: "setProtocolFeeRate", accounts: [ { name: "whirlpoolsConfig", isMut: false, isSigner: false, }, { name: "whirlpool", isMut: true, isSigner: false, }, { name: "feeAuthority", isMut: false, isSigner: true, }, ], args: [ { name: "protocolFeeRate", type: "u16", }, ], }, { name: "setFeeAuthority", accounts: [ { name: "whirlpoolsConfig", isMut: true, isSigner: false, }, { name: "feeAuthority", isMut: false, isSigner: true, }, { name: "newFeeAuthority", isMut: false, isSigner: false, }, ], args: [], }, { name: "setCollectProtocolFeesAuthority", accounts: [ { name: "whirlpoolsConfig", isMut: true, isSigner: false, }, { name: "collectProtocolFeesAuthority", isMut: false, isSigner: true, }, { name: "newCollectProtocolFeesAuthority", isMut: false, isSigner: false, }, ], args: [], }, { name: "setRewardAuthority", accounts: [ { name: "whirlpool", isMut: true, isSigner: false, }, { name: "rewardAuthority", isMut: false, isSigner: true, }, { name: "newRewardAuthority", isMut: false, isSigner: false, }, ], args: [ { name: "rewardIndex", type: "u8", }, ], }, { name: "setRewardAuthorityBySuperAuthority", accounts: [ { name: "whirlpoolsConfig", isMut: false, isSigner: false, }, { name: "whirlpool", isMut: true, isSigner: false, }, { name: "rewardEmissionsSuperAuthority", isMut: false, isSigner: true, }, { name: "newRewardAuthority", isMut: false, isSigner: false, }, ], args: [ { name: "rewardIndex", type: "u8", }, ], }, { name: "setRewardEmissionsSuperAuthority", accounts: [ { name: "whirlpoolsConfig", isMut: true, isSigner: false, }, { name: "rewardEmissionsSuperAuthority", isMut: false, isSigner: true, }, { name: "newRewardEmissionsSuperAuthority", isMut: false, isSigner: false, }, ], args: [], }, { name: "twoHopSwap", accounts: [ { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "tokenAuthority", isMut: false, isSigner: true, }, { name: "whirlpoolOne", isMut: true, isSigner: false, }, { name: "whirlpoolTwo", isMut: true, isSigner: false, }, { name: "tokenOwnerAccountOneA", isMut: true, isSigner: false, }, { name: "tokenVaultOneA", isMut: true, isSigner: false, }, { name: "tokenOwnerAccountOneB", isMut: true, isSigner: false, }, { name: "tokenVaultOneB", isMut: true, isSigner: false, }, { name: "tokenOwnerAccountTwoA", isMut: true, isSigner: false, }, { name: "tokenVaultTwoA", isMut: true, isSigner: false, }, { name: "tokenOwnerAccountTwoB", isMut: true, isSigner: false, }, { name: "tokenVaultTwoB", isMut: true, isSigner: false, }, { name: "tickArrayOne0", isMut: true, isSigner: false, }, { name: "tickArrayOne1", isMut: true, isSigner: false, }, { name: "tickArrayOne2", isMut: true, isSigner: false, }, { name: "tickArrayTwo0", isMut: true, isSigner: false, }, { name: "tickArrayTwo1", isMut: true, isSigner: false, }, { name: "tickArrayTwo2", isMut: true, isSigner: false, }, { name: "oracleOne", isMut: false, isSigner: false, }, { name: "oracleTwo", isMut: false, isSigner: false, }, ], args: [ { name: "amount", type: "u64", }, { name: "otherAmountThreshold", type: "u64", }, { name: "amountSpecifiedIsInput", type: "bool", }, { name: "aToBOne", type: "bool", }, { name: "aToBTwo", type: "bool", }, { name: "sqrtPriceLimitOne", type: "u128", }, { name: "sqrtPriceLimitTwo", type: "u128", }, ], }, { name: "initializePositionBundle", accounts: [ { name: "positionBundle", isMut: true, isSigner: false, }, { name: "positionBundleMint", isMut: true, isSigner: true, }, { name: "positionBundleTokenAccount", isMut: true, isSigner: false, }, { name: "positionBundleOwner", isMut: false, isSigner: false, }, { name: "funder", isMut: true, isSigner: true, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, { name: "rent", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, ], args: [], }, { name: "initializePositionBundleWithMetadata", accounts: [ { name: "positionBundle", isMut: true, isSigner: false, }, { name: "positionBundleMint", isMut: true, isSigner: true, }, { name: "positionBundleMetadata", isMut: true, isSigner: false, }, { name: "positionBundleTokenAccount", isMut: true, isSigner: false, }, { name: "positionBundleOwner", isMut: false, isSigner: false, }, { name: "funder", isMut: true, isSigner: true, }, { name: "metadataUpdateAuth", isMut: false, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, { name: "systemProgram", isMut: false, isSigner: false, }, { name: "rent", isMut: false, isSigner: false, }, { name: "associatedTokenProgram", isMut: false, isSigner: false, }, { name: "metadataProgram", isMut: false, isSigner: false, }, ], args: [], }, { name: "deletePositionBundle", accounts: [ { name: "positionBundle", isMut: true, isSigner: false, }, { name: "positionBundleMint", isMut: true, isSigner: false, }, { name: "positionBundleTokenAccount", isMut: true, isSigner: false, }, { name: "positionBundleOwner", isMut: false, isSigner: true, }, { name: "receiver", isMut: true, isSigner: false, }, { name: "tokenProgram", isMut: false, isSigner: false, }, ], args: [], }, { name: "openBundledPosition", accounts: [ { name: "bundledPosition", isMut: true, isSigner: false, }, { name: "positionBundle", isMut: true, isSigner: false, }, { name: "positionBundleTokenAccount", isMut: false, isSigner: false, }, { name: "positionBundleAuthority", isMut: false, isSigner: true, }, { name: "whirlpool", isMut: false, isSigner: false, }, { name: "funder", isMut: true, isSigner: true, }, { name: "systemProgram", isMut: false, isSigner: false, }, { name: "rent", isMut: false, isSigner: false, }, ], args: [ { name: "bundleIndex", type: "u16", }, { name: "tickLowerIndex", type: "i32", }, { name: "tickUpperIndex", type: "i32", }, ], }, { name: "closeBundledPosition", accounts: [ { name: "bundledPosition", isMut: true, isSigner: false, }, { name: "positionBundle", isMut: true, isSigner: false, }, { name: "positionBundleTokenAccount", isMut: false, isSigner: false, }, { name: "positionBundleAuthority", isMut: false, isSigner: true, }, { name: "receiver", isMut: true, isSigner: false, }, ], args: [ { name: "bundleIndex", type: "u16", }, ], }, ], accounts: [ { name: "WhirlpoolsConfig", type: { kind: "struct", fields: [ { name: "feeAuthority", type: "publicKey", }, { name: "collectProtocolFeesAuthority", type: "publicKey", }, { name: "rewardEmissionsSuperAuthority", type: "publicKey", }, { name: "defaultProtocolFeeRate", type: "u16", }, ], }, }, { name: "FeeTier", type: { kind: "struct", fields: [ { name: "whirlpoolsConfig", type: "publicKey", }, { name: "tickSpacing", type: "u16", }, { name: "defaultFeeRate", type: "u16", }, ], }, }, { name: "PositionBundle", type: { kind: "struct", fields: [ { name: "positionBundleMint", type: "publicKey", }, { name: "positionBitmap", type: { array: ["u8", 32], }, }, ], }, }, { name: "Position", type: { kind: "struct", fields: [ { name: "whirlpool", type: "publicKey", }, { name: "positionMint", type: "publicKey", }, { name: "liquidity", type: "u128", }, { name: "tickLowerIndex", type: "i32", }, { name: "tickUpperIndex", type: "i32", }, { name: "feeGrowthCheckpointA", type: "u128", }, { name: "feeOwedA", type: "u64", }, { name: "feeGrowthCheckpointB", type: "u128", }, { name: "feeOwedB", type: "u64", }, { name: "rewardInfos", type: { array: [ { defined: "PositionRewardInfo", }, 3, ], }, }, ], }, }, { name: "TickArray", type: { kind: "struct", fields: [ { name: "startTickIndex", type: "i32", }, { name: "ticks", type: { array: [ { defined: "Tick", }, 88, ], }, }, { name: "whirlpool", type: "publicKey", }, ], }, }, { name: "Whirlpool", type: { kind: "struct", fields: [ { name: "whirlpoolsConfig", type: "publicKey", }, { name: "whirlpoolBump", type: { array: ["u8", 1], }, }, { name: "tickSpacing", type: "u16", }, { name: "tickSpacingSeed", type: { array: ["u8", 2], }, }, { name: "feeRate", type: "u16", }, { name: "protocolFeeRate", type: "u16", }, { name: "liquidity", type: "u128", }, { name: "sqrtPrice", type: "u128", }, { name: "tickCurrentIndex", type: "i32", }, { name: "protocolFeeOwedA", type: "u64", }, { name: "protocolFeeOwedB", type: "u64", }, { name: "tokenMintA", type: "publicKey", }, { name: "tokenVaultA", type: "publicKey", }, { name: "feeGrowthGlobalA", type: "u128", }, { name: "tokenMintB", type: "publicKey", }, { name: "tokenVaultB", type: "publicKey", }, { name: "feeGrowthGlobalB", type: "u128", }, { name: "rewardLastUpdatedTimestamp", type: "u64", }, { name: "rewardInfos", type: { array: [ { defined: "WhirlpoolRewardInfo", }, 3, ], }, }, ], }, }, ], types: [ { name: "OpenPositionBumps", type: { kind: "struct", fields: [ { name: "positionBump", type: "u8", }, ], }, }, { name: "OpenPositionWithMetadataBumps", type: { kind: "struct", fields: [ { name: "positionBump", type: "u8", }, { name: "metadataBump", type: "u8", }, ], }, }, { name: "PositionRewardInfo", type: { kind: "struct", fields: [ { name: "growthInsideCheckpoint", type: "u128", }, { name: "amountOwed", type: "u64", }, ], }, }, { name: "Tick", type: { kind: "struct", fields: [ { name: "initialized", type: "bool", }, { name: "liquidityNet", type: "i128", }, { name: "liquidityGross", type: "u128", }, { name: "feeGrowthOutsideA", type: "u128", }, { name: "feeGrowthOutsideB", type: "u128", }, { name: "rewardGrowthsOutside", type: { array: ["u128", 3], }, }, ], }, }, { name: "WhirlpoolRewardInfo", type: { kind: "struct", fields: [ { name: "mint", type: "publicKey", }, { name: "vault", type: "publicKey", }, { name: "authority", type: "publicKey", }, { name: "emissionsPerSecondX64", type: "u128", }, { name: "growthGlobalX64", type: "u128", }, ], }, }, { name: "WhirlpoolBumps", type: { kind: "struct", fields: [ { name: "whirlpoolBump", type: "u8", }, ], }, }, { name: "CurrIndex", type: { kind: "enum", variants: [ { name: "Below", }, { name: "Inside", }, { name: "Above", }, ], }, }, { name: "TickLabel", type: { kind: "enum", variants: [ { name: "Upper", }, { name: "Lower", }, ], }, }, { name: "Direction", type: { kind: "enum", variants: [ { name: "Left", }, { name: "Right", }, ], }, }, ], errors: [ { code: 6000, name: "InvalidEnum", msg: "Enum value could not be converted", }, { code: 6001, name: "InvalidStartTick", msg: "Invalid start tick index provided.", }, { code: 6002, name: "TickArrayExistInPool", msg: "Tick-array already exists in this whirlpool", }, { code: 6003, name: "TickArrayIndexOutofBounds", msg: "Attempt to search for a tick-array failed", }, { code: 6004, name: "InvalidTickSpacing", msg: "Tick-spacing is not supported", }, { code: 6005, name: "ClosePositionNotEmpty", msg: "Position is not empty It cannot be closed", }, { code: 6006, name: "DivideByZero", msg: "Unable to divide by zero", }, { code: 6007, name: "NumberCastError", msg: "Unable to cast number into BigInt", }, { code: 6008, name: "NumberDownCastError", msg: "Unable to down cast number", }, { code: 6009, name: "TickNotFound", msg: "Tick not found within tick array", }, { code: 6010, name: "InvalidTickIndex", msg: "Provided tick index is either out of bounds or uninitializable", }, { code: 6011, name: "SqrtPriceOutOfBounds", msg: "Provided sqrt price out of bounds", }, { code: 6012, name: "LiquidityZero", msg: "Liquidity amount must be greater than zero", }, { code: 6013, name: "LiquidityTooHigh", msg: "Liquidity amount must be less than i64::MAX", }, { code: 6014, name: "LiquidityOverflow", msg: "Liquidity overflow", }, { code: 6015, name: "LiquidityUnderflow", msg: "Liquidity underflow", }, { code: 6016, name: "LiquidityNetError", msg: "Tick liquidity net underflowed or overflowed", }, { code: 6017, name: "TokenMaxExceeded", msg: "Exceeded token max", }, { code: 6018, name: "TokenMinSubceeded", msg: "Did not meet token min", }, { code: 6019, name: "MissingOrInvalidDe