This document outlines the breaking changes introduced in our codebase for version 0.6.0. Please review these changes carefully to ensure a smooth migration.
Description:
emitLoan
method argument has been updated to:
interface EmitLoanArgs {
offerExecution: {
offer: Omit<model.SingleNftOffer | model.CollectionOffer, 'nftId'>;
amount?: bigint;
lenderOfferSignature: Hash;
}[];
tokenId: bigint;
duration: bigint;
principalReceiver?: Address;
expirationTime?: bigint;
}
Reason:
This allows us to introduce further customization of this method in the future for new versions of the contracts.
Migration Steps:
See offerExecutionFromOffers
helper. amounts
is optional and should specify the amount to be taken from each offer. If index of offer not found in amounts, will default to offer principal ammount.
offerExecutionFromOffers(offers: OfferFromExecutionOffer[], amounts?: bigint[])
Description:
As emitLoan
arguments have been updated, argument emit
from revokeDelegate
has to be updated.
Reason:
emitLoan
arguments have been updated and that impacts this method.
Migration Steps:
Build emit
argument the same way it's explained in emitLoan
migrations steps.
Description:
maxSeniorRepayment
it's been added to object received in makeCollectionOffer
and makeSingleNftOffer
.
Reason:
This allows us to set a floor when using the current offer with other offer when creating loans.
Description:
targetPrincipal
it's still required for versions 1 and 2 of Gondi. In future versions, trancheIndex
will be required in its place.
Reason:
Next versions of Gondi will change the way in which sources (future tranches) from loan are refinanced.
This document outlines the breaking changes introduced in our codebase for version 0.5.0. Please review these changes carefully to ensure a smooth migration.
Description:
offers
method now expects lenders: Address[]
instead of lender: Address
uin the filterBy
argument.
Reason:
Query now allows multiple addresses in the filter.
This document outlines the breaking changes introduced in our codebase for version 0.3.8. Please review these changes carefully to ensure a smooth migration.
Description:
repayLoan
method now expects loanId
argument:
async repayLoan(args: { loan: LoanV4V5; loanId: bigint; nftReceiver?: Address }) { ... }
Reason:
We previously assumed that the loanId was equal to the loanId of the first source. Due to loan extension that's no longer the case
Description:
refinanceFullLoan
method now expects loanId
argument:
async refinanceFullLoan(args: { loan: LoanV4V5; loanId: bigint; offer: model.RenegotiationOffer; }) { ... }
Reason:
We previously assumed that the loanId was equal to the loanId of the first source. Due to loan extension that's no longer the case
Description:
refinancePartialLoan
method now expects loanId
argument:
async refinancePartialLoan(args: { loan: LoanV4V5; loanId: bigint; offer: model.RenegotiationOffer; }) { ... }
Reason:
We previously assumed that the loanId was equal to the loanId of the first source. Due to loan extension that's no longer the case
Description:
liquidateLoan
method now expects one argument with both loanId
and loan
:
async liquidateLoan(args: { loan: LoanV4V5; loanId: bigint; }) { ... }
Reason:
We previously assumed that the loanId was equal to the loanId of the first source. Due to loan extension that's no longer the case. We are also using an object to accomodate for the flexibility of adding new parameters in the future
Description:
leverageSell
method now expects loanId
argument:
async leverageSell(args: { loan: LoanV4V5; loanId: bigint; price: bigint; orderSource: string; }) { ... }
Reason:
We previously assumed that the loanId was equal to the loanId of the first source. Due to loan extension that's no longer the case.
Migration to version 0.3.x is discouraged until release is a stable version, and not a beta version as it is right now.
This document outlines the breaking changes introduced in our codebase for version 0.3.0b4. Please review these changes carefully to ensure a smooth migration.
Description:
settleAuction
method now no loger expects collectionContractAddress
and tokenId
arguments:
async settleAuction(args: { loan: LoanV4V5; auction: model.Auction }) { ... }
Reason:
Both arguments could be inferred from loan.
Migration to version 0.3.x is discouraged until release is a stable version, and not a beta version as it is right now.
This document outlines the breaking changes introduced in our codebase for version 0.3.0b1. Please review these changes carefully to ensure a smooth migration.
Description:
approveNFTForAll
method now expects an object with the following shape:
async approveNFTForAll(args: { nftAddress: Address; to?: Address }) { ... }
to
is optional and will default to MultiSourceLoan contract.
Reason:
Consistency accross other methods.
Description:
approveToken
method now expects an object with the following shape:
async approveToken(args: { tokenAddress: Address; amount?: bigint; to?: Address }) { ... }
amount
is optional and will default to MultiSourceLoan contract.
to
is optional and will default to internal `MAX_NUMBER`` constant.
Reason:
Consistency accross other methods.
This document outlines the breaking changes introduced in our codebase for version 0.2.0. Please review these changes carefully to ensure a smooth migration.
Description:
hideOffer
method now expects an object with an id and contract address inside. This id should be the offerId
of the offer you want to hide, not the full id.
Reason: Consistency accross other methods.
Migration Steps:
Change the argument sent to hideOffer
to an object containing the offerId
of the offer you want to hide, and the contract address of the offer
Description:
hideRenegotiationOffer
method now expects an object with an id and contract address inside. This id should be the renegotiationId
of the renegotiation you want to hide, not the full id.
Reason: Consistency accross other methods.
Migration Steps:
Change the argument sent to hideRenegotiationOffer
to an object containing the renegotiationId
of the renegotiation you want to hide, and the loanAddress
of the renegotiation
This document outlines the breaking changes introduced in our codebase for version 0.1.0. Please review these changes carefully to ensure a smooth migration.
- Cancel Offer
- Cancel Refinance Offer
- Cancel All Offers
- Cancel All Renegotiations
- Repay Loan
- Refinance Full Loan
- Emit Loan
- Make Refinance Offer
Description:
cancelOffer
method now expects an object as an argument, with the id and contractAddress inside
Reason: This allows us to introduce further customization of this method in the future.
Migration Steps:
Change the argument sent to cancelOffer
to an object containing the id of the offer you want to cancel, and the contract address of the related contract
Description:
cancelRefinanceOffer
method now expects an object as an argument, with the id and contractAddress inside
Reason: This allows us to introduce further customization of this method in the future.
Migration Steps:
Change the argument sent to cancelRefinanceOffer
to an object containing the id of the offer you want to cancel, and the contract address of the related contract
Description:
cancelOffers
method now expects the key contractAddress
instead of contract
in the argument
Reason: Consistency accross other methods
Migration Steps:
Change the key from contract
to contractAddress
Description:
cancelAllRenegotiations
method now expects the key contractAddress
instead of contract
in the argument
Reason: Consistency accross other methods
Migration Steps:
Change the key from contract
to contractAddress
Description:
repayLoan
method now expects an object as an argument, with the loan and nftReceiver
Reason: This allows us to introduce further customization of this method in the future.
Migration Steps:
Change the argument sent to repayLoan
to an object containing the loan you want to repay, and the address of the receiver of the NFT
Description:
refinanceFullLoan
method now expects an object as an argument, with the loan and the refinance offer
Reason: This allows us to introduce further customization of this method in the future.
Migration Steps:
Change the argument sent to refinanceFullLoan
to an object containing the loan you want to refinance, and the refinance offer
Description:
emitLoan
method now expects an object as an argument, with the offer and tokenId
Reason: This allows us to introduce further customization of this method in the future.
Migration Steps:
Change the argument sent to emitLoan
to an object containing the offer you want to emit, and the tokenId of the NFT
Description:
makeRefinanceOffer
method now expects an object as an argument, with the renegotiation, the contract address and the skipSignature boolean
Reason: This allows us to introduce further customization of this method in the future.
Migration Steps:
Change the argument sent to makeRefinanceOffer
to an object containing the renegotiation data, the contract address of the related contract and the skipSignature boolean