diff --git a/Cargo.toml b/Cargo.toml index d1b2bf1..4240ce3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uxd-cpi" -version = "9.0.0" +version = "8.3.0" authors = [ "acammm ", "cnek ", @@ -24,5 +24,5 @@ development = [] anchor-gen = "0.3.1" anchor-lang = "0.26.0" -solana-program = "=1.14.21" +solana-program = "1.18" borsh = { version = "0.9", features = ["const-generics"] } diff --git a/idl.json b/idl.json index 6f035fb..1f92df7 100644 --- a/idl.json +++ b/idl.json @@ -217,41 +217,6 @@ } ] }, - { - "name": "editAlloyxVaultDepository", - "accounts": [ - { - "name": "authority", - "isMut": false, - "isSigner": true, - "docs": [ - "#1 Authored call accessible only to the signer matching Controller.authority" - ] - }, - { - "name": "controller", - "isMut": false, - "isSigner": false, - "docs": [ - "#2 The top level UXDProgram on chain account managing the redeemable mint" - ] - }, - { - "name": "depository", - "isMut": true, - "isSigner": false, - "docs": ["#3"] - } - ], - "args": [ - { - "name": "fields", - "type": { - "defined": "EditAlloyxVaultDepositoryFields" - } - } - ] - }, { "name": "mint", "accounts": [ @@ -393,53 +358,47 @@ "isSigner": false, "docs": ["#22"] }, - { - "name": "alloyxVaultDepository", - "isMut": false, - "isSigner": false, - "docs": ["#23"] - }, { "name": "systemProgram", "isMut": false, "isSigner": false, - "docs": ["#24"] + "docs": ["#23"] }, { "name": "tokenProgram", "isMut": false, "isSigner": false, - "docs": ["#25"] + "docs": ["#24"] }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false, - "docs": ["#26"] + "docs": ["#25"] }, { "name": "mercurialVaultProgram", "isMut": false, "isSigner": false, - "docs": ["#27"] + "docs": ["#26"] }, { "name": "credixProgram", "isMut": false, "isSigner": false, - "docs": ["#28"] + "docs": ["#27"] }, { "name": "uxdProgram", "isMut": false, "isSigner": false, - "docs": ["#29"] + "docs": ["#28"] }, { "name": "rent", "isMut": false, "isSigner": false, - "docs": ["#30"] + "docs": ["#29"] } ], "args": [ @@ -544,51 +503,45 @@ }, { "name": "credixLpDepository", - "isMut": false, + "isMut": true, "isSigner": false, "docs": ["#15"] }, - { - "name": "alloyxVaultDepository", - "isMut": false, - "isSigner": false, - "docs": ["#16"] - }, { "name": "systemProgram", "isMut": false, "isSigner": false, - "docs": ["#17"] + "docs": ["#16"] }, { "name": "tokenProgram", "isMut": false, "isSigner": false, - "docs": ["#18"] + "docs": ["#17"] }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false, - "docs": ["#19"] + "docs": ["#18"] }, { "name": "mercurialVaultProgram", "isMut": false, "isSigner": false, - "docs": ["#20"] + "docs": ["#19"] }, { "name": "uxdProgram", "isMut": false, "isSigner": false, - "docs": ["#21"] + "docs": ["#20"] }, { "name": "rent", "isMut": false, "isSigner": false, - "docs": ["#22"] + "docs": ["#21"] } ], "args": [ @@ -1810,31 +1763,31 @@ "docs": ["#2"] }, { - "name": "collateralMint", - "isMut": false, + "name": "identityDepository", + "isMut": true, "isSigner": false, "docs": ["#3"] }, { - "name": "identityDepository", - "isMut": false, + "name": "mercurialVaultDepository", + "isMut": true, "isSigner": false, "docs": ["#4"] }, { - "name": "mercurialVaultDepository", - "isMut": false, + "name": "depository", + "isMut": true, "isSigner": false, "docs": ["#5"] }, { - "name": "credixLpDepository", - "isMut": true, + "name": "collateralMint", + "isMut": false, "isSigner": false, "docs": ["#6"] }, { - "name": "credixLpDepositoryShares", + "name": "depositoryShares", "isMut": true, "isSigner": false, "docs": ["#7"] @@ -1875,23 +1828,17 @@ "isSigner": false, "docs": ["#13"] }, - { - "name": "alloyxVaultDepository", - "isMut": false, - "isSigner": false, - "docs": ["#14"] - }, { "name": "systemProgram", "isMut": false, "isSigner": false, - "docs": ["#15"] + "docs": ["#14"] }, { "name": "credixProgram", "isMut": false, "isSigner": false, - "docs": ["#16"] + "docs": ["#15"] } ], "args": [] @@ -1914,43 +1861,43 @@ "docs": ["#2"] }, { - "name": "collateralMint", - "isMut": false, + "name": "identityDepository", + "isMut": true, "isSigner": false, "docs": ["#3"] }, { - "name": "identityDepository", + "name": "identityDepositoryCollateral", "isMut": true, "isSigner": false, "docs": ["#4"] }, { - "name": "identityDepositoryCollateral", + "name": "mercurialVaultDepository", "isMut": true, "isSigner": false, "docs": ["#5"] }, { - "name": "mercurialVaultDepository", - "isMut": false, + "name": "depository", + "isMut": true, "isSigner": false, "docs": ["#6"] }, { - "name": "credixLpDepository", - "isMut": true, + "name": "collateralMint", + "isMut": false, "isSigner": false, "docs": ["#7"] }, { - "name": "credixLpDepositoryCollateral", + "name": "depositoryCollateral", "isMut": true, "isSigner": false, "docs": ["#8"] }, { - "name": "credixLpDepositoryShares", + "name": "depositoryShares", "isMut": true, "isSigner": false, "docs": ["#9"] @@ -2015,432 +1962,84 @@ "isSigner": false, "docs": ["#19"] }, - { - "name": "alloyxVaultDepository", - "isMut": false, - "isSigner": false, - "docs": ["#20"] - }, { "name": "profitsBeneficiaryCollateral", "isMut": true, "isSigner": false, - "docs": ["#21"] + "docs": ["#20"] }, { "name": "systemProgram", "isMut": false, "isSigner": false, - "docs": ["#22"] + "docs": ["#21"] }, { "name": "tokenProgram", "isMut": false, "isSigner": false, - "docs": ["#23"] + "docs": ["#22"] }, { "name": "associatedTokenProgram", "isMut": false, "isSigner": false, - "docs": ["#24"] + "docs": ["#23"] }, { "name": "credixProgram", "isMut": false, "isSigner": false, - "docs": ["#25"] + "docs": ["#24"] }, { "name": "rent", "isMut": false, "isSigner": false, - "docs": ["#26"] + "docs": ["#25"] } ], "args": [] }, { - "name": "registerAlloyxVaultDepository", + "name": "freezeProgram", + "docs": [ + "Freeze or resume all ixs associated with the controller (except this one).", + "", + "Parameters:", + "- freeze: bool param to flip the `is_frozen` property in the controller", + "", + "Note:", + "This is a wildcard to stop the program temporarily when a vulnerability has been detected to allow the team to do servicing work.", + "" + ], "accounts": [ { "name": "authority", "isMut": false, "isSigner": true, - "docs": ["#1"] - }, - { - "name": "payer", - "isMut": true, - "isSigner": true, - "docs": ["#2"] + "docs": [ + "#1 Authored call accessible only to the signer matching Controller.authority" + ] }, { "name": "controller", "isMut": true, "isSigner": false, - "docs": ["#3"] - }, - { - "name": "depository", - "isMut": true, - "isSigner": false, - "docs": ["#4"] - }, - { - "name": "collateralMint", - "isMut": false, - "isSigner": false, - "docs": ["#5"] - }, - { - "name": "depositoryCollateral", - "isMut": true, - "isSigner": false, - "docs": ["#6"] - }, - { - "name": "depositoryShares", - "isMut": true, - "isSigner": false, - "docs": ["#7"] - }, - { - "name": "alloyxVaultInfo", - "isMut": false, - "isSigner": false, - "docs": ["#8"] - }, - { - "name": "alloyxVaultCollateral", - "isMut": false, - "isSigner": false, - "docs": ["#9"] - }, - { - "name": "alloyxVaultShares", - "isMut": false, - "isSigner": false, - "docs": ["#10"] - }, - { - "name": "alloyxVaultMint", - "isMut": false, - "isSigner": false, - "docs": ["#11"] - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false, - "docs": ["#12"] - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false, - "docs": ["#13"] - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false, - "docs": ["#14"] - }, - { - "name": "rent", - "isMut": false, - "isSigner": false, - "docs": ["#15"] + "docs": [ + "#2 The top level UXDProgram on chain account managing the redeemable mint" + ] } ], "args": [ { - "name": "mintingFeeInBps", - "type": "u8" - }, - { - "name": "redeemingFeeInBps", - "type": "u8" - }, - { - "name": "redeemableAmountUnderManagementCap", - "type": "u64" + "name": "freeze", + "type": "bool" } ] - }, - { - "name": "rebalanceAlloyxVaultDepository", - "accounts": [ - { - "name": "payer", - "isMut": true, - "isSigner": true, - "docs": ["#1"] - }, - { - "name": "payerCollateral", - "isMut": true, - "isSigner": false, - "docs": [ - "#2 - This account will be responsible for paying the precision loss" - ] - }, - { - "name": "controller", - "isMut": true, - "isSigner": false, - "docs": ["#3"] - }, - { - "name": "collateralMint", - "isMut": false, - "isSigner": false, - "docs": ["#4"] - }, - { - "name": "identityDepository", - "isMut": true, - "isSigner": false, - "docs": ["#5"] - }, - { - "name": "identityDepositoryCollateral", - "isMut": true, - "isSigner": false, - "docs": ["#6"] - }, - { - "name": "mercurialVaultDepository", - "isMut": false, - "isSigner": false, - "docs": ["#7"] - }, - { - "name": "credixLpDepository", - "isMut": false, - "isSigner": false, - "docs": ["#8"] - }, - { - "name": "alloyxVaultDepository", - "isMut": true, - "isSigner": false, - "docs": ["#9"] - }, - { - "name": "alloyxVaultDepositoryCollateral", - "isMut": true, - "isSigner": false, - "docs": ["#10"] - }, - { - "name": "alloyxVaultDepositoryShares", - "isMut": true, - "isSigner": false, - "docs": ["#11"] - }, - { - "name": "alloyxVaultInfo", - "isMut": false, - "isSigner": false, - "docs": ["#12"] - }, - { - "name": "alloyxVaultCollateral", - "isMut": true, - "isSigner": false, - "docs": ["#13"] - }, - { - "name": "alloyxVaultShares", - "isMut": true, - "isSigner": false, - "docs": ["#14"] - }, - { - "name": "alloyxVaultMint", - "isMut": true, - "isSigner": false, - "docs": ["#15"] - }, - { - "name": "alloyxVaultPass", - "isMut": false, - "isSigner": false, - "docs": ["#16"] - }, - { - "name": "profitsBeneficiaryCollateral", - "isMut": true, - "isSigner": false, - "docs": ["#17"] - }, - { - "name": "systemProgram", - "isMut": false, - "isSigner": false, - "docs": ["#18"] - }, - { - "name": "tokenProgram", - "isMut": false, - "isSigner": false, - "docs": ["#19"] - }, - { - "name": "associatedTokenProgram", - "isMut": false, - "isSigner": false, - "docs": ["#20"] - }, - { - "name": "alloyxProgram", - "isMut": false, - "isSigner": false, - "docs": ["#21"] - } - ], - "args": [ - { - "name": "vaultId", - "type": "string" - } - ] - }, - { - "name": "freezeProgram", - "docs": [ - "Freeze or resume all ixs associated with the controller (except this one).", - "", - "Parameters:", - "- freeze: bool param to flip the `is_frozen` property in the controller", - "", - "Note:", - "This is a wildcard to stop the program temporarily when a vulnerability has been detected to allow the team to do servicing work.", - "" - ], - "accounts": [ - { - "name": "authority", - "isMut": false, - "isSigner": true, - "docs": [ - "#1 Authored call accessible only to the signer matching Controller.authority" - ] - }, - { - "name": "controller", - "isMut": true, - "isSigner": false, - "docs": [ - "#2 The top level UXDProgram on chain account managing the redeemable mint" - ] - } - ], - "args": [ - { - "name": "freeze", - "type": "bool" - } - ] - } - ], - "accounts": [ - { - "name": "AlloyxVaultDepository", - "type": { - "kind": "struct", - "fields": [ - { - "name": "bump", - "type": "u8" - }, - { - "name": "version", - "type": "u8" - }, - { - "name": "controller", - "type": "publicKey" - }, - { - "name": "collateralMint", - "type": "publicKey" - }, - { - "name": "depositoryCollateral", - "type": "publicKey" - }, - { - "name": "depositoryShares", - "type": "publicKey" - }, - { - "name": "alloyxVaultInfo", - "type": "publicKey" - }, - { - "name": "alloyxVaultCollateral", - "type": "publicKey" - }, - { - "name": "alloyxVaultShares", - "type": "publicKey" - }, - { - "name": "alloyxVaultMint", - "type": "publicKey" - }, - { - "name": "redeemableAmountUnderManagementCap", - "type": "u64" - }, - { - "name": "mintingFeeInBps", - "type": "u8" - }, - { - "name": "redeemingFeeInBps", - "type": "u8" - }, - { - "name": "mintingDisabled", - "type": "bool" - }, - { - "name": "collateralAmountDeposited", - "type": "u64" - }, - { - "name": "redeemableAmountUnderManagement", - "type": "u64" - }, - { - "name": "mintingFeeTotalAccrued", - "type": "u64" - }, - { - "name": "redeemingFeeTotalAccrued", - "type": "u64" - }, - { - "name": "profitsTotalCollected", - "type": "u64" - }, - { - "name": "profitsBeneficiaryCollateral", - "type": "publicKey" - }, - { - "name": "reserved", - "type": { - "array": ["u8", 803] - } - } - ] - } - }, + } + ], + "accounts": [ { "name": "Controller", "type": { @@ -2501,9 +2100,29 @@ { "name": "unused4", "type": { - "array": ["u8", 266] + "array": ["u8", 8] + } + }, + { + "name": "registeredMercurialVaultDepositories", + "type": { + "array": ["publicKey", 4] } }, + { + "name": "registeredMercurialVaultDepositoriesCount", + "type": "u8" + }, + { + "name": "registeredCredixLpDepositories", + "type": { + "array": ["publicKey", 4] + } + }, + { + "name": "registeredCredixLpDepositoriesCount", + "type": "u8" + }, { "name": "profitsTotalCollected", "type": "u128" @@ -2552,18 +2171,10 @@ "name": "lastOutflowSlot", "type": "u64" }, - { - "name": "alloyxVaultDepository", - "type": "publicKey" - }, - { - "name": "alloyxVaultDepositoryWeightBps", - "type": "u16" - }, { "name": "reserved", "type": { - "array": ["u8", 60] + "array": ["u8", 94] } } ] @@ -2871,44 +2482,6 @@ ] } }, - { - "name": "EditAlloyxVaultDepositoryFields", - "type": { - "kind": "struct", - "fields": [ - { - "name": "redeemableAmountUnderManagementCap", - "type": { - "option": "u64" - } - }, - { - "name": "mintingFeeInBps", - "type": { - "option": "u8" - } - }, - { - "name": "redeemingFeeInBps", - "type": { - "option": "u8" - } - }, - { - "name": "mintingDisabled", - "type": { - "option": "bool" - } - }, - { - "name": "profitsBeneficiaryCollateral", - "type": { - "option": "publicKey" - } - } - ] - } - }, { "name": "EditDepositoriesRoutingWeightBps", "type": { @@ -2925,10 +2498,6 @@ { "name": "credixLpDepositoryWeightBps", "type": "u16" - }, - { - "name": "alloyxVaultDepositoryWeightBps", - "type": "u16" } ] } @@ -2949,10 +2518,6 @@ { "name": "credixLpDepository", "type": "publicKey" - }, - { - "name": "alloyxVaultDepository", - "type": "publicKey" } ] } @@ -3192,11 +2757,6 @@ "name": "credixLpDepositoryWeightBps", "type": "u16", "index": false - }, - { - "name": "alloyxVaultDepositoryWeightBps", - "type": "u16", - "index": false } ] }, @@ -3227,11 +2787,6 @@ "name": "credixLpDepository", "type": "publicKey", "index": false - }, - { - "name": "alloyxVaultDepository", - "type": "publicKey", - "index": false } ] }, @@ -3755,41 +3310,6 @@ } ] }, - { - "name": "RegisterAlloyxVaultDepositoryEvent", - "fields": [ - { - "name": "controllerVersion", - "type": "u8", - "index": true - }, - { - "name": "depositoryVersion", - "type": "u8", - "index": true - }, - { - "name": "controller", - "type": "publicKey", - "index": true - }, - { - "name": "depository", - "type": "publicKey", - "index": true - }, - { - "name": "collateralMint", - "type": "publicKey", - "index": false - }, - { - "name": "alloyxVaultInfo", - "type": "publicKey", - "index": false - } - ] - }, { "name": "FreezeProgramEvent", "fields": [ @@ -3980,7 +3500,7 @@ { "code": 6033, "name": "InvalidDepository", - "msg": "The Depository provided is not matching the one stored in the Controller." + "msg": "The Depository provided is not registered with the Controller." }, { "code": 6034, @@ -4106,51 +3626,6 @@ "code": 6058, "name": "InvalidOutflowLimitPerEpochBps", "msg": "The outflow_limit_per_epoch_bps is invalid: over 100%." - }, - { - "code": 6059, - "name": "CollateralMintMismatch", - "msg": "The collateral_mint is not matching with the integration's collateral mint." - }, - { - "code": 6060, - "name": "CollateralMintConflict", - "msg": "The collateral_mint should not be equal to the integration's custom mint." - }, - { - "code": 6061, - "name": "CustomMintMismatch", - "msg": "The passed custom mint is not matching with the integration's mint." - }, - { - "code": 6062, - "name": "CustomMintConflict", - "msg": "The passed custom mint should not be equal to the collateral mint." - }, - { - "code": 6063, - "name": "InvalidAlloyxVaultInfo", - "msg": "The alloyx_vault_info account isn't the depository's one." - }, - { - "code": 6064, - "name": "InvalidAlloyxVaultCollateral", - "msg": "The alloyx_vault_collateral account isn't the depository's one." - }, - { - "code": 6065, - "name": "InvalidAlloyxVaultShares", - "msg": "The alloyx_vault_shares account isn't the depository's one." - }, - { - "code": 6066, - "name": "InvalidAlloyxVaultMint", - "msg": "The alloyx_vault_mint account isn't the depository's one." - }, - { - "code": 6067, - "name": "InvalidAlloyxVaultPass", - "msg": "The alloyx_vault_pass account isn't for the correct investor." } ], "metadata": {