UNPKG

@kamino-finance/klend-sdk

Version:

Typescript SDK for interacting with the Kamino Lending (klend) protocol

575 lines (574 loc) 12.6 kB
{ "version": "0.2.0", "name": "pyth_solana_receiver", "instructions": [ { "name": "requestGovernanceAuthorityTransfer", "accounts": [ { "name": "payer", "isMut": false, "isSigner": true }, { "name": "config", "isMut": true, "isSigner": false } ], "args": [ { "name": "targetGovernanceAuthority", "type": "publicKey" } ] }, { "name": "acceptGovernanceAuthorityTransfer", "accounts": [ { "name": "payer", "isMut": false, "isSigner": true }, { "name": "config", "isMut": true, "isSigner": false } ], "args": [] }, { "name": "setDataSources", "accounts": [ { "name": "payer", "isMut": false, "isSigner": true }, { "name": "config", "isMut": true, "isSigner": false } ], "args": [ { "name": "validDataSources", "type": { "vec": { "defined": "DataSource" } } } ] }, { "name": "setFee", "accounts": [ { "name": "payer", "isMut": false, "isSigner": true }, { "name": "config", "isMut": true, "isSigner": false } ], "args": [ { "name": "singleUpdateFeeInLamports", "type": "u64" } ] }, { "name": "setWormholeAddress", "accounts": [ { "name": "payer", "isMut": false, "isSigner": true }, { "name": "config", "isMut": true, "isSigner": false } ], "args": [ { "name": "wormhole", "type": "publicKey" } ] }, { "name": "setMinimumSignatures", "accounts": [ { "name": "payer", "isMut": false, "isSigner": true }, { "name": "config", "isMut": true, "isSigner": false } ], "args": [ { "name": "minimumSignatures", "type": "u8" } ] }, { "name": "reclaimRent", "accounts": [ { "name": "payer", "isMut": true, "isSigner": true }, { "name": "priceUpdateAccount", "isMut": true, "isSigner": false } ], "args": [] }, { "name": "reclaimTwapRent", "accounts": [ { "name": "payer", "isMut": true, "isSigner": true }, { "name": "twapUpdateAccount", "isMut": true, "isSigner": false } ], "args": [] } ], "accounts": [ { "name": "Config", "type": { "kind": "struct", "fields": [ { "name": "governanceAuthority", "type": "publicKey" }, { "name": "targetGovernanceAuthority", "type": { "option": "publicKey" } }, { "name": "wormhole", "type": "publicKey" }, { "name": "validDataSources", "type": { "vec": { "defined": "DataSource" } } }, { "name": "singleUpdateFeeInLamports", "type": "u64" }, { "name": "minimumSignatures", "type": "u8" } ] } }, { "name": "priceUpdateV2", "type": { "kind": "struct", "fields": [ { "name": "writeAuthority", "type": "publicKey" }, { "name": "verificationLevel", "type": { "defined": "VerificationLevel" } }, { "name": "priceMessage", "type": { "defined": "PriceFeedMessage" } }, { "name": "postedSlot", "type": "u64" } ] } }, { "name": "twapUpdate", "type": { "kind": "struct", "fields": [ { "name": "writeAuthority", "type": "publicKey" }, { "name": "twap", "type": { "defined": "TwapPrice" } } ] } } ], "types": [ { "name": "PriceFeedMessage", "type": { "kind": "struct", "fields": [ { "name": "feedId", "type": { "array": ["u8", 32] } }, { "name": "price", "type": "i64" }, { "name": "conf", "type": "u64" }, { "name": "exponent", "type": "i32" }, { "name": "publishTime", "type": "i64" }, { "name": "prevPublishTime", "type": "i64" }, { "name": "emaPrice", "type": "i64" }, { "name": "emaConf", "type": "u64" } ] } }, { "name": "TwapPrice", "docs": [ "The time weighted average price & conf for a feed over the window [start_time, end_time].", "This type is used to persist the calculated TWAP in TwapUpdate accounts on Solana." ], "type": { "kind": "struct", "fields": [ { "name": "feedId", "type": { "array": ["u8", 32] } }, { "name": "startTime", "type": "i64" }, { "name": "endTime", "type": "i64" }, { "name": "price", "type": "i64" }, { "name": "conf", "type": "u64" }, { "name": "exponent", "type": "i32" }, { "name": "downSlotsRatio", "docs": [ "Ratio out of 1_000_000, where a value of 1_000_000 represents", "all slots were missed and 0 represents no slots were missed." ], "type": "u32" } ] } }, { "name": "MerklePriceUpdate", "type": { "kind": "struct", "fields": [ { "name": "message", "type": "bytes" }, { "name": "proof", "type": { "vec": { "array": ["u8", 20] } } } ] } }, { "name": "DataSource", "type": { "kind": "struct", "fields": [ { "name": "chain", "type": "u16" }, { "name": "emitter", "type": "publicKey" } ] } }, { "name": "PostUpdateAtomicParams", "type": { "kind": "struct", "fields": [ { "name": "vaa", "type": "bytes" }, { "name": "merklePriceUpdate", "type": { "defined": "MerklePriceUpdate" } }, { "name": "treasuryId", "type": "u8" } ] } }, { "name": "PostUpdateParams", "type": { "kind": "struct", "fields": [ { "name": "merklePriceUpdate", "type": { "defined": "MerklePriceUpdate" } }, { "name": "treasuryId", "type": "u8" } ] } }, { "name": "PostTwapUpdateParams", "type": { "kind": "struct", "fields": [ { "name": "startMerklePriceUpdate", "type": { "defined": "MerklePriceUpdate" } }, { "name": "endMerklePriceUpdate", "type": { "defined": "MerklePriceUpdate" } }, { "name": "treasuryId", "type": "u8" } ] } }, { "name": "VerificationLevel", "docs": [ "* This enum represents how many guardian signatures were checked for a Pythnet price update\n * If full, guardian quorum has been attained\n * If partial, at least config.minimum signatures have been verified, but in the case config.minimum_signatures changes in the future we also include the number of signatures that were checked" ], "type": { "kind": "enum", "variants": [ { "name": "Partial", "fields": [ { "name": "numSignatures", "type": "u8" } ] }, { "name": "Full" } ] } } ], "errors": [ { "code": 6000, "name": "InvalidWormholeMessage", "msg": "Received an invalid wormhole message" }, { "code": 6001, "name": "DeserializeMessageFailed", "msg": "An error occurred when deserializing the message" }, { "code": 6002, "name": "InvalidPriceUpdate", "msg": "Received an invalid price update" }, { "code": 6003, "name": "UnsupportedMessageType", "msg": "This type of message is not supported currently" }, { "code": 6004, "name": "InvalidDataSource", "msg": "The tuple emitter chain, emitter doesn't match one of the valid data sources." }, { "code": 6005, "name": "InsufficientFunds", "msg": "Funds are insufficient to pay the receiving fee" }, { "code": 6006, "name": "WrongWriteAuthority", "msg": "This signer can't write to price update account" }, { "code": 6007, "name": "WrongVaaOwner", "msg": "The posted VAA account has the wrong owner." }, { "code": 6008, "name": "DeserializeVaaFailed", "msg": "An error occurred when deserializing the VAA." }, { "code": 6009, "name": "InsufficientGuardianSignatures", "msg": "The number of guardian signatures is below the minimum" }, { "code": 6010, "name": "InvalidVaaVersion", "msg": "Invalid VAA version" }, { "code": 6011, "name": "GuardianSetMismatch", "msg": "Guardian set version in the VAA doesn't match the guardian set passed" }, { "code": 6012, "name": "InvalidGuardianOrder", "msg": "Guardian signature indices must be increasing" }, { "code": 6013, "name": "InvalidGuardianIndex", "msg": "Guardian index exceeds the number of guardians in the set" }, { "code": 6014, "name": "InvalidSignature", "msg": "A VAA signature is invalid" }, { "code": 6015, "name": "InvalidGuardianKeyRecovery", "msg": "The recovered guardian public key doesn't match the guardian set" }, { "code": 6016, "name": "WrongGuardianSetOwner", "msg": "The guardian set account is owned by the wrong program" }, { "code": 6017, "name": "InvalidGuardianSetPda", "msg": "The Guardian Set account doesn't match the PDA derivation" }, { "code": 6018, "name": "GuardianSetExpired", "msg": "The Guardian Set is expired" }, { "code": 6019, "name": "GovernanceAuthorityMismatch", "msg": "The signer is not authorized to perform this governance action" }, { "code": 6020, "name": "TargetGovernanceAuthorityMismatch", "msg": "The signer is not authorized to accept the governance authority" }, { "code": 6021, "name": "NonexistentGovernanceAuthorityTransferRequest", "msg": "The governance authority needs to request a transfer first" } ] }