@aave/graphql 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -185,7 +185,8 @@ type introspection_types = {
185
185
  'UserWithdrawTransaction': { kind: 'OBJECT'; name: 'UserWithdrawTransaction'; fields: { 'amount': { name: 'amount'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TokenAmount'; ofType: null; }; } }; 'blockExplorerUrl': { name: 'blockExplorerUrl'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'reserve': { name: 'reserve'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ReserveInfo'; ofType: null; }; } }; 'timestamp': { name: 'timestamp'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; } }; 'txHash': { name: 'txHash'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'TxHash'; ofType: null; }; } }; }; };
186
186
  'Vault': { kind: 'OBJECT'; name: 'Vault'; fields: { 'address': { name: 'address'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; } }; 'balance': { name: 'balance'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TokenAmount'; ofType: null; }; } }; 'chainId': { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; } }; 'fee': { name: 'fee'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'PercentValue'; ofType: null; }; } }; 'feesBalance': { name: 'feesBalance'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TokenAmount'; ofType: null; }; } }; 'owner': { name: 'owner'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; } }; 'shareName': { name: 'shareName'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'shareSymbol': { name: 'shareSymbol'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'totalFeeRevenue': { name: 'totalFeeRevenue'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TokenAmount'; ofType: null; }; } }; 'usedReserve': { name: 'usedReserve'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Reserve'; ofType: null; }; } }; 'userShares': { name: 'userShares'; type: { kind: 'OBJECT'; name: 'UserVaultShares'; ofType: null; } }; 'vaultApr': { name: 'vaultApr'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'PercentValue'; ofType: null; }; } }; }; };
187
187
  'VaultDeployRequest': { kind: 'INPUT_OBJECT'; name: 'VaultDeployRequest'; isOneOf: false; inputFields: [{ name: 'underlyingToken'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'market'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }, { name: 'deployer'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'owner'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'initialFee'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'BigDecimal'; ofType: null; }; }; defaultValue: null }, { name: 'shareName'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; }; defaultValue: null }, { name: 'shareSymbol'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; }; defaultValue: null }, { name: 'initialLockDeposit'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'BigDecimal'; ofType: null; }; }; defaultValue: null }]; };
188
- 'VaultDepositRequest': { kind: 'INPUT_OBJECT'; name: 'VaultDepositRequest'; isOneOf: false; inputFields: [{ name: 'vault'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'amount'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'Erc20AmountInput'; ofType: null; }; }; defaultValue: null }, { name: 'depositor'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'sharesRecipient'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }]; };
188
+ 'VaultDepositAmountInput': { kind: 'INPUT_OBJECT'; name: 'VaultDepositAmountInput'; isOneOf: false; inputFields: [{ name: 'value'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'BigDecimal'; ofType: null; }; }; defaultValue: null }, { name: 'asAToken'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; }; defaultValue: "false" }, { name: 'permitSig'; type: { kind: 'INPUT_OBJECT'; name: 'ERC712Signature'; ofType: null; }; defaultValue: null }]; };
189
+ 'VaultDepositRequest': { kind: 'INPUT_OBJECT'; name: 'VaultDepositRequest'; isOneOf: false; inputFields: [{ name: 'vault'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'amount'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'VaultDepositAmountInput'; ofType: null; }; }; defaultValue: null }, { name: 'depositor'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'sharesRecipient'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }]; };
189
190
  'VaultInput': { kind: 'INPUT_OBJECT'; name: 'VaultInput'; isOneOf: false; inputFields: [{ name: 'address'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }]; };
190
191
  'VaultMintShareInput': { kind: 'INPUT_OBJECT'; name: 'VaultMintShareInput'; isOneOf: false; inputFields: [{ name: 'amount'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'BigDecimal'; ofType: null; }; }; defaultValue: null }, { name: 'asAToken'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; }; defaultValue: "false" }, { name: 'permitSig'; type: { kind: 'INPUT_OBJECT'; name: 'ERC712Signature'; ofType: null; }; defaultValue: null }]; };
191
192
  'VaultMintSharesRequest': { kind: 'INPUT_OBJECT'; name: 'VaultMintSharesRequest'; isOneOf: false; inputFields: [{ name: 'vault'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'shares'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'VaultMintShareInput'; ofType: null; }; }; defaultValue: null }, { name: 'minter'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'sharesRecipient'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }]; };
@@ -201,9 +202,9 @@ type introspection_types = {
201
202
  'VaultUserTransactionHistoryRequest': { kind: 'INPUT_OBJECT'; name: 'VaultUserTransactionHistoryRequest'; isOneOf: false; inputFields: [{ name: 'vault'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }, { name: 'user'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'filter'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'VaultUserHistoryAction'; ofType: null; }; }; }; }; defaultValue: "[DEPOSIT, WITHDRAW]" }, { name: 'orderBy'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'VaultUserTransactionHistoryOrderBy'; ofType: null; }; }; defaultValue: "{date: ASC}" }, { name: 'pageSize'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'PageSize'; ofType: null; }; }; defaultValue: "FIFTY" }, { name: 'cursor'; type: { kind: 'SCALAR'; name: 'Cursor'; ofType: null; }; defaultValue: null }]; };
202
203
  'VaultUserTransactionItem': { kind: 'UNION'; name: 'VaultUserTransactionItem'; fields: {}; possibleTypes: 'VaultUserDepositItem' | 'VaultUserWithdrawItem'; };
203
204
  'VaultUserWithdrawItem': { kind: 'OBJECT'; name: 'VaultUserWithdrawItem'; fields: { 'asset': { name: 'asset'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TokenAmount'; ofType: null; }; } }; 'blockExplorerUrl': { name: 'blockExplorerUrl'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'shares': { name: 'shares'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TokenAmount'; ofType: null; }; } }; 'timestamp': { name: 'timestamp'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; } }; 'txHash': { name: 'txHash'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'TxHash'; ofType: null; }; } }; }; };
205
+ 'VaultWithdrawAmountInput': { kind: 'INPUT_OBJECT'; name: 'VaultWithdrawAmountInput'; isOneOf: false; inputFields: [{ name: 'value'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'BigDecimal'; ofType: null; }; }; defaultValue: null }, { name: 'asAToken'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; }; defaultValue: "false" }, { name: 'permitSig'; type: { kind: 'INPUT_OBJECT'; name: 'ERC712Signature'; ofType: null; }; defaultValue: null }]; };
204
206
  'VaultWithdrawFeesRequest': { kind: 'INPUT_OBJECT'; name: 'VaultWithdrawFeesRequest'; isOneOf: false; inputFields: [{ name: 'vault'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'sendTo'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'amount'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'WithdrawAmount'; ofType: null; }; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }]; };
205
- 'VaultWithdrawInput': { kind: 'INPUT_OBJECT'; name: 'VaultWithdrawInput'; isOneOf: false; inputFields: [{ name: 'amount'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'BigDecimal'; ofType: null; }; }; defaultValue: null }, { name: 'asAToken'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; }; defaultValue: "false" }, { name: 'permitSig'; type: { kind: 'INPUT_OBJECT'; name: 'ERC712Signature'; ofType: null; }; defaultValue: null }]; };
206
- 'VaultWithdrawRequest': { kind: 'INPUT_OBJECT'; name: 'VaultWithdrawRequest'; isOneOf: false; inputFields: [{ name: 'vault'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'underlyingToken'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'VaultWithdrawInput'; ofType: null; }; }; defaultValue: null }, { name: 'sharesOwner'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'authorizedUser'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'recipient'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }]; };
207
+ 'VaultWithdrawRequest': { kind: 'INPUT_OBJECT'; name: 'VaultWithdrawRequest'; isOneOf: false; inputFields: [{ name: 'vault'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'amount'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'VaultWithdrawAmountInput'; ofType: null; }; }; defaultValue: null }, { name: 'sharesOwner'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'authorizedUser'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'recipient'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }]; };
207
208
  'VaultsRequest': { kind: 'INPUT_OBJECT'; name: 'VaultsRequest'; isOneOf: false; inputFields: [{ name: 'criteria'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'VaultsRequestFilterCriteria'; ofType: null; }; }; defaultValue: null }, { name: 'user'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'pageSize'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'PageSize'; ofType: null; }; }; defaultValue: "FIFTY" }, { name: 'cursor'; type: { kind: 'SCALAR'; name: 'Cursor'; ofType: null; }; defaultValue: null }]; };
208
209
  'VaultsRequestFilterCriteria': { kind: 'INPUT_OBJECT'; name: 'VaultsRequestFilterCriteria'; isOneOf: true; inputFields: [{ name: 'vaults'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'VaultInput'; ofType: null; }; }; }; defaultValue: null }, { name: 'ownedBy'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; }; defaultValue: null }]; };
209
210
  'WithdrawAmount': { kind: 'INPUT_OBJECT'; name: 'WithdrawAmount'; isOneOf: true; inputFields: [{ name: 'exact'; type: { kind: 'SCALAR'; name: 'BigDecimal'; ofType: null; }; defaultValue: null }, { name: 'max'; type: { kind: 'SCALAR'; name: 'AlwaysTrue'; ofType: null; }; defaultValue: null }]; };
@@ -8887,8 +8888,8 @@ declare const VaultDepositQuery: gql_tada.TadaDocumentNode<{
8887
8888
  deadline: number;
8888
8889
  value: Signature;
8889
8890
  } | null | undefined;
8891
+ asAToken?: boolean | null | undefined;
8890
8892
  value: BigDecimal;
8891
- currency: EvmAddress;
8892
8893
  };
8893
8894
  vault: EvmAddress;
8894
8895
  };
@@ -9065,13 +9066,13 @@ declare const VaultWithdrawQuery: gql_tada.TadaDocumentNode<{
9065
9066
  recipient?: EvmAddress | null | undefined;
9066
9067
  authorizedUser?: EvmAddress | null | undefined;
9067
9068
  sharesOwner: EvmAddress;
9068
- underlyingToken: {
9069
+ amount: {
9069
9070
  permitSig?: {
9070
9071
  deadline: number;
9071
9072
  value: Signature;
9072
9073
  } | null | undefined;
9073
9074
  asAToken?: boolean | null | undefined;
9074
- amount: BigDecimal;
9075
+ value: BigDecimal;
9075
9076
  };
9076
9077
  vault: EvmAddress;
9077
9078
  };
package/dist/index.d.ts CHANGED
@@ -185,7 +185,8 @@ type introspection_types = {
185
185
  'UserWithdrawTransaction': { kind: 'OBJECT'; name: 'UserWithdrawTransaction'; fields: { 'amount': { name: 'amount'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TokenAmount'; ofType: null; }; } }; 'blockExplorerUrl': { name: 'blockExplorerUrl'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'reserve': { name: 'reserve'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'ReserveInfo'; ofType: null; }; } }; 'timestamp': { name: 'timestamp'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; } }; 'txHash': { name: 'txHash'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'TxHash'; ofType: null; }; } }; }; };
186
186
  'Vault': { kind: 'OBJECT'; name: 'Vault'; fields: { 'address': { name: 'address'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; } }; 'balance': { name: 'balance'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TokenAmount'; ofType: null; }; } }; 'chainId': { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; } }; 'fee': { name: 'fee'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'PercentValue'; ofType: null; }; } }; 'feesBalance': { name: 'feesBalance'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TokenAmount'; ofType: null; }; } }; 'owner': { name: 'owner'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; } }; 'shareName': { name: 'shareName'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'shareSymbol': { name: 'shareSymbol'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'totalFeeRevenue': { name: 'totalFeeRevenue'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TokenAmount'; ofType: null; }; } }; 'usedReserve': { name: 'usedReserve'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'Reserve'; ofType: null; }; } }; 'userShares': { name: 'userShares'; type: { kind: 'OBJECT'; name: 'UserVaultShares'; ofType: null; } }; 'vaultApr': { name: 'vaultApr'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'PercentValue'; ofType: null; }; } }; }; };
187
187
  'VaultDeployRequest': { kind: 'INPUT_OBJECT'; name: 'VaultDeployRequest'; isOneOf: false; inputFields: [{ name: 'underlyingToken'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'market'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }, { name: 'deployer'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'owner'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'initialFee'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'BigDecimal'; ofType: null; }; }; defaultValue: null }, { name: 'shareName'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; }; defaultValue: null }, { name: 'shareSymbol'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; }; defaultValue: null }, { name: 'initialLockDeposit'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'BigDecimal'; ofType: null; }; }; defaultValue: null }]; };
188
- 'VaultDepositRequest': { kind: 'INPUT_OBJECT'; name: 'VaultDepositRequest'; isOneOf: false; inputFields: [{ name: 'vault'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'amount'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'Erc20AmountInput'; ofType: null; }; }; defaultValue: null }, { name: 'depositor'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'sharesRecipient'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }]; };
188
+ 'VaultDepositAmountInput': { kind: 'INPUT_OBJECT'; name: 'VaultDepositAmountInput'; isOneOf: false; inputFields: [{ name: 'value'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'BigDecimal'; ofType: null; }; }; defaultValue: null }, { name: 'asAToken'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; }; defaultValue: "false" }, { name: 'permitSig'; type: { kind: 'INPUT_OBJECT'; name: 'ERC712Signature'; ofType: null; }; defaultValue: null }]; };
189
+ 'VaultDepositRequest': { kind: 'INPUT_OBJECT'; name: 'VaultDepositRequest'; isOneOf: false; inputFields: [{ name: 'vault'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'amount'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'VaultDepositAmountInput'; ofType: null; }; }; defaultValue: null }, { name: 'depositor'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'sharesRecipient'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }]; };
189
190
  'VaultInput': { kind: 'INPUT_OBJECT'; name: 'VaultInput'; isOneOf: false; inputFields: [{ name: 'address'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }]; };
190
191
  'VaultMintShareInput': { kind: 'INPUT_OBJECT'; name: 'VaultMintShareInput'; isOneOf: false; inputFields: [{ name: 'amount'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'BigDecimal'; ofType: null; }; }; defaultValue: null }, { name: 'asAToken'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; }; defaultValue: "false" }, { name: 'permitSig'; type: { kind: 'INPUT_OBJECT'; name: 'ERC712Signature'; ofType: null; }; defaultValue: null }]; };
191
192
  'VaultMintSharesRequest': { kind: 'INPUT_OBJECT'; name: 'VaultMintSharesRequest'; isOneOf: false; inputFields: [{ name: 'vault'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'shares'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'VaultMintShareInput'; ofType: null; }; }; defaultValue: null }, { name: 'minter'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'sharesRecipient'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }]; };
@@ -201,9 +202,9 @@ type introspection_types = {
201
202
  'VaultUserTransactionHistoryRequest': { kind: 'INPUT_OBJECT'; name: 'VaultUserTransactionHistoryRequest'; isOneOf: false; inputFields: [{ name: 'vault'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }, { name: 'user'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'filter'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'VaultUserHistoryAction'; ofType: null; }; }; }; }; defaultValue: "[DEPOSIT, WITHDRAW]" }, { name: 'orderBy'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'VaultUserTransactionHistoryOrderBy'; ofType: null; }; }; defaultValue: "{date: ASC}" }, { name: 'pageSize'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'PageSize'; ofType: null; }; }; defaultValue: "FIFTY" }, { name: 'cursor'; type: { kind: 'SCALAR'; name: 'Cursor'; ofType: null; }; defaultValue: null }]; };
202
203
  'VaultUserTransactionItem': { kind: 'UNION'; name: 'VaultUserTransactionItem'; fields: {}; possibleTypes: 'VaultUserDepositItem' | 'VaultUserWithdrawItem'; };
203
204
  'VaultUserWithdrawItem': { kind: 'OBJECT'; name: 'VaultUserWithdrawItem'; fields: { 'asset': { name: 'asset'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TokenAmount'; ofType: null; }; } }; 'blockExplorerUrl': { name: 'blockExplorerUrl'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'String'; ofType: null; }; } }; 'shares': { name: 'shares'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'OBJECT'; name: 'TokenAmount'; ofType: null; }; } }; 'timestamp': { name: 'timestamp'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'DateTime'; ofType: null; }; } }; 'txHash': { name: 'txHash'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'TxHash'; ofType: null; }; } }; }; };
205
+ 'VaultWithdrawAmountInput': { kind: 'INPUT_OBJECT'; name: 'VaultWithdrawAmountInput'; isOneOf: false; inputFields: [{ name: 'value'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'BigDecimal'; ofType: null; }; }; defaultValue: null }, { name: 'asAToken'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; }; defaultValue: "false" }, { name: 'permitSig'; type: { kind: 'INPUT_OBJECT'; name: 'ERC712Signature'; ofType: null; }; defaultValue: null }]; };
204
206
  'VaultWithdrawFeesRequest': { kind: 'INPUT_OBJECT'; name: 'VaultWithdrawFeesRequest'; isOneOf: false; inputFields: [{ name: 'vault'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'sendTo'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'amount'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'WithdrawAmount'; ofType: null; }; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }]; };
205
- 'VaultWithdrawInput': { kind: 'INPUT_OBJECT'; name: 'VaultWithdrawInput'; isOneOf: false; inputFields: [{ name: 'amount'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'BigDecimal'; ofType: null; }; }; defaultValue: null }, { name: 'asAToken'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'Boolean'; ofType: null; }; }; defaultValue: "false" }, { name: 'permitSig'; type: { kind: 'INPUT_OBJECT'; name: 'ERC712Signature'; ofType: null; }; defaultValue: null }]; };
206
- 'VaultWithdrawRequest': { kind: 'INPUT_OBJECT'; name: 'VaultWithdrawRequest'; isOneOf: false; inputFields: [{ name: 'vault'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'underlyingToken'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'VaultWithdrawInput'; ofType: null; }; }; defaultValue: null }, { name: 'sharesOwner'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'authorizedUser'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'recipient'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }]; };
207
+ 'VaultWithdrawRequest': { kind: 'INPUT_OBJECT'; name: 'VaultWithdrawRequest'; isOneOf: false; inputFields: [{ name: 'vault'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'amount'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'VaultWithdrawAmountInput'; ofType: null; }; }; defaultValue: null }, { name: 'sharesOwner'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; defaultValue: null }, { name: 'authorizedUser'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'recipient'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'chainId'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'ChainId'; ofType: null; }; }; defaultValue: null }]; };
207
208
  'VaultsRequest': { kind: 'INPUT_OBJECT'; name: 'VaultsRequest'; isOneOf: false; inputFields: [{ name: 'criteria'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'VaultsRequestFilterCriteria'; ofType: null; }; }; defaultValue: null }, { name: 'user'; type: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; defaultValue: null }, { name: 'pageSize'; type: { kind: 'NON_NULL'; name: never; ofType: { kind: 'ENUM'; name: 'PageSize'; ofType: null; }; }; defaultValue: "FIFTY" }, { name: 'cursor'; type: { kind: 'SCALAR'; name: 'Cursor'; ofType: null; }; defaultValue: null }]; };
208
209
  'VaultsRequestFilterCriteria': { kind: 'INPUT_OBJECT'; name: 'VaultsRequestFilterCriteria'; isOneOf: true; inputFields: [{ name: 'vaults'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'INPUT_OBJECT'; name: 'VaultInput'; ofType: null; }; }; }; defaultValue: null }, { name: 'ownedBy'; type: { kind: 'LIST'; name: never; ofType: { kind: 'NON_NULL'; name: never; ofType: { kind: 'SCALAR'; name: 'EvmAddress'; ofType: null; }; }; }; defaultValue: null }]; };
209
210
  'WithdrawAmount': { kind: 'INPUT_OBJECT'; name: 'WithdrawAmount'; isOneOf: true; inputFields: [{ name: 'exact'; type: { kind: 'SCALAR'; name: 'BigDecimal'; ofType: null; }; defaultValue: null }, { name: 'max'; type: { kind: 'SCALAR'; name: 'AlwaysTrue'; ofType: null; }; defaultValue: null }]; };
@@ -8887,8 +8888,8 @@ declare const VaultDepositQuery: gql_tada.TadaDocumentNode<{
8887
8888
  deadline: number;
8888
8889
  value: Signature;
8889
8890
  } | null | undefined;
8891
+ asAToken?: boolean | null | undefined;
8890
8892
  value: BigDecimal;
8891
- currency: EvmAddress;
8892
8893
  };
8893
8894
  vault: EvmAddress;
8894
8895
  };
