UNPKG

@renec-foundation/redex-sdk

Version:

Typescript SDK to interact with Orca's Whirlpool program.

1,692 lines 56.2 kB
export declare type Whirlpool = { "version": "0.1.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": "poolCreatorAuthority"; "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": "whirlpool"; "isMut": false; "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": "setPoolCreatorAuthority"; "accounts": [ { "name": "whirlpoolsConfig"; "isMut": true; "isSigner": false; }, { "name": "poolCreatorAuthority"; "isMut": false; "isSigner": true; }, { "name": "newPoolCreatorAuthority"; "isMut": false; "isSigner": false; } ]; "args": []; }, { "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": "setEnableFlag"; "accounts": [ { "name": "whirlpoolsConfig"; "isMut": false; "isSigner": false; }, { "name": "whirlpool"; "isMut": true; "isSigner": false; }, { "name": "poolCreatorAuthority"; "isMut": false; "isSigner": true; } ]; "args": [ { "name": "isEnabled"; "type": "bool"; } ]; }, { "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"; } ]; } ]; "accounts": [ { "name": "whirlpoolsConfig"; "type": { "kind": "struct"; "fields": [ { "name": "feeAuthority"; "type": "publicKey"; }, { "name": "collectProtocolFeesAuthority"; "type": "publicKey"; }, { "name": "rewardEmissionsSuperAuthority"; "type": "publicKey"; }, { "name": "poolCreatorAuthority"; "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": "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": "isEnabled"; "type": "bool"; }, { "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": "