PartnerOracle: {
accounts: [
{
discriminator: [194, 149, 223, 142, 42, 98, 128, 16];
name: "airdropConfig";
},
];
address: "pardpVtPjC8nLj1Dwncew62mUzfChdCX1EaoZe8oCAa";
errors: [
{
code: 6000;
msg: "Account is not authorized to execute this instruction";
name: "unauthorized";
},
{
code: 6001;
msg: "Arithmetic Error (overflow/underflow)";
name: "arithmeticError";
},
{
code: 6100;
msg: "Provided expiry ts is invalid";
name: "invalidExpiry";
},
{
code: 6101;
msg: "No expired fees found, transaction won't change the config";
name: "noExpiredFees";
},
{
code: 6200;
msg: "Received invalid Vesting Fee configuration";
name: "invalidVestingFee";
},
{
code: 6300;
msg: "Received invalid Airdrop Fee configuration";
name: "invalidAirdropFee";
},
{
code: 6301;
msg: "Airdrop config is full, can not write fees";
name: "airdropConfigFull";
},
];
instructions: [
{
accounts: [
{
docs: ["Account that stores the config"];
name: "config";
pda: {
seeds: [
{
kind: "const";
value: [
97,
105,
114,
100,
114,
111,
112,
95,
99,
111,
110,
102,
105,
103,
];
},
];
};
writable: true;
},
];
args: [];
discriminator: [203, 5, 237, 235, 32, 38, 150, 235];
name: "airdropClearExpiredFees";
},
{
accounts: [
{
docs: ["Account that stores the config"];
name: "config";
pda: {
seeds: [
{
kind: "const";
value: [
97,
105,
114,
100,
114,
111,
112,
95,
99,
111,
110,
102,
105,
103,
];
},
];
};
},
];
args: [{ name: "pubkey"; type: "pubkey" }];
discriminator: [185, 20, 28, 207, 70, 243, 32, 62];
name: "airdropGetFees";
returns: { defined: { name: "airdropFees" } };
},
{
accounts: [
{
docs: [
"Account that will cover tx fees, can be anybody since the instruction is safe",
];
name: "payer";
signer: true;
writable: true;
},
{
name: "config";
pda: {
seeds: [
{
kind: "const";
value: [
97,
105,
114,
100,
114,
111,
112,
95,
99,
111,
110,
102,
105,
103,
];
},
];
};
writable: true;
},
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [];
discriminator: [2, 110, 102, 10, 34, 83, 164, 55];
name: "airdropInitializeConfig";
},
{
accounts: [
{
address: "CgdggophaMCFRP8gA1QjrZHsHaNQgByhBU7zoF5TpXF7";
docs: ["Fee Authority"];
name: "authority";
signer: true;
writable: true;
},
{
docs: ["Account that stores the config"];
name: "config";
pda: {
seeds: [
{
kind: "const";
value: [
97,
105,
114,
100,
114,
111,
112,
95,
99,
111,
110,
102,
105,
103,
];
},
];
};
writable: true;
},
];
args: [{ name: "pubkey"; type: "pubkey" }];
discriminator: [119, 246, 202, 91, 59, 94, 252, 239];
name: "airdropRemoveFees";
},
{
accounts: [
{
address: "CgdggophaMCFRP8gA1QjrZHsHaNQgByhBU7zoF5TpXF7";
docs: ["Fee Authority"];
name: "authority";
signer: true;
writable: true;
},
{
docs: ["Account that stores the config"];
name: "config";
pda: {
seeds: [
{
kind: "const";
value: [
97,
105,
114,
100,
114,
111,
112,
95,
99,
111,
110,
102,
105,
103,
];
},
];
};
writable: true;
},
];
args: [
{ name: "creationFee"; type: "u32" },
{ name: "priceOracleFee"; type: "u32" },
{ name: "claimMinFee"; type: "u32" },
{ name: "claimMaxFee"; type: "u32" },
{ name: "allocationFactor"; type: "f64" },
{ name: "clawbackTokenFeePercent"; type: "f64" },
];
discriminator: [37, 104, 254, 202, 136, 124, 245, 94];
name: "airdropWriteDefaultFees";
},
{
accounts: [
{
address: "CgdggophaMCFRP8gA1QjrZHsHaNQgByhBU7zoF5TpXF7";
docs: ["Fee Authority"];
name: "authority";
signer: true;
writable: true;
},
{
docs: ["Account that stores the config"];
name: "config";
pda: {
seeds: [
{
kind: "const";
value: [
97,
105,
114,
100,
114,
111,
112,
95,
99,
111,
110,
102,
105,
103,
];
},
];
};
writable: true;
},
];
args: [
{ name: "pubkey"; type: "pubkey" },
{ name: "creationFee"; type: "u32" },
{ name: "priceOracleFee"; type: "u32" },
{ name: "claimMinFee"; type: "u32" },
{ name: "claimMaxFee"; type: "u32" },
{ name: "allocationFactor"; type: "f64" },
{ name: "clawbackTokenFeePercent"; type: "f64" },
{ name: "expiryTs"; type: "u64" },
];
discriminator: [71, 165, 178, 215, 19, 70, 146, 71];
name: "airdropWriteFees";
},
{
accounts: [
{
name: "partners";
pda: {
seeds: [
{
kind: "const";
value: [115, 116, 114, 109, 95, 102, 101, 101, 115];
},
];
};
},
];
args: [{ name: "pubkey"; type: "pubkey" }];
discriminator: [239, 230, 28, 173, 134, 247, 57, 176];
name: "vestingGetFees";
returns: { defined: { name: "vestingFees" } };
},
{
accounts: [
{
docs: [
"Account that will cover tx fees, can be anybody since the instruction is safe",
];
name: "payer";
signer: true;
writable: true;
},
{
name: "partners";
pda: {
seeds: [
{
kind: "const";
value: [115, 116, 114, 109, 95, 102, 101, 101, 115];
},
];
};
writable: true;
},
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [];
discriminator: [205, 170, 148, 219, 143, 38, 77, 196];
name: "vestingInitializePartners";
},
{
accounts: [
{
address: "CgdggophaMCFRP8gA1QjrZHsHaNQgByhBU7zoF5TpXF7";
docs: [
"Account that will cover tx fees, should be equal to creator if not is not expired",
];
name: "authority";
signer: true;
writable: true;
},
{
name: "partners";
pda: {
seeds: [
{
kind: "const";
value: [115, 116, 114, 109, 95, 102, 101, 101, 115];
},
];
};
writable: true;
},
];
args: [{ name: "pubkey"; type: "pubkey" }];
discriminator: [233, 176, 222, 64, 79, 14, 48, 168];
name: "vestingRemoveFees";
},
{
accounts: [
{
address: "CgdggophaMCFRP8gA1QjrZHsHaNQgByhBU7zoF5TpXF7";
docs: [
"Account that will cover tx fees, should be equal to creator if not is not expired",
];
name: "authority";
signer: true;
writable: true;
},
{
name: "partners";
pda: {
seeds: [
{
kind: "const";
value: [115, 116, 114, 109, 95, 102, 101, 101, 115];
},
];
};
writable: true;
},
];
args: [
{ name: "creationFee"; type: "u32" },
{ name: "autoClaimFee"; type: "u32" },
{ name: "tokenFeePercent"; type: "f32" },
];
discriminator: [96, 198, 97, 81, 162, 50, 51, 10];
name: "vestingWriteDefaultFees";
},
{
accounts: [
{
address: "CgdggophaMCFRP8gA1QjrZHsHaNQgByhBU7zoF5TpXF7";
docs: [
"Account that will cover tx fees, should be equal to creator if not is not expired",
];
name: "authority";
signer: true;
writable: true;
},
{
name: "partners";
pda: {
seeds: [
{
kind: "const";
value: [115, 116, 114, 109, 95, 102, 101, 101, 115];
},
];
};
writable: true;
},
];
args: [
{ name: "pubkey"; type: "pubkey" },
{ name: "creationFee"; type: "u32" },
{ name: "autoClaimFee"; type: "u32" },
{ name: "tokenFeePercent"; type: "f32" },
];
discriminator: [251, 24, 6, 241, 182, 56, 93, 100];
name: "vestingWriteFees";
},
];
metadata: {
description: "Created with Anchor";
name: "partnerOracle";
spec: "0.1.0";
version: "1.0.0";
};
types: [
{
name: "airdropConfig";
repr: { kind: "c" };
serialization: "bytemuck";
type: {
fields: [
{ name: "version"; type: "u32" },
{
docs: ["Multiplier to apply when calculating ALL fees"];
name: "usdMultiplier";
type: "f32";
},
{ docs: ["Last solana price used"]; name: "solanaPrice"; type: "u64" },
{ docs: ["Creation SOL fee"]; name: "creationFee"; type: "u32" },
{
docs: ["Fee for custom price oracle used in dynamic airdrops"];
name: "priceOracleFee";
type: "u32";
},
{
docs: ["Dynamic claim fee in SOL, min"];
name: "claimMinFee";
type: "u32";
},
{
docs: ["Dynamic claim fee in SOL, max"];
name: "claimMaxFee";
type: "u32";
},
{
docs: ["Factor to multiple claimable SOL by when calculating fee"];
name: "allocationFactor";
type: "f64";
},
{
docs: ["Toke % fee on clawback"];
name: "clawbackTokenFeePercent";
type: "f64";
},
{ name: "buffer"; type: { array: ["u8", 144] } },
{
name: "partners";
type: { array: [{ defined: { name: "airdropPartner" } }, 100] };
},
];
kind: "struct";
};
},
{
name: "airdropFees";
type: {
fields: [
{
docs: ["Account for which the fees were configured"];
name: "pubkey";
type: "pubkey";
},
{ docs: ["Creation SOL fee"]; name: "creationFee"; type: "u32" },
{
docs: ["Fee for custom price oracle used in dynamic airdrops"];
name: "priceOracleFee";
type: "u32";
},
{
docs: ["Dynamic claim fee in SOL, min"];
name: "claimMinFee";
type: "u32";
},
{
docs: ["Dynamic claim fee in SOL, max"];
name: "claimMaxFee";
type: "u32";
},
{
docs: ["Factor to multiple claimable SOL by when calculating fee"];
name: "allocationFactor";
type: "f64";
},
{
docs: ["Token % fee on clawback"];
name: "clawbackTokenFeePercent";
type: "f64";
},
];
kind: "struct";
};
},
{
name: "airdropPartner";
repr: { kind: "c" };
serialization: "bytemuck";
type: {
fields: [
{ docs: ["Pubkey of the partner"]; name: "pubkey"; type: "pubkey" },
{ docs: ["Creation SOL fee"]; name: "creationFee"; type: "u32" },
{
docs: ["Fee for custom price oracle used in dynamic airdrops"];
name: "priceOracleFee";
type: "u32";
},
{
docs: ["Dynamic claim fee in SOL, min"];
name: "claimMinFee";
type: "u32";
},
{
docs: ["Dynamic claim fee in SOL, max"];
name: "claimMaxFee";
type: "u32";
},
{
docs: ["Factor to multiple claimable SOL by when calculating fee"];
name: "allocationFactor";
type: "f64";
},
{
docs: ["Toke % fee on clawback"];
name: "clawbackTokenFeePercent";
type: "f64";
},
{
docs: ["Time when fee configuration expires"];
name: "expiryTs";
type: "u64";
},
{
docs: ["Buffer for additional fields"];
name: "buffer";
type: { array: ["u8", 16] };
},
];
kind: "struct";
};
},
{
name: "vestingFees";
type: {
fields: [
{ name: "pubkey"; type: "pubkey" },
{ name: "creationFee"; type: "u32" },
{ name: "autoClaimFee"; type: "u32" },
{ name: "tokenFeePercent"; type: "f32" },
];
kind: "struct";
};
},
];
}
Type declaration
accounts: [
{
discriminator: [194, 149, 223, 142, 42, 98, 128, 16];
name: "airdropConfig";
},
]
address: "pardpVtPjC8nLj1Dwncew62mUzfChdCX1EaoZe8oCAa"
errors: [
{
code: 6000;
msg: "Account is not authorized to execute this instruction";
name: "unauthorized";
},
{
code: 6001;
msg: "Arithmetic Error (overflow/underflow)";
name: "arithmeticError";
},
{ code: 6100; msg: "Provided expiry ts is invalid"; name: "invalidExpiry" },
{
code: 6101;
msg: "No expired fees found, transaction won't change the config";
name: "noExpiredFees";
},
{
code: 6200;
msg: "Received invalid Vesting Fee configuration";
name: "invalidVestingFee";
},
{
code: 6300;
msg: "Received invalid Airdrop Fee configuration";
name: "invalidAirdropFee";
},
{
code: 6301;
msg: "Airdrop config is full, can not write fees";
name: "airdropConfigFull";
},
]
instructions: [
{
accounts: [
{
docs: ["Account that stores the config"];
name: "config";
pda: {
seeds: [
{
kind: "const";
value: [
97,
105,
114,
100,
114,
111,
112,
95,
99,
111,
110,
102,
105,
103,
];
},
];
};
writable: true;
},
];
args: [];
discriminator: [203, 5, 237, 235, 32, 38, 150, 235];
name: "airdropClearExpiredFees";
},
{
accounts: [
{
docs: ["Account that stores the config"];
name: "config";
pda: {
seeds: [
{
kind: "const";
value: [
97,
105,
114,
100,
114,
111,
112,
95,
99,
111,
110,
102,
105,
103,
];
},
];
};
},
];
args: [{ name: "pubkey"; type: "pubkey" }];
discriminator: [185, 20, 28, 207, 70, 243, 32, 62];
name: "airdropGetFees";
returns: { defined: { name: "airdropFees" } };
},
{
accounts: [
{
docs: [
"Account that will cover tx fees, can be anybody since the instruction is safe",
];
name: "payer";
signer: true;
writable: true;
},
{
name: "config";
pda: {
seeds: [
{
kind: "const";
value: [
97,
105,
114,
100,
114,
111,
112,
95,
99,
111,
110,
102,
105,
103,
];
},
];
};
writable: true;
},
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [];
discriminator: [2, 110, 102, 10, 34, 83, 164, 55];
name: "airdropInitializeConfig";
},
{
accounts: [
{
address: "CgdggophaMCFRP8gA1QjrZHsHaNQgByhBU7zoF5TpXF7";
docs: ["Fee Authority"];
name: "authority";
signer: true;
writable: true;
},
{
docs: ["Account that stores the config"];
name: "config";
pda: {
seeds: [
{
kind: "const";
value: [
97,
105,
114,
100,
114,
111,
112,
95,
99,
111,
110,
102,
105,
103,
];
},
];
};
writable: true;
},
];
args: [{ name: "pubkey"; type: "pubkey" }];
discriminator: [119, 246, 202, 91, 59, 94, 252, 239];
name: "airdropRemoveFees";
},
{
accounts: [
{
address: "CgdggophaMCFRP8gA1QjrZHsHaNQgByhBU7zoF5TpXF7";
docs: ["Fee Authority"];
name: "authority";
signer: true;
writable: true;
},
{
docs: ["Account that stores the config"];
name: "config";
pda: {
seeds: [
{
kind: "const";
value: [
97,
105,
114,
100,
114,
111,
112,
95,
99,
111,
110,
102,
105,
103,
];
},
];
};
writable: true;
},
];
args: [
{ name: "creationFee"; type: "u32" },
{ name: "priceOracleFee"; type: "u32" },
{ name: "claimMinFee"; type: "u32" },
{ name: "claimMaxFee"; type: "u32" },
{ name: "allocationFactor"; type: "f64" },
{ name: "clawbackTokenFeePercent"; type: "f64" },
];
discriminator: [37, 104, 254, 202, 136, 124, 245, 94];
name: "airdropWriteDefaultFees";
},
{
accounts: [
{
address: "CgdggophaMCFRP8gA1QjrZHsHaNQgByhBU7zoF5TpXF7";
docs: ["Fee Authority"];
name: "authority";
signer: true;
writable: true;
},
{
docs: ["Account that stores the config"];
name: "config";
pda: {
seeds: [
{
kind: "const";
value: [
97,
105,
114,
100,
114,
111,
112,
95,
99,
111,
110,
102,
105,
103,
];
},
];
};
writable: true;
},
];
args: [
{ name: "pubkey"; type: "pubkey" },
{ name: "creationFee"; type: "u32" },
{ name: "priceOracleFee"; type: "u32" },
{ name: "claimMinFee"; type: "u32" },
{ name: "claimMaxFee"; type: "u32" },
{ name: "allocationFactor"; type: "f64" },
{ name: "clawbackTokenFeePercent"; type: "f64" },
{ name: "expiryTs"; type: "u64" },
];
discriminator: [71, 165, 178, 215, 19, 70, 146, 71];
name: "airdropWriteFees";
},
{
accounts: [
{
name: "partners";
pda: {
seeds: [
{
kind: "const";
value: [115, 116, 114, 109, 95, 102, 101, 101, 115];
},
];
};
},
];
args: [{ name: "pubkey"; type: "pubkey" }];
discriminator: [239, 230, 28, 173, 134, 247, 57, 176];
name: "vestingGetFees";
returns: { defined: { name: "vestingFees" } };
},
{
accounts: [
{
docs: [
"Account that will cover tx fees, can be anybody since the instruction is safe",
];
name: "payer";
signer: true;
writable: true;
},
{
name: "partners";
pda: {
seeds: [
{
kind: "const";
value: [115, 116, 114, 109, 95, 102, 101, 101, 115];
},
];
};
writable: true;
},
{ address: "11111111111111111111111111111111"; name: "systemProgram" },
];
args: [];
discriminator: [205, 170, 148, 219, 143, 38, 77, 196];
name: "vestingInitializePartners";
},
{
accounts: [
{
address: "CgdggophaMCFRP8gA1QjrZHsHaNQgByhBU7zoF5TpXF7";
docs: [
"Account that will cover tx fees, should be equal to creator if not is not expired",
];
name: "authority";
signer: true;
writable: true;
},
{
name: "partners";
pda: {
seeds: [
{
kind: "const";
value: [115, 116, 114, 109, 95, 102, 101, 101, 115];
},
];
};
writable: true;
},
];
args: [{ name: "pubkey"; type: "pubkey" }];
discriminator: [233, 176, 222, 64, 79, 14, 48, 168];
name: "vestingRemoveFees";
},
{
accounts: [
{
address: "CgdggophaMCFRP8gA1QjrZHsHaNQgByhBU7zoF5TpXF7";
docs: [
"Account that will cover tx fees, should be equal to creator if not is not expired",
];
name: "authority";
signer: true;
writable: true;
},
{
name: "partners";
pda: {
seeds: [
{
kind: "const";
value: [115, 116, 114, 109, 95, 102, 101, 101, 115];
},
];
};
writable: true;
},
];
args: [
{ name: "creationFee"; type: "u32" },
{ name: "autoClaimFee"; type: "u32" },
{ name: "tokenFeePercent"; type: "f32" },
];
discriminator: [96, 198, 97, 81, 162, 50, 51, 10];
name: "vestingWriteDefaultFees";
},
{
accounts: [
{
address: "CgdggophaMCFRP8gA1QjrZHsHaNQgByhBU7zoF5TpXF7";
docs: [
"Account that will cover tx fees, should be equal to creator if not is not expired",
];
name: "authority";
signer: true;
writable: true;
},
{
name: "partners";
pda: {
seeds: [
{
kind: "const";
value: [115, 116, 114, 109, 95, 102, 101, 101, 115];
},
];
};
writable: true;
},
];
args: [
{ name: "pubkey"; type: "pubkey" },
{ name: "creationFee"; type: "u32" },
{ name: "autoClaimFee"; type: "u32" },
{ name: "tokenFeePercent"; type: "f32" },
];
discriminator: [251, 24, 6, 241, 182, 56, 93, 100];
name: "vestingWriteFees";
},
]
metadata: {
description: "Created with Anchor";
name: "partnerOracle";
spec: "0.1.0";
version: "1.0.0";
}
types: [
{
name: "airdropConfig";
repr: { kind: "c" };
serialization: "bytemuck";
type: {
fields: [
{ name: "version"; type: "u32" },
{
docs: ["Multiplier to apply when calculating ALL fees"];
name: "usdMultiplier";
type: "f32";
},
{ docs: ["Last solana price used"]; name: "solanaPrice"; type: "u64" },
{ docs: ["Creation SOL fee"]; name: "creationFee"; type: "u32" },
{
docs: ["Fee for custom price oracle used in dynamic airdrops"];
name: "priceOracleFee";
type: "u32";
},
{
docs: ["Dynamic claim fee in SOL, min"];
name: "claimMinFee";
type: "u32";
},
{
docs: ["Dynamic claim fee in SOL, max"];
name: "claimMaxFee";
type: "u32";
},
{
docs: ["Factor to multiple claimable SOL by when calculating fee"];
name: "allocationFactor";
type: "f64";
},
{
docs: ["Toke % fee on clawback"];
name: "clawbackTokenFeePercent";
type: "f64";
},
{ name: "buffer"; type: { array: ["u8", 144] } },
{
name: "partners";
type: { array: [{ defined: { name: "airdropPartner" } }, 100] };
},
];
kind: "struct";
};
},
{
name: "airdropFees";
type: {
fields: [
{
docs: ["Account for which the fees were configured"];
name: "pubkey";
type: "pubkey";
},
{ docs: ["Creation SOL fee"]; name: "creationFee"; type: "u32" },
{
docs: ["Fee for custom price oracle used in dynamic airdrops"];
name: "priceOracleFee";
type: "u32";
},
{
docs: ["Dynamic claim fee in SOL, min"];
name: "claimMinFee";
type: "u32";
},
{
docs: ["Dynamic claim fee in SOL, max"];
name: "claimMaxFee";
type: "u32";
},
{
docs: ["Factor to multiple claimable SOL by when calculating fee"];
name: "allocationFactor";
type: "f64";
},
{
docs: ["Token % fee on clawback"];
name: "clawbackTokenFeePercent";
type: "f64";
},
];
kind: "struct";
};
},
{
name: "airdropPartner";
repr: { kind: "c" };
serialization: "bytemuck";
type: {
fields: [
{ docs: ["Pubkey of the partner"]; name: "pubkey"; type: "pubkey" },
{ docs: ["Creation SOL fee"]; name: "creationFee"; type: "u32" },
{
docs: ["Fee for custom price oracle used in dynamic airdrops"];
name: "priceOracleFee";
type: "u32";
},
{
docs: ["Dynamic claim fee in SOL, min"];
name: "claimMinFee";
type: "u32";
},
{
docs: ["Dynamic claim fee in SOL, max"];
name: "claimMaxFee";
type: "u32";
},
{
docs: ["Factor to multiple claimable SOL by when calculating fee"];
name: "allocationFactor";
type: "f64";
},
{
docs: ["Toke % fee on clawback"];
name: "clawbackTokenFeePercent";
type: "f64";
},
{
docs: ["Time when fee configuration expires"];
name: "expiryTs";
type: "u64";
},
{
docs: ["Buffer for additional fields"];
name: "buffer";
type: { array: ["u8", 16] };
},
];
kind: "struct";
};
},
{
name: "vestingFees";
type: {
fields: [
{ name: "pubkey"; type: "pubkey" },
{ name: "creationFee"; type: "u32" },
{ name: "autoClaimFee"; type: "u32" },
{ name: "tokenFeePercent"; type: "f32" },
];
kind: "struct";
};
},
]
Program IDL in camelCase format in order to be used in JS/TS.
Note that this is only a type helper and is not the actual IDL. The original IDL can be found at
target/idl/partner_oracle.json.