@@ -9065,13 +9066,13 @@ declare const VaultWithdrawQuery: gql_tada.TadaDocumentNode<{
9065
9066
  recipient?: EvmAddress | null | undefined;
9066
9067
  authorizedUser?: EvmAddress | null | undefined;
9067
9068
  sharesOwner: EvmAddress;
9068
- underlyingToken: {
9069
+ amount: {
9069
9070
  permitSig?: {
9070
9071
  deadline: number;
9071
9072
  value: Signature;
9072
9073
  } | null | undefined;
9073
9074
  asAToken?: boolean | null | undefined;
9074
- amount: BigDecimal;
9075
+ value: BigDecimal;
9075
9076
  };
9076
9077
  vault: EvmAddress;
9077
9078
  };
@@ -817,22 +817,22 @@ type Query {
817
817
  vaultMintShares(request: VaultMintSharesRequest!): ExecutionPlan!
818
818
 
819
819
  """
820
- Allows a user to simulate a deposit at the current block, given current on-chain conditions.
820
+ This will return you the amount of shares that would be minted to the receiver
821
821
  """
822
822
  vaultPreviewDeposit(request: VaultOperationPreviewRequest!): TokenAmount!
823
823
 
824
824
  """
825
- Allows a user to simulate a mint at the current block, given current on-chain conditions.
825
+ This will return you the amount of assets that would be deposited by the caller
826
826
  """
827
827
  vaultPreviewMint(request: VaultOperationPreviewRequest!): TokenAmount!
828
828
 
829
829
  """
830
- Allows a user to simulate a withdraw at the current block, given current on-chain conditions.
830
+ This will return you the number of shares burnt based on the amount of assets you want to withdraw
831
831
  """
832
832
  vaultPreviewWithdraw(request: VaultOperationPreviewRequest!): TokenAmount!
833
833
 
834
834
  """
835
- Allows a user to simulate a redeem at the current block, given current on-chain conditions.
835
+ This will return you the amount of assets that would be withdrawn by the receiver.
836
836
  """
837
837
  vaultPreviewRedeem(request: VaultOperationPreviewRequest!): TokenAmount!
838
838
 
@@ -924,8 +924,8 @@ input RepayAmountInput @oneOf {
924
924
 
925
925
  input RepayErc20Amount @oneOf {
926
926
  """
927
- Exact amount to repay, remember interest is generated on each block
928
- Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g., wei).
927
+ Exact amount to repay
928
+ Token value in its main unit (e.g., 1.5 GHO), not in the smallest fraction (e.g., wei).
929
929
  """
930
930
  exact: BigDecimal
931
931
 
@@ -941,7 +941,7 @@ input RepayErc20AmountInput {
941
941
  value: RepayErc20Amount!
942
942
 
943
943
  """
944
- The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.
944
+ The signed ERC20 permit message to operate on the relevant token without the need for an ERC20 Approval transaction.
945
945
  """
946
946
  permitSig: ERC712Signature
947
947
  }
@@ -1665,14 +1665,25 @@ input VaultDeployRequest {
1665
1665
  initialLockDeposit: BigDecimal!
1666
1666
  }
1667
1667
 
1668
+ input VaultDepositAmountInput {
1669
+ """The amount of assets to deposit."""
1670
+ value: BigDecimal!
1671
+
1672
+ """Whether you are depositing in as a token or normal underlying"""
1673
+ asAToken: Boolean! = false
1674
+
1675
+ """
1676
+ The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.
1677
+ """
1678
+ permitSig: ERC712Signature
1679
+ }
1680
+
1668
1681
  input VaultDepositRequest {
1669
1682
  """The vault address"""
1670
1683
  vault: EvmAddress!
1671
1684
 
1672
- """
1673
- The amount of assets to deposit - you can pass in the underlying or the aToken if you pass in the aToken address it will deposit with the aToken
1674
- """
1675
- amount: Erc20AmountInput!
1685
+ """The details of the amounts to deposit."""
1686
+ amount: VaultDepositAmountInput!
1676
1687
 
1677
1688
  """The user who is depositing"""
1678
1689
  depositor: EvmAddress!
@@ -1733,7 +1744,13 @@ input VaultOperationPreviewRequest {
1733
1744
  """The chain id the vault is deployed on"""
1734
1745
  chainId: ChainId!
1735
1746
 
1736
- """The amount in human-readable form"""
1747
+ """
1748
+ The amount in human-readable form
1749
+ preview deposit = underlying
1750
+ preview mint = shares
1751
+ preview withdraw = underlying
1752
+ preview redeem = shares
1753
+ """
1737
1754
  amount: BigDecimal!
1738
1755
  }
1739
1756
 
@@ -1863,6 +1880,19 @@ type VaultUserWithdrawItem {
1863
1880
  timestamp: DateTime!
1864
1881
  }
1865
1882
 
1883
+ input VaultWithdrawAmountInput {
1884
+ """The amount of assets to withdraw."""
1885
+ value: BigDecimal!
1886
+
1887
+ """Whether the amount should be sent/received as aToken."""
1888
+ asAToken: Boolean! = false
1889
+
1890
+ """
1891
+ The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.
1892
+ """
1893
+ permitSig: ERC712Signature
1894
+ }
1895
+
1866
1896
  input VaultWithdrawFeesRequest {
1867
1897
  """The vault deployed address"""
1868
1898
  vault: EvmAddress!
@@ -1879,25 +1909,12 @@ input VaultWithdrawFeesRequest {
1879
1909
  chainId: ChainId!
1880
1910
  }
1881
1911
 
1882
- input VaultWithdrawInput {
1883
- """The amount of assets to withdraw."""
1884
- amount: BigDecimal!
1885
-
1886
- """Whether the amount should be sent/received as aToken."""
1887
- asAToken: Boolean! = false
1888
-
1889
- """
1890
- The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.
1891
- """
1892
- permitSig: ERC712Signature
1893
- }
1894
-
1895
1912
  input VaultWithdrawRequest {
1896
1913
  """The vault address"""
1897
1914
  vault: EvmAddress!
1898
1915
 
1899
- """The details of the underlying token to withdraw."""
1900
- underlyingToken: VaultWithdrawInput!
1916
+ """The details of the amounts to withdraw."""
1917
+ amount: VaultWithdrawAmountInput!
1901
1918
 
1902
1919
  """
1903
1920
  The address from which vault shares will be burned (normally your own wallet).
@@ -1 +1 @@
1
- {"version":3,"sources":["../schema.graphql","../src/test-utils.ts"],"names":["schema_default","schema","buildSchema"],"mappings":"4CAAA,IAAAA,CAAAA,CAAA,CAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;GCOO,IAAMC,CAAAA,CAASC,oBAAYF,CAAS","file":"test-utils.cjs","sourcesContent":["type APYSample {\n \"\"\"The avg rate\"\"\"\n avgRate: PercentValue!\n\n \"\"\"The date\"\"\"\n date: DateTime!\n}\n\ntype AaveBorrowIncentive {\n borrowAprDiscount: PercentValue!\n rewardTokenAddress: EvmAddress!\n rewardTokenSymbol: String!\n}\n\ntype AaveSupplyIncentive {\n extraSupplyApr: PercentValue!\n rewardTokenAddress: EvmAddress!\n rewardTokenSymbol: String!\n}\n\nscalar AlwaysTrue\n\ninput AmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: BigDecimal\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: Erc20AmountInput\n}\n\n\"\"\"\nIndicates that an approval transaction must be performed before proceeding to the next step.\n\"\"\"\ntype ApprovalRequired {\n \"\"\"The transaction requires an approval first\"\"\"\n approval: TransactionRequest!\n\n \"\"\"The reason for the approval\"\"\"\n reason: String!\n\n \"\"\"The required amount missing to be able to do the original transaction\"\"\"\n requiredAmount: DecimalValue!\n\n \"\"\"The current allowance approved\"\"\"\n currentAllowance: DecimalValue!\n\n \"\"\"The transaction to send after the approval is complete\"\"\"\n originalTransaction: TransactionRequest!\n}\n\ninput ApproveBorrowCreditDelegatorRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token address.\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"\n Token value in its main unit to approve (e.g., 1.5 DAI), not in the smallest fraction (e.g. wei).\n \"\"\"\n amount: BigDecimal!\n\n \"\"\"The user allowing the delegation from\"\"\"\n user: EvmAddress!\n\n \"\"\"The delegatee to approve the ability to borrow on the `user` behalf\"\"\"\n delegatee: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\nscalar BigDecimal\n\nscalar BigInt\n\nscalar BlockchainData\n\ninput BorrowAPYHistoryRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token for the reserve\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The time windows for the history\"\"\"\n window: TimeWindow!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput BorrowAmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: BigDecimal\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: BorrowErc20AmountInput\n}\n\ninput BorrowErc20AmountInput {\n \"\"\"The token address.\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g.,\n wei).\n \"\"\"\n value: BigDecimal!\n}\n\ninput BorrowRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The amount borrowing\"\"\"\n amount: BorrowAmountInput!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n\n \"\"\"\n If not supplied, this will use `sender` in most cases this is what the user wants if they want\n to borrow themselves. You can also pass in the credit delegator if the caller has\n been given credit delegation allowance. You can approve those with `approveBorrowCreditDelegation`.\n \"\"\"\n onBehalfOf: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ntype Chain {\n name: String!\n icon: String!\n chainId: ChainId!\n explorerUrl: String!\n isTestnet: Boolean!\n nativeWrappedToken: EvmAddress!\n}\n\n\"\"\"A supported blockchain chain ID\"\"\"\nscalar ChainId\n\nenum ChainsFilter {\n TESTNET_ONLY\n MAINNET_ONLY\n ALL\n}\n\ninput CollateralToggleRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token for the reserve\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The user to toggle emode on\"\"\"\n user: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput CreditDelegateeAmountRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token address.\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The user allowing the delegation from\"\"\"\n user: EvmAddress!\n\n \"\"\"The delegatee to approve the ability to borrow on the `user` behalf\"\"\"\n delegatee: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ntype Currency {\n \"\"\"The token address\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"The token name\"\"\"\n name: String!\n\n \"\"\"The token image\"\"\"\n imageUrl: String!\n\n \"\"\"The token symbol\"\"\"\n symbol: String!\n\n \"\"\"The token decimals\"\"\"\n decimals: Int!\n}\n\nscalar Cursor\n\nscalar DateTime\n\ninput DebtToCover @oneOf {\n \"\"\"Exact debt amount to cover\"\"\"\n exact: BigDecimal\n\n \"\"\"Maximum debt amount (equivalent to uint(-1))\"\"\"\n max: AlwaysTrue\n}\n\ntype DecimalValue {\n \"\"\"The raw none formatted value\"\"\"\n raw: BigInt!\n\n \"\"\"The decimals the value formatted into\"\"\"\n decimals: Int!\n\n \"\"\"The formatted value\"\"\"\n value: BigDecimal!\n}\n\ntype DomainData {\n name: String!\n version: String!\n chainId: ChainId!\n verifyingContract: EvmAddress!\n}\n\ninput ERC712Signature {\n \"\"\"The signature for the erc721\"\"\"\n value: Signature!\n\n \"\"\"The deadline for the erc721\"\"\"\n deadline: Int!\n}\n\ntype EmodeMarketCategory {\n \"\"\"The eMode id for the market\"\"\"\n id: Int!\n\n \"\"\"The eMode label\"\"\"\n label: String!\n\n \"\"\"The maximum loan-to-value ratio in efficiency mode\"\"\"\n maxLTV: PercentValue!\n\n \"\"\"The liquidation threshold in efficiency mode\"\"\"\n liquidationThreshold: PercentValue!\n\n \"\"\"The liquidation penalty applied in efficiency mode\"\"\"\n liquidationPenalty: PercentValue!\n\n \"\"\"The list of reserves which will tailor for this eMode\"\"\"\n reserves: [EmodeMarketReserveInfo!]!\n}\n\ntype EmodeMarketReserveInfo {\n \"\"\"The underlying token used on the reserve\"\"\"\n underlyingToken: Currency!\n\n \"\"\"If the underlying token can be collateral with this eMode on\"\"\"\n canBeCollateral: Boolean!\n\n \"\"\"If the underlying token can be borrowed with this eMode on\"\"\"\n canBeBorrowed: Boolean!\n}\n\n\"\"\"The emode reserve information\"\"\"\ntype EmodeReserveInfo {\n \"\"\"The eMode category id for the market\"\"\"\n categoryId: Int!\n\n \"\"\"The eMode label\"\"\"\n label: String!\n\n \"\"\"The maximum loan-to-value ratio in efficiency mode\"\"\"\n maxLTV: PercentValue!\n\n \"\"\"The liquidation threshold in efficiency mode\"\"\"\n liquidationThreshold: PercentValue!\n\n \"\"\"The liquidation penalty applied in efficiency mode\"\"\"\n liquidationPenalty: PercentValue!\n\n \"\"\"If the underlying token can be collateral with this eMode on\"\"\"\n canBeCollateral: Boolean!\n\n \"\"\"If the underlying token can be borrowed with this eMode on\"\"\"\n canBeBorrowed: Boolean!\n}\n\ninput Erc20AmountInput {\n \"\"\"The token address.\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g.,\n wei).\n \"\"\"\n value: BigDecimal!\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\nscalar EvmAddress\n\n\"\"\"\nAn execution plan represents what needs to happen to fulfill a requested operation.\nIt could be an immediate transaction, an approval followed by a transaction, or indicate insufficient balance.\n\"\"\"\nunion ExecutionPlan = TransactionRequest | ApprovalRequired | InsufficientBalanceError\n\ninput ForkTopUpErc20 {\n \"\"\"The token address\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction\n \"\"\"\n value: BigDecimal!\n}\n\ninput ForkTopUpRequest {\n \"\"\"The address you want the funds to be topped up against\"\"\"\n user: EvmAddress!\n\n \"\"\"The erc20 information\"\"\"\n erc20: ForkTopUpErc20\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction\n \"\"\"\n native: BigDecimal\n}\n\ntype ForkTopUpResponse {\n message: String!\n\n \"\"\"The tx hash of the newly created transaction\"\"\"\n txHash: String\n}\n\ninput HasProcessedKnownTransactionRequest {\n \"\"\"\n The operation type this is given to you on the TransactionRequest::operation\n \"\"\"\n operation: OperationType!\n\n \"\"\"The tx hash\"\"\"\n txHash: TxHash!\n}\n\ninput HealthFactorPreviewRequest {\n \"\"\"The action to simulate\"\"\"\n action: PreviewAction!\n}\n\ntype HealthFactorPreviewResponse {\n \"\"\"\n The user health factor before - if null, they don't have one because they are not borrowing\n \"\"\"\n before: BigDecimal\n\n \"\"\"\n The user health factor after - if null, they don't have one because they are not borrowing\n \"\"\"\n after: BigDecimal\n}\n\n\"\"\"\nIndicates the user does not have enough balance to perform the operation.\n\"\"\"\ntype InsufficientBalanceError {\n \"\"\"The amount required to do the original transaction\"\"\"\n required: DecimalValue!\n\n \"\"\"The amount available in the wallet\"\"\"\n available: DecimalValue!\n}\n\ninput LiquidateRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"\n The address of the token used as collateral, to receive as result of the liquidation\n \"\"\"\n collateralToken: EvmAddress!\n\n \"\"\"\n The address of the underlying borrowed token to be repaid with the liquidation\n \"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The address of the borrower getting liquidated\"\"\"\n user: EvmAddress!\n\n \"\"\"\n The debt amount of the underlying borrowed token the liquidator will repay\n \"\"\"\n debtToCover: DebtToCover! = {max: true}\n\n \"\"\"\n true if the liquidator wants to receive the aTokens equivalent of the purchased collateral, false if they want to receive the collateral asset directly\n \"\"\"\n receiveAToken: Boolean! = false\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\n\"\"\"Information about collateral liquidated in a liquidation call.\"\"\"\ntype LiquidationCollateral {\n \"\"\"Reserve of the collateral.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"Amount of collateral liquidated\"\"\"\n amount: TokenAmount\n}\n\n\"\"\"Information about debt repaid in a liquidation call.\"\"\"\ntype LiquidationRepaidDebt {\n \"\"\"Reserve of the repaid debt.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"Amount of debt repaid.\"\"\"\n amount: TokenAmount!\n}\n\ntype Market {\n \"\"\"The human-friendly name for the market\"\"\"\n name: String!\n\n \"\"\"The chain\"\"\"\n chain: Chain!\n\n \"\"\"The liquidity pool address for the market\"\"\"\n address: EvmAddress!\n\n \"\"\"A list eModes the market can support\"\"\"\n eModeCategories: [EmodeMarketCategory!]!\n userState: MarketUserState\n\n \"\"\"The market icon\"\"\"\n icon: String!\n\n \"\"\"The market reserves\"\"\"\n reserves(request: MarketReservesRequest! = {reserveType: BOTH, orderBy: {tokenName: ASC}}): [Reserve!]!\n\n \"\"\"The total market size\"\"\"\n totalMarketSize: BigDecimal!\n\n \"\"\"The total available liquidity in USD\"\"\"\n totalAvailableLiquidity: BigDecimal!\n}\n\ntype MarketInfo {\n \"\"\"The human-friendly name for the market\"\"\"\n name: String!\n\n \"\"\"The chain\"\"\"\n chain: Chain!\n\n \"\"\"The liquidity pool address for the market\"\"\"\n address: EvmAddress!\n\n \"\"\"The market icon\"\"\"\n icon: String!\n}\n\ninput MarketInput {\n \"\"\"The address of the market pool\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id the market is deployed on\"\"\"\n chainId: ChainId!\n}\n\ninput MarketRequest {\n \"\"\"The pool address for the market\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id the market pool address is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like eMode and other user features\n \"\"\"\n user: EvmAddress\n}\n\ninput MarketReservesRequest {\n \"\"\"The reserve type\"\"\"\n reserveType: MarketReservesRequestType! = BOTH\n\n \"\"\"The way the reserve gets ordered on the return result\"\"\"\n orderBy: MarketReservesRequestOrderBy! = {tokenName: ASC}\n}\n\ninput MarketReservesRequestOrderBy @oneOf {\n \"\"\"Order by the borrow APY\"\"\"\n borrowApy: OrderDirection\n\n \"\"\"Order by the supply APY\"\"\"\n supplyApy: OrderDirection\n\n \"\"\"Order by the token name\"\"\"\n tokenName: OrderDirection\n}\n\nenum MarketReservesRequestType {\n SUPPLY\n BORROW\n BOTH\n}\n\ntype MarketUserReserveBorrowPosition {\n \"\"\"The market address where this position exists\"\"\"\n market: MarketInfo!\n\n \"\"\"The currency being borrowed\"\"\"\n currency: Currency!\n\n \"\"\"The user's debt balance in this reserve\"\"\"\n debt: TokenAmount!\n\n \"\"\"The annual percentage yield for this borrow position\"\"\"\n apy: PercentValue!\n}\n\ntype MarketUserReserveSupplyPosition {\n \"\"\"The market address where this position exists\"\"\"\n market: MarketInfo!\n\n \"\"\"The currency being supplied\"\"\"\n currency: Currency!\n\n \"\"\"The user's supply balance in this reserve\"\"\"\n balance: TokenAmount!\n\n \"\"\"The annual percentage yield for this supply position\"\"\"\n apy: PercentValue!\n\n \"\"\"Whether this position is being used as collateral\"\"\"\n isCollateral: Boolean!\n\n \"\"\"If the asset can be used for collateral\"\"\"\n canBeCollateral: Boolean!\n}\n\ntype MarketUserState {\n \"\"\"The user's total net worth in the market\"\"\"\n netWorth: BigDecimal!\n\n \"\"\"The user's net annual percentage yield across all positions\"\"\"\n netAPY: PercentValue!\n\n \"\"\"\n The user's health factor (risk metric for liquidation) - if null, the user does not have a borrow\n \"\"\"\n healthFactor: BigDecimal\n\n \"\"\"Whether efficiency mode is enabled for the user\"\"\"\n eModeEnabled: Boolean!\n\n \"\"\"\n The total collateral of the user in the base currency used by the price feed\n \"\"\"\n totalCollateralBase: BigDecimal!\n\n \"\"\"The total debt of the user in the base currency used by the price feed\"\"\"\n totalDebtBase: BigDecimal!\n\n \"\"\"\n The borrowing power left of the user in the base currency used by the price feed\n \"\"\"\n availableBorrowsBase: BigDecimal!\n\n \"\"\"The liquidation threshold of the user\"\"\"\n currentLiquidationThreshold: PercentValue!\n\n \"\"\"The loan to value of the user\"\"\"\n ltv: PercentValue!\n\n \"\"\"One of the user collateral is in isolation mode\"\"\"\n isInIsolationMode: Boolean!\n}\n\ninput MarketsRequest {\n \"\"\"The markets you want to see based on the chain ids\"\"\"\n chainIds: [ChainId!]!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like eMode and other\n user features\n \"\"\"\n user: EvmAddress\n}\n\ntype MeritBorrowAndSupplyIncentiveCondition {\n \"\"\"The APR incentive for meeting the conditions\"\"\"\n extraApr: PercentValue!\n\n \"\"\"The token that must be supplied as collateral\"\"\"\n supplyToken: Currency!\n\n \"\"\"The token that must be borrowed\"\"\"\n borrowToken: Currency!\n\n \"\"\"Where you can go and claim the incentives\"\"\"\n claimLink: URL!\n}\n\ntype MeritBorrowIncentive {\n \"\"\"Extra APR for borrowing this asset from AAVE Merit program\"\"\"\n borrowAprDiscount: PercentValue!\n\n \"\"\"Where you can go and claim the incentives\"\"\"\n claimLink: URL!\n}\n\ntype MeritSupplyIncentive {\n \"\"\"Extra APR for supplying this asset from AAVE Merit program\"\"\"\n extraSupplyApr: PercentValue!\n\n \"\"\"Where you can go and claim the incentives\"\"\"\n claimLink: URL!\n}\n\ntype MessageData {\n owner: EvmAddress!\n spender: EvmAddress!\n value: BigInt!\n nonce: BigInt!\n deadline: Int!\n}\n\ntype NativeCurrency {\n \"\"\"The token image\"\"\"\n imageUrl: String!\n\n \"\"\"The token name\"\"\"\n name: String!\n\n \"\"\"The token symbol\"\"\"\n symbol: String!\n\n \"\"\"The token decimals\"\"\"\n decimals: Int!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"The wrapped version of this token\"\"\"\n wrappedToken: EvmAddress!\n}\n\nenum OperationType {\n BORROW\n REPAY\n RESERVE_USED_AS_COLLATERAL_ENABLED\n RESERVE_USED_AS_COLLATERAL_DISABLED\n SUPPLY\n USER_EMODE_SET\n WITHDRAW\n VAULT_DEPLOYED\n VAULT_DEPOSIT\n VAULT_FEE_UPDATED\n VAULT_FEE_WITHDRAWN\n VAULT_WITHDRAW\n LIQUIDATION\n}\n\nenum OrderDirection {\n ASC\n DESC\n}\n\nenum PageSize {\n TEN\n FIFTY\n}\n\ntype PaginatedResultInfo {\n \"\"\"The cursor to the previous page of results, if any.\"\"\"\n prev: Cursor\n\n \"\"\"The cursor to the next page of results, if any.\"\"\"\n next: Cursor\n}\n\n\"\"\"Paginated result of user transaction history.\"\"\"\ntype PaginatedUserTransactionHistoryResult {\n \"\"\"List of user transaction items.\"\"\"\n items: [UserTransactionItem!]!\n\n \"\"\"Pagination information.\"\"\"\n pageInfo: PaginatedResultInfo!\n}\n\ntype PaginatedVaultUserTransactionHistoryResult {\n items: [VaultUserTransactionItem!]!\n pageInfo: PaginatedResultInfo!\n}\n\ntype PaginatedVaultsResult {\n items: [Vault!]!\n pageInfo: PaginatedResultInfo!\n}\n\ntype PercentValue {\n \"\"\"The raw none normalized percentage (the value that lives onchain)\"\"\"\n raw: BigInt!\n\n \"\"\"The decimals representing the precision of the onchain raw value\"\"\"\n decimals: Int!\n\n \"\"\"The normalized percentage (1.0 = 100%)\"\"\"\n value: BigDecimal!\n\n \"\"\"\n The human-readable formatted value you can render on a UI straight away.\n For example, this will turn `0.01232343` to `1.23`, it will always round to `2` decimal points.\n \"\"\"\n formatted: BigDecimal!\n}\n\ninput PermitRequest {\n \"\"\"The spender (when doing this with aave this is the market address)\"\"\"\n spender: EvmAddress!\n\n \"\"\"The token you want to do the permit with\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n The amount to permit - in human-readable form aka 0.001 eth is 0.001 eth here\n \"\"\"\n amount: BigDecimal!\n\n \"\"\"The chain id the pool is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"The owner of the funds\"\"\"\n owner: EvmAddress!\n}\n\ntype PermitTypedDataResponse {\n types: TypeDefinition!\n primaryType: String!\n domain: DomainData!\n message: MessageData!\n}\n\ninput PreviewAction @oneOf {\n supply: SupplyRequest\n borrow: BorrowRequest\n repay: RepayRequest\n withdraw: WithdrawRequest\n}\n\ntype Query {\n \"\"\"Get if the API is healthy\"\"\"\n health: Boolean!\n\n \"\"\"Chains the protocol supports\"\"\"\n chains(filter: ChainsFilter! = ALL): [Chain!]!\n\n \"\"\"\n Deposits assets (underlying tokens or its related aTokens) into the vault and mints a corresponding amount of vault shares to the receiver.\n \"\"\"\n vaultDeposit(request: VaultDepositRequest!): ExecutionPlan!\n\n \"\"\"\n Redeems shares (vault shares) for the underlying assets or a tokens, which are sent to the receiver. The shares are burned from the owner.\n \"\"\"\n vaultRedeemShares(request: VaultRedeemSharesRequest!): TransactionRequest!\n\n \"\"\"Get a vault\"\"\"\n vault(request: VaultRequest!): Vault\n\n \"\"\"Get vaults\"\"\"\n vaults(request: VaultsRequest!): PaginatedVaultsResult!\n\n \"\"\"User vaults they have shares in\"\"\"\n userVaults(request: UserVaultsRequest!): PaginatedVaultsResult!\n\n \"\"\"Deploy a vault and earn fees from the yield\"\"\"\n vaultDeploy(request: VaultDeployRequest!): ExecutionPlan!\n\n \"\"\"\n Update a vault's fee. You MUST be the owner of the vault to send this tx request.\n \"\"\"\n vaultSetFee(request: VaultSetFeeRequest!): TransactionRequest!\n\n \"\"\"\n Withdraws accumulated fees from the specified vault. You MUST be the owner of the vault to send this tx request.\n \"\"\"\n vaultWithdrawFees(request: VaultWithdrawFeesRequest!): TransactionRequest!\n\n \"\"\"User vault transaction history\"\"\"\n vaultUserTransactionHistory(request: VaultUserTransactionHistoryRequest!): PaginatedVaultUserTransactionHistoryResult!\n\n \"\"\"\n Withdraws assets (underlying tokens or its related aTokens) from the vault and sends them to the receiver. The corresponding vault shares are burned from the owner.\n \"\"\"\n vaultWithdraw(request: VaultWithdrawRequest!): TransactionRequest!\n\n \"\"\"\n Mints an exact amount of shares (vault shares) to the receiver by depositing the calculated amount of underlying or aTokens assets.\n \"\"\"\n vaultMintShares(request: VaultMintSharesRequest!): ExecutionPlan!\n\n \"\"\"\n Allows a user to simulate a deposit at the current block, given current on-chain conditions.\n \"\"\"\n vaultPreviewDeposit(request: VaultOperationPreviewRequest!): TokenAmount!\n\n \"\"\"\n Allows a user to simulate a mint at the current block, given current on-chain conditions.\n \"\"\"\n vaultPreviewMint(request: VaultOperationPreviewRequest!): TokenAmount!\n\n \"\"\"\n Allows a user to simulate a withdraw at the current block, given current on-chain conditions.\n \"\"\"\n vaultPreviewWithdraw(request: VaultOperationPreviewRequest!): TokenAmount!\n\n \"\"\"\n Allows a user to simulate a redeem at the current block, given current on-chain conditions.\n \"\"\"\n vaultPreviewRedeem(request: VaultOperationPreviewRequest!): TokenAmount!\n\n \"\"\"Lists all the markets\"\"\"\n markets(request: MarketsRequest!): [Market!]!\n\n \"\"\"Get a market\"\"\"\n market(request: MarketRequest!): Market\n\n \"\"\"Create the transaction to borrow from a market\"\"\"\n borrow(request: BorrowRequest!): ExecutionPlan!\n\n \"\"\"Approve a credit borrow delegator to be able to borrow on your behalf\"\"\"\n approveBorrowCreditDelegation(request: ApproveBorrowCreditDelegatorRequest!): TransactionRequest!\n\n \"\"\"\n Gets the amount delegated to the credit delegatee that can borrow on your behalf\n \"\"\"\n creditDelegateeAllowance(request: CreditDelegateeAmountRequest!): TokenAmount!\n\n \"\"\"Create the transaction to supply to a market\"\"\"\n supply(request: SupplyRequest!): ExecutionPlan!\n\n \"\"\"Create the transaction to repay to a market\"\"\"\n repay(request: RepayRequest!): ExecutionPlan!\n\n \"\"\"Create the transaction to withdraw from a market\"\"\"\n withdraw(request: WithdrawRequest!): ExecutionPlan!\n\n \"\"\"Create the transaction to toggle eMode for a market\"\"\"\n userSetEmode(request: UserSetEmodeRequest!): TransactionRequest!\n\n \"\"\"Enable/disable a specific supplied asset as collateral\"\"\"\n collateralToggle(request: CollateralToggleRequest!): TransactionRequest!\n\n \"\"\"\n liquidate a non-healthy position collateral-wise, with Health Factor below 1\n \"\"\"\n liquidate(request: LiquidateRequest!): TransactionRequest!\n\n \"\"\"Returns the user account market data across all the reserves.\"\"\"\n userMarketState(request: UserMarketStateRequest!): MarketUserState!\n\n \"\"\"The usd exchange rates for different tokens on a given market\"\"\"\n usdExchangeRates(request: UsdExchangeRatesRequest!): [UsdExchangeRate!]!\n\n \"\"\"Get all the user borrows positions\"\"\"\n userBorrows(request: UserBorrowsRequest!): [MarketUserReserveBorrowPosition!]!\n\n \"\"\"Get all the user supplies positions\"\"\"\n userSupplies(request: UserSuppliesRequest!): [MarketUserReserveSupplyPosition!]!\n\n \"\"\"Get the borrow APY history\"\"\"\n borrowAPYHistory(request: BorrowAPYHistoryRequest!): [APYSample!]!\n\n \"\"\"Get the supply APY history\"\"\"\n supplyAPYHistory(request: SupplyAPYHistoryRequest!): [APYSample!]!\n\n \"\"\"Generate EIP-712 typed data for EIP-2612 permit signature\"\"\"\n permitTypedData(request: PermitRequest!): PermitTypedDataResponse!\n\n \"\"\"Get the reserve for on a market\"\"\"\n reserve(request: ReserveRequest!): Reserve\n\n \"\"\"The user's market transaction history\"\"\"\n userTransactionHistory(request: UserTransactionHistoryRequest!): PaginatedUserTransactionHistoryResult!\n\n \"\"\"\n This lets you know the API has processed the known transaction hash, as the API uses caching to make things as fast\n as possible, it has an invalidation task, so sometimes if the receipt is complete, we may still (rarely) serve\n old data for 100-200ms longer, it's best to query after you got the receipt to be told that it is ready to go.\n Note the invalidation is very quick, and most of the time it's present even before your receipt is returned this is to\n cater for the race condition.\n \"\"\"\n hasProcessedKnownTransaction(request: HasProcessedKnownTransactionRequest!): Boolean!\n healthFactorPreview(request: HealthFactorPreviewRequest!): HealthFactorPreviewResponse!\n\n \"\"\"Top up a balance for a user or yourself on the fork\"\"\"\n forkTopUp(request: ForkTopUpRequest!): ForkTopUpResponse!\n}\n\ninput RepayAmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: BigDecimal\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: RepayErc20AmountInput\n}\n\ninput RepayErc20Amount @oneOf {\n \"\"\"\n Exact amount to repay, remember interest is generated on each block\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g., wei).\n \"\"\"\n exact: BigDecimal\n\n \"\"\"Repay all the amount completely\"\"\"\n max: AlwaysTrue\n}\n\ninput RepayErc20AmountInput {\n \"\"\"The token address.\"\"\"\n currency: EvmAddress!\n\n \"\"\"The amount to repay\"\"\"\n value: RepayErc20Amount!\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput RepayRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"\n The amount to repay - you can pass in the underlying or the aToken if you pass in the aToken address, it will repay with the aToken\n \"\"\"\n amount: RepayAmountInput!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n\n \"\"\"\n If not supplied, this will use `sender`. The address of the user who will get their debt reduced/removed. This should be the address of the user calling the function if they want to\n \"\"\"\n onBehalfOf: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ntype Reserve {\n \"\"\"The market information the reserve is under\"\"\"\n market: MarketInfo!\n\n \"\"\"The reserve underlying currency\"\"\"\n underlyingToken: Currency!\n\n \"\"\"The reserve a token\"\"\"\n aToken: Currency!\n\n \"\"\"The reserve v token\"\"\"\n vToken: Currency!\n\n \"\"\"\n If the reserve accepts native currency, for example, if you're on a reserve with asset WETH, it can\n also accept ETH\n \"\"\"\n acceptsNative: NativeCurrency\n\n \"\"\"The reserve size\"\"\"\n size: TokenAmount!\n\n \"\"\"The usd exchange rate for the underlying token\"\"\"\n usdExchangeRate: BigDecimal!\n\n \"\"\"The usd oracle address it is pulling that price from\"\"\"\n usdOracleAddress: EvmAddress!\n\n \"\"\"The supply info for the reserve\"\"\"\n supplyInfo: ReserveSupplyInfo!\n\n \"\"\"\n The borrow info for the reserve - if its null the underlying token cannot be borrowed\n \"\"\"\n borrowInfo: ReserveBorrowInfo\n\n \"\"\"The reserve has been frozen all actions are stopped\"\"\"\n isFrozen: Boolean!\n\n \"\"\"The reserve is paused you can still withdraw and some other actions\"\"\"\n isPaused: Boolean!\n\n \"\"\"\n If the reserve supports isolation mode this is defined and the configs are defined\n \"\"\"\n isolationModeConfig: ReserveIsolationModeConfig\n\n \"\"\"If the reserve can use flash loans on it\"\"\"\n flashLoanEnabled: Boolean!\n\n \"\"\"Does the underlying reserve support permit\"\"\"\n permitSupported: Boolean!\n\n \"\"\"\n This exposes the extra incentives you can earn from third parties (Merit) or from\n incentives set by governance through the RewardsController.\n Note Aave Labs does not guarantee third party program and accepts no liability to those\n \"\"\"\n incentives: [ReserveIncentive!]!\n\n \"\"\"The emode information for the reserve\"\"\"\n eModeInfo: [EmodeReserveInfo!]!\n\n \"\"\"Get the user state on the reserve\"\"\"\n userState: ReserveUserState\n}\n\ntype ReserveBorrowInfo {\n \"\"\"The annual percentage yield for borrowing this asset\"\"\"\n apy: PercentValue!\n\n \"\"\"The total amount borrowed from this reserve\"\"\"\n total: TokenAmount!\n\n \"\"\"The reserve factor percentage\"\"\"\n reserveFactor: PercentValue!\n\n \"\"\"The available liquidity\"\"\"\n availableLiquidity: TokenAmount!\n\n \"\"\"The reserve utilization rate\"\"\"\n utilizationRate: PercentValue!\n\n \"\"\"\n Variable rate slope 1 - the rate of interest increase when utilization rate is below optimal\n This is the slope of the interest rate curve in the first segment (0% to optimal utilization)\n \"\"\"\n variableRateSlope1: PercentValue!\n\n \"\"\"\n Variable rate slope 2 - the rate of interest increase when utilization rate is above optimal\n This is the slope of the interest rate curve in the second segment (optimal to 100% utilization)\n Typically much steeper than slope1 to discourage over-utilization\n \"\"\"\n variableRateSlope2: PercentValue!\n\n \"\"\"\n The optimal usage rate - the utilization rate at which the variable rate curve transitions\n from slope1 to slope2. This represents the target utilization rate for the reserve\n \"\"\"\n optimalUsageRate: PercentValue!\n\n \"\"\"\n Borrowing can have different states based on the criteria of the user or the market\n \"\"\"\n borrowingState: ReserveBorrowingState!\n\n \"\"\"The borrow cap of the reserve\"\"\"\n borrowCap: TokenAmount!\n\n \"\"\"The borrow cap is now full\"\"\"\n borrowCapReached: Boolean!\n}\n\nenum ReserveBorrowingState {\n \"\"\"Borrowing is enabled\"\"\"\n ENABLED\n\n \"\"\"Borrowing is disabled\"\"\"\n DISABLED\n\n \"\"\"The user emode settings make this underlying not able to be borrowed\"\"\"\n USER_EMODE_DISABLED_BORROW\n}\n\nunion ReserveIncentive = MeritSupplyIncentive | MeritBorrowIncentive | MeritBorrowAndSupplyIncentiveCondition | AaveSupplyIncentive | AaveBorrowIncentive\n\ntype ReserveInfo {\n \"\"\"The market information the reserve is under\"\"\"\n market: MarketInfo!\n\n \"\"\"The reserve underlying currency\"\"\"\n underlyingToken: Currency!\n\n \"\"\"The reserve a token\"\"\"\n aToken: Currency!\n\n \"\"\"The reserve v token\"\"\"\n vToken: Currency!\n\n \"\"\"The usd exchange rate for the underlying token\"\"\"\n usdExchangeRate: BigDecimal!\n\n \"\"\"Does the underlying reserve support permit\"\"\"\n permitSupported: Boolean!\n\n \"\"\"\n This exposes the extra incentives you can earn from third parties (Merit) or from\n incentives set by governance through the RewardsController.\n Note Aave Labs does not guarantee third party program and accepts no liability to those\n \"\"\"\n incentives: [ReserveIncentive!]!\n}\n\ntype ReserveIsolationModeConfig {\n \"\"\"This means that it can be used to borrow\"\"\"\n canBeCollateral: Boolean!\n canBeBorrowed: Boolean!\n debtCeiling: TokenAmount!\n\n \"\"\"The decimals used for the debt ceiling\"\"\"\n debtCeilingDecimals: Int!\n\n \"\"\"Only the amount that is borrowed by the users in isolation\"\"\"\n totalBorrows: TokenAmount!\n}\n\ninput ReserveRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token for the reserve\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The chain id the pool is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like eMode and other\n user features\n \"\"\"\n user: EvmAddress\n}\n\ntype ReserveSupplyInfo {\n \"\"\"The annual percentage yield for supplying this asset\"\"\"\n apy: PercentValue!\n\n \"\"\"The maximum loan-to-value ratio when used as collateral\"\"\"\n maxLTV: PercentValue!\n\n \"\"\"The liquidation threshold for this asset\"\"\"\n liquidationThreshold: PercentValue!\n\n \"\"\"The liquidation bonus applied when liquidated\"\"\"\n liquidationBonus: PercentValue!\n\n \"\"\"If the asset can be used for collateral\"\"\"\n canBeCollateral: Boolean!\n\n \"\"\"The supply cap\"\"\"\n supplyCap: TokenAmount!\n\n \"\"\"The supply cap is now full\"\"\"\n supplyCapReached: Boolean!\n\n \"\"\"The total amount supplied to this reserve\"\"\"\n total: DecimalValue!\n}\n\ntype ReserveUserState {\n \"\"\"The user's balance of this asset\"\"\"\n balance: TokenAmount!\n\n \"\"\"The amount the user can supply to this reserve\"\"\"\n suppliable: TokenAmount!\n\n \"\"\"The amount the user can borrow from this reserve\"\"\"\n borrowable: TokenAmount!\n\n \"\"\"The user emode info if enabled\"\"\"\n emode: EmodeReserveInfo\n\n \"\"\"\n If the user is in a state to be able to supply taking into consideration their emode\n \"\"\"\n canBeCollateral: Boolean!\n\n \"\"\"If the user is in a state to be able to borrow from the reserve\"\"\"\n canBeBorrowed: Boolean!\n\n \"\"\"Is the user in isolation mode\"\"\"\n isInIsolationMode: Boolean!\n}\n\nscalar Signature\n\ninput SupplyAPYHistoryRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token for the reserve\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The time windows for the history\"\"\"\n window: TimeWindow!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput SupplyRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The amount supplying\"\"\"\n amount: AmountInput!\n\n \"\"\"The user sending the transaction (normally the users wallet address)\"\"\"\n sender: EvmAddress!\n\n \"\"\"\n If not supplied, this will use `sender`. The address that will receive the corresponding aTokens. This is the only address that will be able to withdraw the asset from the pool.\n This will be the same as msg.sender if the user wants to receive aTokens into their own wallet, or use a different address if the beneficiary\n of aTokens is a different wallet\n \"\"\"\n onBehalfOf: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\nenum TimeWindow {\n LAST_DAY\n LAST_WEEK\n LAST_MONTH\n LAST_SIX_MONTHS\n LAST_YEAR\n}\n\ntype TokenAmount {\n usdPerToken: BigDecimal!\n\n \"\"\"The amount\"\"\"\n amount: DecimalValue!\n\n \"\"\"The usd full amount\"\"\"\n usd: BigDecimal!\n}\n\n\"\"\"\nRepresents a transaction that must be executed, such as a direct supply, borrow, etc.\n\"\"\"\ntype TransactionRequest {\n \"\"\"Who the transaction is going to (normally a contract)\"\"\"\n to: EvmAddress!\n\n \"\"\"Who is sending the transaction\"\"\"\n from: EvmAddress!\n\n \"\"\"The blockchain transaction encoded data\"\"\"\n data: BlockchainData!\n\n \"\"\"The native token value\"\"\"\n value: BigInt!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The primary well-known operation the transaction is - you use this to track hasProcessedKnownTransaction\n If null the API does not track/require the outcome - once receipt is done, everything is ready to go\n \"\"\"\n operation: OperationType\n}\n\nscalar TxHash\n\ntype TypeDefinition {\n EIP712Domain: [TypeField!]!\n Permit: [TypeField!]!\n}\n\ntype TypeField {\n name: String!\n type: String!\n}\n\nscalar URL\n\ntype UsdExchangeRate {\n currency: Currency!\n rate: BigDecimal!\n}\n\ninput UsdExchangeRatesRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying tokens for the reserve\"\"\"\n underlyingTokens: [EvmAddress!]!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\n\"\"\"A transaction where the user borrowed assets from a reserve.\"\"\"\ntype UserBorrowTransaction {\n \"\"\"Amount borrowed.\"\"\"\n amount: TokenAmount!\n\n \"\"\"Reserve from which assets were borrowed.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ninput UserBorrowsRequest {\n \"\"\"The market addresses and chains ids to query\"\"\"\n markets: [MarketInput!]!\n\n \"\"\"The user address to get borrow positions for\"\"\"\n user: EvmAddress!\n\n \"\"\"How to order the results\"\"\"\n orderBy: UserBorrowsRequestOrderBy! = {name: ASC}\n}\n\ninput UserBorrowsRequestOrderBy @oneOf {\n \"\"\"Order by the user's debt amount\"\"\"\n debt: OrderDirection\n\n \"\"\"Order by the asset name\"\"\"\n name: OrderDirection\n\n \"\"\"Order by the annual percentage yield\"\"\"\n apy: OrderDirection\n}\n\n\"\"\"A transaction where the user was involved in a liquidation call.\"\"\"\ntype UserLiquidationCallTransaction {\n \"\"\"Collateral liquidated.\"\"\"\n collateral: LiquidationCollateral!\n\n \"\"\"Debt repaid.\"\"\"\n debtRepaid: LiquidationRepaidDebt!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ninput UserMarketStateRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The user to toggle emode on\"\"\"\n user: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\n\"\"\"A transaction where the user repaid borrowed assets.\"\"\"\ntype UserRepayTransaction {\n \"\"\"Amount repaid.\"\"\"\n amount: TokenAmount!\n\n \"\"\"Reserve to which assets were repaid.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ninput UserSetEmodeRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The user to toggle emode on\"\"\"\n user: EvmAddress!\n\n \"\"\"\n The eMode category id for the market if you want to disable eMode, then pass in null\n \"\"\"\n categoryId: Int\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput UserSuppliesRequest {\n \"\"\"The market addresses and chains ids to query\"\"\"\n markets: [MarketInput!]!\n\n \"\"\"The user address to get supply positions for\"\"\"\n user: EvmAddress!\n\n \"\"\"Only get back the supplies which can be used as collateral\"\"\"\n collateralsOnly: Boolean! = false\n\n \"\"\"How to order the results\"\"\"\n orderBy: UserSuppliesRequestOrderBy! = {name: ASC}\n}\n\ninput UserSuppliesRequestOrderBy @oneOf {\n \"\"\"Order by the user's supply balance\"\"\"\n balance: OrderDirection\n\n \"\"\"Order by the asset name\"\"\"\n name: OrderDirection\n\n \"\"\"Order by the annual percentage yield\"\"\"\n apy: OrderDirection\n\n \"\"\"Order by whether the position is used as collateral\"\"\"\n isCollateralized: OrderDirection\n}\n\n\"\"\"A transaction where the user supplied assets to a reserve.\"\"\"\ntype UserSupplyTransaction {\n \"\"\"Amount supplied.\"\"\"\n amount: TokenAmount!\n\n \"\"\"Reserve to which assets were supplied.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ninput UserTransactionHistoryRequest {\n \"\"\"The market address\"\"\"\n market: EvmAddress!\n\n \"\"\"The filter to optionally filter the transactions by type\"\"\"\n filter: [UserTransactionType!]! = [SUPPLY, WITHDRAW, BORROW, REPAY, USAGE_AS_COLLATERAL, LIQUIDATION_CALL]\n\n \"\"\"The order by object to sort the transactions by\"\"\"\n orderBy: UserTransactionHistoryRequestOrderBy! = {date: ASC}\n\n \"\"\"The user that sent the transactions\"\"\"\n user: EvmAddress!\n\n \"\"\"The chain id where the transactions were sent\"\"\"\n chainId: ChainId!\n\n \"\"\"The page size\"\"\"\n pageSize: PageSize! = FIFTY\n\n \"\"\"Pagination cursor\"\"\"\n cursor: Cursor\n}\n\ninput UserTransactionHistoryRequestOrderBy {\n \"\"\"Order by the date of the transaction\"\"\"\n date: OrderDirection\n}\n\nunion UserTransactionItem = UserSupplyTransaction | UserWithdrawTransaction | UserBorrowTransaction | UserRepayTransaction | UserUsageAsCollateralTransaction | UserLiquidationCallTransaction\n\n\"\"\"The type of user transaction in the protocol.\"\"\"\nenum UserTransactionType {\n \"\"\"User supplied assets to the protocol.\"\"\"\n SUPPLY\n\n \"\"\"User borrowed assets from the protocol.\"\"\"\n BORROW\n\n \"\"\"User enabled or disabled usage of an asset as collateral.\"\"\"\n USAGE_AS_COLLATERAL\n\n \"\"\"User was involved in a liquidation call.\"\"\"\n LIQUIDATION_CALL\n\n \"\"\"User repaid a borrowed amount.\"\"\"\n REPAY\n\n \"\"\"User withdrew supplied assets.\"\"\"\n WITHDRAW\n}\n\n\"\"\"\nA transaction where the user enabled or disabled usage of an asset as collateral.\n\"\"\"\ntype UserUsageAsCollateralTransaction {\n \"\"\"Whether collateral usage was enabled.\"\"\"\n enabled: Boolean!\n\n \"\"\"Reserve for which collateral usage was changed.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ntype UserVaultShares {\n \"\"\"The user's shares on the vault\"\"\"\n shares: TokenAmount!\n\n \"\"\"The balance you can withdraw\"\"\"\n balance: TokenAmount!\n}\n\ninput UserVaultsFilter {\n \"\"\"Filter by markets\"\"\"\n vaults: [VaultInput!]\n\n \"\"\"Filter by underlying token addresses\"\"\"\n underlyingTokens: [EvmAddress!]\n}\n\ninput UserVaultsOrderBy @oneOf {\n \"\"\"Order by shares\"\"\"\n shares: OrderDirection\n\n \"\"\"Order by fee\"\"\"\n fee: OrderDirection\n}\n\ninput UserVaultsRequest {\n \"\"\"The user address\"\"\"\n user: EvmAddress!\n\n \"\"\"Filter criteria\"\"\"\n filters: UserVaultsFilter\n\n \"\"\"Ordering criteria\"\"\"\n orderBy: UserVaultsOrderBy! = {shares: ASC}\n\n \"\"\"The page size\"\"\"\n pageSize: PageSize! = FIFTY\n\n \"\"\"Pagination cursor\"\"\"\n cursor: Cursor\n}\n\n\"\"\"A transaction where the user withdrew assets from a reserve.\"\"\"\ntype UserWithdrawTransaction {\n \"\"\"Amount withdrawn.\"\"\"\n amount: TokenAmount!\n\n \"\"\"Reserve from which assets were withdrawn.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ntype Vault {\n \"\"\"The vault address\"\"\"\n address: EvmAddress!\n\n \"\"\"The owner of the vault\"\"\"\n owner: EvmAddress!\n\n \"\"\"The name of the share\"\"\"\n shareName: String!\n\n \"\"\"The symbol of the share\"\"\"\n shareSymbol: String!\n\n \"\"\"The reserve the vault is using\"\"\"\n usedReserve: Reserve!\n\n \"\"\"The current fee percentage set for the vault.\"\"\"\n fee: PercentValue!\n\n \"\"\"How much this vault has made in revenue\"\"\"\n totalFeeRevenue: TokenAmount!\n\n \"\"\"\n The last recorded balance of the vault's AToken. This value is updated when yield is accrued.\n \"\"\"\n balance: TokenAmount!\n\n \"\"\"The chain id the vault lives on\"\"\"\n chainId: ChainId!\n\n \"\"\"The user's shares info on the vault\"\"\"\n userShares: UserVaultShares\n\n \"\"\"The total fees the owner can claim currently for the vault\"\"\"\n feesBalance: TokenAmount!\n\n \"\"\"The total vault APR after their fee is taken off\"\"\"\n vaultApr: PercentValue!\n}\n\ninput VaultDeployRequest {\n \"\"\"Underlying token address.\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The market address.\"\"\"\n market: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The address to set as which deploys the vault and will become an owner of the vault.\n \"\"\"\n deployer: EvmAddress!\n\n \"\"\"The owner of the vault - if not defined, it will be the deployer\"\"\"\n owner: EvmAddress\n\n \"\"\"The initial fee to set, expressed in %.\"\"\"\n initialFee: BigDecimal!\n\n \"\"\"The name to set for the vault's shares.\"\"\"\n shareName: String!\n\n \"\"\"The symbol to set for the vault's shares.\"\"\"\n shareSymbol: String!\n\n \"\"\"\n The initial amount of underlying assets to deposit. This must be a non-zero, non-trivial amount, depending on the underlying asset's decimals.\n \"\"\"\n initialLockDeposit: BigDecimal!\n}\n\ninput VaultDepositRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"\n The amount of assets to deposit - you can pass in the underlying or the aToken if you pass in the aToken address it will deposit with the aToken\n \"\"\"\n amount: Erc20AmountInput!\n\n \"\"\"The user who is depositing\"\"\"\n depositor: EvmAddress!\n\n \"\"\"\n The address to which vault shares will be minted to - defaults to depositor.\n \"\"\"\n sharesRecipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultInput {\n \"\"\"The address of the fault\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id the vault is on\"\"\"\n chainId: ChainId!\n}\n\ninput VaultMintShareInput {\n \"\"\"The amount of vault shares\"\"\"\n amount: BigDecimal!\n\n \"\"\"Whether the amount should be received as aToken.\"\"\"\n asAToken: Boolean! = false\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput VaultMintSharesRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The amount of shares to mint\"\"\"\n shares: VaultMintShareInput!\n\n \"\"\"The user who is wanting to mint the shares\"\"\"\n minter: EvmAddress!\n\n \"\"\"\n The address to which vault shares will be minted to - defaults to minter.\n \"\"\"\n sharesRecipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultOperationPreviewRequest {\n \"\"\"The vault\"\"\"\n vault: EvmAddress!\n\n \"\"\"The chain id the vault is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"The amount in human-readable form\"\"\"\n amount: BigDecimal!\n}\n\ninput VaultRedeemShareInput {\n \"\"\"The amount of vault shares\"\"\"\n amount: BigDecimal!\n\n \"\"\"Whether the amount should be sent as aToken.\"\"\"\n asAToken: Boolean! = false\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput VaultRedeemSharesRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The shares to redeem.\"\"\"\n shares: VaultRedeemShareInput!\n\n \"\"\"\n The address from which vault shares will be burned (normally your own wallet).\n \"\"\"\n sharesOwner: EvmAddress!\n\n \"\"\"\n If you are doing the redeem from a trusted wallet which can move funds on behalf of the shares owner (advanced usage)\n \"\"\"\n authorizedUser: EvmAddress\n\n \"\"\"\n The address to which the underlying assets will be sent; if not set it will go to the sharesOwner\n \"\"\"\n recipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultRequest {\n \"\"\"The retrieve criteria\"\"\"\n by: VaultRequestBy!\n\n \"\"\"The chain id the vault is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like userShares and other user features\n \"\"\"\n user: EvmAddress\n}\n\ninput VaultRequestBy @oneOf {\n \"\"\"The vault address\"\"\"\n address: EvmAddress\n\n \"\"\"\n You can use this if you deployed a vault and want to get the vault information using the tx hash after the receipt is given\n \"\"\"\n txHash: TxHash\n}\n\ninput VaultSetFeeRequest {\n \"\"\"The vault deployed address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The new fee to set, expressed in %.\"\"\"\n newFee: BigDecimal!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\n\"\"\"A transaction where the user supplied assets to a reserve.\"\"\"\ntype VaultUserDepositItem {\n asset: TokenAmount!\n shares: TokenAmount!\n blockExplorerUrl: String!\n txHash: TxHash!\n timestamp: DateTime!\n}\n\nenum VaultUserHistoryAction {\n DEPOSIT\n WITHDRAW\n}\n\ninput VaultUserTransactionHistoryOrderBy @oneOf {\n \"\"\"Order by shares\"\"\"\n date: OrderDirection\n}\n\ninput VaultUserTransactionHistoryRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The chain id where the transactions were sent\"\"\"\n chainId: ChainId!\n\n \"\"\"The user that sent the transactions\"\"\"\n user: EvmAddress!\n\n \"\"\"The filter to optionally filter the transactions by action type\"\"\"\n filter: [VaultUserHistoryAction!]! = [DEPOSIT, WITHDRAW]\n\n \"\"\"Ordering criteria\"\"\"\n orderBy: VaultUserTransactionHistoryOrderBy! = {date: ASC}\n\n \"\"\"The page size\"\"\"\n pageSize: PageSize! = FIFTY\n\n \"\"\"Pagination cursor\"\"\"\n cursor: Cursor\n}\n\nunion VaultUserTransactionItem = VaultUserDepositItem | VaultUserWithdrawItem\n\n\"\"\"A transaction where the user withdrew assets from a reserve.\"\"\"\ntype VaultUserWithdrawItem {\n asset: TokenAmount!\n shares: TokenAmount!\n blockExplorerUrl: String!\n txHash: TxHash!\n timestamp: DateTime!\n}\n\ninput VaultWithdrawFeesRequest {\n \"\"\"The vault deployed address\"\"\"\n vault: EvmAddress!\n\n \"\"\"\n Who the withdrawal fees will go to - if not supplied, it goes to the owner\n \"\"\"\n sendTo: EvmAddress\n\n \"\"\"Human-formatted amount\"\"\"\n amount: WithdrawAmount!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultWithdrawInput {\n \"\"\"The amount of assets to withdraw.\"\"\"\n amount: BigDecimal!\n\n \"\"\"Whether the amount should be sent/received as aToken.\"\"\"\n asAToken: Boolean! = false\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput VaultWithdrawRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The details of the underlying token to withdraw.\"\"\"\n underlyingToken: VaultWithdrawInput!\n\n \"\"\"\n The address from which vault shares will be burned (normally your own wallet).\n \"\"\"\n sharesOwner: EvmAddress!\n\n \"\"\"\n If you are doing the withdrawal from a trusted wallet which can move funds on behalf of the shares owner (advanced usage)\n \"\"\"\n authorizedUser: EvmAddress\n\n \"\"\"\n The address to which the underlying assets will be sent - defaults to sharesOwner.\n \"\"\"\n recipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultsRequest {\n \"\"\"Filter criteria for vaults\"\"\"\n criteria: VaultsRequestFilterCriteria!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like userShares and other user features\n \"\"\"\n user: EvmAddress\n\n \"\"\"The page size\"\"\"\n pageSize: PageSize! = FIFTY\n\n \"\"\"Pagination cursor\"\"\"\n cursor: Cursor\n}\n\ninput VaultsRequestFilterCriteria @oneOf {\n \"\"\"Filter by specific vault addresses\"\"\"\n vaults: [VaultInput!]\n\n \"\"\"Filter by owner addresses\"\"\"\n ownedBy: [EvmAddress!]\n}\n\ninput WithdrawAmount @oneOf {\n \"\"\"Exact amount to withdraw, remember interest is generated on each block\"\"\"\n exact: BigDecimal\n\n \"\"\"Withdraw all the position completely\"\"\"\n max: AlwaysTrue\n}\n\ninput WithdrawAmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: WithdrawNativeAmountInput\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: WithdrawErc20AmountInput\n}\n\ninput WithdrawErc20AmountInput {\n \"\"\"The token address.\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g., wei).\n \"\"\"\n value: WithdrawAmount!\n}\n\ninput WithdrawNativeAmountInput {\n \"\"\"The native value\"\"\"\n value: WithdrawAmount!\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput WithdrawRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The amount to withdraw\"\"\"\n amount: WithdrawAmountInput!\n\n \"\"\"\n The user sending the transaction (normally the user's wallet address) this should have the `aToken` that will be burned by the `Pool`\n \"\"\"\n sender: EvmAddress!\n\n \"\"\"\n If not supplied, this will use `sender`. The address that will receive the underlying asset. This will go to the supplier if the user wants to receive the tokens into\n their own wallet or use a different address if the beneficiary is a different wallet\n \"\"\"\n recipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}","import { buildSchema } from 'graphql';\n\nimport schemaSDL from '../schema.graphql';\n\n/**\n * @internal\n */\nexport const schema = buildSchema(schemaSDL);\n"]}
1
+ {"version":3,"sources":["../schema.graphql","../src/test-utils.ts"],"names":["schema_default","schema","buildSchema"],"mappings":"4CAAA,IAAAA,CAAAA,CAAA,CAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;GCOO,IAAMC,CAAAA,CAASC,oBAAYF,CAAS","file":"test-utils.cjs","sourcesContent":["type APYSample {\n \"\"\"The avg rate\"\"\"\n avgRate: PercentValue!\n\n \"\"\"The date\"\"\"\n date: DateTime!\n}\n\ntype AaveBorrowIncentive {\n borrowAprDiscount: PercentValue!\n rewardTokenAddress: EvmAddress!\n rewardTokenSymbol: String!\n}\n\ntype AaveSupplyIncentive {\n extraSupplyApr: PercentValue!\n rewardTokenAddress: EvmAddress!\n rewardTokenSymbol: String!\n}\n\nscalar AlwaysTrue\n\ninput AmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: BigDecimal\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: Erc20AmountInput\n}\n\n\"\"\"\nIndicates that an approval transaction must be performed before proceeding to the next step.\n\"\"\"\ntype ApprovalRequired {\n \"\"\"The transaction requires an approval first\"\"\"\n approval: TransactionRequest!\n\n \"\"\"The reason for the approval\"\"\"\n reason: String!\n\n \"\"\"The required amount missing to be able to do the original transaction\"\"\"\n requiredAmount: DecimalValue!\n\n \"\"\"The current allowance approved\"\"\"\n currentAllowance: DecimalValue!\n\n \"\"\"The transaction to send after the approval is complete\"\"\"\n originalTransaction: TransactionRequest!\n}\n\ninput ApproveBorrowCreditDelegatorRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token address.\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"\n Token value in its main unit to approve (e.g., 1.5 DAI), not in the smallest fraction (e.g. wei).\n \"\"\"\n amount: BigDecimal!\n\n \"\"\"The user allowing the delegation from\"\"\"\n user: EvmAddress!\n\n \"\"\"The delegatee to approve the ability to borrow on the `user` behalf\"\"\"\n delegatee: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\nscalar BigDecimal\n\nscalar BigInt\n\nscalar BlockchainData\n\ninput BorrowAPYHistoryRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token for the reserve\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The time windows for the history\"\"\"\n window: TimeWindow!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput BorrowAmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: BigDecimal\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: BorrowErc20AmountInput\n}\n\ninput BorrowErc20AmountInput {\n \"\"\"The token address.\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g.,\n wei).\n \"\"\"\n value: BigDecimal!\n}\n\ninput BorrowRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The amount borrowing\"\"\"\n amount: BorrowAmountInput!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n\n \"\"\"\n If not supplied, this will use `sender` in most cases this is what the user wants if they want\n to borrow themselves. You can also pass in the credit delegator if the caller has\n been given credit delegation allowance. You can approve those with `approveBorrowCreditDelegation`.\n \"\"\"\n onBehalfOf: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ntype Chain {\n name: String!\n icon: String!\n chainId: ChainId!\n explorerUrl: String!\n isTestnet: Boolean!\n nativeWrappedToken: EvmAddress!\n}\n\n\"\"\"A supported blockchain chain ID\"\"\"\nscalar ChainId\n\nenum ChainsFilter {\n TESTNET_ONLY\n MAINNET_ONLY\n ALL\n}\n\ninput CollateralToggleRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token for the reserve\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The user to toggle emode on\"\"\"\n user: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput CreditDelegateeAmountRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token address.\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The user allowing the delegation from\"\"\"\n user: EvmAddress!\n\n \"\"\"The delegatee to approve the ability to borrow on the `user` behalf\"\"\"\n delegatee: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ntype Currency {\n \"\"\"The token address\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"The token name\"\"\"\n name: String!\n\n \"\"\"The token image\"\"\"\n imageUrl: String!\n\n \"\"\"The token symbol\"\"\"\n symbol: String!\n\n \"\"\"The token decimals\"\"\"\n decimals: Int!\n}\n\nscalar Cursor\n\nscalar DateTime\n\ninput DebtToCover @oneOf {\n \"\"\"Exact debt amount to cover\"\"\"\n exact: BigDecimal\n\n \"\"\"Maximum debt amount (equivalent to uint(-1))\"\"\"\n max: AlwaysTrue\n}\n\ntype DecimalValue {\n \"\"\"The raw none formatted value\"\"\"\n raw: BigInt!\n\n \"\"\"The decimals the value formatted into\"\"\"\n decimals: Int!\n\n \"\"\"The formatted value\"\"\"\n value: BigDecimal!\n}\n\ntype DomainData {\n name: String!\n version: String!\n chainId: ChainId!\n verifyingContract: EvmAddress!\n}\n\ninput ERC712Signature {\n \"\"\"The signature for the erc721\"\"\"\n value: Signature!\n\n \"\"\"The deadline for the erc721\"\"\"\n deadline: Int!\n}\n\ntype EmodeMarketCategory {\n \"\"\"The eMode id for the market\"\"\"\n id: Int!\n\n \"\"\"The eMode label\"\"\"\n label: String!\n\n \"\"\"The maximum loan-to-value ratio in efficiency mode\"\"\"\n maxLTV: PercentValue!\n\n \"\"\"The liquidation threshold in efficiency mode\"\"\"\n liquidationThreshold: PercentValue!\n\n \"\"\"The liquidation penalty applied in efficiency mode\"\"\"\n liquidationPenalty: PercentValue!\n\n \"\"\"The list of reserves which will tailor for this eMode\"\"\"\n reserves: [EmodeMarketReserveInfo!]!\n}\n\ntype EmodeMarketReserveInfo {\n \"\"\"The underlying token used on the reserve\"\"\"\n underlyingToken: Currency!\n\n \"\"\"If the underlying token can be collateral with this eMode on\"\"\"\n canBeCollateral: Boolean!\n\n \"\"\"If the underlying token can be borrowed with this eMode on\"\"\"\n canBeBorrowed: Boolean!\n}\n\n\"\"\"The emode reserve information\"\"\"\ntype EmodeReserveInfo {\n \"\"\"The eMode category id for the market\"\"\"\n categoryId: Int!\n\n \"\"\"The eMode label\"\"\"\n label: String!\n\n \"\"\"The maximum loan-to-value ratio in efficiency mode\"\"\"\n maxLTV: PercentValue!\n\n \"\"\"The liquidation threshold in efficiency mode\"\"\"\n liquidationThreshold: PercentValue!\n\n \"\"\"The liquidation penalty applied in efficiency mode\"\"\"\n liquidationPenalty: PercentValue!\n\n \"\"\"If the underlying token can be collateral with this eMode on\"\"\"\n canBeCollateral: Boolean!\n\n \"\"\"If the underlying token can be borrowed with this eMode on\"\"\"\n canBeBorrowed: Boolean!\n}\n\ninput Erc20AmountInput {\n \"\"\"The token address.\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g.,\n wei).\n \"\"\"\n value: BigDecimal!\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\nscalar EvmAddress\n\n\"\"\"\nAn execution plan represents what needs to happen to fulfill a requested operation.\nIt could be an immediate transaction, an approval followed by a transaction, or indicate insufficient balance.\n\"\"\"\nunion ExecutionPlan = TransactionRequest | ApprovalRequired | InsufficientBalanceError\n\ninput ForkTopUpErc20 {\n \"\"\"The token address\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction\n \"\"\"\n value: BigDecimal!\n}\n\ninput ForkTopUpRequest {\n \"\"\"The address you want the funds to be topped up against\"\"\"\n user: EvmAddress!\n\n \"\"\"The erc20 information\"\"\"\n erc20: ForkTopUpErc20\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction\n \"\"\"\n native: BigDecimal\n}\n\ntype ForkTopUpResponse {\n message: String!\n\n \"\"\"The tx hash of the newly created transaction\"\"\"\n txHash: String\n}\n\ninput HasProcessedKnownTransactionRequest {\n \"\"\"\n The operation type this is given to you on the TransactionRequest::operation\n \"\"\"\n operation: OperationType!\n\n \"\"\"The tx hash\"\"\"\n txHash: TxHash!\n}\n\ninput HealthFactorPreviewRequest {\n \"\"\"The action to simulate\"\"\"\n action: PreviewAction!\n}\n\ntype HealthFactorPreviewResponse {\n \"\"\"\n The user health factor before - if null, they don't have one because they are not borrowing\n \"\"\"\n before: BigDecimal\n\n \"\"\"\n The user health factor after - if null, they don't have one because they are not borrowing\n \"\"\"\n after: BigDecimal\n}\n\n\"\"\"\nIndicates the user does not have enough balance to perform the operation.\n\"\"\"\ntype InsufficientBalanceError {\n \"\"\"The amount required to do the original transaction\"\"\"\n required: DecimalValue!\n\n \"\"\"The amount available in the wallet\"\"\"\n available: DecimalValue!\n}\n\ninput LiquidateRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"\n The address of the token used as collateral, to receive as result of the liquidation\n \"\"\"\n collateralToken: EvmAddress!\n\n \"\"\"\n The address of the underlying borrowed token to be repaid with the liquidation\n \"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The address of the borrower getting liquidated\"\"\"\n user: EvmAddress!\n\n \"\"\"\n The debt amount of the underlying borrowed token the liquidator will repay\n \"\"\"\n debtToCover: DebtToCover! = {max: true}\n\n \"\"\"\n true if the liquidator wants to receive the aTokens equivalent of the purchased collateral, false if they want to receive the collateral asset directly\n \"\"\"\n receiveAToken: Boolean! = false\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\n\"\"\"Information about collateral liquidated in a liquidation call.\"\"\"\ntype LiquidationCollateral {\n \"\"\"Reserve of the collateral.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"Amount of collateral liquidated\"\"\"\n amount: TokenAmount\n}\n\n\"\"\"Information about debt repaid in a liquidation call.\"\"\"\ntype LiquidationRepaidDebt {\n \"\"\"Reserve of the repaid debt.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"Amount of debt repaid.\"\"\"\n amount: TokenAmount!\n}\n\ntype Market {\n \"\"\"The human-friendly name for the market\"\"\"\n name: String!\n\n \"\"\"The chain\"\"\"\n chain: Chain!\n\n \"\"\"The liquidity pool address for the market\"\"\"\n address: EvmAddress!\n\n \"\"\"A list eModes the market can support\"\"\"\n eModeCategories: [EmodeMarketCategory!]!\n userState: MarketUserState\n\n \"\"\"The market icon\"\"\"\n icon: String!\n\n \"\"\"The market reserves\"\"\"\n reserves(request: MarketReservesRequest! = {reserveType: BOTH, orderBy: {tokenName: ASC}}): [Reserve!]!\n\n \"\"\"The total market size\"\"\"\n totalMarketSize: BigDecimal!\n\n \"\"\"The total available liquidity in USD\"\"\"\n totalAvailableLiquidity: BigDecimal!\n}\n\ntype MarketInfo {\n \"\"\"The human-friendly name for the market\"\"\"\n name: String!\n\n \"\"\"The chain\"\"\"\n chain: Chain!\n\n \"\"\"The liquidity pool address for the market\"\"\"\n address: EvmAddress!\n\n \"\"\"The market icon\"\"\"\n icon: String!\n}\n\ninput MarketInput {\n \"\"\"The address of the market pool\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id the market is deployed on\"\"\"\n chainId: ChainId!\n}\n\ninput MarketRequest {\n \"\"\"The pool address for the market\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id the market pool address is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like eMode and other user features\n \"\"\"\n user: EvmAddress\n}\n\ninput MarketReservesRequest {\n \"\"\"The reserve type\"\"\"\n reserveType: MarketReservesRequestType! = BOTH\n\n \"\"\"The way the reserve gets ordered on the return result\"\"\"\n orderBy: MarketReservesRequestOrderBy! = {tokenName: ASC}\n}\n\ninput MarketReservesRequestOrderBy @oneOf {\n \"\"\"Order by the borrow APY\"\"\"\n borrowApy: OrderDirection\n\n \"\"\"Order by the supply APY\"\"\"\n supplyApy: OrderDirection\n\n \"\"\"Order by the token name\"\"\"\n tokenName: OrderDirection\n}\n\nenum MarketReservesRequestType {\n SUPPLY\n BORROW\n BOTH\n}\n\ntype MarketUserReserveBorrowPosition {\n \"\"\"The market address where this position exists\"\"\"\n market: MarketInfo!\n\n \"\"\"The currency being borrowed\"\"\"\n currency: Currency!\n\n \"\"\"The user's debt balance in this reserve\"\"\"\n debt: TokenAmount!\n\n \"\"\"The annual percentage yield for this borrow position\"\"\"\n apy: PercentValue!\n}\n\ntype MarketUserReserveSupplyPosition {\n \"\"\"The market address where this position exists\"\"\"\n market: MarketInfo!\n\n \"\"\"The currency being supplied\"\"\"\n currency: Currency!\n\n \"\"\"The user's supply balance in this reserve\"\"\"\n balance: TokenAmount!\n\n \"\"\"The annual percentage yield for this supply position\"\"\"\n apy: PercentValue!\n\n \"\"\"Whether this position is being used as collateral\"\"\"\n isCollateral: Boolean!\n\n \"\"\"If the asset can be used for collateral\"\"\"\n canBeCollateral: Boolean!\n}\n\ntype MarketUserState {\n \"\"\"The user's total net worth in the market\"\"\"\n netWorth: BigDecimal!\n\n \"\"\"The user's net annual percentage yield across all positions\"\"\"\n netAPY: PercentValue!\n\n \"\"\"\n The user's health factor (risk metric for liquidation) - if null, the user does not have a borrow\n \"\"\"\n healthFactor: BigDecimal\n\n \"\"\"Whether efficiency mode is enabled for the user\"\"\"\n eModeEnabled: Boolean!\n\n \"\"\"\n The total collateral of the user in the base currency used by the price feed\n \"\"\"\n totalCollateralBase: BigDecimal!\n\n \"\"\"The total debt of the user in the base currency used by the price feed\"\"\"\n totalDebtBase: BigDecimal!\n\n \"\"\"\n The borrowing power left of the user in the base currency used by the price feed\n \"\"\"\n availableBorrowsBase: BigDecimal!\n\n \"\"\"The liquidation threshold of the user\"\"\"\n currentLiquidationThreshold: PercentValue!\n\n \"\"\"The loan to value of the user\"\"\"\n ltv: PercentValue!\n\n \"\"\"One of the user collateral is in isolation mode\"\"\"\n isInIsolationMode: Boolean!\n}\n\ninput MarketsRequest {\n \"\"\"The markets you want to see based on the chain ids\"\"\"\n chainIds: [ChainId!]!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like eMode and other\n user features\n \"\"\"\n user: EvmAddress\n}\n\ntype MeritBorrowAndSupplyIncentiveCondition {\n \"\"\"The APR incentive for meeting the conditions\"\"\"\n extraApr: PercentValue!\n\n \"\"\"The token that must be supplied as collateral\"\"\"\n supplyToken: Currency!\n\n \"\"\"The token that must be borrowed\"\"\"\n borrowToken: Currency!\n\n \"\"\"Where you can go and claim the incentives\"\"\"\n claimLink: URL!\n}\n\ntype MeritBorrowIncentive {\n \"\"\"Extra APR for borrowing this asset from AAVE Merit program\"\"\"\n borrowAprDiscount: PercentValue!\n\n \"\"\"Where you can go and claim the incentives\"\"\"\n claimLink: URL!\n}\n\ntype MeritSupplyIncentive {\n \"\"\"Extra APR for supplying this asset from AAVE Merit program\"\"\"\n extraSupplyApr: PercentValue!\n\n \"\"\"Where you can go and claim the incentives\"\"\"\n claimLink: URL!\n}\n\ntype MessageData {\n owner: EvmAddress!\n spender: EvmAddress!\n value: BigInt!\n nonce: BigInt!\n deadline: Int!\n}\n\ntype NativeCurrency {\n \"\"\"The token image\"\"\"\n imageUrl: String!\n\n \"\"\"The token name\"\"\"\n name: String!\n\n \"\"\"The token symbol\"\"\"\n symbol: String!\n\n \"\"\"The token decimals\"\"\"\n decimals: Int!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"The wrapped version of this token\"\"\"\n wrappedToken: EvmAddress!\n}\n\nenum OperationType {\n BORROW\n REPAY\n RESERVE_USED_AS_COLLATERAL_ENABLED\n RESERVE_USED_AS_COLLATERAL_DISABLED\n SUPPLY\n USER_EMODE_SET\n WITHDRAW\n VAULT_DEPLOYED\n VAULT_DEPOSIT\n VAULT_FEE_UPDATED\n VAULT_FEE_WITHDRAWN\n VAULT_WITHDRAW\n LIQUIDATION\n}\n\nenum OrderDirection {\n ASC\n DESC\n}\n\nenum PageSize {\n TEN\n FIFTY\n}\n\ntype PaginatedResultInfo {\n \"\"\"The cursor to the previous page of results, if any.\"\"\"\n prev: Cursor\n\n \"\"\"The cursor to the next page of results, if any.\"\"\"\n next: Cursor\n}\n\n\"\"\"Paginated result of user transaction history.\"\"\"\ntype PaginatedUserTransactionHistoryResult {\n \"\"\"List of user transaction items.\"\"\"\n items: [UserTransactionItem!]!\n\n \"\"\"Pagination information.\"\"\"\n pageInfo: PaginatedResultInfo!\n}\n\ntype PaginatedVaultUserTransactionHistoryResult {\n items: [VaultUserTransactionItem!]!\n pageInfo: PaginatedResultInfo!\n}\n\ntype PaginatedVaultsResult {\n items: [Vault!]!\n pageInfo: PaginatedResultInfo!\n}\n\ntype PercentValue {\n \"\"\"The raw none normalized percentage (the value that lives onchain)\"\"\"\n raw: BigInt!\n\n \"\"\"The decimals representing the precision of the onchain raw value\"\"\"\n decimals: Int!\n\n \"\"\"The normalized percentage (1.0 = 100%)\"\"\"\n value: BigDecimal!\n\n \"\"\"\n The human-readable formatted value you can render on a UI straight away.\n For example, this will turn `0.01232343` to `1.23`, it will always round to `2` decimal points.\n \"\"\"\n formatted: BigDecimal!\n}\n\ninput PermitRequest {\n \"\"\"The spender (when doing this with aave this is the market address)\"\"\"\n spender: EvmAddress!\n\n \"\"\"The token you want to do the permit with\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n The amount to permit - in human-readable form aka 0.001 eth is 0.001 eth here\n \"\"\"\n amount: BigDecimal!\n\n \"\"\"The chain id the pool is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"The owner of the funds\"\"\"\n owner: EvmAddress!\n}\n\ntype PermitTypedDataResponse {\n types: TypeDefinition!\n primaryType: String!\n domain: DomainData!\n message: MessageData!\n}\n\ninput PreviewAction @oneOf {\n supply: SupplyRequest\n borrow: BorrowRequest\n repay: RepayRequest\n withdraw: WithdrawRequest\n}\n\ntype Query {\n \"\"\"Get if the API is healthy\"\"\"\n health: Boolean!\n\n \"\"\"Chains the protocol supports\"\"\"\n chains(filter: ChainsFilter! = ALL): [Chain!]!\n\n \"\"\"\n Deposits assets (underlying tokens or its related aTokens) into the vault and mints a corresponding amount of vault shares to the receiver.\n \"\"\"\n vaultDeposit(request: VaultDepositRequest!): ExecutionPlan!\n\n \"\"\"\n Redeems shares (vault shares) for the underlying assets or a tokens, which are sent to the receiver. The shares are burned from the owner.\n \"\"\"\n vaultRedeemShares(request: VaultRedeemSharesRequest!): TransactionRequest!\n\n \"\"\"Get a vault\"\"\"\n vault(request: VaultRequest!): Vault\n\n \"\"\"Get vaults\"\"\"\n vaults(request: VaultsRequest!): PaginatedVaultsResult!\n\n \"\"\"User vaults they have shares in\"\"\"\n userVaults(request: UserVaultsRequest!): PaginatedVaultsResult!\n\n \"\"\"Deploy a vault and earn fees from the yield\"\"\"\n vaultDeploy(request: VaultDeployRequest!): ExecutionPlan!\n\n \"\"\"\n Update a vault's fee. You MUST be the owner of the vault to send this tx request.\n \"\"\"\n vaultSetFee(request: VaultSetFeeRequest!): TransactionRequest!\n\n \"\"\"\n Withdraws accumulated fees from the specified vault. You MUST be the owner of the vault to send this tx request.\n \"\"\"\n vaultWithdrawFees(request: VaultWithdrawFeesRequest!): TransactionRequest!\n\n \"\"\"User vault transaction history\"\"\"\n vaultUserTransactionHistory(request: VaultUserTransactionHistoryRequest!): PaginatedVaultUserTransactionHistoryResult!\n\n \"\"\"\n Withdraws assets (underlying tokens or its related aTokens) from the vault and sends them to the receiver. The corresponding vault shares are burned from the owner.\n \"\"\"\n vaultWithdraw(request: VaultWithdrawRequest!): TransactionRequest!\n\n \"\"\"\n Mints an exact amount of shares (vault shares) to the receiver by depositing the calculated amount of underlying or aTokens assets.\n \"\"\"\n vaultMintShares(request: VaultMintSharesRequest!): ExecutionPlan!\n\n \"\"\"\n This will return you the amount of shares that would be minted to the receiver\n \"\"\"\n vaultPreviewDeposit(request: VaultOperationPreviewRequest!): TokenAmount!\n\n \"\"\"\n This will return you the amount of assets that would be deposited by the caller\n \"\"\"\n vaultPreviewMint(request: VaultOperationPreviewRequest!): TokenAmount!\n\n \"\"\"\n This will return you the number of shares burnt based on the amount of assets you want to withdraw\n \"\"\"\n vaultPreviewWithdraw(request: VaultOperationPreviewRequest!): TokenAmount!\n\n \"\"\"\n This will return you the amount of assets that would be withdrawn by the receiver.\n \"\"\"\n vaultPreviewRedeem(request: VaultOperationPreviewRequest!): TokenAmount!\n\n \"\"\"Lists all the markets\"\"\"\n markets(request: MarketsRequest!): [Market!]!\n\n \"\"\"Get a market\"\"\"\n market(request: MarketRequest!): Market\n\n \"\"\"Create the transaction to borrow from a market\"\"\"\n borrow(request: BorrowRequest!): ExecutionPlan!\n\n \"\"\"Approve a credit borrow delegator to be able to borrow on your behalf\"\"\"\n approveBorrowCreditDelegation(request: ApproveBorrowCreditDelegatorRequest!): TransactionRequest!\n\n \"\"\"\n Gets the amount delegated to the credit delegatee that can borrow on your behalf\n \"\"\"\n creditDelegateeAllowance(request: CreditDelegateeAmountRequest!): TokenAmount!\n\n \"\"\"Create the transaction to supply to a market\"\"\"\n supply(request: SupplyRequest!): ExecutionPlan!\n\n \"\"\"Create the transaction to repay to a market\"\"\"\n repay(request: RepayRequest!): ExecutionPlan!\n\n \"\"\"Create the transaction to withdraw from a market\"\"\"\n withdraw(request: WithdrawRequest!): ExecutionPlan!\n\n \"\"\"Create the transaction to toggle eMode for a market\"\"\"\n userSetEmode(request: UserSetEmodeRequest!): TransactionRequest!\n\n \"\"\"Enable/disable a specific supplied asset as collateral\"\"\"\n collateralToggle(request: CollateralToggleRequest!): TransactionRequest!\n\n \"\"\"\n liquidate a non-healthy position collateral-wise, with Health Factor below 1\n \"\"\"\n liquidate(request: LiquidateRequest!): TransactionRequest!\n\n \"\"\"Returns the user account market data across all the reserves.\"\"\"\n userMarketState(request: UserMarketStateRequest!): MarketUserState!\n\n \"\"\"The usd exchange rates for different tokens on a given market\"\"\"\n usdExchangeRates(request: UsdExchangeRatesRequest!): [UsdExchangeRate!]!\n\n \"\"\"Get all the user borrows positions\"\"\"\n userBorrows(request: UserBorrowsRequest!): [MarketUserReserveBorrowPosition!]!\n\n \"\"\"Get all the user supplies positions\"\"\"\n userSupplies(request: UserSuppliesRequest!): [MarketUserReserveSupplyPosition!]!\n\n \"\"\"Get the borrow APY history\"\"\"\n borrowAPYHistory(request: BorrowAPYHistoryRequest!): [APYSample!]!\n\n \"\"\"Get the supply APY history\"\"\"\n supplyAPYHistory(request: SupplyAPYHistoryRequest!): [APYSample!]!\n\n \"\"\"Generate EIP-712 typed data for EIP-2612 permit signature\"\"\"\n permitTypedData(request: PermitRequest!): PermitTypedDataResponse!\n\n \"\"\"Get the reserve for on a market\"\"\"\n reserve(request: ReserveRequest!): Reserve\n\n \"\"\"The user's market transaction history\"\"\"\n userTransactionHistory(request: UserTransactionHistoryRequest!): PaginatedUserTransactionHistoryResult!\n\n \"\"\"\n This lets you know the API has processed the known transaction hash, as the API uses caching to make things as fast\n as possible, it has an invalidation task, so sometimes if the receipt is complete, we may still (rarely) serve\n old data for 100-200ms longer, it's best to query after you got the receipt to be told that it is ready to go.\n Note the invalidation is very quick, and most of the time it's present even before your receipt is returned this is to\n cater for the race condition.\n \"\"\"\n hasProcessedKnownTransaction(request: HasProcessedKnownTransactionRequest!): Boolean!\n healthFactorPreview(request: HealthFactorPreviewRequest!): HealthFactorPreviewResponse!\n\n \"\"\"Top up a balance for a user or yourself on the fork\"\"\"\n forkTopUp(request: ForkTopUpRequest!): ForkTopUpResponse!\n}\n\ninput RepayAmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: BigDecimal\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: RepayErc20AmountInput\n}\n\ninput RepayErc20Amount @oneOf {\n \"\"\"\n Exact amount to repay\n Token value in its main unit (e.g., 1.5 GHO), not in the smallest fraction (e.g., wei).\n \"\"\"\n exact: BigDecimal\n\n \"\"\"Repay all the amount completely\"\"\"\n max: AlwaysTrue\n}\n\ninput RepayErc20AmountInput {\n \"\"\"The token address.\"\"\"\n currency: EvmAddress!\n\n \"\"\"The amount to repay\"\"\"\n value: RepayErc20Amount!\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without the need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput RepayRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"\n The amount to repay - you can pass in the underlying or the aToken if you pass in the aToken address, it will repay with the aToken\n \"\"\"\n amount: RepayAmountInput!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n\n \"\"\"\n If not supplied, this will use `sender`. The address of the user who will get their debt reduced/removed. This should be the address of the user calling the function if they want to\n \"\"\"\n onBehalfOf: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ntype Reserve {\n \"\"\"The market information the reserve is under\"\"\"\n market: MarketInfo!\n\n \"\"\"The reserve underlying currency\"\"\"\n underlyingToken: Currency!\n\n \"\"\"The reserve a token\"\"\"\n aToken: Currency!\n\n \"\"\"The reserve v token\"\"\"\n vToken: Currency!\n\n \"\"\"\n If the reserve accepts native currency, for example, if you're on a reserve with asset WETH, it can\n also accept ETH\n \"\"\"\n acceptsNative: NativeCurrency\n\n \"\"\"The reserve size\"\"\"\n size: TokenAmount!\n\n \"\"\"The usd exchange rate for the underlying token\"\"\"\n usdExchangeRate: BigDecimal!\n\n \"\"\"The usd oracle address it is pulling that price from\"\"\"\n usdOracleAddress: EvmAddress!\n\n \"\"\"The supply info for the reserve\"\"\"\n supplyInfo: ReserveSupplyInfo!\n\n \"\"\"\n The borrow info for the reserve - if its null the underlying token cannot be borrowed\n \"\"\"\n borrowInfo: ReserveBorrowInfo\n\n \"\"\"The reserve has been frozen all actions are stopped\"\"\"\n isFrozen: Boolean!\n\n \"\"\"The reserve is paused you can still withdraw and some other actions\"\"\"\n isPaused: Boolean!\n\n \"\"\"\n If the reserve supports isolation mode this is defined and the configs are defined\n \"\"\"\n isolationModeConfig: ReserveIsolationModeConfig\n\n \"\"\"If the reserve can use flash loans on it\"\"\"\n flashLoanEnabled: Boolean!\n\n \"\"\"Does the underlying reserve support permit\"\"\"\n permitSupported: Boolean!\n\n \"\"\"\n This exposes the extra incentives you can earn from third parties (Merit) or from\n incentives set by governance through the RewardsController.\n Note Aave Labs does not guarantee third party program and accepts no liability to those\n \"\"\"\n incentives: [ReserveIncentive!]!\n\n \"\"\"The emode information for the reserve\"\"\"\n eModeInfo: [EmodeReserveInfo!]!\n\n \"\"\"Get the user state on the reserve\"\"\"\n userState: ReserveUserState\n}\n\ntype ReserveBorrowInfo {\n \"\"\"The annual percentage yield for borrowing this asset\"\"\"\n apy: PercentValue!\n\n \"\"\"The total amount borrowed from this reserve\"\"\"\n total: TokenAmount!\n\n \"\"\"The reserve factor percentage\"\"\"\n reserveFactor: PercentValue!\n\n \"\"\"The available liquidity\"\"\"\n availableLiquidity: TokenAmount!\n\n \"\"\"The reserve utilization rate\"\"\"\n utilizationRate: PercentValue!\n\n \"\"\"\n Variable rate slope 1 - the rate of interest increase when utilization rate is below optimal\n This is the slope of the interest rate curve in the first segment (0% to optimal utilization)\n \"\"\"\n variableRateSlope1: PercentValue!\n\n \"\"\"\n Variable rate slope 2 - the rate of interest increase when utilization rate is above optimal\n This is the slope of the interest rate curve in the second segment (optimal to 100% utilization)\n Typically much steeper than slope1 to discourage over-utilization\n \"\"\"\n variableRateSlope2: PercentValue!\n\n \"\"\"\n The optimal usage rate - the utilization rate at which the variable rate curve transitions\n from slope1 to slope2. This represents the target utilization rate for the reserve\n \"\"\"\n optimalUsageRate: PercentValue!\n\n \"\"\"\n Borrowing can have different states based on the criteria of the user or the market\n \"\"\"\n borrowingState: ReserveBorrowingState!\n\n \"\"\"The borrow cap of the reserve\"\"\"\n borrowCap: TokenAmount!\n\n \"\"\"The borrow cap is now full\"\"\"\n borrowCapReached: Boolean!\n}\n\nenum ReserveBorrowingState {\n \"\"\"Borrowing is enabled\"\"\"\n ENABLED\n\n \"\"\"Borrowing is disabled\"\"\"\n DISABLED\n\n \"\"\"The user emode settings make this underlying not able to be borrowed\"\"\"\n USER_EMODE_DISABLED_BORROW\n}\n\nunion ReserveIncentive = MeritSupplyIncentive | MeritBorrowIncentive | MeritBorrowAndSupplyIncentiveCondition | AaveSupplyIncentive | AaveBorrowIncentive\n\ntype ReserveInfo {\n \"\"\"The market information the reserve is under\"\"\"\n market: MarketInfo!\n\n \"\"\"The reserve underlying currency\"\"\"\n underlyingToken: Currency!\n\n \"\"\"The reserve a token\"\"\"\n aToken: Currency!\n\n \"\"\"The reserve v token\"\"\"\n vToken: Currency!\n\n \"\"\"The usd exchange rate for the underlying token\"\"\"\n usdExchangeRate: BigDecimal!\n\n \"\"\"Does the underlying reserve support permit\"\"\"\n permitSupported: Boolean!\n\n \"\"\"\n This exposes the extra incentives you can earn from third parties (Merit) or from\n incentives set by governance through the RewardsController.\n Note Aave Labs does not guarantee third party program and accepts no liability to those\n \"\"\"\n incentives: [ReserveIncentive!]!\n}\n\ntype ReserveIsolationModeConfig {\n \"\"\"This means that it can be used to borrow\"\"\"\n canBeCollateral: Boolean!\n canBeBorrowed: Boolean!\n debtCeiling: TokenAmount!\n\n \"\"\"The decimals used for the debt ceiling\"\"\"\n debtCeilingDecimals: Int!\n\n \"\"\"Only the amount that is borrowed by the users in isolation\"\"\"\n totalBorrows: TokenAmount!\n}\n\ninput ReserveRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token for the reserve\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The chain id the pool is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like eMode and other\n user features\n \"\"\"\n user: EvmAddress\n}\n\ntype ReserveSupplyInfo {\n \"\"\"The annual percentage yield for supplying this asset\"\"\"\n apy: PercentValue!\n\n \"\"\"The maximum loan-to-value ratio when used as collateral\"\"\"\n maxLTV: PercentValue!\n\n \"\"\"The liquidation threshold for this asset\"\"\"\n liquidationThreshold: PercentValue!\n\n \"\"\"The liquidation bonus applied when liquidated\"\"\"\n liquidationBonus: PercentValue!\n\n \"\"\"If the asset can be used for collateral\"\"\"\n canBeCollateral: Boolean!\n\n \"\"\"The supply cap\"\"\"\n supplyCap: TokenAmount!\n\n \"\"\"The supply cap is now full\"\"\"\n supplyCapReached: Boolean!\n\n \"\"\"The total amount supplied to this reserve\"\"\"\n total: DecimalValue!\n}\n\ntype ReserveUserState {\n \"\"\"The user's balance of this asset\"\"\"\n balance: TokenAmount!\n\n \"\"\"The amount the user can supply to this reserve\"\"\"\n suppliable: TokenAmount!\n\n \"\"\"The amount the user can borrow from this reserve\"\"\"\n borrowable: TokenAmount!\n\n \"\"\"The user emode info if enabled\"\"\"\n emode: EmodeReserveInfo\n\n \"\"\"\n If the user is in a state to be able to supply taking into consideration their emode\n \"\"\"\n canBeCollateral: Boolean!\n\n \"\"\"If the user is in a state to be able to borrow from the reserve\"\"\"\n canBeBorrowed: Boolean!\n\n \"\"\"Is the user in isolation mode\"\"\"\n isInIsolationMode: Boolean!\n}\n\nscalar Signature\n\ninput SupplyAPYHistoryRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token for the reserve\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The time windows for the history\"\"\"\n window: TimeWindow!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput SupplyRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The amount supplying\"\"\"\n amount: AmountInput!\n\n \"\"\"The user sending the transaction (normally the users wallet address)\"\"\"\n sender: EvmAddress!\n\n \"\"\"\n If not supplied, this will use `sender`. The address that will receive the corresponding aTokens. This is the only address that will be able to withdraw the asset from the pool.\n This will be the same as msg.sender if the user wants to receive aTokens into their own wallet, or use a different address if the beneficiary\n of aTokens is a different wallet\n \"\"\"\n onBehalfOf: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\nenum TimeWindow {\n LAST_DAY\n LAST_WEEK\n LAST_MONTH\n LAST_SIX_MONTHS\n LAST_YEAR\n}\n\ntype TokenAmount {\n usdPerToken: BigDecimal!\n\n \"\"\"The amount\"\"\"\n amount: DecimalValue!\n\n \"\"\"The usd full amount\"\"\"\n usd: BigDecimal!\n}\n\n\"\"\"\nRepresents a transaction that must be executed, such as a direct supply, borrow, etc.\n\"\"\"\ntype TransactionRequest {\n \"\"\"Who the transaction is going to (normally a contract)\"\"\"\n to: EvmAddress!\n\n \"\"\"Who is sending the transaction\"\"\"\n from: EvmAddress!\n\n \"\"\"The blockchain transaction encoded data\"\"\"\n data: BlockchainData!\n\n \"\"\"The native token value\"\"\"\n value: BigInt!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The primary well-known operation the transaction is - you use this to track hasProcessedKnownTransaction\n If null the API does not track/require the outcome - once receipt is done, everything is ready to go\n \"\"\"\n operation: OperationType\n}\n\nscalar TxHash\n\ntype TypeDefinition {\n EIP712Domain: [TypeField!]!\n Permit: [TypeField!]!\n}\n\ntype TypeField {\n name: String!\n type: String!\n}\n\nscalar URL\n\ntype UsdExchangeRate {\n currency: Currency!\n rate: BigDecimal!\n}\n\ninput UsdExchangeRatesRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying tokens for the reserve\"\"\"\n underlyingTokens: [EvmAddress!]!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\n\"\"\"A transaction where the user borrowed assets from a reserve.\"\"\"\ntype UserBorrowTransaction {\n \"\"\"Amount borrowed.\"\"\"\n amount: TokenAmount!\n\n \"\"\"Reserve from which assets were borrowed.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ninput UserBorrowsRequest {\n \"\"\"The market addresses and chains ids to query\"\"\"\n markets: [MarketInput!]!\n\n \"\"\"The user address to get borrow positions for\"\"\"\n user: EvmAddress!\n\n \"\"\"How to order the results\"\"\"\n orderBy: UserBorrowsRequestOrderBy! = {name: ASC}\n}\n\ninput UserBorrowsRequestOrderBy @oneOf {\n \"\"\"Order by the user's debt amount\"\"\"\n debt: OrderDirection\n\n \"\"\"Order by the asset name\"\"\"\n name: OrderDirection\n\n \"\"\"Order by the annual percentage yield\"\"\"\n apy: OrderDirection\n}\n\n\"\"\"A transaction where the user was involved in a liquidation call.\"\"\"\ntype UserLiquidationCallTransaction {\n \"\"\"Collateral liquidated.\"\"\"\n collateral: LiquidationCollateral!\n\n \"\"\"Debt repaid.\"\"\"\n debtRepaid: LiquidationRepaidDebt!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ninput UserMarketStateRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The user to toggle emode on\"\"\"\n user: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\n\"\"\"A transaction where the user repaid borrowed assets.\"\"\"\ntype UserRepayTransaction {\n \"\"\"Amount repaid.\"\"\"\n amount: TokenAmount!\n\n \"\"\"Reserve to which assets were repaid.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ninput UserSetEmodeRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The user to toggle emode on\"\"\"\n user: EvmAddress!\n\n \"\"\"\n The eMode category id for the market if you want to disable eMode, then pass in null\n \"\"\"\n categoryId: Int\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput UserSuppliesRequest {\n \"\"\"The market addresses and chains ids to query\"\"\"\n markets: [MarketInput!]!\n\n \"\"\"The user address to get supply positions for\"\"\"\n user: EvmAddress!\n\n \"\"\"Only get back the supplies which can be used as collateral\"\"\"\n collateralsOnly: Boolean! = false\n\n \"\"\"How to order the results\"\"\"\n orderBy: UserSuppliesRequestOrderBy! = {name: ASC}\n}\n\ninput UserSuppliesRequestOrderBy @oneOf {\n \"\"\"Order by the user's supply balance\"\"\"\n balance: OrderDirection\n\n \"\"\"Order by the asset name\"\"\"\n name: OrderDirection\n\n \"\"\"Order by the annual percentage yield\"\"\"\n apy: OrderDirection\n\n \"\"\"Order by whether the position is used as collateral\"\"\"\n isCollateralized: OrderDirection\n}\n\n\"\"\"A transaction where the user supplied assets to a reserve.\"\"\"\ntype UserSupplyTransaction {\n \"\"\"Amount supplied.\"\"\"\n amount: TokenAmount!\n\n \"\"\"Reserve to which assets were supplied.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ninput UserTransactionHistoryRequest {\n \"\"\"The market address\"\"\"\n market: EvmAddress!\n\n \"\"\"The filter to optionally filter the transactions by type\"\"\"\n filter: [UserTransactionType!]! = [SUPPLY, WITHDRAW, BORROW, REPAY, USAGE_AS_COLLATERAL, LIQUIDATION_CALL]\n\n \"\"\"The order by object to sort the transactions by\"\"\"\n orderBy: UserTransactionHistoryRequestOrderBy! = {date: ASC}\n\n \"\"\"The user that sent the transactions\"\"\"\n user: EvmAddress!\n\n \"\"\"The chain id where the transactions were sent\"\"\"\n chainId: ChainId!\n\n \"\"\"The page size\"\"\"\n pageSize: PageSize! = FIFTY\n\n \"\"\"Pagination cursor\"\"\"\n cursor: Cursor\n}\n\ninput UserTransactionHistoryRequestOrderBy {\n \"\"\"Order by the date of the transaction\"\"\"\n date: OrderDirection\n}\n\nunion UserTransactionItem = UserSupplyTransaction | UserWithdrawTransaction | UserBorrowTransaction | UserRepayTransaction | UserUsageAsCollateralTransaction | UserLiquidationCallTransaction\n\n\"\"\"The type of user transaction in the protocol.\"\"\"\nenum UserTransactionType {\n \"\"\"User supplied assets to the protocol.\"\"\"\n SUPPLY\n\n \"\"\"User borrowed assets from the protocol.\"\"\"\n BORROW\n\n \"\"\"User enabled or disabled usage of an asset as collateral.\"\"\"\n USAGE_AS_COLLATERAL\n\n \"\"\"User was involved in a liquidation call.\"\"\"\n LIQUIDATION_CALL\n\n \"\"\"User repaid a borrowed amount.\"\"\"\n REPAY\n\n \"\"\"User withdrew supplied assets.\"\"\"\n WITHDRAW\n}\n\n\"\"\"\nA transaction where the user enabled or disabled usage of an asset as collateral.\n\"\"\"\ntype UserUsageAsCollateralTransaction {\n \"\"\"Whether collateral usage was enabled.\"\"\"\n enabled: Boolean!\n\n \"\"\"Reserve for which collateral usage was changed.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ntype UserVaultShares {\n \"\"\"The user's shares on the vault\"\"\"\n shares: TokenAmount!\n\n \"\"\"The balance you can withdraw\"\"\"\n balance: TokenAmount!\n}\n\ninput UserVaultsFilter {\n \"\"\"Filter by markets\"\"\"\n vaults: [VaultInput!]\n\n \"\"\"Filter by underlying token addresses\"\"\"\n underlyingTokens: [EvmAddress!]\n}\n\ninput UserVaultsOrderBy @oneOf {\n \"\"\"Order by shares\"\"\"\n shares: OrderDirection\n\n \"\"\"Order by fee\"\"\"\n fee: OrderDirection\n}\n\ninput UserVaultsRequest {\n \"\"\"The user address\"\"\"\n user: EvmAddress!\n\n \"\"\"Filter criteria\"\"\"\n filters: UserVaultsFilter\n\n \"\"\"Ordering criteria\"\"\"\n orderBy: UserVaultsOrderBy! = {shares: ASC}\n\n \"\"\"The page size\"\"\"\n pageSize: PageSize! = FIFTY\n\n \"\"\"Pagination cursor\"\"\"\n cursor: Cursor\n}\n\n\"\"\"A transaction where the user withdrew assets from a reserve.\"\"\"\ntype UserWithdrawTransaction {\n \"\"\"Amount withdrawn.\"\"\"\n amount: TokenAmount!\n\n \"\"\"Reserve from which assets were withdrawn.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ntype Vault {\n \"\"\"The vault address\"\"\"\n address: EvmAddress!\n\n \"\"\"The owner of the vault\"\"\"\n owner: EvmAddress!\n\n \"\"\"The name of the share\"\"\"\n shareName: String!\n\n \"\"\"The symbol of the share\"\"\"\n shareSymbol: String!\n\n \"\"\"The reserve the vault is using\"\"\"\n usedReserve: Reserve!\n\n \"\"\"The current fee percentage set for the vault.\"\"\"\n fee: PercentValue!\n\n \"\"\"How much this vault has made in revenue\"\"\"\n totalFeeRevenue: TokenAmount!\n\n \"\"\"\n The last recorded balance of the vault's AToken. This value is updated when yield is accrued.\n \"\"\"\n balance: TokenAmount!\n\n \"\"\"The chain id the vault lives on\"\"\"\n chainId: ChainId!\n\n \"\"\"The user's shares info on the vault\"\"\"\n userShares: UserVaultShares\n\n \"\"\"The total fees the owner can claim currently for the vault\"\"\"\n feesBalance: TokenAmount!\n\n \"\"\"The total vault APR after their fee is taken off\"\"\"\n vaultApr: PercentValue!\n}\n\ninput VaultDeployRequest {\n \"\"\"Underlying token address.\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The market address.\"\"\"\n market: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The address to set as which deploys the vault and will become an owner of the vault.\n \"\"\"\n deployer: EvmAddress!\n\n \"\"\"The owner of the vault - if not defined, it will be the deployer\"\"\"\n owner: EvmAddress\n\n \"\"\"The initial fee to set, expressed in %.\"\"\"\n initialFee: BigDecimal!\n\n \"\"\"The name to set for the vault's shares.\"\"\"\n shareName: String!\n\n \"\"\"The symbol to set for the vault's shares.\"\"\"\n shareSymbol: String!\n\n \"\"\"\n The initial amount of underlying assets to deposit. This must be a non-zero, non-trivial amount, depending on the underlying asset's decimals.\n \"\"\"\n initialLockDeposit: BigDecimal!\n}\n\ninput VaultDepositAmountInput {\n \"\"\"The amount of assets to deposit.\"\"\"\n value: BigDecimal!\n\n \"\"\"Whether you are depositing in as a token or normal underlying\"\"\"\n asAToken: Boolean! = false\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput VaultDepositRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The details of the amounts to deposit.\"\"\"\n amount: VaultDepositAmountInput!\n\n \"\"\"The user who is depositing\"\"\"\n depositor: EvmAddress!\n\n \"\"\"\n The address to which vault shares will be minted to - defaults to depositor.\n \"\"\"\n sharesRecipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultInput {\n \"\"\"The address of the fault\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id the vault is on\"\"\"\n chainId: ChainId!\n}\n\ninput VaultMintShareInput {\n \"\"\"The amount of vault shares\"\"\"\n amount: BigDecimal!\n\n \"\"\"Whether the amount should be received as aToken.\"\"\"\n asAToken: Boolean! = false\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput VaultMintSharesRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The amount of shares to mint\"\"\"\n shares: VaultMintShareInput!\n\n \"\"\"The user who is wanting to mint the shares\"\"\"\n minter: EvmAddress!\n\n \"\"\"\n The address to which vault shares will be minted to - defaults to minter.\n \"\"\"\n sharesRecipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultOperationPreviewRequest {\n \"\"\"The vault\"\"\"\n vault: EvmAddress!\n\n \"\"\"The chain id the vault is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The amount in human-readable form\n preview deposit = underlying\n preview mint = shares\n preview withdraw = underlying\n preview redeem = shares\n \"\"\"\n amount: BigDecimal!\n}\n\ninput VaultRedeemShareInput {\n \"\"\"The amount of vault shares\"\"\"\n amount: BigDecimal!\n\n \"\"\"Whether the amount should be sent as aToken.\"\"\"\n asAToken: Boolean! = false\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput VaultRedeemSharesRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The shares to redeem.\"\"\"\n shares: VaultRedeemShareInput!\n\n \"\"\"\n The address from which vault shares will be burned (normally your own wallet).\n \"\"\"\n sharesOwner: EvmAddress!\n\n \"\"\"\n If you are doing the redeem from a trusted wallet which can move funds on behalf of the shares owner (advanced usage)\n \"\"\"\n authorizedUser: EvmAddress\n\n \"\"\"\n The address to which the underlying assets will be sent; if not set it will go to the sharesOwner\n \"\"\"\n recipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultRequest {\n \"\"\"The retrieve criteria\"\"\"\n by: VaultRequestBy!\n\n \"\"\"The chain id the vault is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like userShares and other user features\n \"\"\"\n user: EvmAddress\n}\n\ninput VaultRequestBy @oneOf {\n \"\"\"The vault address\"\"\"\n address: EvmAddress\n\n \"\"\"\n You can use this if you deployed a vault and want to get the vault information using the tx hash after the receipt is given\n \"\"\"\n txHash: TxHash\n}\n\ninput VaultSetFeeRequest {\n \"\"\"The vault deployed address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The new fee to set, expressed in %.\"\"\"\n newFee: BigDecimal!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\n\"\"\"A transaction where the user supplied assets to a reserve.\"\"\"\ntype VaultUserDepositItem {\n asset: TokenAmount!\n shares: TokenAmount!\n blockExplorerUrl: String!\n txHash: TxHash!\n timestamp: DateTime!\n}\n\nenum VaultUserHistoryAction {\n DEPOSIT\n WITHDRAW\n}\n\ninput VaultUserTransactionHistoryOrderBy @oneOf {\n \"\"\"Order by shares\"\"\"\n date: OrderDirection\n}\n\ninput VaultUserTransactionHistoryRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The chain id where the transactions were sent\"\"\"\n chainId: ChainId!\n\n \"\"\"The user that sent the transactions\"\"\"\n user: EvmAddress!\n\n \"\"\"The filter to optionally filter the transactions by action type\"\"\"\n filter: [VaultUserHistoryAction!]! = [DEPOSIT, WITHDRAW]\n\n \"\"\"Ordering criteria\"\"\"\n orderBy: VaultUserTransactionHistoryOrderBy! = {date: ASC}\n\n \"\"\"The page size\"\"\"\n pageSize: PageSize! = FIFTY\n\n \"\"\"Pagination cursor\"\"\"\n cursor: Cursor\n}\n\nunion VaultUserTransactionItem = VaultUserDepositItem | VaultUserWithdrawItem\n\n\"\"\"A transaction where the user withdrew assets from a reserve.\"\"\"\ntype VaultUserWithdrawItem {\n asset: TokenAmount!\n shares: TokenAmount!\n blockExplorerUrl: String!\n txHash: TxHash!\n timestamp: DateTime!\n}\n\ninput VaultWithdrawAmountInput {\n \"\"\"The amount of assets to withdraw.\"\"\"\n value: BigDecimal!\n\n \"\"\"Whether the amount should be sent/received as aToken.\"\"\"\n asAToken: Boolean! = false\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput VaultWithdrawFeesRequest {\n \"\"\"The vault deployed address\"\"\"\n vault: EvmAddress!\n\n \"\"\"\n Who the withdrawal fees will go to - if not supplied, it goes to the owner\n \"\"\"\n sendTo: EvmAddress\n\n \"\"\"Human-formatted amount\"\"\"\n amount: WithdrawAmount!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultWithdrawRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The details of the amounts to withdraw.\"\"\"\n amount: VaultWithdrawAmountInput!\n\n \"\"\"\n The address from which vault shares will be burned (normally your own wallet).\n \"\"\"\n sharesOwner: EvmAddress!\n\n \"\"\"\n If you are doing the withdrawal from a trusted wallet which can move funds on behalf of the shares owner (advanced usage)\n \"\"\"\n authorizedUser: EvmAddress\n\n \"\"\"\n The address to which the underlying assets will be sent - defaults to sharesOwner.\n \"\"\"\n recipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultsRequest {\n \"\"\"Filter criteria for vaults\"\"\"\n criteria: VaultsRequestFilterCriteria!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like userShares and other user features\n \"\"\"\n user: EvmAddress\n\n \"\"\"The page size\"\"\"\n pageSize: PageSize! = FIFTY\n\n \"\"\"Pagination cursor\"\"\"\n cursor: Cursor\n}\n\ninput VaultsRequestFilterCriteria @oneOf {\n \"\"\"Filter by specific vault addresses\"\"\"\n vaults: [VaultInput!]\n\n \"\"\"Filter by owner addresses\"\"\"\n ownedBy: [EvmAddress!]\n}\n\ninput WithdrawAmount @oneOf {\n \"\"\"Exact amount to withdraw, remember interest is generated on each block\"\"\"\n exact: BigDecimal\n\n \"\"\"Withdraw all the position completely\"\"\"\n max: AlwaysTrue\n}\n\ninput WithdrawAmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: WithdrawNativeAmountInput\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: WithdrawErc20AmountInput\n}\n\ninput WithdrawErc20AmountInput {\n \"\"\"The token address.\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g., wei).\n \"\"\"\n value: WithdrawAmount!\n}\n\ninput WithdrawNativeAmountInput {\n \"\"\"The native value\"\"\"\n value: WithdrawAmount!\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput WithdrawRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The amount to withdraw\"\"\"\n amount: WithdrawAmountInput!\n\n \"\"\"\n The user sending the transaction (normally the user's wallet address) this should have the `aToken` that will be burned by the `Pool`\n \"\"\"\n sender: EvmAddress!\n\n \"\"\"\n If not supplied, this will use `sender`. The address that will receive the underlying asset. This will go to the supplier if the user wants to receive the tokens into\n their own wallet or use a different address if the beneficiary is a different wallet\n \"\"\"\n recipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}","import { buildSchema } from 'graphql';\n\nimport schemaSDL from '../schema.graphql';\n\n/**\n * @internal\n */\nexport const schema = buildSchema(schemaSDL);\n"]}
@@ -817,22 +817,22 @@ type Query {
817
817
  vaultMintShares(request: VaultMintSharesRequest!): ExecutionPlan!
818
818
 
819
819
  """
820
- Allows a user to simulate a deposit at the current block, given current on-chain conditions.
820
+ This will return you the amount of shares that would be minted to the receiver
821
821
  """
822
822
  vaultPreviewDeposit(request: VaultOperationPreviewRequest!): TokenAmount!
823
823
 
824
824
  """
825
- Allows a user to simulate a mint at the current block, given current on-chain conditions.
825
+ This will return you the amount of assets that would be deposited by the caller
826
826
  """
827
827
  vaultPreviewMint(request: VaultOperationPreviewRequest!): TokenAmount!
828
828
 
829
829
  """
830
- Allows a user to simulate a withdraw at the current block, given current on-chain conditions.
830
+ This will return you the number of shares burnt based on the amount of assets you want to withdraw
831
831
  """
832
832
  vaultPreviewWithdraw(request: VaultOperationPreviewRequest!): TokenAmount!
833
833
 
834
834
  """
835
- Allows a user to simulate a redeem at the current block, given current on-chain conditions.
835
+ This will return you the amount of assets that would be withdrawn by the receiver.
836
836
  """
837
837
  vaultPreviewRedeem(request: VaultOperationPreviewRequest!): TokenAmount!
838
838
 
@@ -924,8 +924,8 @@ input RepayAmountInput @oneOf {
924
924
 
925
925
  input RepayErc20Amount @oneOf {
926
926
  """
927
- Exact amount to repay, remember interest is generated on each block
928
- Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g., wei).
927
+ Exact amount to repay
928
+ Token value in its main unit (e.g., 1.5 GHO), not in the smallest fraction (e.g., wei).
929
929
  """
930
930
  exact: BigDecimal
931
931
 
@@ -941,7 +941,7 @@ input RepayErc20AmountInput {
941
941
  value: RepayErc20Amount!
942
942
 
943
943
  """
944
- The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.
944
+ The signed ERC20 permit message to operate on the relevant token without the need for an ERC20 Approval transaction.
945
945
  """
946
946
  permitSig: ERC712Signature
947
947
  }
@@ -1665,14 +1665,25 @@ input VaultDeployRequest {
1665
1665
  initialLockDeposit: BigDecimal!
1666
1666
  }
1667
1667
 
1668
+ input VaultDepositAmountInput {
1669
+ """The amount of assets to deposit."""
1670
+ value: BigDecimal!
1671
+
1672
+ """Whether you are depositing in as a token or normal underlying"""
1673
+ asAToken: Boolean! = false
1674
+
1675
+ """
1676
+ The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.
1677
+ """
1678
+ permitSig: ERC712Signature
1679
+ }
1680
+
1668
1681
  input VaultDepositRequest {
1669
1682
  """The vault address"""
1670
1683
  vault: EvmAddress!
1671
1684
 
1672
- """
1673
- The amount of assets to deposit - you can pass in the underlying or the aToken if you pass in the aToken address it will deposit with the aToken
1674
- """
1675
- amount: Erc20AmountInput!
1685
+ """The details of the amounts to deposit."""
1686
+ amount: VaultDepositAmountInput!
1676
1687
 
1677
1688
  """The user who is depositing"""
1678
1689
  depositor: EvmAddress!
@@ -1733,7 +1744,13 @@ input VaultOperationPreviewRequest {
1733
1744
  """The chain id the vault is deployed on"""
1734
1745
  chainId: ChainId!
1735
1746
 
1736
- """The amount in human-readable form"""
1747
+ """
1748
+ The amount in human-readable form
1749
+ preview deposit = underlying
1750
+ preview mint = shares
1751
+ preview withdraw = underlying
1752
+ preview redeem = shares
1753
+ """
1737
1754
  amount: BigDecimal!
1738
1755
  }
1739
1756
 
@@ -1863,6 +1880,19 @@ type VaultUserWithdrawItem {
1863
1880
  timestamp: DateTime!
1864
1881
  }
1865
1882
 
1883
+ input VaultWithdrawAmountInput {
1884
+ """The amount of assets to withdraw."""
1885
+ value: BigDecimal!
1886
+
1887
+ """Whether the amount should be sent/received as aToken."""
1888
+ asAToken: Boolean! = false
1889
+
1890
+ """
1891
+ The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.
1892
+ """
1893
+ permitSig: ERC712Signature
1894
+ }
1895
+
1866
1896
  input VaultWithdrawFeesRequest {
1867
1897
  """The vault deployed address"""
1868
1898
  vault: EvmAddress!
@@ -1879,25 +1909,12 @@ input VaultWithdrawFeesRequest {
1879
1909
  chainId: ChainId!
1880
1910
  }
1881
1911
 
1882
- input VaultWithdrawInput {
1883
- """The amount of assets to withdraw."""
1884
- amount: BigDecimal!
1885
-
1886
- """Whether the amount should be sent/received as aToken."""
1887
- asAToken: Boolean! = false
1888
-
1889
- """
1890
- The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.
1891
- """
1892
- permitSig: ERC712Signature
1893
- }
1894
-
1895
1912
  input VaultWithdrawRequest {
1896
1913
  """The vault address"""
1897
1914
  vault: EvmAddress!
1898
1915
 
1899
- """The details of the underlying token to withdraw."""
1900
- underlyingToken: VaultWithdrawInput!
1916
+ """The details of the amounts to withdraw."""
1917
+ amount: VaultWithdrawAmountInput!
1901
1918
 
1902
1919
  """
1903
1920
  The address from which vault shares will be burned (normally your own wallet).
@@ -1 +1 @@
1
- {"version":3,"sources":["../schema.graphql","../src/test-utils.ts"],"names":["schema_default","schema","buildSchema"],"mappings":"kCAAA,IAAAA,CAAAA,CAAA,CAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;GCOO,IAAMC,CAAAA,CAASC,YAAYF,CAAS","file":"test-utils.js","sourcesContent":["type APYSample {\n \"\"\"The avg rate\"\"\"\n avgRate: PercentValue!\n\n \"\"\"The date\"\"\"\n date: DateTime!\n}\n\ntype AaveBorrowIncentive {\n borrowAprDiscount: PercentValue!\n rewardTokenAddress: EvmAddress!\n rewardTokenSymbol: String!\n}\n\ntype AaveSupplyIncentive {\n extraSupplyApr: PercentValue!\n rewardTokenAddress: EvmAddress!\n rewardTokenSymbol: String!\n}\n\nscalar AlwaysTrue\n\ninput AmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: BigDecimal\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: Erc20AmountInput\n}\n\n\"\"\"\nIndicates that an approval transaction must be performed before proceeding to the next step.\n\"\"\"\ntype ApprovalRequired {\n \"\"\"The transaction requires an approval first\"\"\"\n approval: TransactionRequest!\n\n \"\"\"The reason for the approval\"\"\"\n reason: String!\n\n \"\"\"The required amount missing to be able to do the original transaction\"\"\"\n requiredAmount: DecimalValue!\n\n \"\"\"The current allowance approved\"\"\"\n currentAllowance: DecimalValue!\n\n \"\"\"The transaction to send after the approval is complete\"\"\"\n originalTransaction: TransactionRequest!\n}\n\ninput ApproveBorrowCreditDelegatorRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token address.\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"\n Token value in its main unit to approve (e.g., 1.5 DAI), not in the smallest fraction (e.g. wei).\n \"\"\"\n amount: BigDecimal!\n\n \"\"\"The user allowing the delegation from\"\"\"\n user: EvmAddress!\n\n \"\"\"The delegatee to approve the ability to borrow on the `user` behalf\"\"\"\n delegatee: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\nscalar BigDecimal\n\nscalar BigInt\n\nscalar BlockchainData\n\ninput BorrowAPYHistoryRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token for the reserve\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The time windows for the history\"\"\"\n window: TimeWindow!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput BorrowAmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: BigDecimal\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: BorrowErc20AmountInput\n}\n\ninput BorrowErc20AmountInput {\n \"\"\"The token address.\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g.,\n wei).\n \"\"\"\n value: BigDecimal!\n}\n\ninput BorrowRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The amount borrowing\"\"\"\n amount: BorrowAmountInput!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n\n \"\"\"\n If not supplied, this will use `sender` in most cases this is what the user wants if they want\n to borrow themselves. You can also pass in the credit delegator if the caller has\n been given credit delegation allowance. You can approve those with `approveBorrowCreditDelegation`.\n \"\"\"\n onBehalfOf: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ntype Chain {\n name: String!\n icon: String!\n chainId: ChainId!\n explorerUrl: String!\n isTestnet: Boolean!\n nativeWrappedToken: EvmAddress!\n}\n\n\"\"\"A supported blockchain chain ID\"\"\"\nscalar ChainId\n\nenum ChainsFilter {\n TESTNET_ONLY\n MAINNET_ONLY\n ALL\n}\n\ninput CollateralToggleRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token for the reserve\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The user to toggle emode on\"\"\"\n user: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput CreditDelegateeAmountRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token address.\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The user allowing the delegation from\"\"\"\n user: EvmAddress!\n\n \"\"\"The delegatee to approve the ability to borrow on the `user` behalf\"\"\"\n delegatee: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ntype Currency {\n \"\"\"The token address\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"The token name\"\"\"\n name: String!\n\n \"\"\"The token image\"\"\"\n imageUrl: String!\n\n \"\"\"The token symbol\"\"\"\n symbol: String!\n\n \"\"\"The token decimals\"\"\"\n decimals: Int!\n}\n\nscalar Cursor\n\nscalar DateTime\n\ninput DebtToCover @oneOf {\n \"\"\"Exact debt amount to cover\"\"\"\n exact: BigDecimal\n\n \"\"\"Maximum debt amount (equivalent to uint(-1))\"\"\"\n max: AlwaysTrue\n}\n\ntype DecimalValue {\n \"\"\"The raw none formatted value\"\"\"\n raw: BigInt!\n\n \"\"\"The decimals the value formatted into\"\"\"\n decimals: Int!\n\n \"\"\"The formatted value\"\"\"\n value: BigDecimal!\n}\n\ntype DomainData {\n name: String!\n version: String!\n chainId: ChainId!\n verifyingContract: EvmAddress!\n}\n\ninput ERC712Signature {\n \"\"\"The signature for the erc721\"\"\"\n value: Signature!\n\n \"\"\"The deadline for the erc721\"\"\"\n deadline: Int!\n}\n\ntype EmodeMarketCategory {\n \"\"\"The eMode id for the market\"\"\"\n id: Int!\n\n \"\"\"The eMode label\"\"\"\n label: String!\n\n \"\"\"The maximum loan-to-value ratio in efficiency mode\"\"\"\n maxLTV: PercentValue!\n\n \"\"\"The liquidation threshold in efficiency mode\"\"\"\n liquidationThreshold: PercentValue!\n\n \"\"\"The liquidation penalty applied in efficiency mode\"\"\"\n liquidationPenalty: PercentValue!\n\n \"\"\"The list of reserves which will tailor for this eMode\"\"\"\n reserves: [EmodeMarketReserveInfo!]!\n}\n\ntype EmodeMarketReserveInfo {\n \"\"\"The underlying token used on the reserve\"\"\"\n underlyingToken: Currency!\n\n \"\"\"If the underlying token can be collateral with this eMode on\"\"\"\n canBeCollateral: Boolean!\n\n \"\"\"If the underlying token can be borrowed with this eMode on\"\"\"\n canBeBorrowed: Boolean!\n}\n\n\"\"\"The emode reserve information\"\"\"\ntype EmodeReserveInfo {\n \"\"\"The eMode category id for the market\"\"\"\n categoryId: Int!\n\n \"\"\"The eMode label\"\"\"\n label: String!\n\n \"\"\"The maximum loan-to-value ratio in efficiency mode\"\"\"\n maxLTV: PercentValue!\n\n \"\"\"The liquidation threshold in efficiency mode\"\"\"\n liquidationThreshold: PercentValue!\n\n \"\"\"The liquidation penalty applied in efficiency mode\"\"\"\n liquidationPenalty: PercentValue!\n\n \"\"\"If the underlying token can be collateral with this eMode on\"\"\"\n canBeCollateral: Boolean!\n\n \"\"\"If the underlying token can be borrowed with this eMode on\"\"\"\n canBeBorrowed: Boolean!\n}\n\ninput Erc20AmountInput {\n \"\"\"The token address.\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g.,\n wei).\n \"\"\"\n value: BigDecimal!\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\nscalar EvmAddress\n\n\"\"\"\nAn execution plan represents what needs to happen to fulfill a requested operation.\nIt could be an immediate transaction, an approval followed by a transaction, or indicate insufficient balance.\n\"\"\"\nunion ExecutionPlan = TransactionRequest | ApprovalRequired | InsufficientBalanceError\n\ninput ForkTopUpErc20 {\n \"\"\"The token address\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction\n \"\"\"\n value: BigDecimal!\n}\n\ninput ForkTopUpRequest {\n \"\"\"The address you want the funds to be topped up against\"\"\"\n user: EvmAddress!\n\n \"\"\"The erc20 information\"\"\"\n erc20: ForkTopUpErc20\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction\n \"\"\"\n native: BigDecimal\n}\n\ntype ForkTopUpResponse {\n message: String!\n\n \"\"\"The tx hash of the newly created transaction\"\"\"\n txHash: String\n}\n\ninput HasProcessedKnownTransactionRequest {\n \"\"\"\n The operation type this is given to you on the TransactionRequest::operation\n \"\"\"\n operation: OperationType!\n\n \"\"\"The tx hash\"\"\"\n txHash: TxHash!\n}\n\ninput HealthFactorPreviewRequest {\n \"\"\"The action to simulate\"\"\"\n action: PreviewAction!\n}\n\ntype HealthFactorPreviewResponse {\n \"\"\"\n The user health factor before - if null, they don't have one because they are not borrowing\n \"\"\"\n before: BigDecimal\n\n \"\"\"\n The user health factor after - if null, they don't have one because they are not borrowing\n \"\"\"\n after: BigDecimal\n}\n\n\"\"\"\nIndicates the user does not have enough balance to perform the operation.\n\"\"\"\ntype InsufficientBalanceError {\n \"\"\"The amount required to do the original transaction\"\"\"\n required: DecimalValue!\n\n \"\"\"The amount available in the wallet\"\"\"\n available: DecimalValue!\n}\n\ninput LiquidateRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"\n The address of the token used as collateral, to receive as result of the liquidation\n \"\"\"\n collateralToken: EvmAddress!\n\n \"\"\"\n The address of the underlying borrowed token to be repaid with the liquidation\n \"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The address of the borrower getting liquidated\"\"\"\n user: EvmAddress!\n\n \"\"\"\n The debt amount of the underlying borrowed token the liquidator will repay\n \"\"\"\n debtToCover: DebtToCover! = {max: true}\n\n \"\"\"\n true if the liquidator wants to receive the aTokens equivalent of the purchased collateral, false if they want to receive the collateral asset directly\n \"\"\"\n receiveAToken: Boolean! = false\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\n\"\"\"Information about collateral liquidated in a liquidation call.\"\"\"\ntype LiquidationCollateral {\n \"\"\"Reserve of the collateral.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"Amount of collateral liquidated\"\"\"\n amount: TokenAmount\n}\n\n\"\"\"Information about debt repaid in a liquidation call.\"\"\"\ntype LiquidationRepaidDebt {\n \"\"\"Reserve of the repaid debt.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"Amount of debt repaid.\"\"\"\n amount: TokenAmount!\n}\n\ntype Market {\n \"\"\"The human-friendly name for the market\"\"\"\n name: String!\n\n \"\"\"The chain\"\"\"\n chain: Chain!\n\n \"\"\"The liquidity pool address for the market\"\"\"\n address: EvmAddress!\n\n \"\"\"A list eModes the market can support\"\"\"\n eModeCategories: [EmodeMarketCategory!]!\n userState: MarketUserState\n\n \"\"\"The market icon\"\"\"\n icon: String!\n\n \"\"\"The market reserves\"\"\"\n reserves(request: MarketReservesRequest! = {reserveType: BOTH, orderBy: {tokenName: ASC}}): [Reserve!]!\n\n \"\"\"The total market size\"\"\"\n totalMarketSize: BigDecimal!\n\n \"\"\"The total available liquidity in USD\"\"\"\n totalAvailableLiquidity: BigDecimal!\n}\n\ntype MarketInfo {\n \"\"\"The human-friendly name for the market\"\"\"\n name: String!\n\n \"\"\"The chain\"\"\"\n chain: Chain!\n\n \"\"\"The liquidity pool address for the market\"\"\"\n address: EvmAddress!\n\n \"\"\"The market icon\"\"\"\n icon: String!\n}\n\ninput MarketInput {\n \"\"\"The address of the market pool\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id the market is deployed on\"\"\"\n chainId: ChainId!\n}\n\ninput MarketRequest {\n \"\"\"The pool address for the market\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id the market pool address is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like eMode and other user features\n \"\"\"\n user: EvmAddress\n}\n\ninput MarketReservesRequest {\n \"\"\"The reserve type\"\"\"\n reserveType: MarketReservesRequestType! = BOTH\n\n \"\"\"The way the reserve gets ordered on the return result\"\"\"\n orderBy: MarketReservesRequestOrderBy! = {tokenName: ASC}\n}\n\ninput MarketReservesRequestOrderBy @oneOf {\n \"\"\"Order by the borrow APY\"\"\"\n borrowApy: OrderDirection\n\n \"\"\"Order by the supply APY\"\"\"\n supplyApy: OrderDirection\n\n \"\"\"Order by the token name\"\"\"\n tokenName: OrderDirection\n}\n\nenum MarketReservesRequestType {\n SUPPLY\n BORROW\n BOTH\n}\n\ntype MarketUserReserveBorrowPosition {\n \"\"\"The market address where this position exists\"\"\"\n market: MarketInfo!\n\n \"\"\"The currency being borrowed\"\"\"\n currency: Currency!\n\n \"\"\"The user's debt balance in this reserve\"\"\"\n debt: TokenAmount!\n\n \"\"\"The annual percentage yield for this borrow position\"\"\"\n apy: PercentValue!\n}\n\ntype MarketUserReserveSupplyPosition {\n \"\"\"The market address where this position exists\"\"\"\n market: MarketInfo!\n\n \"\"\"The currency being supplied\"\"\"\n currency: Currency!\n\n \"\"\"The user's supply balance in this reserve\"\"\"\n balance: TokenAmount!\n\n \"\"\"The annual percentage yield for this supply position\"\"\"\n apy: PercentValue!\n\n \"\"\"Whether this position is being used as collateral\"\"\"\n isCollateral: Boolean!\n\n \"\"\"If the asset can be used for collateral\"\"\"\n canBeCollateral: Boolean!\n}\n\ntype MarketUserState {\n \"\"\"The user's total net worth in the market\"\"\"\n netWorth: BigDecimal!\n\n \"\"\"The user's net annual percentage yield across all positions\"\"\"\n netAPY: PercentValue!\n\n \"\"\"\n The user's health factor (risk metric for liquidation) - if null, the user does not have a borrow\n \"\"\"\n healthFactor: BigDecimal\n\n \"\"\"Whether efficiency mode is enabled for the user\"\"\"\n eModeEnabled: Boolean!\n\n \"\"\"\n The total collateral of the user in the base currency used by the price feed\n \"\"\"\n totalCollateralBase: BigDecimal!\n\n \"\"\"The total debt of the user in the base currency used by the price feed\"\"\"\n totalDebtBase: BigDecimal!\n\n \"\"\"\n The borrowing power left of the user in the base currency used by the price feed\n \"\"\"\n availableBorrowsBase: BigDecimal!\n\n \"\"\"The liquidation threshold of the user\"\"\"\n currentLiquidationThreshold: PercentValue!\n\n \"\"\"The loan to value of the user\"\"\"\n ltv: PercentValue!\n\n \"\"\"One of the user collateral is in isolation mode\"\"\"\n isInIsolationMode: Boolean!\n}\n\ninput MarketsRequest {\n \"\"\"The markets you want to see based on the chain ids\"\"\"\n chainIds: [ChainId!]!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like eMode and other\n user features\n \"\"\"\n user: EvmAddress\n}\n\ntype MeritBorrowAndSupplyIncentiveCondition {\n \"\"\"The APR incentive for meeting the conditions\"\"\"\n extraApr: PercentValue!\n\n \"\"\"The token that must be supplied as collateral\"\"\"\n supplyToken: Currency!\n\n \"\"\"The token that must be borrowed\"\"\"\n borrowToken: Currency!\n\n \"\"\"Where you can go and claim the incentives\"\"\"\n claimLink: URL!\n}\n\ntype MeritBorrowIncentive {\n \"\"\"Extra APR for borrowing this asset from AAVE Merit program\"\"\"\n borrowAprDiscount: PercentValue!\n\n \"\"\"Where you can go and claim the incentives\"\"\"\n claimLink: URL!\n}\n\ntype MeritSupplyIncentive {\n \"\"\"Extra APR for supplying this asset from AAVE Merit program\"\"\"\n extraSupplyApr: PercentValue!\n\n \"\"\"Where you can go and claim the incentives\"\"\"\n claimLink: URL!\n}\n\ntype MessageData {\n owner: EvmAddress!\n spender: EvmAddress!\n value: BigInt!\n nonce: BigInt!\n deadline: Int!\n}\n\ntype NativeCurrency {\n \"\"\"The token image\"\"\"\n imageUrl: String!\n\n \"\"\"The token name\"\"\"\n name: String!\n\n \"\"\"The token symbol\"\"\"\n symbol: String!\n\n \"\"\"The token decimals\"\"\"\n decimals: Int!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"The wrapped version of this token\"\"\"\n wrappedToken: EvmAddress!\n}\n\nenum OperationType {\n BORROW\n REPAY\n RESERVE_USED_AS_COLLATERAL_ENABLED\n RESERVE_USED_AS_COLLATERAL_DISABLED\n SUPPLY\n USER_EMODE_SET\n WITHDRAW\n VAULT_DEPLOYED\n VAULT_DEPOSIT\n VAULT_FEE_UPDATED\n VAULT_FEE_WITHDRAWN\n VAULT_WITHDRAW\n LIQUIDATION\n}\n\nenum OrderDirection {\n ASC\n DESC\n}\n\nenum PageSize {\n TEN\n FIFTY\n}\n\ntype PaginatedResultInfo {\n \"\"\"The cursor to the previous page of results, if any.\"\"\"\n prev: Cursor\n\n \"\"\"The cursor to the next page of results, if any.\"\"\"\n next: Cursor\n}\n\n\"\"\"Paginated result of user transaction history.\"\"\"\ntype PaginatedUserTransactionHistoryResult {\n \"\"\"List of user transaction items.\"\"\"\n items: [UserTransactionItem!]!\n\n \"\"\"Pagination information.\"\"\"\n pageInfo: PaginatedResultInfo!\n}\n\ntype PaginatedVaultUserTransactionHistoryResult {\n items: [VaultUserTransactionItem!]!\n pageInfo: PaginatedResultInfo!\n}\n\ntype PaginatedVaultsResult {\n items: [Vault!]!\n pageInfo: PaginatedResultInfo!\n}\n\ntype PercentValue {\n \"\"\"The raw none normalized percentage (the value that lives onchain)\"\"\"\n raw: BigInt!\n\n \"\"\"The decimals representing the precision of the onchain raw value\"\"\"\n decimals: Int!\n\n \"\"\"The normalized percentage (1.0 = 100%)\"\"\"\n value: BigDecimal!\n\n \"\"\"\n The human-readable formatted value you can render on a UI straight away.\n For example, this will turn `0.01232343` to `1.23`, it will always round to `2` decimal points.\n \"\"\"\n formatted: BigDecimal!\n}\n\ninput PermitRequest {\n \"\"\"The spender (when doing this with aave this is the market address)\"\"\"\n spender: EvmAddress!\n\n \"\"\"The token you want to do the permit with\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n The amount to permit - in human-readable form aka 0.001 eth is 0.001 eth here\n \"\"\"\n amount: BigDecimal!\n\n \"\"\"The chain id the pool is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"The owner of the funds\"\"\"\n owner: EvmAddress!\n}\n\ntype PermitTypedDataResponse {\n types: TypeDefinition!\n primaryType: String!\n domain: DomainData!\n message: MessageData!\n}\n\ninput PreviewAction @oneOf {\n supply: SupplyRequest\n borrow: BorrowRequest\n repay: RepayRequest\n withdraw: WithdrawRequest\n}\n\ntype Query {\n \"\"\"Get if the API is healthy\"\"\"\n health: Boolean!\n\n \"\"\"Chains the protocol supports\"\"\"\n chains(filter: ChainsFilter! = ALL): [Chain!]!\n\n \"\"\"\n Deposits assets (underlying tokens or its related aTokens) into the vault and mints a corresponding amount of vault shares to the receiver.\n \"\"\"\n vaultDeposit(request: VaultDepositRequest!): ExecutionPlan!\n\n \"\"\"\n Redeems shares (vault shares) for the underlying assets or a tokens, which are sent to the receiver. The shares are burned from the owner.\n \"\"\"\n vaultRedeemShares(request: VaultRedeemSharesRequest!): TransactionRequest!\n\n \"\"\"Get a vault\"\"\"\n vault(request: VaultRequest!): Vault\n\n \"\"\"Get vaults\"\"\"\n vaults(request: VaultsRequest!): PaginatedVaultsResult!\n\n \"\"\"User vaults they have shares in\"\"\"\n userVaults(request: UserVaultsRequest!): PaginatedVaultsResult!\n\n \"\"\"Deploy a vault and earn fees from the yield\"\"\"\n vaultDeploy(request: VaultDeployRequest!): ExecutionPlan!\n\n \"\"\"\n Update a vault's fee. You MUST be the owner of the vault to send this tx request.\n \"\"\"\n vaultSetFee(request: VaultSetFeeRequest!): TransactionRequest!\n\n \"\"\"\n Withdraws accumulated fees from the specified vault. You MUST be the owner of the vault to send this tx request.\n \"\"\"\n vaultWithdrawFees(request: VaultWithdrawFeesRequest!): TransactionRequest!\n\n \"\"\"User vault transaction history\"\"\"\n vaultUserTransactionHistory(request: VaultUserTransactionHistoryRequest!): PaginatedVaultUserTransactionHistoryResult!\n\n \"\"\"\n Withdraws assets (underlying tokens or its related aTokens) from the vault and sends them to the receiver. The corresponding vault shares are burned from the owner.\n \"\"\"\n vaultWithdraw(request: VaultWithdrawRequest!): TransactionRequest!\n\n \"\"\"\n Mints an exact amount of shares (vault shares) to the receiver by depositing the calculated amount of underlying or aTokens assets.\n \"\"\"\n vaultMintShares(request: VaultMintSharesRequest!): ExecutionPlan!\n\n \"\"\"\n Allows a user to simulate a deposit at the current block, given current on-chain conditions.\n \"\"\"\n vaultPreviewDeposit(request: VaultOperationPreviewRequest!): TokenAmount!\n\n \"\"\"\n Allows a user to simulate a mint at the current block, given current on-chain conditions.\n \"\"\"\n vaultPreviewMint(request: VaultOperationPreviewRequest!): TokenAmount!\n\n \"\"\"\n Allows a user to simulate a withdraw at the current block, given current on-chain conditions.\n \"\"\"\n vaultPreviewWithdraw(request: VaultOperationPreviewRequest!): TokenAmount!\n\n \"\"\"\n Allows a user to simulate a redeem at the current block, given current on-chain conditions.\n \"\"\"\n vaultPreviewRedeem(request: VaultOperationPreviewRequest!): TokenAmount!\n\n \"\"\"Lists all the markets\"\"\"\n markets(request: MarketsRequest!): [Market!]!\n\n \"\"\"Get a market\"\"\"\n market(request: MarketRequest!): Market\n\n \"\"\"Create the transaction to borrow from a market\"\"\"\n borrow(request: BorrowRequest!): ExecutionPlan!\n\n \"\"\"Approve a credit borrow delegator to be able to borrow on your behalf\"\"\"\n approveBorrowCreditDelegation(request: ApproveBorrowCreditDelegatorRequest!): TransactionRequest!\n\n \"\"\"\n Gets the amount delegated to the credit delegatee that can borrow on your behalf\n \"\"\"\n creditDelegateeAllowance(request: CreditDelegateeAmountRequest!): TokenAmount!\n\n \"\"\"Create the transaction to supply to a market\"\"\"\n supply(request: SupplyRequest!): ExecutionPlan!\n\n \"\"\"Create the transaction to repay to a market\"\"\"\n repay(request: RepayRequest!): ExecutionPlan!\n\n \"\"\"Create the transaction to withdraw from a market\"\"\"\n withdraw(request: WithdrawRequest!): ExecutionPlan!\n\n \"\"\"Create the transaction to toggle eMode for a market\"\"\"\n userSetEmode(request: UserSetEmodeRequest!): TransactionRequest!\n\n \"\"\"Enable/disable a specific supplied asset as collateral\"\"\"\n collateralToggle(request: CollateralToggleRequest!): TransactionRequest!\n\n \"\"\"\n liquidate a non-healthy position collateral-wise, with Health Factor below 1\n \"\"\"\n liquidate(request: LiquidateRequest!): TransactionRequest!\n\n \"\"\"Returns the user account market data across all the reserves.\"\"\"\n userMarketState(request: UserMarketStateRequest!): MarketUserState!\n\n \"\"\"The usd exchange rates for different tokens on a given market\"\"\"\n usdExchangeRates(request: UsdExchangeRatesRequest!): [UsdExchangeRate!]!\n\n \"\"\"Get all the user borrows positions\"\"\"\n userBorrows(request: UserBorrowsRequest!): [MarketUserReserveBorrowPosition!]!\n\n \"\"\"Get all the user supplies positions\"\"\"\n userSupplies(request: UserSuppliesRequest!): [MarketUserReserveSupplyPosition!]!\n\n \"\"\"Get the borrow APY history\"\"\"\n borrowAPYHistory(request: BorrowAPYHistoryRequest!): [APYSample!]!\n\n \"\"\"Get the supply APY history\"\"\"\n supplyAPYHistory(request: SupplyAPYHistoryRequest!): [APYSample!]!\n\n \"\"\"Generate EIP-712 typed data for EIP-2612 permit signature\"\"\"\n permitTypedData(request: PermitRequest!): PermitTypedDataResponse!\n\n \"\"\"Get the reserve for on a market\"\"\"\n reserve(request: ReserveRequest!): Reserve\n\n \"\"\"The user's market transaction history\"\"\"\n userTransactionHistory(request: UserTransactionHistoryRequest!): PaginatedUserTransactionHistoryResult!\n\n \"\"\"\n This lets you know the API has processed the known transaction hash, as the API uses caching to make things as fast\n as possible, it has an invalidation task, so sometimes if the receipt is complete, we may still (rarely) serve\n old data for 100-200ms longer, it's best to query after you got the receipt to be told that it is ready to go.\n Note the invalidation is very quick, and most of the time it's present even before your receipt is returned this is to\n cater for the race condition.\n \"\"\"\n hasProcessedKnownTransaction(request: HasProcessedKnownTransactionRequest!): Boolean!\n healthFactorPreview(request: HealthFactorPreviewRequest!): HealthFactorPreviewResponse!\n\n \"\"\"Top up a balance for a user or yourself on the fork\"\"\"\n forkTopUp(request: ForkTopUpRequest!): ForkTopUpResponse!\n}\n\ninput RepayAmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: BigDecimal\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: RepayErc20AmountInput\n}\n\ninput RepayErc20Amount @oneOf {\n \"\"\"\n Exact amount to repay, remember interest is generated on each block\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g., wei).\n \"\"\"\n exact: BigDecimal\n\n \"\"\"Repay all the amount completely\"\"\"\n max: AlwaysTrue\n}\n\ninput RepayErc20AmountInput {\n \"\"\"The token address.\"\"\"\n currency: EvmAddress!\n\n \"\"\"The amount to repay\"\"\"\n value: RepayErc20Amount!\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput RepayRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"\n The amount to repay - you can pass in the underlying or the aToken if you pass in the aToken address, it will repay with the aToken\n \"\"\"\n amount: RepayAmountInput!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n\n \"\"\"\n If not supplied, this will use `sender`. The address of the user who will get their debt reduced/removed. This should be the address of the user calling the function if they want to\n \"\"\"\n onBehalfOf: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ntype Reserve {\n \"\"\"The market information the reserve is under\"\"\"\n market: MarketInfo!\n\n \"\"\"The reserve underlying currency\"\"\"\n underlyingToken: Currency!\n\n \"\"\"The reserve a token\"\"\"\n aToken: Currency!\n\n \"\"\"The reserve v token\"\"\"\n vToken: Currency!\n\n \"\"\"\n If the reserve accepts native currency, for example, if you're on a reserve with asset WETH, it can\n also accept ETH\n \"\"\"\n acceptsNative: NativeCurrency\n\n \"\"\"The reserve size\"\"\"\n size: TokenAmount!\n\n \"\"\"The usd exchange rate for the underlying token\"\"\"\n usdExchangeRate: BigDecimal!\n\n \"\"\"The usd oracle address it is pulling that price from\"\"\"\n usdOracleAddress: EvmAddress!\n\n \"\"\"The supply info for the reserve\"\"\"\n supplyInfo: ReserveSupplyInfo!\n\n \"\"\"\n The borrow info for the reserve - if its null the underlying token cannot be borrowed\n \"\"\"\n borrowInfo: ReserveBorrowInfo\n\n \"\"\"The reserve has been frozen all actions are stopped\"\"\"\n isFrozen: Boolean!\n\n \"\"\"The reserve is paused you can still withdraw and some other actions\"\"\"\n isPaused: Boolean!\n\n \"\"\"\n If the reserve supports isolation mode this is defined and the configs are defined\n \"\"\"\n isolationModeConfig: ReserveIsolationModeConfig\n\n \"\"\"If the reserve can use flash loans on it\"\"\"\n flashLoanEnabled: Boolean!\n\n \"\"\"Does the underlying reserve support permit\"\"\"\n permitSupported: Boolean!\n\n \"\"\"\n This exposes the extra incentives you can earn from third parties (Merit) or from\n incentives set by governance through the RewardsController.\n Note Aave Labs does not guarantee third party program and accepts no liability to those\n \"\"\"\n incentives: [ReserveIncentive!]!\n\n \"\"\"The emode information for the reserve\"\"\"\n eModeInfo: [EmodeReserveInfo!]!\n\n \"\"\"Get the user state on the reserve\"\"\"\n userState: ReserveUserState\n}\n\ntype ReserveBorrowInfo {\n \"\"\"The annual percentage yield for borrowing this asset\"\"\"\n apy: PercentValue!\n\n \"\"\"The total amount borrowed from this reserve\"\"\"\n total: TokenAmount!\n\n \"\"\"The reserve factor percentage\"\"\"\n reserveFactor: PercentValue!\n\n \"\"\"The available liquidity\"\"\"\n availableLiquidity: TokenAmount!\n\n \"\"\"The reserve utilization rate\"\"\"\n utilizationRate: PercentValue!\n\n \"\"\"\n Variable rate slope 1 - the rate of interest increase when utilization rate is below optimal\n This is the slope of the interest rate curve in the first segment (0% to optimal utilization)\n \"\"\"\n variableRateSlope1: PercentValue!\n\n \"\"\"\n Variable rate slope 2 - the rate of interest increase when utilization rate is above optimal\n This is the slope of the interest rate curve in the second segment (optimal to 100% utilization)\n Typically much steeper than slope1 to discourage over-utilization\n \"\"\"\n variableRateSlope2: PercentValue!\n\n \"\"\"\n The optimal usage rate - the utilization rate at which the variable rate curve transitions\n from slope1 to slope2. This represents the target utilization rate for the reserve\n \"\"\"\n optimalUsageRate: PercentValue!\n\n \"\"\"\n Borrowing can have different states based on the criteria of the user or the market\n \"\"\"\n borrowingState: ReserveBorrowingState!\n\n \"\"\"The borrow cap of the reserve\"\"\"\n borrowCap: TokenAmount!\n\n \"\"\"The borrow cap is now full\"\"\"\n borrowCapReached: Boolean!\n}\n\nenum ReserveBorrowingState {\n \"\"\"Borrowing is enabled\"\"\"\n ENABLED\n\n \"\"\"Borrowing is disabled\"\"\"\n DISABLED\n\n \"\"\"The user emode settings make this underlying not able to be borrowed\"\"\"\n USER_EMODE_DISABLED_BORROW\n}\n\nunion ReserveIncentive = MeritSupplyIncentive | MeritBorrowIncentive | MeritBorrowAndSupplyIncentiveCondition | AaveSupplyIncentive | AaveBorrowIncentive\n\ntype ReserveInfo {\n \"\"\"The market information the reserve is under\"\"\"\n market: MarketInfo!\n\n \"\"\"The reserve underlying currency\"\"\"\n underlyingToken: Currency!\n\n \"\"\"The reserve a token\"\"\"\n aToken: Currency!\n\n \"\"\"The reserve v token\"\"\"\n vToken: Currency!\n\n \"\"\"The usd exchange rate for the underlying token\"\"\"\n usdExchangeRate: BigDecimal!\n\n \"\"\"Does the underlying reserve support permit\"\"\"\n permitSupported: Boolean!\n\n \"\"\"\n This exposes the extra incentives you can earn from third parties (Merit) or from\n incentives set by governance through the RewardsController.\n Note Aave Labs does not guarantee third party program and accepts no liability to those\n \"\"\"\n incentives: [ReserveIncentive!]!\n}\n\ntype ReserveIsolationModeConfig {\n \"\"\"This means that it can be used to borrow\"\"\"\n canBeCollateral: Boolean!\n canBeBorrowed: Boolean!\n debtCeiling: TokenAmount!\n\n \"\"\"The decimals used for the debt ceiling\"\"\"\n debtCeilingDecimals: Int!\n\n \"\"\"Only the amount that is borrowed by the users in isolation\"\"\"\n totalBorrows: TokenAmount!\n}\n\ninput ReserveRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token for the reserve\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The chain id the pool is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like eMode and other\n user features\n \"\"\"\n user: EvmAddress\n}\n\ntype ReserveSupplyInfo {\n \"\"\"The annual percentage yield for supplying this asset\"\"\"\n apy: PercentValue!\n\n \"\"\"The maximum loan-to-value ratio when used as collateral\"\"\"\n maxLTV: PercentValue!\n\n \"\"\"The liquidation threshold for this asset\"\"\"\n liquidationThreshold: PercentValue!\n\n \"\"\"The liquidation bonus applied when liquidated\"\"\"\n liquidationBonus: PercentValue!\n\n \"\"\"If the asset can be used for collateral\"\"\"\n canBeCollateral: Boolean!\n\n \"\"\"The supply cap\"\"\"\n supplyCap: TokenAmount!\n\n \"\"\"The supply cap is now full\"\"\"\n supplyCapReached: Boolean!\n\n \"\"\"The total amount supplied to this reserve\"\"\"\n total: DecimalValue!\n}\n\ntype ReserveUserState {\n \"\"\"The user's balance of this asset\"\"\"\n balance: TokenAmount!\n\n \"\"\"The amount the user can supply to this reserve\"\"\"\n suppliable: TokenAmount!\n\n \"\"\"The amount the user can borrow from this reserve\"\"\"\n borrowable: TokenAmount!\n\n \"\"\"The user emode info if enabled\"\"\"\n emode: EmodeReserveInfo\n\n \"\"\"\n If the user is in a state to be able to supply taking into consideration their emode\n \"\"\"\n canBeCollateral: Boolean!\n\n \"\"\"If the user is in a state to be able to borrow from the reserve\"\"\"\n canBeBorrowed: Boolean!\n\n \"\"\"Is the user in isolation mode\"\"\"\n isInIsolationMode: Boolean!\n}\n\nscalar Signature\n\ninput SupplyAPYHistoryRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token for the reserve\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The time windows for the history\"\"\"\n window: TimeWindow!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput SupplyRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The amount supplying\"\"\"\n amount: AmountInput!\n\n \"\"\"The user sending the transaction (normally the users wallet address)\"\"\"\n sender: EvmAddress!\n\n \"\"\"\n If not supplied, this will use `sender`. The address that will receive the corresponding aTokens. This is the only address that will be able to withdraw the asset from the pool.\n This will be the same as msg.sender if the user wants to receive aTokens into their own wallet, or use a different address if the beneficiary\n of aTokens is a different wallet\n \"\"\"\n onBehalfOf: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\nenum TimeWindow {\n LAST_DAY\n LAST_WEEK\n LAST_MONTH\n LAST_SIX_MONTHS\n LAST_YEAR\n}\n\ntype TokenAmount {\n usdPerToken: BigDecimal!\n\n \"\"\"The amount\"\"\"\n amount: DecimalValue!\n\n \"\"\"The usd full amount\"\"\"\n usd: BigDecimal!\n}\n\n\"\"\"\nRepresents a transaction that must be executed, such as a direct supply, borrow, etc.\n\"\"\"\ntype TransactionRequest {\n \"\"\"Who the transaction is going to (normally a contract)\"\"\"\n to: EvmAddress!\n\n \"\"\"Who is sending the transaction\"\"\"\n from: EvmAddress!\n\n \"\"\"The blockchain transaction encoded data\"\"\"\n data: BlockchainData!\n\n \"\"\"The native token value\"\"\"\n value: BigInt!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The primary well-known operation the transaction is - you use this to track hasProcessedKnownTransaction\n If null the API does not track/require the outcome - once receipt is done, everything is ready to go\n \"\"\"\n operation: OperationType\n}\n\nscalar TxHash\n\ntype TypeDefinition {\n EIP712Domain: [TypeField!]!\n Permit: [TypeField!]!\n}\n\ntype TypeField {\n name: String!\n type: String!\n}\n\nscalar URL\n\ntype UsdExchangeRate {\n currency: Currency!\n rate: BigDecimal!\n}\n\ninput UsdExchangeRatesRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying tokens for the reserve\"\"\"\n underlyingTokens: [EvmAddress!]!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\n\"\"\"A transaction where the user borrowed assets from a reserve.\"\"\"\ntype UserBorrowTransaction {\n \"\"\"Amount borrowed.\"\"\"\n amount: TokenAmount!\n\n \"\"\"Reserve from which assets were borrowed.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ninput UserBorrowsRequest {\n \"\"\"The market addresses and chains ids to query\"\"\"\n markets: [MarketInput!]!\n\n \"\"\"The user address to get borrow positions for\"\"\"\n user: EvmAddress!\n\n \"\"\"How to order the results\"\"\"\n orderBy: UserBorrowsRequestOrderBy! = {name: ASC}\n}\n\ninput UserBorrowsRequestOrderBy @oneOf {\n \"\"\"Order by the user's debt amount\"\"\"\n debt: OrderDirection\n\n \"\"\"Order by the asset name\"\"\"\n name: OrderDirection\n\n \"\"\"Order by the annual percentage yield\"\"\"\n apy: OrderDirection\n}\n\n\"\"\"A transaction where the user was involved in a liquidation call.\"\"\"\ntype UserLiquidationCallTransaction {\n \"\"\"Collateral liquidated.\"\"\"\n collateral: LiquidationCollateral!\n\n \"\"\"Debt repaid.\"\"\"\n debtRepaid: LiquidationRepaidDebt!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ninput UserMarketStateRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The user to toggle emode on\"\"\"\n user: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\n\"\"\"A transaction where the user repaid borrowed assets.\"\"\"\ntype UserRepayTransaction {\n \"\"\"Amount repaid.\"\"\"\n amount: TokenAmount!\n\n \"\"\"Reserve to which assets were repaid.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ninput UserSetEmodeRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The user to toggle emode on\"\"\"\n user: EvmAddress!\n\n \"\"\"\n The eMode category id for the market if you want to disable eMode, then pass in null\n \"\"\"\n categoryId: Int\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput UserSuppliesRequest {\n \"\"\"The market addresses and chains ids to query\"\"\"\n markets: [MarketInput!]!\n\n \"\"\"The user address to get supply positions for\"\"\"\n user: EvmAddress!\n\n \"\"\"Only get back the supplies which can be used as collateral\"\"\"\n collateralsOnly: Boolean! = false\n\n \"\"\"How to order the results\"\"\"\n orderBy: UserSuppliesRequestOrderBy! = {name: ASC}\n}\n\ninput UserSuppliesRequestOrderBy @oneOf {\n \"\"\"Order by the user's supply balance\"\"\"\n balance: OrderDirection\n\n \"\"\"Order by the asset name\"\"\"\n name: OrderDirection\n\n \"\"\"Order by the annual percentage yield\"\"\"\n apy: OrderDirection\n\n \"\"\"Order by whether the position is used as collateral\"\"\"\n isCollateralized: OrderDirection\n}\n\n\"\"\"A transaction where the user supplied assets to a reserve.\"\"\"\ntype UserSupplyTransaction {\n \"\"\"Amount supplied.\"\"\"\n amount: TokenAmount!\n\n \"\"\"Reserve to which assets were supplied.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ninput UserTransactionHistoryRequest {\n \"\"\"The market address\"\"\"\n market: EvmAddress!\n\n \"\"\"The filter to optionally filter the transactions by type\"\"\"\n filter: [UserTransactionType!]! = [SUPPLY, WITHDRAW, BORROW, REPAY, USAGE_AS_COLLATERAL, LIQUIDATION_CALL]\n\n \"\"\"The order by object to sort the transactions by\"\"\"\n orderBy: UserTransactionHistoryRequestOrderBy! = {date: ASC}\n\n \"\"\"The user that sent the transactions\"\"\"\n user: EvmAddress!\n\n \"\"\"The chain id where the transactions were sent\"\"\"\n chainId: ChainId!\n\n \"\"\"The page size\"\"\"\n pageSize: PageSize! = FIFTY\n\n \"\"\"Pagination cursor\"\"\"\n cursor: Cursor\n}\n\ninput UserTransactionHistoryRequestOrderBy {\n \"\"\"Order by the date of the transaction\"\"\"\n date: OrderDirection\n}\n\nunion UserTransactionItem = UserSupplyTransaction | UserWithdrawTransaction | UserBorrowTransaction | UserRepayTransaction | UserUsageAsCollateralTransaction | UserLiquidationCallTransaction\n\n\"\"\"The type of user transaction in the protocol.\"\"\"\nenum UserTransactionType {\n \"\"\"User supplied assets to the protocol.\"\"\"\n SUPPLY\n\n \"\"\"User borrowed assets from the protocol.\"\"\"\n BORROW\n\n \"\"\"User enabled or disabled usage of an asset as collateral.\"\"\"\n USAGE_AS_COLLATERAL\n\n \"\"\"User was involved in a liquidation call.\"\"\"\n LIQUIDATION_CALL\n\n \"\"\"User repaid a borrowed amount.\"\"\"\n REPAY\n\n \"\"\"User withdrew supplied assets.\"\"\"\n WITHDRAW\n}\n\n\"\"\"\nA transaction where the user enabled or disabled usage of an asset as collateral.\n\"\"\"\ntype UserUsageAsCollateralTransaction {\n \"\"\"Whether collateral usage was enabled.\"\"\"\n enabled: Boolean!\n\n \"\"\"Reserve for which collateral usage was changed.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ntype UserVaultShares {\n \"\"\"The user's shares on the vault\"\"\"\n shares: TokenAmount!\n\n \"\"\"The balance you can withdraw\"\"\"\n balance: TokenAmount!\n}\n\ninput UserVaultsFilter {\n \"\"\"Filter by markets\"\"\"\n vaults: [VaultInput!]\n\n \"\"\"Filter by underlying token addresses\"\"\"\n underlyingTokens: [EvmAddress!]\n}\n\ninput UserVaultsOrderBy @oneOf {\n \"\"\"Order by shares\"\"\"\n shares: OrderDirection\n\n \"\"\"Order by fee\"\"\"\n fee: OrderDirection\n}\n\ninput UserVaultsRequest {\n \"\"\"The user address\"\"\"\n user: EvmAddress!\n\n \"\"\"Filter criteria\"\"\"\n filters: UserVaultsFilter\n\n \"\"\"Ordering criteria\"\"\"\n orderBy: UserVaultsOrderBy! = {shares: ASC}\n\n \"\"\"The page size\"\"\"\n pageSize: PageSize! = FIFTY\n\n \"\"\"Pagination cursor\"\"\"\n cursor: Cursor\n}\n\n\"\"\"A transaction where the user withdrew assets from a reserve.\"\"\"\ntype UserWithdrawTransaction {\n \"\"\"Amount withdrawn.\"\"\"\n amount: TokenAmount!\n\n \"\"\"Reserve from which assets were withdrawn.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ntype Vault {\n \"\"\"The vault address\"\"\"\n address: EvmAddress!\n\n \"\"\"The owner of the vault\"\"\"\n owner: EvmAddress!\n\n \"\"\"The name of the share\"\"\"\n shareName: String!\n\n \"\"\"The symbol of the share\"\"\"\n shareSymbol: String!\n\n \"\"\"The reserve the vault is using\"\"\"\n usedReserve: Reserve!\n\n \"\"\"The current fee percentage set for the vault.\"\"\"\n fee: PercentValue!\n\n \"\"\"How much this vault has made in revenue\"\"\"\n totalFeeRevenue: TokenAmount!\n\n \"\"\"\n The last recorded balance of the vault's AToken. This value is updated when yield is accrued.\n \"\"\"\n balance: TokenAmount!\n\n \"\"\"The chain id the vault lives on\"\"\"\n chainId: ChainId!\n\n \"\"\"The user's shares info on the vault\"\"\"\n userShares: UserVaultShares\n\n \"\"\"The total fees the owner can claim currently for the vault\"\"\"\n feesBalance: TokenAmount!\n\n \"\"\"The total vault APR after their fee is taken off\"\"\"\n vaultApr: PercentValue!\n}\n\ninput VaultDeployRequest {\n \"\"\"Underlying token address.\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The market address.\"\"\"\n market: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The address to set as which deploys the vault and will become an owner of the vault.\n \"\"\"\n deployer: EvmAddress!\n\n \"\"\"The owner of the vault - if not defined, it will be the deployer\"\"\"\n owner: EvmAddress\n\n \"\"\"The initial fee to set, expressed in %.\"\"\"\n initialFee: BigDecimal!\n\n \"\"\"The name to set for the vault's shares.\"\"\"\n shareName: String!\n\n \"\"\"The symbol to set for the vault's shares.\"\"\"\n shareSymbol: String!\n\n \"\"\"\n The initial amount of underlying assets to deposit. This must be a non-zero, non-trivial amount, depending on the underlying asset's decimals.\n \"\"\"\n initialLockDeposit: BigDecimal!\n}\n\ninput VaultDepositRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"\n The amount of assets to deposit - you can pass in the underlying or the aToken if you pass in the aToken address it will deposit with the aToken\n \"\"\"\n amount: Erc20AmountInput!\n\n \"\"\"The user who is depositing\"\"\"\n depositor: EvmAddress!\n\n \"\"\"\n The address to which vault shares will be minted to - defaults to depositor.\n \"\"\"\n sharesRecipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultInput {\n \"\"\"The address of the fault\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id the vault is on\"\"\"\n chainId: ChainId!\n}\n\ninput VaultMintShareInput {\n \"\"\"The amount of vault shares\"\"\"\n amount: BigDecimal!\n\n \"\"\"Whether the amount should be received as aToken.\"\"\"\n asAToken: Boolean! = false\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput VaultMintSharesRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The amount of shares to mint\"\"\"\n shares: VaultMintShareInput!\n\n \"\"\"The user who is wanting to mint the shares\"\"\"\n minter: EvmAddress!\n\n \"\"\"\n The address to which vault shares will be minted to - defaults to minter.\n \"\"\"\n sharesRecipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultOperationPreviewRequest {\n \"\"\"The vault\"\"\"\n vault: EvmAddress!\n\n \"\"\"The chain id the vault is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"The amount in human-readable form\"\"\"\n amount: BigDecimal!\n}\n\ninput VaultRedeemShareInput {\n \"\"\"The amount of vault shares\"\"\"\n amount: BigDecimal!\n\n \"\"\"Whether the amount should be sent as aToken.\"\"\"\n asAToken: Boolean! = false\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput VaultRedeemSharesRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The shares to redeem.\"\"\"\n shares: VaultRedeemShareInput!\n\n \"\"\"\n The address from which vault shares will be burned (normally your own wallet).\n \"\"\"\n sharesOwner: EvmAddress!\n\n \"\"\"\n If you are doing the redeem from a trusted wallet which can move funds on behalf of the shares owner (advanced usage)\n \"\"\"\n authorizedUser: EvmAddress\n\n \"\"\"\n The address to which the underlying assets will be sent; if not set it will go to the sharesOwner\n \"\"\"\n recipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultRequest {\n \"\"\"The retrieve criteria\"\"\"\n by: VaultRequestBy!\n\n \"\"\"The chain id the vault is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like userShares and other user features\n \"\"\"\n user: EvmAddress\n}\n\ninput VaultRequestBy @oneOf {\n \"\"\"The vault address\"\"\"\n address: EvmAddress\n\n \"\"\"\n You can use this if you deployed a vault and want to get the vault information using the tx hash after the receipt is given\n \"\"\"\n txHash: TxHash\n}\n\ninput VaultSetFeeRequest {\n \"\"\"The vault deployed address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The new fee to set, expressed in %.\"\"\"\n newFee: BigDecimal!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\n\"\"\"A transaction where the user supplied assets to a reserve.\"\"\"\ntype VaultUserDepositItem {\n asset: TokenAmount!\n shares: TokenAmount!\n blockExplorerUrl: String!\n txHash: TxHash!\n timestamp: DateTime!\n}\n\nenum VaultUserHistoryAction {\n DEPOSIT\n WITHDRAW\n}\n\ninput VaultUserTransactionHistoryOrderBy @oneOf {\n \"\"\"Order by shares\"\"\"\n date: OrderDirection\n}\n\ninput VaultUserTransactionHistoryRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The chain id where the transactions were sent\"\"\"\n chainId: ChainId!\n\n \"\"\"The user that sent the transactions\"\"\"\n user: EvmAddress!\n\n \"\"\"The filter to optionally filter the transactions by action type\"\"\"\n filter: [VaultUserHistoryAction!]! = [DEPOSIT, WITHDRAW]\n\n \"\"\"Ordering criteria\"\"\"\n orderBy: VaultUserTransactionHistoryOrderBy! = {date: ASC}\n\n \"\"\"The page size\"\"\"\n pageSize: PageSize! = FIFTY\n\n \"\"\"Pagination cursor\"\"\"\n cursor: Cursor\n}\n\nunion VaultUserTransactionItem = VaultUserDepositItem | VaultUserWithdrawItem\n\n\"\"\"A transaction where the user withdrew assets from a reserve.\"\"\"\ntype VaultUserWithdrawItem {\n asset: TokenAmount!\n shares: TokenAmount!\n blockExplorerUrl: String!\n txHash: TxHash!\n timestamp: DateTime!\n}\n\ninput VaultWithdrawFeesRequest {\n \"\"\"The vault deployed address\"\"\"\n vault: EvmAddress!\n\n \"\"\"\n Who the withdrawal fees will go to - if not supplied, it goes to the owner\n \"\"\"\n sendTo: EvmAddress\n\n \"\"\"Human-formatted amount\"\"\"\n amount: WithdrawAmount!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultWithdrawInput {\n \"\"\"The amount of assets to withdraw.\"\"\"\n amount: BigDecimal!\n\n \"\"\"Whether the amount should be sent/received as aToken.\"\"\"\n asAToken: Boolean! = false\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput VaultWithdrawRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The details of the underlying token to withdraw.\"\"\"\n underlyingToken: VaultWithdrawInput!\n\n \"\"\"\n The address from which vault shares will be burned (normally your own wallet).\n \"\"\"\n sharesOwner: EvmAddress!\n\n \"\"\"\n If you are doing the withdrawal from a trusted wallet which can move funds on behalf of the shares owner (advanced usage)\n \"\"\"\n authorizedUser: EvmAddress\n\n \"\"\"\n The address to which the underlying assets will be sent - defaults to sharesOwner.\n \"\"\"\n recipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultsRequest {\n \"\"\"Filter criteria for vaults\"\"\"\n criteria: VaultsRequestFilterCriteria!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like userShares and other user features\n \"\"\"\n user: EvmAddress\n\n \"\"\"The page size\"\"\"\n pageSize: PageSize! = FIFTY\n\n \"\"\"Pagination cursor\"\"\"\n cursor: Cursor\n}\n\ninput VaultsRequestFilterCriteria @oneOf {\n \"\"\"Filter by specific vault addresses\"\"\"\n vaults: [VaultInput!]\n\n \"\"\"Filter by owner addresses\"\"\"\n ownedBy: [EvmAddress!]\n}\n\ninput WithdrawAmount @oneOf {\n \"\"\"Exact amount to withdraw, remember interest is generated on each block\"\"\"\n exact: BigDecimal\n\n \"\"\"Withdraw all the position completely\"\"\"\n max: AlwaysTrue\n}\n\ninput WithdrawAmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: WithdrawNativeAmountInput\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: WithdrawErc20AmountInput\n}\n\ninput WithdrawErc20AmountInput {\n \"\"\"The token address.\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g., wei).\n \"\"\"\n value: WithdrawAmount!\n}\n\ninput WithdrawNativeAmountInput {\n \"\"\"The native value\"\"\"\n value: WithdrawAmount!\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput WithdrawRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The amount to withdraw\"\"\"\n amount: WithdrawAmountInput!\n\n \"\"\"\n The user sending the transaction (normally the user's wallet address) this should have the `aToken` that will be burned by the `Pool`\n \"\"\"\n sender: EvmAddress!\n\n \"\"\"\n If not supplied, this will use `sender`. The address that will receive the underlying asset. This will go to the supplier if the user wants to receive the tokens into\n their own wallet or use a different address if the beneficiary is a different wallet\n \"\"\"\n recipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}","import { buildSchema } from 'graphql';\n\nimport schemaSDL from '../schema.graphql';\n\n/**\n * @internal\n */\nexport const schema = buildSchema(schemaSDL);\n"]}
1
+ {"version":3,"sources":["../schema.graphql","../src/test-utils.ts"],"names":["schema_default","schema","buildSchema"],"mappings":"kCAAA,IAAAA,CAAAA,CAAA,CAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;GCOO,IAAMC,CAAAA,CAASC,YAAYF,CAAS","file":"test-utils.js","sourcesContent":["type APYSample {\n \"\"\"The avg rate\"\"\"\n avgRate: PercentValue!\n\n \"\"\"The date\"\"\"\n date: DateTime!\n}\n\ntype AaveBorrowIncentive {\n borrowAprDiscount: PercentValue!\n rewardTokenAddress: EvmAddress!\n rewardTokenSymbol: String!\n}\n\ntype AaveSupplyIncentive {\n extraSupplyApr: PercentValue!\n rewardTokenAddress: EvmAddress!\n rewardTokenSymbol: String!\n}\n\nscalar AlwaysTrue\n\ninput AmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: BigDecimal\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: Erc20AmountInput\n}\n\n\"\"\"\nIndicates that an approval transaction must be performed before proceeding to the next step.\n\"\"\"\ntype ApprovalRequired {\n \"\"\"The transaction requires an approval first\"\"\"\n approval: TransactionRequest!\n\n \"\"\"The reason for the approval\"\"\"\n reason: String!\n\n \"\"\"The required amount missing to be able to do the original transaction\"\"\"\n requiredAmount: DecimalValue!\n\n \"\"\"The current allowance approved\"\"\"\n currentAllowance: DecimalValue!\n\n \"\"\"The transaction to send after the approval is complete\"\"\"\n originalTransaction: TransactionRequest!\n}\n\ninput ApproveBorrowCreditDelegatorRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token address.\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"\n Token value in its main unit to approve (e.g., 1.5 DAI), not in the smallest fraction (e.g. wei).\n \"\"\"\n amount: BigDecimal!\n\n \"\"\"The user allowing the delegation from\"\"\"\n user: EvmAddress!\n\n \"\"\"The delegatee to approve the ability to borrow on the `user` behalf\"\"\"\n delegatee: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\nscalar BigDecimal\n\nscalar BigInt\n\nscalar BlockchainData\n\ninput BorrowAPYHistoryRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token for the reserve\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The time windows for the history\"\"\"\n window: TimeWindow!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput BorrowAmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: BigDecimal\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: BorrowErc20AmountInput\n}\n\ninput BorrowErc20AmountInput {\n \"\"\"The token address.\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g.,\n wei).\n \"\"\"\n value: BigDecimal!\n}\n\ninput BorrowRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The amount borrowing\"\"\"\n amount: BorrowAmountInput!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n\n \"\"\"\n If not supplied, this will use `sender` in most cases this is what the user wants if they want\n to borrow themselves. You can also pass in the credit delegator if the caller has\n been given credit delegation allowance. You can approve those with `approveBorrowCreditDelegation`.\n \"\"\"\n onBehalfOf: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ntype Chain {\n name: String!\n icon: String!\n chainId: ChainId!\n explorerUrl: String!\n isTestnet: Boolean!\n nativeWrappedToken: EvmAddress!\n}\n\n\"\"\"A supported blockchain chain ID\"\"\"\nscalar ChainId\n\nenum ChainsFilter {\n TESTNET_ONLY\n MAINNET_ONLY\n ALL\n}\n\ninput CollateralToggleRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token for the reserve\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The user to toggle emode on\"\"\"\n user: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput CreditDelegateeAmountRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token address.\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The user allowing the delegation from\"\"\"\n user: EvmAddress!\n\n \"\"\"The delegatee to approve the ability to borrow on the `user` behalf\"\"\"\n delegatee: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ntype Currency {\n \"\"\"The token address\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"The token name\"\"\"\n name: String!\n\n \"\"\"The token image\"\"\"\n imageUrl: String!\n\n \"\"\"The token symbol\"\"\"\n symbol: String!\n\n \"\"\"The token decimals\"\"\"\n decimals: Int!\n}\n\nscalar Cursor\n\nscalar DateTime\n\ninput DebtToCover @oneOf {\n \"\"\"Exact debt amount to cover\"\"\"\n exact: BigDecimal\n\n \"\"\"Maximum debt amount (equivalent to uint(-1))\"\"\"\n max: AlwaysTrue\n}\n\ntype DecimalValue {\n \"\"\"The raw none formatted value\"\"\"\n raw: BigInt!\n\n \"\"\"The decimals the value formatted into\"\"\"\n decimals: Int!\n\n \"\"\"The formatted value\"\"\"\n value: BigDecimal!\n}\n\ntype DomainData {\n name: String!\n version: String!\n chainId: ChainId!\n verifyingContract: EvmAddress!\n}\n\ninput ERC712Signature {\n \"\"\"The signature for the erc721\"\"\"\n value: Signature!\n\n \"\"\"The deadline for the erc721\"\"\"\n deadline: Int!\n}\n\ntype EmodeMarketCategory {\n \"\"\"The eMode id for the market\"\"\"\n id: Int!\n\n \"\"\"The eMode label\"\"\"\n label: String!\n\n \"\"\"The maximum loan-to-value ratio in efficiency mode\"\"\"\n maxLTV: PercentValue!\n\n \"\"\"The liquidation threshold in efficiency mode\"\"\"\n liquidationThreshold: PercentValue!\n\n \"\"\"The liquidation penalty applied in efficiency mode\"\"\"\n liquidationPenalty: PercentValue!\n\n \"\"\"The list of reserves which will tailor for this eMode\"\"\"\n reserves: [EmodeMarketReserveInfo!]!\n}\n\ntype EmodeMarketReserveInfo {\n \"\"\"The underlying token used on the reserve\"\"\"\n underlyingToken: Currency!\n\n \"\"\"If the underlying token can be collateral with this eMode on\"\"\"\n canBeCollateral: Boolean!\n\n \"\"\"If the underlying token can be borrowed with this eMode on\"\"\"\n canBeBorrowed: Boolean!\n}\n\n\"\"\"The emode reserve information\"\"\"\ntype EmodeReserveInfo {\n \"\"\"The eMode category id for the market\"\"\"\n categoryId: Int!\n\n \"\"\"The eMode label\"\"\"\n label: String!\n\n \"\"\"The maximum loan-to-value ratio in efficiency mode\"\"\"\n maxLTV: PercentValue!\n\n \"\"\"The liquidation threshold in efficiency mode\"\"\"\n liquidationThreshold: PercentValue!\n\n \"\"\"The liquidation penalty applied in efficiency mode\"\"\"\n liquidationPenalty: PercentValue!\n\n \"\"\"If the underlying token can be collateral with this eMode on\"\"\"\n canBeCollateral: Boolean!\n\n \"\"\"If the underlying token can be borrowed with this eMode on\"\"\"\n canBeBorrowed: Boolean!\n}\n\ninput Erc20AmountInput {\n \"\"\"The token address.\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g.,\n wei).\n \"\"\"\n value: BigDecimal!\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\nscalar EvmAddress\n\n\"\"\"\nAn execution plan represents what needs to happen to fulfill a requested operation.\nIt could be an immediate transaction, an approval followed by a transaction, or indicate insufficient balance.\n\"\"\"\nunion ExecutionPlan = TransactionRequest | ApprovalRequired | InsufficientBalanceError\n\ninput ForkTopUpErc20 {\n \"\"\"The token address\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction\n \"\"\"\n value: BigDecimal!\n}\n\ninput ForkTopUpRequest {\n \"\"\"The address you want the funds to be topped up against\"\"\"\n user: EvmAddress!\n\n \"\"\"The erc20 information\"\"\"\n erc20: ForkTopUpErc20\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction\n \"\"\"\n native: BigDecimal\n}\n\ntype ForkTopUpResponse {\n message: String!\n\n \"\"\"The tx hash of the newly created transaction\"\"\"\n txHash: String\n}\n\ninput HasProcessedKnownTransactionRequest {\n \"\"\"\n The operation type this is given to you on the TransactionRequest::operation\n \"\"\"\n operation: OperationType!\n\n \"\"\"The tx hash\"\"\"\n txHash: TxHash!\n}\n\ninput HealthFactorPreviewRequest {\n \"\"\"The action to simulate\"\"\"\n action: PreviewAction!\n}\n\ntype HealthFactorPreviewResponse {\n \"\"\"\n The user health factor before - if null, they don't have one because they are not borrowing\n \"\"\"\n before: BigDecimal\n\n \"\"\"\n The user health factor after - if null, they don't have one because they are not borrowing\n \"\"\"\n after: BigDecimal\n}\n\n\"\"\"\nIndicates the user does not have enough balance to perform the operation.\n\"\"\"\ntype InsufficientBalanceError {\n \"\"\"The amount required to do the original transaction\"\"\"\n required: DecimalValue!\n\n \"\"\"The amount available in the wallet\"\"\"\n available: DecimalValue!\n}\n\ninput LiquidateRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"\n The address of the token used as collateral, to receive as result of the liquidation\n \"\"\"\n collateralToken: EvmAddress!\n\n \"\"\"\n The address of the underlying borrowed token to be repaid with the liquidation\n \"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The address of the borrower getting liquidated\"\"\"\n user: EvmAddress!\n\n \"\"\"\n The debt amount of the underlying borrowed token the liquidator will repay\n \"\"\"\n debtToCover: DebtToCover! = {max: true}\n\n \"\"\"\n true if the liquidator wants to receive the aTokens equivalent of the purchased collateral, false if they want to receive the collateral asset directly\n \"\"\"\n receiveAToken: Boolean! = false\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\n\"\"\"Information about collateral liquidated in a liquidation call.\"\"\"\ntype LiquidationCollateral {\n \"\"\"Reserve of the collateral.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"Amount of collateral liquidated\"\"\"\n amount: TokenAmount\n}\n\n\"\"\"Information about debt repaid in a liquidation call.\"\"\"\ntype LiquidationRepaidDebt {\n \"\"\"Reserve of the repaid debt.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"Amount of debt repaid.\"\"\"\n amount: TokenAmount!\n}\n\ntype Market {\n \"\"\"The human-friendly name for the market\"\"\"\n name: String!\n\n \"\"\"The chain\"\"\"\n chain: Chain!\n\n \"\"\"The liquidity pool address for the market\"\"\"\n address: EvmAddress!\n\n \"\"\"A list eModes the market can support\"\"\"\n eModeCategories: [EmodeMarketCategory!]!\n userState: MarketUserState\n\n \"\"\"The market icon\"\"\"\n icon: String!\n\n \"\"\"The market reserves\"\"\"\n reserves(request: MarketReservesRequest! = {reserveType: BOTH, orderBy: {tokenName: ASC}}): [Reserve!]!\n\n \"\"\"The total market size\"\"\"\n totalMarketSize: BigDecimal!\n\n \"\"\"The total available liquidity in USD\"\"\"\n totalAvailableLiquidity: BigDecimal!\n}\n\ntype MarketInfo {\n \"\"\"The human-friendly name for the market\"\"\"\n name: String!\n\n \"\"\"The chain\"\"\"\n chain: Chain!\n\n \"\"\"The liquidity pool address for the market\"\"\"\n address: EvmAddress!\n\n \"\"\"The market icon\"\"\"\n icon: String!\n}\n\ninput MarketInput {\n \"\"\"The address of the market pool\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id the market is deployed on\"\"\"\n chainId: ChainId!\n}\n\ninput MarketRequest {\n \"\"\"The pool address for the market\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id the market pool address is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like eMode and other user features\n \"\"\"\n user: EvmAddress\n}\n\ninput MarketReservesRequest {\n \"\"\"The reserve type\"\"\"\n reserveType: MarketReservesRequestType! = BOTH\n\n \"\"\"The way the reserve gets ordered on the return result\"\"\"\n orderBy: MarketReservesRequestOrderBy! = {tokenName: ASC}\n}\n\ninput MarketReservesRequestOrderBy @oneOf {\n \"\"\"Order by the borrow APY\"\"\"\n borrowApy: OrderDirection\n\n \"\"\"Order by the supply APY\"\"\"\n supplyApy: OrderDirection\n\n \"\"\"Order by the token name\"\"\"\n tokenName: OrderDirection\n}\n\nenum MarketReservesRequestType {\n SUPPLY\n BORROW\n BOTH\n}\n\ntype MarketUserReserveBorrowPosition {\n \"\"\"The market address where this position exists\"\"\"\n market: MarketInfo!\n\n \"\"\"The currency being borrowed\"\"\"\n currency: Currency!\n\n \"\"\"The user's debt balance in this reserve\"\"\"\n debt: TokenAmount!\n\n \"\"\"The annual percentage yield for this borrow position\"\"\"\n apy: PercentValue!\n}\n\ntype MarketUserReserveSupplyPosition {\n \"\"\"The market address where this position exists\"\"\"\n market: MarketInfo!\n\n \"\"\"The currency being supplied\"\"\"\n currency: Currency!\n\n \"\"\"The user's supply balance in this reserve\"\"\"\n balance: TokenAmount!\n\n \"\"\"The annual percentage yield for this supply position\"\"\"\n apy: PercentValue!\n\n \"\"\"Whether this position is being used as collateral\"\"\"\n isCollateral: Boolean!\n\n \"\"\"If the asset can be used for collateral\"\"\"\n canBeCollateral: Boolean!\n}\n\ntype MarketUserState {\n \"\"\"The user's total net worth in the market\"\"\"\n netWorth: BigDecimal!\n\n \"\"\"The user's net annual percentage yield across all positions\"\"\"\n netAPY: PercentValue!\n\n \"\"\"\n The user's health factor (risk metric for liquidation) - if null, the user does not have a borrow\n \"\"\"\n healthFactor: BigDecimal\n\n \"\"\"Whether efficiency mode is enabled for the user\"\"\"\n eModeEnabled: Boolean!\n\n \"\"\"\n The total collateral of the user in the base currency used by the price feed\n \"\"\"\n totalCollateralBase: BigDecimal!\n\n \"\"\"The total debt of the user in the base currency used by the price feed\"\"\"\n totalDebtBase: BigDecimal!\n\n \"\"\"\n The borrowing power left of the user in the base currency used by the price feed\n \"\"\"\n availableBorrowsBase: BigDecimal!\n\n \"\"\"The liquidation threshold of the user\"\"\"\n currentLiquidationThreshold: PercentValue!\n\n \"\"\"The loan to value of the user\"\"\"\n ltv: PercentValue!\n\n \"\"\"One of the user collateral is in isolation mode\"\"\"\n isInIsolationMode: Boolean!\n}\n\ninput MarketsRequest {\n \"\"\"The markets you want to see based on the chain ids\"\"\"\n chainIds: [ChainId!]!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like eMode and other\n user features\n \"\"\"\n user: EvmAddress\n}\n\ntype MeritBorrowAndSupplyIncentiveCondition {\n \"\"\"The APR incentive for meeting the conditions\"\"\"\n extraApr: PercentValue!\n\n \"\"\"The token that must be supplied as collateral\"\"\"\n supplyToken: Currency!\n\n \"\"\"The token that must be borrowed\"\"\"\n borrowToken: Currency!\n\n \"\"\"Where you can go and claim the incentives\"\"\"\n claimLink: URL!\n}\n\ntype MeritBorrowIncentive {\n \"\"\"Extra APR for borrowing this asset from AAVE Merit program\"\"\"\n borrowAprDiscount: PercentValue!\n\n \"\"\"Where you can go and claim the incentives\"\"\"\n claimLink: URL!\n}\n\ntype MeritSupplyIncentive {\n \"\"\"Extra APR for supplying this asset from AAVE Merit program\"\"\"\n extraSupplyApr: PercentValue!\n\n \"\"\"Where you can go and claim the incentives\"\"\"\n claimLink: URL!\n}\n\ntype MessageData {\n owner: EvmAddress!\n spender: EvmAddress!\n value: BigInt!\n nonce: BigInt!\n deadline: Int!\n}\n\ntype NativeCurrency {\n \"\"\"The token image\"\"\"\n imageUrl: String!\n\n \"\"\"The token name\"\"\"\n name: String!\n\n \"\"\"The token symbol\"\"\"\n symbol: String!\n\n \"\"\"The token decimals\"\"\"\n decimals: Int!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"The wrapped version of this token\"\"\"\n wrappedToken: EvmAddress!\n}\n\nenum OperationType {\n BORROW\n REPAY\n RESERVE_USED_AS_COLLATERAL_ENABLED\n RESERVE_USED_AS_COLLATERAL_DISABLED\n SUPPLY\n USER_EMODE_SET\n WITHDRAW\n VAULT_DEPLOYED\n VAULT_DEPOSIT\n VAULT_FEE_UPDATED\n VAULT_FEE_WITHDRAWN\n VAULT_WITHDRAW\n LIQUIDATION\n}\n\nenum OrderDirection {\n ASC\n DESC\n}\n\nenum PageSize {\n TEN\n FIFTY\n}\n\ntype PaginatedResultInfo {\n \"\"\"The cursor to the previous page of results, if any.\"\"\"\n prev: Cursor\n\n \"\"\"The cursor to the next page of results, if any.\"\"\"\n next: Cursor\n}\n\n\"\"\"Paginated result of user transaction history.\"\"\"\ntype PaginatedUserTransactionHistoryResult {\n \"\"\"List of user transaction items.\"\"\"\n items: [UserTransactionItem!]!\n\n \"\"\"Pagination information.\"\"\"\n pageInfo: PaginatedResultInfo!\n}\n\ntype PaginatedVaultUserTransactionHistoryResult {\n items: [VaultUserTransactionItem!]!\n pageInfo: PaginatedResultInfo!\n}\n\ntype PaginatedVaultsResult {\n items: [Vault!]!\n pageInfo: PaginatedResultInfo!\n}\n\ntype PercentValue {\n \"\"\"The raw none normalized percentage (the value that lives onchain)\"\"\"\n raw: BigInt!\n\n \"\"\"The decimals representing the precision of the onchain raw value\"\"\"\n decimals: Int!\n\n \"\"\"The normalized percentage (1.0 = 100%)\"\"\"\n value: BigDecimal!\n\n \"\"\"\n The human-readable formatted value you can render on a UI straight away.\n For example, this will turn `0.01232343` to `1.23`, it will always round to `2` decimal points.\n \"\"\"\n formatted: BigDecimal!\n}\n\ninput PermitRequest {\n \"\"\"The spender (when doing this with aave this is the market address)\"\"\"\n spender: EvmAddress!\n\n \"\"\"The token you want to do the permit with\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n The amount to permit - in human-readable form aka 0.001 eth is 0.001 eth here\n \"\"\"\n amount: BigDecimal!\n\n \"\"\"The chain id the pool is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"The owner of the funds\"\"\"\n owner: EvmAddress!\n}\n\ntype PermitTypedDataResponse {\n types: TypeDefinition!\n primaryType: String!\n domain: DomainData!\n message: MessageData!\n}\n\ninput PreviewAction @oneOf {\n supply: SupplyRequest\n borrow: BorrowRequest\n repay: RepayRequest\n withdraw: WithdrawRequest\n}\n\ntype Query {\n \"\"\"Get if the API is healthy\"\"\"\n health: Boolean!\n\n \"\"\"Chains the protocol supports\"\"\"\n chains(filter: ChainsFilter! = ALL): [Chain!]!\n\n \"\"\"\n Deposits assets (underlying tokens or its related aTokens) into the vault and mints a corresponding amount of vault shares to the receiver.\n \"\"\"\n vaultDeposit(request: VaultDepositRequest!): ExecutionPlan!\n\n \"\"\"\n Redeems shares (vault shares) for the underlying assets or a tokens, which are sent to the receiver. The shares are burned from the owner.\n \"\"\"\n vaultRedeemShares(request: VaultRedeemSharesRequest!): TransactionRequest!\n\n \"\"\"Get a vault\"\"\"\n vault(request: VaultRequest!): Vault\n\n \"\"\"Get vaults\"\"\"\n vaults(request: VaultsRequest!): PaginatedVaultsResult!\n\n \"\"\"User vaults they have shares in\"\"\"\n userVaults(request: UserVaultsRequest!): PaginatedVaultsResult!\n\n \"\"\"Deploy a vault and earn fees from the yield\"\"\"\n vaultDeploy(request: VaultDeployRequest!): ExecutionPlan!\n\n \"\"\"\n Update a vault's fee. You MUST be the owner of the vault to send this tx request.\n \"\"\"\n vaultSetFee(request: VaultSetFeeRequest!): TransactionRequest!\n\n \"\"\"\n Withdraws accumulated fees from the specified vault. You MUST be the owner of the vault to send this tx request.\n \"\"\"\n vaultWithdrawFees(request: VaultWithdrawFeesRequest!): TransactionRequest!\n\n \"\"\"User vault transaction history\"\"\"\n vaultUserTransactionHistory(request: VaultUserTransactionHistoryRequest!): PaginatedVaultUserTransactionHistoryResult!\n\n \"\"\"\n Withdraws assets (underlying tokens or its related aTokens) from the vault and sends them to the receiver. The corresponding vault shares are burned from the owner.\n \"\"\"\n vaultWithdraw(request: VaultWithdrawRequest!): TransactionRequest!\n\n \"\"\"\n Mints an exact amount of shares (vault shares) to the receiver by depositing the calculated amount of underlying or aTokens assets.\n \"\"\"\n vaultMintShares(request: VaultMintSharesRequest!): ExecutionPlan!\n\n \"\"\"\n This will return you the amount of shares that would be minted to the receiver\n \"\"\"\n vaultPreviewDeposit(request: VaultOperationPreviewRequest!): TokenAmount!\n\n \"\"\"\n This will return you the amount of assets that would be deposited by the caller\n \"\"\"\n vaultPreviewMint(request: VaultOperationPreviewRequest!): TokenAmount!\n\n \"\"\"\n This will return you the number of shares burnt based on the amount of assets you want to withdraw\n \"\"\"\n vaultPreviewWithdraw(request: VaultOperationPreviewRequest!): TokenAmount!\n\n \"\"\"\n This will return you the amount of assets that would be withdrawn by the receiver.\n \"\"\"\n vaultPreviewRedeem(request: VaultOperationPreviewRequest!): TokenAmount!\n\n \"\"\"Lists all the markets\"\"\"\n markets(request: MarketsRequest!): [Market!]!\n\n \"\"\"Get a market\"\"\"\n market(request: MarketRequest!): Market\n\n \"\"\"Create the transaction to borrow from a market\"\"\"\n borrow(request: BorrowRequest!): ExecutionPlan!\n\n \"\"\"Approve a credit borrow delegator to be able to borrow on your behalf\"\"\"\n approveBorrowCreditDelegation(request: ApproveBorrowCreditDelegatorRequest!): TransactionRequest!\n\n \"\"\"\n Gets the amount delegated to the credit delegatee that can borrow on your behalf\n \"\"\"\n creditDelegateeAllowance(request: CreditDelegateeAmountRequest!): TokenAmount!\n\n \"\"\"Create the transaction to supply to a market\"\"\"\n supply(request: SupplyRequest!): ExecutionPlan!\n\n \"\"\"Create the transaction to repay to a market\"\"\"\n repay(request: RepayRequest!): ExecutionPlan!\n\n \"\"\"Create the transaction to withdraw from a market\"\"\"\n withdraw(request: WithdrawRequest!): ExecutionPlan!\n\n \"\"\"Create the transaction to toggle eMode for a market\"\"\"\n userSetEmode(request: UserSetEmodeRequest!): TransactionRequest!\n\n \"\"\"Enable/disable a specific supplied asset as collateral\"\"\"\n collateralToggle(request: CollateralToggleRequest!): TransactionRequest!\n\n \"\"\"\n liquidate a non-healthy position collateral-wise, with Health Factor below 1\n \"\"\"\n liquidate(request: LiquidateRequest!): TransactionRequest!\n\n \"\"\"Returns the user account market data across all the reserves.\"\"\"\n userMarketState(request: UserMarketStateRequest!): MarketUserState!\n\n \"\"\"The usd exchange rates for different tokens on a given market\"\"\"\n usdExchangeRates(request: UsdExchangeRatesRequest!): [UsdExchangeRate!]!\n\n \"\"\"Get all the user borrows positions\"\"\"\n userBorrows(request: UserBorrowsRequest!): [MarketUserReserveBorrowPosition!]!\n\n \"\"\"Get all the user supplies positions\"\"\"\n userSupplies(request: UserSuppliesRequest!): [MarketUserReserveSupplyPosition!]!\n\n \"\"\"Get the borrow APY history\"\"\"\n borrowAPYHistory(request: BorrowAPYHistoryRequest!): [APYSample!]!\n\n \"\"\"Get the supply APY history\"\"\"\n supplyAPYHistory(request: SupplyAPYHistoryRequest!): [APYSample!]!\n\n \"\"\"Generate EIP-712 typed data for EIP-2612 permit signature\"\"\"\n permitTypedData(request: PermitRequest!): PermitTypedDataResponse!\n\n \"\"\"Get the reserve for on a market\"\"\"\n reserve(request: ReserveRequest!): Reserve\n\n \"\"\"The user's market transaction history\"\"\"\n userTransactionHistory(request: UserTransactionHistoryRequest!): PaginatedUserTransactionHistoryResult!\n\n \"\"\"\n This lets you know the API has processed the known transaction hash, as the API uses caching to make things as fast\n as possible, it has an invalidation task, so sometimes if the receipt is complete, we may still (rarely) serve\n old data for 100-200ms longer, it's best to query after you got the receipt to be told that it is ready to go.\n Note the invalidation is very quick, and most of the time it's present even before your receipt is returned this is to\n cater for the race condition.\n \"\"\"\n hasProcessedKnownTransaction(request: HasProcessedKnownTransactionRequest!): Boolean!\n healthFactorPreview(request: HealthFactorPreviewRequest!): HealthFactorPreviewResponse!\n\n \"\"\"Top up a balance for a user or yourself on the fork\"\"\"\n forkTopUp(request: ForkTopUpRequest!): ForkTopUpResponse!\n}\n\ninput RepayAmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: BigDecimal\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: RepayErc20AmountInput\n}\n\ninput RepayErc20Amount @oneOf {\n \"\"\"\n Exact amount to repay\n Token value in its main unit (e.g., 1.5 GHO), not in the smallest fraction (e.g., wei).\n \"\"\"\n exact: BigDecimal\n\n \"\"\"Repay all the amount completely\"\"\"\n max: AlwaysTrue\n}\n\ninput RepayErc20AmountInput {\n \"\"\"The token address.\"\"\"\n currency: EvmAddress!\n\n \"\"\"The amount to repay\"\"\"\n value: RepayErc20Amount!\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without the need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput RepayRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"\n The amount to repay - you can pass in the underlying or the aToken if you pass in the aToken address, it will repay with the aToken\n \"\"\"\n amount: RepayAmountInput!\n\n \"\"\"The user sending the transaction (normally the user's wallet address)\"\"\"\n sender: EvmAddress!\n\n \"\"\"\n If not supplied, this will use `sender`. The address of the user who will get their debt reduced/removed. This should be the address of the user calling the function if they want to\n \"\"\"\n onBehalfOf: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ntype Reserve {\n \"\"\"The market information the reserve is under\"\"\"\n market: MarketInfo!\n\n \"\"\"The reserve underlying currency\"\"\"\n underlyingToken: Currency!\n\n \"\"\"The reserve a token\"\"\"\n aToken: Currency!\n\n \"\"\"The reserve v token\"\"\"\n vToken: Currency!\n\n \"\"\"\n If the reserve accepts native currency, for example, if you're on a reserve with asset WETH, it can\n also accept ETH\n \"\"\"\n acceptsNative: NativeCurrency\n\n \"\"\"The reserve size\"\"\"\n size: TokenAmount!\n\n \"\"\"The usd exchange rate for the underlying token\"\"\"\n usdExchangeRate: BigDecimal!\n\n \"\"\"The usd oracle address it is pulling that price from\"\"\"\n usdOracleAddress: EvmAddress!\n\n \"\"\"The supply info for the reserve\"\"\"\n supplyInfo: ReserveSupplyInfo!\n\n \"\"\"\n The borrow info for the reserve - if its null the underlying token cannot be borrowed\n \"\"\"\n borrowInfo: ReserveBorrowInfo\n\n \"\"\"The reserve has been frozen all actions are stopped\"\"\"\n isFrozen: Boolean!\n\n \"\"\"The reserve is paused you can still withdraw and some other actions\"\"\"\n isPaused: Boolean!\n\n \"\"\"\n If the reserve supports isolation mode this is defined and the configs are defined\n \"\"\"\n isolationModeConfig: ReserveIsolationModeConfig\n\n \"\"\"If the reserve can use flash loans on it\"\"\"\n flashLoanEnabled: Boolean!\n\n \"\"\"Does the underlying reserve support permit\"\"\"\n permitSupported: Boolean!\n\n \"\"\"\n This exposes the extra incentives you can earn from third parties (Merit) or from\n incentives set by governance through the RewardsController.\n Note Aave Labs does not guarantee third party program and accepts no liability to those\n \"\"\"\n incentives: [ReserveIncentive!]!\n\n \"\"\"The emode information for the reserve\"\"\"\n eModeInfo: [EmodeReserveInfo!]!\n\n \"\"\"Get the user state on the reserve\"\"\"\n userState: ReserveUserState\n}\n\ntype ReserveBorrowInfo {\n \"\"\"The annual percentage yield for borrowing this asset\"\"\"\n apy: PercentValue!\n\n \"\"\"The total amount borrowed from this reserve\"\"\"\n total: TokenAmount!\n\n \"\"\"The reserve factor percentage\"\"\"\n reserveFactor: PercentValue!\n\n \"\"\"The available liquidity\"\"\"\n availableLiquidity: TokenAmount!\n\n \"\"\"The reserve utilization rate\"\"\"\n utilizationRate: PercentValue!\n\n \"\"\"\n Variable rate slope 1 - the rate of interest increase when utilization rate is below optimal\n This is the slope of the interest rate curve in the first segment (0% to optimal utilization)\n \"\"\"\n variableRateSlope1: PercentValue!\n\n \"\"\"\n Variable rate slope 2 - the rate of interest increase when utilization rate is above optimal\n This is the slope of the interest rate curve in the second segment (optimal to 100% utilization)\n Typically much steeper than slope1 to discourage over-utilization\n \"\"\"\n variableRateSlope2: PercentValue!\n\n \"\"\"\n The optimal usage rate - the utilization rate at which the variable rate curve transitions\n from slope1 to slope2. This represents the target utilization rate for the reserve\n \"\"\"\n optimalUsageRate: PercentValue!\n\n \"\"\"\n Borrowing can have different states based on the criteria of the user or the market\n \"\"\"\n borrowingState: ReserveBorrowingState!\n\n \"\"\"The borrow cap of the reserve\"\"\"\n borrowCap: TokenAmount!\n\n \"\"\"The borrow cap is now full\"\"\"\n borrowCapReached: Boolean!\n}\n\nenum ReserveBorrowingState {\n \"\"\"Borrowing is enabled\"\"\"\n ENABLED\n\n \"\"\"Borrowing is disabled\"\"\"\n DISABLED\n\n \"\"\"The user emode settings make this underlying not able to be borrowed\"\"\"\n USER_EMODE_DISABLED_BORROW\n}\n\nunion ReserveIncentive = MeritSupplyIncentive | MeritBorrowIncentive | MeritBorrowAndSupplyIncentiveCondition | AaveSupplyIncentive | AaveBorrowIncentive\n\ntype ReserveInfo {\n \"\"\"The market information the reserve is under\"\"\"\n market: MarketInfo!\n\n \"\"\"The reserve underlying currency\"\"\"\n underlyingToken: Currency!\n\n \"\"\"The reserve a token\"\"\"\n aToken: Currency!\n\n \"\"\"The reserve v token\"\"\"\n vToken: Currency!\n\n \"\"\"The usd exchange rate for the underlying token\"\"\"\n usdExchangeRate: BigDecimal!\n\n \"\"\"Does the underlying reserve support permit\"\"\"\n permitSupported: Boolean!\n\n \"\"\"\n This exposes the extra incentives you can earn from third parties (Merit) or from\n incentives set by governance through the RewardsController.\n Note Aave Labs does not guarantee third party program and accepts no liability to those\n \"\"\"\n incentives: [ReserveIncentive!]!\n}\n\ntype ReserveIsolationModeConfig {\n \"\"\"This means that it can be used to borrow\"\"\"\n canBeCollateral: Boolean!\n canBeBorrowed: Boolean!\n debtCeiling: TokenAmount!\n\n \"\"\"The decimals used for the debt ceiling\"\"\"\n debtCeilingDecimals: Int!\n\n \"\"\"Only the amount that is borrowed by the users in isolation\"\"\"\n totalBorrows: TokenAmount!\n}\n\ninput ReserveRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token for the reserve\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The chain id the pool is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like eMode and other\n user features\n \"\"\"\n user: EvmAddress\n}\n\ntype ReserveSupplyInfo {\n \"\"\"The annual percentage yield for supplying this asset\"\"\"\n apy: PercentValue!\n\n \"\"\"The maximum loan-to-value ratio when used as collateral\"\"\"\n maxLTV: PercentValue!\n\n \"\"\"The liquidation threshold for this asset\"\"\"\n liquidationThreshold: PercentValue!\n\n \"\"\"The liquidation bonus applied when liquidated\"\"\"\n liquidationBonus: PercentValue!\n\n \"\"\"If the asset can be used for collateral\"\"\"\n canBeCollateral: Boolean!\n\n \"\"\"The supply cap\"\"\"\n supplyCap: TokenAmount!\n\n \"\"\"The supply cap is now full\"\"\"\n supplyCapReached: Boolean!\n\n \"\"\"The total amount supplied to this reserve\"\"\"\n total: DecimalValue!\n}\n\ntype ReserveUserState {\n \"\"\"The user's balance of this asset\"\"\"\n balance: TokenAmount!\n\n \"\"\"The amount the user can supply to this reserve\"\"\"\n suppliable: TokenAmount!\n\n \"\"\"The amount the user can borrow from this reserve\"\"\"\n borrowable: TokenAmount!\n\n \"\"\"The user emode info if enabled\"\"\"\n emode: EmodeReserveInfo\n\n \"\"\"\n If the user is in a state to be able to supply taking into consideration their emode\n \"\"\"\n canBeCollateral: Boolean!\n\n \"\"\"If the user is in a state to be able to borrow from the reserve\"\"\"\n canBeBorrowed: Boolean!\n\n \"\"\"Is the user in isolation mode\"\"\"\n isInIsolationMode: Boolean!\n}\n\nscalar Signature\n\ninput SupplyAPYHistoryRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying token for the reserve\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The time windows for the history\"\"\"\n window: TimeWindow!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput SupplyRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The amount supplying\"\"\"\n amount: AmountInput!\n\n \"\"\"The user sending the transaction (normally the users wallet address)\"\"\"\n sender: EvmAddress!\n\n \"\"\"\n If not supplied, this will use `sender`. The address that will receive the corresponding aTokens. This is the only address that will be able to withdraw the asset from the pool.\n This will be the same as msg.sender if the user wants to receive aTokens into their own wallet, or use a different address if the beneficiary\n of aTokens is a different wallet\n \"\"\"\n onBehalfOf: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\nenum TimeWindow {\n LAST_DAY\n LAST_WEEK\n LAST_MONTH\n LAST_SIX_MONTHS\n LAST_YEAR\n}\n\ntype TokenAmount {\n usdPerToken: BigDecimal!\n\n \"\"\"The amount\"\"\"\n amount: DecimalValue!\n\n \"\"\"The usd full amount\"\"\"\n usd: BigDecimal!\n}\n\n\"\"\"\nRepresents a transaction that must be executed, such as a direct supply, borrow, etc.\n\"\"\"\ntype TransactionRequest {\n \"\"\"Who the transaction is going to (normally a contract)\"\"\"\n to: EvmAddress!\n\n \"\"\"Who is sending the transaction\"\"\"\n from: EvmAddress!\n\n \"\"\"The blockchain transaction encoded data\"\"\"\n data: BlockchainData!\n\n \"\"\"The native token value\"\"\"\n value: BigInt!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The primary well-known operation the transaction is - you use this to track hasProcessedKnownTransaction\n If null the API does not track/require the outcome - once receipt is done, everything is ready to go\n \"\"\"\n operation: OperationType\n}\n\nscalar TxHash\n\ntype TypeDefinition {\n EIP712Domain: [TypeField!]!\n Permit: [TypeField!]!\n}\n\ntype TypeField {\n name: String!\n type: String!\n}\n\nscalar URL\n\ntype UsdExchangeRate {\n currency: Currency!\n rate: BigDecimal!\n}\n\ninput UsdExchangeRatesRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The underlying tokens for the reserve\"\"\"\n underlyingTokens: [EvmAddress!]!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\n\"\"\"A transaction where the user borrowed assets from a reserve.\"\"\"\ntype UserBorrowTransaction {\n \"\"\"Amount borrowed.\"\"\"\n amount: TokenAmount!\n\n \"\"\"Reserve from which assets were borrowed.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ninput UserBorrowsRequest {\n \"\"\"The market addresses and chains ids to query\"\"\"\n markets: [MarketInput!]!\n\n \"\"\"The user address to get borrow positions for\"\"\"\n user: EvmAddress!\n\n \"\"\"How to order the results\"\"\"\n orderBy: UserBorrowsRequestOrderBy! = {name: ASC}\n}\n\ninput UserBorrowsRequestOrderBy @oneOf {\n \"\"\"Order by the user's debt amount\"\"\"\n debt: OrderDirection\n\n \"\"\"Order by the asset name\"\"\"\n name: OrderDirection\n\n \"\"\"Order by the annual percentage yield\"\"\"\n apy: OrderDirection\n}\n\n\"\"\"A transaction where the user was involved in a liquidation call.\"\"\"\ntype UserLiquidationCallTransaction {\n \"\"\"Collateral liquidated.\"\"\"\n collateral: LiquidationCollateral!\n\n \"\"\"Debt repaid.\"\"\"\n debtRepaid: LiquidationRepaidDebt!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ninput UserMarketStateRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The user to toggle emode on\"\"\"\n user: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\n\"\"\"A transaction where the user repaid borrowed assets.\"\"\"\ntype UserRepayTransaction {\n \"\"\"Amount repaid.\"\"\"\n amount: TokenAmount!\n\n \"\"\"Reserve to which assets were repaid.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ninput UserSetEmodeRequest {\n \"\"\"The pool address for the market\"\"\"\n market: EvmAddress!\n\n \"\"\"The user to toggle emode on\"\"\"\n user: EvmAddress!\n\n \"\"\"\n The eMode category id for the market if you want to disable eMode, then pass in null\n \"\"\"\n categoryId: Int\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput UserSuppliesRequest {\n \"\"\"The market addresses and chains ids to query\"\"\"\n markets: [MarketInput!]!\n\n \"\"\"The user address to get supply positions for\"\"\"\n user: EvmAddress!\n\n \"\"\"Only get back the supplies which can be used as collateral\"\"\"\n collateralsOnly: Boolean! = false\n\n \"\"\"How to order the results\"\"\"\n orderBy: UserSuppliesRequestOrderBy! = {name: ASC}\n}\n\ninput UserSuppliesRequestOrderBy @oneOf {\n \"\"\"Order by the user's supply balance\"\"\"\n balance: OrderDirection\n\n \"\"\"Order by the asset name\"\"\"\n name: OrderDirection\n\n \"\"\"Order by the annual percentage yield\"\"\"\n apy: OrderDirection\n\n \"\"\"Order by whether the position is used as collateral\"\"\"\n isCollateralized: OrderDirection\n}\n\n\"\"\"A transaction where the user supplied assets to a reserve.\"\"\"\ntype UserSupplyTransaction {\n \"\"\"Amount supplied.\"\"\"\n amount: TokenAmount!\n\n \"\"\"Reserve to which assets were supplied.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ninput UserTransactionHistoryRequest {\n \"\"\"The market address\"\"\"\n market: EvmAddress!\n\n \"\"\"The filter to optionally filter the transactions by type\"\"\"\n filter: [UserTransactionType!]! = [SUPPLY, WITHDRAW, BORROW, REPAY, USAGE_AS_COLLATERAL, LIQUIDATION_CALL]\n\n \"\"\"The order by object to sort the transactions by\"\"\"\n orderBy: UserTransactionHistoryRequestOrderBy! = {date: ASC}\n\n \"\"\"The user that sent the transactions\"\"\"\n user: EvmAddress!\n\n \"\"\"The chain id where the transactions were sent\"\"\"\n chainId: ChainId!\n\n \"\"\"The page size\"\"\"\n pageSize: PageSize! = FIFTY\n\n \"\"\"Pagination cursor\"\"\"\n cursor: Cursor\n}\n\ninput UserTransactionHistoryRequestOrderBy {\n \"\"\"Order by the date of the transaction\"\"\"\n date: OrderDirection\n}\n\nunion UserTransactionItem = UserSupplyTransaction | UserWithdrawTransaction | UserBorrowTransaction | UserRepayTransaction | UserUsageAsCollateralTransaction | UserLiquidationCallTransaction\n\n\"\"\"The type of user transaction in the protocol.\"\"\"\nenum UserTransactionType {\n \"\"\"User supplied assets to the protocol.\"\"\"\n SUPPLY\n\n \"\"\"User borrowed assets from the protocol.\"\"\"\n BORROW\n\n \"\"\"User enabled or disabled usage of an asset as collateral.\"\"\"\n USAGE_AS_COLLATERAL\n\n \"\"\"User was involved in a liquidation call.\"\"\"\n LIQUIDATION_CALL\n\n \"\"\"User repaid a borrowed amount.\"\"\"\n REPAY\n\n \"\"\"User withdrew supplied assets.\"\"\"\n WITHDRAW\n}\n\n\"\"\"\nA transaction where the user enabled or disabled usage of an asset as collateral.\n\"\"\"\ntype UserUsageAsCollateralTransaction {\n \"\"\"Whether collateral usage was enabled.\"\"\"\n enabled: Boolean!\n\n \"\"\"Reserve for which collateral usage was changed.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ntype UserVaultShares {\n \"\"\"The user's shares on the vault\"\"\"\n shares: TokenAmount!\n\n \"\"\"The balance you can withdraw\"\"\"\n balance: TokenAmount!\n}\n\ninput UserVaultsFilter {\n \"\"\"Filter by markets\"\"\"\n vaults: [VaultInput!]\n\n \"\"\"Filter by underlying token addresses\"\"\"\n underlyingTokens: [EvmAddress!]\n}\n\ninput UserVaultsOrderBy @oneOf {\n \"\"\"Order by shares\"\"\"\n shares: OrderDirection\n\n \"\"\"Order by fee\"\"\"\n fee: OrderDirection\n}\n\ninput UserVaultsRequest {\n \"\"\"The user address\"\"\"\n user: EvmAddress!\n\n \"\"\"Filter criteria\"\"\"\n filters: UserVaultsFilter\n\n \"\"\"Ordering criteria\"\"\"\n orderBy: UserVaultsOrderBy! = {shares: ASC}\n\n \"\"\"The page size\"\"\"\n pageSize: PageSize! = FIFTY\n\n \"\"\"Pagination cursor\"\"\"\n cursor: Cursor\n}\n\n\"\"\"A transaction where the user withdrew assets from a reserve.\"\"\"\ntype UserWithdrawTransaction {\n \"\"\"Amount withdrawn.\"\"\"\n amount: TokenAmount!\n\n \"\"\"Reserve from which assets were withdrawn.\"\"\"\n reserve: ReserveInfo!\n\n \"\"\"URL to view the transaction on a block explorer.\"\"\"\n blockExplorerUrl: String!\n\n \"\"\"Transaction hash.\"\"\"\n txHash: TxHash!\n\n \"\"\"Timestamp of the transaction.\"\"\"\n timestamp: DateTime!\n}\n\ntype Vault {\n \"\"\"The vault address\"\"\"\n address: EvmAddress!\n\n \"\"\"The owner of the vault\"\"\"\n owner: EvmAddress!\n\n \"\"\"The name of the share\"\"\"\n shareName: String!\n\n \"\"\"The symbol of the share\"\"\"\n shareSymbol: String!\n\n \"\"\"The reserve the vault is using\"\"\"\n usedReserve: Reserve!\n\n \"\"\"The current fee percentage set for the vault.\"\"\"\n fee: PercentValue!\n\n \"\"\"How much this vault has made in revenue\"\"\"\n totalFeeRevenue: TokenAmount!\n\n \"\"\"\n The last recorded balance of the vault's AToken. This value is updated when yield is accrued.\n \"\"\"\n balance: TokenAmount!\n\n \"\"\"The chain id the vault lives on\"\"\"\n chainId: ChainId!\n\n \"\"\"The user's shares info on the vault\"\"\"\n userShares: UserVaultShares\n\n \"\"\"The total fees the owner can claim currently for the vault\"\"\"\n feesBalance: TokenAmount!\n\n \"\"\"The total vault APR after their fee is taken off\"\"\"\n vaultApr: PercentValue!\n}\n\ninput VaultDeployRequest {\n \"\"\"Underlying token address.\"\"\"\n underlyingToken: EvmAddress!\n\n \"\"\"The market address.\"\"\"\n market: EvmAddress!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The address to set as which deploys the vault and will become an owner of the vault.\n \"\"\"\n deployer: EvmAddress!\n\n \"\"\"The owner of the vault - if not defined, it will be the deployer\"\"\"\n owner: EvmAddress\n\n \"\"\"The initial fee to set, expressed in %.\"\"\"\n initialFee: BigDecimal!\n\n \"\"\"The name to set for the vault's shares.\"\"\"\n shareName: String!\n\n \"\"\"The symbol to set for the vault's shares.\"\"\"\n shareSymbol: String!\n\n \"\"\"\n The initial amount of underlying assets to deposit. This must be a non-zero, non-trivial amount, depending on the underlying asset's decimals.\n \"\"\"\n initialLockDeposit: BigDecimal!\n}\n\ninput VaultDepositAmountInput {\n \"\"\"The amount of assets to deposit.\"\"\"\n value: BigDecimal!\n\n \"\"\"Whether you are depositing in as a token or normal underlying\"\"\"\n asAToken: Boolean! = false\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput VaultDepositRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The details of the amounts to deposit.\"\"\"\n amount: VaultDepositAmountInput!\n\n \"\"\"The user who is depositing\"\"\"\n depositor: EvmAddress!\n\n \"\"\"\n The address to which vault shares will be minted to - defaults to depositor.\n \"\"\"\n sharesRecipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultInput {\n \"\"\"The address of the fault\"\"\"\n address: EvmAddress!\n\n \"\"\"The chain id the vault is on\"\"\"\n chainId: ChainId!\n}\n\ninput VaultMintShareInput {\n \"\"\"The amount of vault shares\"\"\"\n amount: BigDecimal!\n\n \"\"\"Whether the amount should be received as aToken.\"\"\"\n asAToken: Boolean! = false\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput VaultMintSharesRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The amount of shares to mint\"\"\"\n shares: VaultMintShareInput!\n\n \"\"\"The user who is wanting to mint the shares\"\"\"\n minter: EvmAddress!\n\n \"\"\"\n The address to which vault shares will be minted to - defaults to minter.\n \"\"\"\n sharesRecipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultOperationPreviewRequest {\n \"\"\"The vault\"\"\"\n vault: EvmAddress!\n\n \"\"\"The chain id the vault is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The amount in human-readable form\n preview deposit = underlying\n preview mint = shares\n preview withdraw = underlying\n preview redeem = shares\n \"\"\"\n amount: BigDecimal!\n}\n\ninput VaultRedeemShareInput {\n \"\"\"The amount of vault shares\"\"\"\n amount: BigDecimal!\n\n \"\"\"Whether the amount should be sent as aToken.\"\"\"\n asAToken: Boolean! = false\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput VaultRedeemSharesRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The shares to redeem.\"\"\"\n shares: VaultRedeemShareInput!\n\n \"\"\"\n The address from which vault shares will be burned (normally your own wallet).\n \"\"\"\n sharesOwner: EvmAddress!\n\n \"\"\"\n If you are doing the redeem from a trusted wallet which can move funds on behalf of the shares owner (advanced usage)\n \"\"\"\n authorizedUser: EvmAddress\n\n \"\"\"\n The address to which the underlying assets will be sent; if not set it will go to the sharesOwner\n \"\"\"\n recipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultRequest {\n \"\"\"The retrieve criteria\"\"\"\n by: VaultRequestBy!\n\n \"\"\"The chain id the vault is deployed on\"\"\"\n chainId: ChainId!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like userShares and other user features\n \"\"\"\n user: EvmAddress\n}\n\ninput VaultRequestBy @oneOf {\n \"\"\"The vault address\"\"\"\n address: EvmAddress\n\n \"\"\"\n You can use this if you deployed a vault and want to get the vault information using the tx hash after the receipt is given\n \"\"\"\n txHash: TxHash\n}\n\ninput VaultSetFeeRequest {\n \"\"\"The vault deployed address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The new fee to set, expressed in %.\"\"\"\n newFee: BigDecimal!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\n\"\"\"A transaction where the user supplied assets to a reserve.\"\"\"\ntype VaultUserDepositItem {\n asset: TokenAmount!\n shares: TokenAmount!\n blockExplorerUrl: String!\n txHash: TxHash!\n timestamp: DateTime!\n}\n\nenum VaultUserHistoryAction {\n DEPOSIT\n WITHDRAW\n}\n\ninput VaultUserTransactionHistoryOrderBy @oneOf {\n \"\"\"Order by shares\"\"\"\n date: OrderDirection\n}\n\ninput VaultUserTransactionHistoryRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The chain id where the transactions were sent\"\"\"\n chainId: ChainId!\n\n \"\"\"The user that sent the transactions\"\"\"\n user: EvmAddress!\n\n \"\"\"The filter to optionally filter the transactions by action type\"\"\"\n filter: [VaultUserHistoryAction!]! = [DEPOSIT, WITHDRAW]\n\n \"\"\"Ordering criteria\"\"\"\n orderBy: VaultUserTransactionHistoryOrderBy! = {date: ASC}\n\n \"\"\"The page size\"\"\"\n pageSize: PageSize! = FIFTY\n\n \"\"\"Pagination cursor\"\"\"\n cursor: Cursor\n}\n\nunion VaultUserTransactionItem = VaultUserDepositItem | VaultUserWithdrawItem\n\n\"\"\"A transaction where the user withdrew assets from a reserve.\"\"\"\ntype VaultUserWithdrawItem {\n asset: TokenAmount!\n shares: TokenAmount!\n blockExplorerUrl: String!\n txHash: TxHash!\n timestamp: DateTime!\n}\n\ninput VaultWithdrawAmountInput {\n \"\"\"The amount of assets to withdraw.\"\"\"\n value: BigDecimal!\n\n \"\"\"Whether the amount should be sent/received as aToken.\"\"\"\n asAToken: Boolean! = false\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput VaultWithdrawFeesRequest {\n \"\"\"The vault deployed address\"\"\"\n vault: EvmAddress!\n\n \"\"\"\n Who the withdrawal fees will go to - if not supplied, it goes to the owner\n \"\"\"\n sendTo: EvmAddress\n\n \"\"\"Human-formatted amount\"\"\"\n amount: WithdrawAmount!\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultWithdrawRequest {\n \"\"\"The vault address\"\"\"\n vault: EvmAddress!\n\n \"\"\"The details of the amounts to withdraw.\"\"\"\n amount: VaultWithdrawAmountInput!\n\n \"\"\"\n The address from which vault shares will be burned (normally your own wallet).\n \"\"\"\n sharesOwner: EvmAddress!\n\n \"\"\"\n If you are doing the withdrawal from a trusted wallet which can move funds on behalf of the shares owner (advanced usage)\n \"\"\"\n authorizedUser: EvmAddress\n\n \"\"\"\n The address to which the underlying assets will be sent - defaults to sharesOwner.\n \"\"\"\n recipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}\n\ninput VaultsRequest {\n \"\"\"Filter criteria for vaults\"\"\"\n criteria: VaultsRequestFilterCriteria!\n\n \"\"\"\n The user viewing it (can be connected wallet) - this caters for stuff like userShares and other user features\n \"\"\"\n user: EvmAddress\n\n \"\"\"The page size\"\"\"\n pageSize: PageSize! = FIFTY\n\n \"\"\"Pagination cursor\"\"\"\n cursor: Cursor\n}\n\ninput VaultsRequestFilterCriteria @oneOf {\n \"\"\"Filter by specific vault addresses\"\"\"\n vaults: [VaultInput!]\n\n \"\"\"Filter by owner addresses\"\"\"\n ownedBy: [EvmAddress!]\n}\n\ninput WithdrawAmount @oneOf {\n \"\"\"Exact amount to withdraw, remember interest is generated on each block\"\"\"\n exact: BigDecimal\n\n \"\"\"Withdraw all the position completely\"\"\"\n max: AlwaysTrue\n}\n\ninput WithdrawAmountInput @oneOf {\n \"\"\"The native amount\"\"\"\n native: WithdrawNativeAmountInput\n\n \"\"\"The erc20 amount input\"\"\"\n erc20: WithdrawErc20AmountInput\n}\n\ninput WithdrawErc20AmountInput {\n \"\"\"The token address.\"\"\"\n currency: EvmAddress!\n\n \"\"\"\n Token value in its main unit (e.g., 1.5 DAI), not in the smallest fraction (e.g., wei).\n \"\"\"\n value: WithdrawAmount!\n}\n\ninput WithdrawNativeAmountInput {\n \"\"\"The native value\"\"\"\n value: WithdrawAmount!\n\n \"\"\"\n The signed ERC20 permit message to operate on the relevant token without need for an ERC20 Approval transaction.\n \"\"\"\n permitSig: ERC712Signature\n}\n\ninput WithdrawRequest {\n \"\"\"The market pool address\"\"\"\n market: EvmAddress!\n\n \"\"\"The amount to withdraw\"\"\"\n amount: WithdrawAmountInput!\n\n \"\"\"\n The user sending the transaction (normally the user's wallet address) this should have the `aToken` that will be burned by the `Pool`\n \"\"\"\n sender: EvmAddress!\n\n \"\"\"\n If not supplied, this will use `sender`. The address that will receive the underlying asset. This will go to the supplier if the user wants to receive the tokens into\n their own wallet or use a different address if the beneficiary is a different wallet\n \"\"\"\n recipient: EvmAddress\n\n \"\"\"The chain id\"\"\"\n chainId: ChainId!\n}","import { buildSchema } from 'graphql';\n\nimport schemaSDL from '../schema.graphql';\n\n/**\n * @internal\n */\nexport const schema = buildSchema(schemaSDL);\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aave/graphql",
3
- "version": "0.3.1",
3
+ "version": "0.4.0",
4
4
  "description": "GraphQL bindings for the Aave API",
5
5
  "repository": {
6
6
  "directory": "packages/graphql",