Skip to content

Commit 89a181b

Browse files
committed
Merge branch 'fix/escrow'
2 parents 6b7bee8 + bf4fe46 commit 89a181b

File tree

5 files changed

+26
-23
lines changed

5 files changed

+26
-23
lines changed

contracts/Aavegotchi/facets/AavegotchiFacet.sol

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,9 @@ contract AavegotchiFacet is Modifiers {
167167
function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes calldata _data) external {
168168
address sender = LibMeta.msgSender();
169169
internalTransferFrom(sender, _from, _to, _tokenId);
170-
CollateralEscrow(payable(s.aavegotchis[_tokenId].escrow)).transferOwnership(_to);
170+
if (s.aavegotchis[_tokenId].status == LibAavegotchi.STATUS_AAVEGOTCHI) {
171+
CollateralEscrow(payable(s.aavegotchis[_tokenId].escrow)).transferOwnership(_to);
172+
}
171173
LibERC721.checkOnERC721Received(sender, _from, _to, _tokenId, _data);
172174
}
173175

@@ -189,7 +191,9 @@ contract AavegotchiFacet is Modifiers {
189191
for (uint256 index = 0; index < _tokenIds.length; index++) {
190192
uint256 _tokenId = _tokenIds[index];
191193
internalTransferFrom(sender, _from, _to, _tokenId);
192-
CollateralEscrow(payable(s.aavegotchis[_tokenId].escrow)).transferOwnership(_to);
194+
if (s.aavegotchis[_tokenId].status == LibAavegotchi.STATUS_AAVEGOTCHI) {
195+
CollateralEscrow(payable(s.aavegotchis[_tokenId].escrow)).transferOwnership(_to);
196+
}
193197
LibERC721.checkOnERC721Received(sender, _from, _to, _tokenId, _data);
194198
}
195199
}
@@ -203,7 +207,9 @@ contract AavegotchiFacet is Modifiers {
203207
function safeTransferFrom(address _from, address _to, uint256 _tokenId) external {
204208
address sender = LibMeta.msgSender();
205209
internalTransferFrom(sender, _from, _to, _tokenId);
206-
CollateralEscrow(payable(s.aavegotchis[_tokenId].escrow)).transferOwnership(_to);
210+
if (s.aavegotchis[_tokenId].status == LibAavegotchi.STATUS_AAVEGOTCHI) {
211+
CollateralEscrow(payable(s.aavegotchis[_tokenId].escrow)).transferOwnership(_to);
212+
}
207213
LibERC721.checkOnERC721Received(sender, _from, _to, _tokenId, "");
208214
}
209215

@@ -219,7 +225,9 @@ contract AavegotchiFacet is Modifiers {
219225
/// @param _tokenId The NFT to transfer
220226
function transferFrom(address _from, address _to, uint256 _tokenId) external {
221227
internalTransferFrom(LibMeta.msgSender(), _from, _to, _tokenId);
222-
CollateralEscrow(payable(s.aavegotchis[_tokenId].escrow)).transferOwnership(_to);
228+
if (s.aavegotchis[_tokenId].status == LibAavegotchi.STATUS_AAVEGOTCHI) {
229+
CollateralEscrow(payable(s.aavegotchis[_tokenId].escrow)).transferOwnership(_to);
230+
}
223231
}
224232

225233
// This function is used by transfer functions

contracts/Aavegotchi/facets/ERC721BuyOrderFacet.sol

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,9 @@ contract ERC721BuyOrderFacet is Modifiers {
236236
LibAavegotchi.transfer(sender, erc721BuyOrder.buyer, _erc721TokenId);
237237

238238
//transfer escrow ownership
239-
CollateralEscrow(payable(s.aavegotchis[erc721BuyOrder.erc721TokenId].escrow)).transferOwnership(erc721BuyOrder.buyer);
239+
if (LibAavegotchi.getAavegotchi(_erc721TokenId).status == LibAavegotchi.STATUS_AAVEGOTCHI) {
240+
CollateralEscrow(payable(s.aavegotchis[erc721BuyOrder.erc721TokenId].escrow)).transferOwnership(erc721BuyOrder.buyer);
241+
}
240242
LibERC721Marketplace.updateERC721Listing(address(this), _erc721TokenId, sender);
241243
} else {
242244
IERC721(_erc721TokenAddress).safeTransferFrom(sender, erc721BuyOrder.buyer, _erc721TokenId);

contracts/Aavegotchi/facets/ERC721MarketplaceFacet.sol

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,9 @@ contract ERC721MarketplaceFacet is Modifiers {
165165
if (_erc721TokenAddress == address(this)) {
166166
s.aavegotchis[_erc721TokenId].locked = true;
167167
//transfer escrow ownership
168-
CollateralEscrow(payable(s.aavegotchis[_erc721TokenId].escrow)).transferOwnership(address(0));
168+
if (_category == LibAavegotchi.STATUS_AAVEGOTCHI) {
169+
CollateralEscrow(payable(s.aavegotchis[_erc721TokenId].escrow)).transferOwnership(address(0));
170+
}
169171
}
170172

171173
//Burn listing fee
@@ -317,7 +319,9 @@ contract ERC721MarketplaceFacet is Modifiers {
317319
if (listing.erc721TokenAddress == address(this)) {
318320
s.aavegotchis[listing.erc721TokenId].locked = false;
319321
//transfer escrow ownership
320-
CollateralEscrow(payable(s.aavegotchis[listing.erc721TokenId].escrow)).transferOwnership(buyer);
322+
if (listing.category == LibAavegotchi.STATUS_AAVEGOTCHI) {
323+
CollateralEscrow(payable(s.aavegotchis[listing.erc721TokenId].escrow)).transferOwnership(buyer);
324+
}
321325
LibAavegotchi.transfer(seller, _recipient, listing.erc721TokenId);
322326
} else {
323327
// External contracts

contracts/Aavegotchi/libraries/LibERC721Marketplace.sol

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ library LibERC721Marketplace {
3030
if (listing.erc721TokenAddress == address(this)) {
3131
s.aavegotchis[listing.erc721TokenId].locked = false;
3232
//transfer escrow ownership back to owner
33-
CollateralEscrow(payable(s.aavegotchis[listing.erc721TokenId].escrow)).transferOwnership(listing.seller);
33+
if (listing.category == 3) {
34+
CollateralEscrow(payable(s.aavegotchis[listing.erc721TokenId].escrow)).transferOwnership(listing.seller);
35+
}
3436
}
3537

3638
emit ERC721ListingCancelled(_listingId, listing.category, block.number);

scripts/upgrades/base/upgrade-escrowOwnershiptransfer.ts

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ import {
88
import { varsForNetwork } from "../../../helpers/constants";
99
import { PC_WALLET } from "../../geistBridge/paths";
1010

11+
//adds the aavegotchi status check before escrow transfers
12+
1113
export async function upgrade() {
1214
const c = await varsForNetwork(ethers);
1315
const facets: FacetsAndAddSelectors[] = [
@@ -16,26 +18,11 @@ export async function upgrade() {
1618
addSelectors: [],
1719
removeSelectors: [],
1820
},
19-
{
20-
facetName: "AavegotchiGameFacet",
21-
addSelectors: [],
22-
removeSelectors: [],
23-
},
2421
{
2522
facetName: "ERC721BuyOrderFacet",
2623
addSelectors: [],
2724
removeSelectors: [],
2825
},
29-
{
30-
facetName: "GotchiLendingFacet",
31-
addSelectors: [],
32-
removeSelectors: [],
33-
},
34-
{
35-
facetName: "GotchiLendingFacet",
36-
addSelectors: [],
37-
removeSelectors: [],
38-
},
3926
{
4027
facetName: "ERC721MarketplaceFacet",
4128
addSelectors: [],

0 commit comments

Comments
 (0)