Class CustodyAccount

Implements

Constructors

  • Parameters

    • publicKey: PublicKey
    • parseData: DecodeStruct<{
          fields: [{
              name: "pool";
              type: "publicKey";
          }, {
              name: "mint";
              type: "publicKey";
          }, {
              name: "tokenAccount";
              type: "publicKey";
          }, {
              name: "decimals";
              type: "u8";
          }, {
              name: "isStable";
              type: "bool";
          }, {
              name: "depegAdjustment";
              type: "bool";
          }, {
              name: "isVirtual";
              type: "bool";
          }, {
              name: "distributeRewards";
              type: "bool";
          }];
          kind: "struct";
      }, RecursiveDepth4<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: ...;
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>>

    Returns CustodyAccount

Properties

assets: DecodeStruct<{
    fields: [{
        name: "collateral";
        type: "u64";
    }, {
        name: "owned";
        type: "u64";
    }, {
        name: "locked";
        type: "u64";
    }];
    kind: "struct";
}, DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: "TokenRatios";
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: "TokenRatios";
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: ...;
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], EmptyDefined>>>>

Type declaration

  • fields: [{
        name: "collateral";
        type: "u64";
    }, {
        name: "owned";
        type: "u64";
    }, {
        name: "locked";
        type: "u64";
    }]
  • kind: "struct"
borrowRate: DecodeStruct<{
    fields: [{
        name: "baseRate";
        type: "u64";
    }, {
        name: "slope1";
        type: "u64";
    }, {
        name: "slope2";
        type: "u64";
    }, {
        name: "optimalUtilization";
        type: "u64";
    }];
    kind: "struct";
}, DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: "TokenRatios";
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: "TokenRatios";
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: ...;
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], EmptyDefined>>>>

Type declaration

  • fields: [{
        name: "baseRate";
        type: "u64";
    }, {
        name: "slope1";
        type: "u64";
    }, {
        name: "slope2";
        type: "u64";
    }, {
        name: "optimalUtilization";
        type: "u64";
    }]
  • kind: "struct"
borrowRateState: DecodeStruct<{
    fields: [{
        name: "currentRate";
        type: "u64";
    }, {
        name: "cumulativeLockFee";
        type: "u128";
    }, {
        name: "lastUpdate";
        type: "i64";
    }];
    kind: "struct";
}, DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: "TokenRatios";
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: "TokenRatios";
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: ...;
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], EmptyDefined>>>>

Type declaration

  • fields: [{
        name: "currentRate";
        type: "u64";
    }, {
        name: "cumulativeLockFee";
        type: "u128";
    }, {
        name: "lastUpdate";
        type: "i64";
    }]
  • kind: "struct"
bump: number
decimals: number
depegAdjustment: boolean
distributeRewards: boolean
fees: DecodeStruct<{
    fields: [{
        name: "mode";
        type: {
            defined: "FeesMode";
        };
    }, {
        name: "swapIn";
        type: {
            defined: "RatioFees";
        };
    }, {
        name: "swapOut";
        type: {
            defined: "RatioFees";
        };
    }, {
        name: "stableSwapIn";
        type: {
            defined: "RatioFees";
        };
    }, {
        name: "stableSwapOut";
        type: {
            defined: "RatioFees";
        };
    }, {
        name: "addLiquidity";
        type: {
            defined: "RatioFees";
        };
    }];
    kind: "struct";
}, DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: "TokenRatios";
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: "TokenRatios";
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: ...;
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], EmptyDefined>>>>

Type declaration

  • fields: [{
        name: "mode";
        type: {
            defined: "FeesMode";
        };
    }, {
        name: "swapIn";
        type: {
            defined: "RatioFees";
        };
    }, {
        name: "swapOut";
        type: {
            defined: "RatioFees";
        };
    }, {
        name: "stableSwapIn";
        type: {
            defined: "RatioFees";
        };
    }, {
        name: "stableSwapOut";
        type: {
            defined: "RatioFees";
        };
    }, {
        name: "addLiquidity";
        type: {
            defined: "RatioFees";
        };
    }]
  • kind: "struct"
