Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
b6aea95
Andfriends contract upgrade + goerli deployments
rayanoncyber Aug 30, 2022
815af60
Write tests for oncyberandriends
rayanoncyber Aug 31, 2022
4e9aedb
Prettier
rayanoncyber Aug 31, 2022
5b19d53
Add coverage
rayanoncyber Aug 31, 2022
cd104fb
Linter
rayanoncyber Aug 31, 2022
545b846
Coverage 100
rayanoncyber Aug 31, 2022
e4d208a
Latest goerli deployments
rayanoncyber Aug 31, 2022
b48c555
Change sender address
rayanoncyber Aug 31, 2022
860e665
Change sender
rayanoncyber Aug 31, 2022
a1d98a2
please linter
rayanoncyber Aug 31, 2022
aa7e8d3
Take out comments
rayanoncyber Aug 31, 2022
aed8ed3
Final cutdown
rayanoncyber Aug 31, 2022
1d98ba9
Final cutdown
rayanoncyber Aug 31, 2022
52a733f
Latest goerli deployments
rayanoncyber Aug 31, 2022
cf2a4c8
Latest goerli deployments + passing tests
rayanoncyber Aug 31, 2022
98aee3b
Latest deployments
rayanoncyber Aug 31, 2022
2751c17
Test + lint
rayanoncyber Nov 2, 2022
1981ca7
Fix conflicts
rayanoncyber Dec 12, 2022
01d1450
Fix more conflicts
rayanoncyber Dec 12, 2022
c971aa5
lint and prettier
rayanoncyber Dec 12, 2022
972aae6
Deploy multisend contract on eth
rayanoncyber Dec 28, 2022
e5f7c18
Set up burn contract for spacepods
rayanoncyber Dec 28, 2022
59125eb
To finish: tests
rayanoncyber Dec 28, 2022
0aea793
W hardcoded values instead of variables
rayanoncyber Dec 28, 2022
1dde860
Additional contract also
rayanoncyber Jan 2, 2023
55ba146
New implementation
rayanoncyber Jan 13, 2023
321ff2e
Add basic tests for burning mechanism, take out tests from andfriends
rayanoncyber Jan 21, 2023
f5974e6
add comment to replace
rayanoncyber Jan 21, 2023
9fee813
Run linter
rayanoncyber Jan 21, 2023
ee3ddcb
fix conflicts
rayanoncyber Jan 21, 2023
ba6515b
Upgrade contract for burn + add updateUri function
rayanoncyber Feb 2, 2023
394bfd8
Lint + prettier
rayanoncyber Feb 2, 2023
8a4aff2
Adding ability to update a drop (#44)
rayanoncyber Aug 1, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions packages/contracts/contracts/CyberDropBase.sol
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ contract CyberDropBase is CyberTokenBase {
using Counters for Counters.Counter;

event DropCreated(address indexed account, uint256 indexed tokenId);
event DropUpdated(address indexed account, uint256 indexed tokenId);

function dropMintCounter(uint256 _tokenId, address _minter) external view returns (uint256) {
LibDropStorage.Drop storage drop = LibDropStorage.layout().drops[_tokenId];
Expand Down Expand Up @@ -85,6 +86,26 @@ contract CyberDropBase is CyberTokenBase {
emit DropCreated(sender, tokenId);
}

function updateDrop(
uint256 _tokenId,
string memory _uri,
uint256 _timeStart,
uint256 _timeEnd
) external {
require(_timeEnd - _timeStart > 0, 'IT');

LibDropStorage.Drop storage drop = LibDropStorage.layout().drops[_tokenId];
address sender = _msgSender();

require(drop.creator == sender, 'NM');

setTokenURI(_tokenId, _uri);
drop.timeStart = _timeStart;
drop.timeEnd = _timeEnd;

emit DropUpdated(sender, _tokenId);
}

function mint(
uint256 _tokenId,
uint256 _quantity,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,39 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

//import 'hardhat/console.sol';
import '../../CyberDropBase.sol';

contract CyberDestinationUtilityFactoryFacet is CyberDropBase {}
abstract contract LuxContract {
function mintThroughBurn(
address newOwner,
uint256 tokenId,
uint256 amount
) public virtual;
}

contract CyberDestinationUtilityFactoryFacet is CyberDropBase {
function burnTransfer(uint256 quantity, bool isLux) public {
// definitions
uint256 toBurn = isLux ? quantity * 20 : quantity * 2;
ERC1155 lootPodContract = ERC1155(0xb7bE4001BfF2c5F4a61dd2435E4c9A19D8d12343); // replace with 0xb7be4001bff2c5f4a61dd2435e4c9a19d8d12343

// check balance
require(balanceOf(msg.sender, 5) >= toBurn, 'NS'); // replace with 5
require(lootPodContract.balanceOf(msg.sender, 1) >= toBurn, 'NR');

// burn mechanisms
lootPodContract.safeTransferFrom(msg.sender, 0x000000000000000000000000000000000000dEaD, 1, toBurn, '');
_burn(msg.sender, 5, toBurn); // replace with 5

// mint new token
LuxContract luxPodContract = LuxContract(0x895554bc4F48fe1c2bf5C198bFA3513Da538f86b); // replace w new rtfkt contract
luxPodContract.mintThroughBurn(msg.sender, isLux ? 2 : 1, quantity);
}

function updateTokenURI(uint256 tokenId, string memory _tokenURI) public {
LibAppStorage.Layout storage layout = LibAppStorage.layout();
require(msg.sender == layout.manager, 'NM');

setTokenURI(tokenId, _tokenURI);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;

//import 'hardhat/console.sol';
import '../../CyberDropBase.sol';

contract OMFactoryFacet is CyberDropBase {}
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,4 @@ pragma solidity 0.8.15;
//import 'hardhat/console.sol';
import '../../CyberDropBase.sol';

contract OnCyberAndFriendsFactoryFacet is CyberDropBase {
function mintTransfer(
address to,
uint256 id,
uint256 amount
) external virtual {
uint256 tokenId = id + 14;
require((id == 0 || id == 1) && (tokenId == 14 || tokenId == 15), 'NT');

address sender = _msgSender();
require(sender == 0x09f717f77B5e7f2D2F37604fEC3D0e3D53eB9808, 'NS');

LibDropStorage.Drop storage drop = LibDropStorage.layout().drops[tokenId];
require(drop.amountCap - drop.minted >= amount, 'CR');
require(block.timestamp > drop.timeStart && block.timestamp <= drop.timeEnd, 'OOT');

// Effects
drop.minted += amount;
_safeMint(to, tokenId, amount, '');

emit Minted(to, tokenId, amount);
}
}
contract OnCyberAndFriendsFactoryFacet is CyberDropBase {}
27 changes: 27 additions & 0 deletions packages/contracts/deploy/007OM.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { DeployFunction } from 'hardhat-deploy/types'
import { HardhatRuntimeEnvironment } from 'hardhat/types'

const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
const { deployments, getNamedAccounts } = hre
const { diamond } = deployments
// DiamondCyberObjectFactory CyberObjectFactoryFacet
const namedAccounts = await getNamedAccounts()
await diamond.deploy('DiamondOMFactory', {
from: namedAccounts.deployer,
owner: namedAccounts.deployer,
facets: ['OMFactoryFacet'],
execute: {
methodName: 'initialize',
args: [
'ipfs://',
namedAccounts.managerOM,
namedAccounts.biconomyForwarder,
namedAccounts.opensea,
namedAccounts.oncyber,
],
},
log: true,
})
}
export default func
func.tags = ['DiamondOMFactory']

Large diffs are not rendered by default.

8,944 changes: 8,828 additions & 116 deletions packages/contracts/deployments/ethereum/DiamondCyberDestinationUtilityFactory.json

Large diffs are not rendered by default.

Loading