Class MarketAccount

Implements

Constructors

  • Parameters

    • publicKey: PublicKey
    • parseData: DecodeStruct<{
          fields: [{
              name: "pool";
              type: "publicKey";
          }, {
              name: "targetCustody";
              type: "publicKey";
          }, {
              name: "collateralCustody";
              type: "publicKey";
          }, {
              name: "side";
              type: {
                  defined: "Side";
              };
          }, {
              name: "correlation";
              type: "bool";
          }, {
              name: "maxPayoffBps";
              type: "u64";
          }, {
              name: "permissions";
              type: {
                  defined: "MarketPermissions";
              };
          }];
          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 MarketAccount

Properties

bump: number
collateralCustody: PublicKey
collateralCustodyId: BN
collectivePosition: DecodeStruct<{
    fields: [{
        name: "openPositions";
        type: "u64";
    }, {
        name: "updateTime";
        type: "i64";
    }, {
        name: "averageEntryPrice";
        type: {
            defined: "OraclePrice";
        };
    }, {
        name: "sizeAmount";
        type: "u64";
    }, {
        name: "sizeUsd";
        type: "u64";
    }, {
        name: "lockedAmount";
        type: "u64";
    }, {
        name: "lockedUsd";
        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: "openPositions";
        type: "u64";
    }, {
        name: "updateTime";
        type: "i64";
    }, {
        name: "averageEntryPrice";
        type: {
            defined: "OraclePrice";
        };
    }, {
        name: "sizeAmount";
        type: "u64";
    }, {
        name: "sizeUsd";
        type: "u64";
    }, {
        name: "lockedAmount";
        type: "u64";
    }, {
        name: "lockedUsd";
        type: "u64";
    }]
  • kind: "struct"
correlation: boolean
maxPayoffBps: BN
openInterest: BN
permissions: DecodeStruct<{
    fields: [{
        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: "allowOpenPosition";
        type: "bool";
    }, {
        name: "allowClosePosition";
        type: "bool";
    }, {
        name: "allowCollateralWithdrawal";
        type: "bool";
    }, {
        name: "allowSizeChange";
        type: "bool";
    }]
  • kind: "struct"
pool: PublicKey
publicKey: PublicKey
side: Side
targetCustody: PublicKey
targetCustodyId: BN

Methods

  • Parameters

    • market: DecodeStruct<{
          fields: [{
              name: "pool";
              type: "publicKey";
          }, {
              name: "targetCustody";
              type: "publicKey";
          }, {
              name: "collateralCustody";
              type: "publicKey";
          }, {
              name: "side";
              type: {
                  defined: "Side";
              };
          }, {
              name: "correlation";
              type: "bool";
          }, {
              name: "maxPayoffBps";
              type: "u64";
          }, {
              name: "permissions";
              type: {
                  defined: "MarketPermissions";
              };
          }];
          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: "targetCustody";
              type: "publicKey";
          }, {
              name: "collateralCustody";
              type: "publicKey";
          }, {
              name: "side";
              type: {
                  defined: "Side";
              };
          }, {
              name: "correlation";
              type: "bool";
          }, {
              name: "maxPayoffBps";
              type: "u64";
          }, {
              name: "permissions";
              type: {
                  defined: "MarketPermissions";
              };
          }];
          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 MarketAccount