feesStats: DecodeStruct<{
    fields: [{
        name: "accrued";
        type: "u128";
    }, {
        name: "distributed";
        type: "u128";
    }, {
        name: "paid";
        type: "u128";
    }, {
        name: "rewardPerLpStaked";
        type: "u64";
    }, {
        name: "protocolFee";
        type: "u64";
    }];
    kind: "struct";
}, DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: "TokenRatios";
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: "TokenRatios";
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: ...;
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], EmptyDefined>>>>

Type declaration

  • fields: [{
        name: "accrued";
        type: "u128";
    }, {
        name: "distributed";
        type: "u128";
    }, {
        name: "paid";
        type: "u128";
    }, {
        name: "rewardPerLpStaked";
        type: "u64";
    }, {
        name: "protocolFee";
        type: "u64";
    }]
  • kind: "struct"
isStable: boolean
isVirtual: boolean
limitPriceBufferBps: BN
minReserveUsd: BN
mint: PublicKey
null: number
oracle: DecodeStruct<{
    fields: [{
        name: "intOracleAccount";
        type: "publicKey";
    }, {
        name: "extOracleAccount";
        type: "publicKey";
    }, {
        name: "oracleType";
        type: {
            defined: "OracleType";
        };
    }, {
        name: "maxDivergenceBps";
        type: "u64";
    }, {
        name: "maxConfBps";
        type: "u64";
    }, {
        name: "maxPriceAgeSec";
        type: "u32";
    }, {
        name: "maxBackupAgeSec";
        type: "u32";
    }];
    kind: "struct";
}, DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: "TokenRatios";
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: "TokenRatios";
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: ...;
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], EmptyDefined>>>>

Type declaration

  • fields: [{
        name: "intOracleAccount";
        type: "publicKey";
    }, {
        name: "extOracleAccount";
        type: "publicKey";
    }, {
        name: "oracleType";
        type: {
            defined: "OracleType";
        };
    }, {
        name: "maxDivergenceBps";
        type: "u64";
    }, {
        name: "maxConfBps";
        type: "u64";
    }, {
        name: "maxPriceAgeSec";
        type: "u32";
    }, {
        name: "maxBackupAgeSec";
        type: "u32";
    }]
  • kind: "struct"
padding: number[]
permissions: DecodeStruct<{
    fields: [{
        name: "allowSwap";
        type: "bool";
    }, {
        name: "allowAddLiquidity";
        type: "bool";
    }, {
        name: "allowRemoveLiquidity";
        type: "bool";
    }, {
        name: "allowOpenPosition";
        type: "bool";
    }, {
        name: "allowClosePosition";
        type: "bool";
    }, {
        name: "allowCollateralWithdrawal";
        type: "bool";
    }, {
        name: "allowSizeChange";
        type: "bool";
    }];
    kind: "struct";
}, DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: "TokenRatios";
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: "TokenRatios";
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: ...;
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], EmptyDefined>>>>

Type declaration

  • fields: [{
        name: "allowSwap";
        type: "bool";
    }, {
        name: "allowAddLiquidity";
        type: "bool";
    }, {
        name: "allowRemoveLiquidity";
        type: "bool";
    }, {
        name: "allowOpenPosition";
        type: "bool";
    }, {
        name: "allowClosePosition";
        type: "bool";
    }, {
        name: "allowCollateralWithdrawal";
        type: "bool";
    }, {
        name: "allowSizeChange";
        type: "bool";
    }]
  • kind: "struct"
pool: PublicKey
pricing: DecodeStruct<{
    fields: [{
        name: "tradeSpreadMin";
        type: "u64";
    }, {
        name: "tradeSpreadMax";
        type: "u64";
    }, {
        name: "swapSpread";
        type: "u64";
    }, {
        name: "minInitialLeverage";
        type: "u64";
    }, {
        name: "maxInitialLeverage";
        type: "u64";
    }, {
        name: "maxLeverage";
        type: "u64";
    }, {
        name: "minCollateralUsd";
        type: "u64";
    }];
    kind: "struct";
}, DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: "TokenRatios";
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: "TokenRatios";
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], DecodedHelper<[{
    name: "AddCollateralParams";
    type: {
        fields: [{
            name: "collateralDelta";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCollectionParams";
    type: {
        fields: [];
        kind: "struct";
    };
}, {
    name: "AddCompoundingLiquidityParams";
    type: {
        fields: [{
            name: "amountIn";
            type: "u64";
        }, {
            name: "minCompoundingAmountOut";
            type: "u64";
        }];
        kind: "struct";
    };
}, {
    name: "AddCustodyParams";
    type: {
        fields: [{
            name: "isStable";
            type: "bool";
        }, {
            name: "depegAdjustment";
            type: "bool";
        }, {
            name: "isVirtual";
            type: "bool";
        }, {
            name: "oracle";
            type: {
                defined: "OracleParams";
            };
        }, {
            name: "pricing";
            type: {
                defined: "PricingParams";
            };
        }, {
            name: "permissions";
            type: {
                defined: "Permissions";
            };
        }, {
            name: "fees";
            type: {
                defined: "Fees";
            };
        }, {
            name: "borrowRate";
            type: {
                defined: "BorrowRateParams";
            };
        }, {
            name: "ratios";
            type: {
                vec: {
                    defined: ...;
                };
            };
        }];
        kind: "struct";
    };
}, {
    name: "AddInternalOracleParams";
    type: {
        fields: [];
        kind: "struct";
    };
}], EmptyDefined>>>>

Type declaration

  • fields: [{
        name: "tradeSpreadMin";
        type: "u64";
    }, {
        name: "tradeSpreadMax";
        type: "u64";
    }, {
        name: "swapSpread";
        type: "u64";
    }, {
        name: "minInitialLeverage";
        type: "u64";
    }, {
        name: "maxInitialLeverage";
        type: "u64";
    }, {
        name: "maxLeverage";
        type: "u64";
    }, {
        name: "minCollateralUsd";
        type: "u64";
    }]
  • kind: "struct"
publicKey: PublicKey
reservedAmount: BN
rewardThreshold: BN
sizeFactorForSpread: number
tokenAccount: PublicKey
tokenAccountBump: number

Methods

  • Parameters

    • custody: DecodeStruct<{
          fields: [{
              name: "pool";
              type: "publicKey";
          }, {
              name: "mint";
              type: "publicKey";
          }, {
              name: "tokenAccount";
              type: "publicKey";
          }, {
              name: "decimals";
              type: "u8";
          }, {
              name: "isStable";
              type: "bool";
          }, {
              name: "depegAdjustment";
              type: "bool";
          }, {
              name: "isVirtual";
              type: "bool";
          }, {
              name: "distributeRewards";
              type: "bool";
          }];
          kind: "struct";
      }, RecursiveDepth4<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: ...;
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>>

    Returns void

  • Parameters

    • publicKey: PublicKey
    • parseData: DecodeStruct<{
          fields: [{
              name: "pool";
              type: "publicKey";
          }, {
              name: "mint";
              type: "publicKey";
          }, {
              name: "tokenAccount";
              type: "publicKey";
          }, {
              name: "decimals";
              type: "u8";
          }, {
              name: "isStable";
              type: "bool";
          }, {
              name: "depegAdjustment";
              type: "bool";
          }, {
              name: "isVirtual";
              type: "bool";
          }, {
              name: "distributeRewards";
              type: "bool";
          }];
          kind: "struct";
      }, RecursiveDepth4<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: "TokenRatios";
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: "OracleParams";
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: "PricingParams";
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: "Permissions";
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: "Fees";
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: "BorrowRateParams";
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: {
                          defined: ...;
                      };
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], DecodedHelper<[{
          name: "AddCollateralParams";
          type: {
              fields: [{
                  name: "collateralDelta";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCollectionParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }, {
          name: "AddCompoundingLiquidityParams";
          type: {
              fields: [{
                  name: "amountIn";
                  type: "u64";
              }, {
                  name: "minCompoundingAmountOut";
                  type: "u64";
              }];
              kind: "struct";
          };
      }, {
          name: "AddCustodyParams";
          type: {
              fields: [{
                  name: "isStable";
                  type: "bool";
              }, {
                  name: "depegAdjustment";
                  type: "bool";
              }, {
                  name: "isVirtual";
                  type: "bool";
              }, {
                  name: "oracle";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "pricing";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "permissions";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "fees";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "borrowRate";
                  type: {
                      defined: ...;
                  };
              }, {
                  name: "ratios";
                  type: {
                      vec: ...;
                  };
              }];
              kind: "struct";
          };
      }, {
          name: "AddInternalOracleParams";
          type: {
              fields: [];
              kind: "struct";
          };
      }], EmptyDefined>>>>>

    Returns CustodyAccount