add contract for shard
This commit is contained in:
parent
6ddbd8017e
commit
2de2605e9b
@ -62,7 +62,6 @@ contract ShardAssembler is Ownable, TimeChecker, HasSignature, MallBase {
|
||||
hero.batchMint(user, params.tokenId.asSingletonArray());
|
||||
_useSignature(signature);
|
||||
|
||||
// transfer token to this contract
|
||||
IERC20(params.payToken).transferFrom(user, feeToAddress, params.tokenAmount);
|
||||
|
||||
emit ShardAssembled(user, params.tokenId, params.payToken, params.tokenAmount);
|
||||
|
@ -3,126 +3,126 @@
|
||||
"name": "BEBadge",
|
||||
"type": "erc721",
|
||||
"json": "assets/contracts/BEBadge.json",
|
||||
"address": "0x22FDaF881f724E2c9F93271a94A47725D217F77e"
|
||||
"address": "0x593161235c0Fa9c7b65050C87701761e0Def0d80"
|
||||
},
|
||||
{
|
||||
"name": "BEMultiSigWallet",
|
||||
"type": "logic",
|
||||
"json": "assets/contracts/BEMultiSigWallet.json",
|
||||
"address": "0xfeD8697704b43C630f97F5178f6A89D2567E578b"
|
||||
"address": "0x6C1E6cD9e00946FE5DF95e032d979c4e29126d9D"
|
||||
},
|
||||
{
|
||||
"name": "NftDistributor",
|
||||
"type": "logic",
|
||||
"json": "assets/contracts/NftDistributor.json",
|
||||
"address": "0x579fa19F24e3Be4cC311541B027030C793A25ee4"
|
||||
"address": "0x56c721a710CE4689e8d0342581241fB9E8e4eF13"
|
||||
},
|
||||
{
|
||||
"name": "CEC",
|
||||
"type": "erc20",
|
||||
"json": "assets/contracts/FT.json",
|
||||
"address": "0x31F0ed70DBAA0Ec06Bb215218FF40ab0e95b7B47"
|
||||
"address": "0x7f7202BBA83D9492486F4483AAA47F5084d6a106"
|
||||
},
|
||||
{
|
||||
"name": "CEG",
|
||||
"type": "erc20",
|
||||
"json": "assets/contracts/FT.json",
|
||||
"address": "0x16d3e5B6C5d4BF1d4494592c3bA13882Ff5Df3b7"
|
||||
"address": "0x12990e7b5DFBdf2517Ae3C98A4E4F7F49AC198CD"
|
||||
},
|
||||
{
|
||||
"name": "BEUSDC",
|
||||
"type": "erc20",
|
||||
"json": "assets/contracts/FT.json",
|
||||
"address": "0xd573a6D24dB1625504Ea380FeC911C48Fc649Ae3"
|
||||
"address": "0x7eAF1AF1d270EAdee93949393a045869319a7FCC"
|
||||
},
|
||||
{
|
||||
"name": "BEUSDT",
|
||||
"type": "erc20",
|
||||
"json": "assets/contracts/FT.json",
|
||||
"address": "0x7d2B633c78e4d52807a6615CB6092BA1173Bd88A"
|
||||
"address": "0x3E72de30b9060adcD17e65eb33D1088A96059b73"
|
||||
},
|
||||
{
|
||||
"name": "HERO",
|
||||
"type": "erc721",
|
||||
"json": "assets/contracts/NFT.json",
|
||||
"address": "0xbaFCbd63E5C21997138b2F20BD66180E5523Dc2f"
|
||||
"address": "0x641dE351a05B2beD8be2790A49Ec7Dc70e16ef5C"
|
||||
},
|
||||
{
|
||||
"name": "PLANET",
|
||||
"type": "erc721",
|
||||
"json": "assets/contracts/NFT.json",
|
||||
"address": "0xF7f7bedAb92e44e88620654df63f7D409743a07e"
|
||||
"address": "0x0C4a182E5600A2E48D819b3c13cBBc95eA79859F"
|
||||
},
|
||||
{
|
||||
"name": "TestHERO",
|
||||
"type": "erc721",
|
||||
"json": "assets/contracts/NFT.json",
|
||||
"address": "0x2eFD5d3Ed0E2fd7fe17EC997110274f8cA968649"
|
||||
"address": "0xd7403aB3bd6B4500f639c535191B11Ff76d9aA72"
|
||||
},
|
||||
{
|
||||
"name": "UserMinterFactory",
|
||||
"type": "logic",
|
||||
"json": "assets/contracts/UserMinterFactory.json",
|
||||
"address": "0xa56f6d75EE57a5969C0c05C19C064a4bCd7706C9"
|
||||
"address": "0x2169c87E7F4C2b48BEC5CD2F15b82B1369b9A37D"
|
||||
},
|
||||
{
|
||||
"name": "BENftMarket",
|
||||
"type": "logic",
|
||||
"json": "assets/contracts/BENftMarket.json",
|
||||
"address": "0xC5f17FBe7C9cD403F8b3799615F7550634422304"
|
||||
"address": "0x9b3a5b43C8531E769531F98492544DbFCb2B12e5"
|
||||
},
|
||||
{
|
||||
"name": "BENftMall",
|
||||
"type": "logic",
|
||||
"json": "assets/contracts/BENftMall.json",
|
||||
"address": "0xC5145E44b8CD72B583DEc18A1fb3b3B2510863F3"
|
||||
"address": "0xaB5be652418D3bE53F4700c64C2e3cE0B1F24BC2"
|
||||
},
|
||||
{
|
||||
"name": "BETokenMall",
|
||||
"type": "logic",
|
||||
"json": "assets/contracts/BETokenMall.json",
|
||||
"address": "0xE3DC8F2c717C4cCb01913916a5274d1923d3C284"
|
||||
"address": "0xFDA19e10995D0F53905Edc12407f059809B1Ec55"
|
||||
},
|
||||
{
|
||||
"name": "GameItemMarket",
|
||||
"type": "logic",
|
||||
"json": "assets/contracts/GameItemMarket.json",
|
||||
"address": "0xF7f49D559b8544cda8F7a2825e3d22daab8Eb976"
|
||||
"address": "0x66adEa9eFc0520dd2b235692e815983c41064987"
|
||||
},
|
||||
{
|
||||
"name": "GameItemMall",
|
||||
"type": "logic",
|
||||
"json": "assets/contracts/GameItemMall.json",
|
||||
"address": "0x6ca9e3df42C6A5e9F62385436A88b5b237Ec0bac"
|
||||
"address": "0xf1A0b8b92a41C21Dd001eaC97c7eD87E7b943342"
|
||||
},
|
||||
{
|
||||
"name": "Gacha",
|
||||
"type": "erc721",
|
||||
"json": "assets/contracts/BEBadge.json",
|
||||
"address": "0x078276663CDAC67aF17f88A749C2aD03690176A2"
|
||||
"address": "0xDFdA43A126FD0F5A693994dDc38a59588e4Bd98d"
|
||||
},
|
||||
{
|
||||
"name": "ClaimGachaFactory",
|
||||
"type": "logic",
|
||||
"json": "assets/contracts/ClaimBoxFactory.json",
|
||||
"address": "0x566aD19DbC9C1f2aED80DA37d9cca40Dc31A9f9A"
|
||||
"address": "0xC943a8FD378B1892dE1062dEF0d004AAaAC3bBB4"
|
||||
},
|
||||
{
|
||||
"name": "JSONMetadata",
|
||||
"type": "logic",
|
||||
"json": "assets/contracts/JSONMetadata.json",
|
||||
"address": "0xa779f75B02b66731B60be0f01EE60Cbd3ec939F3"
|
||||
"address": "0xcF3773Dc743cC4314127842C9C40dd7E7315bAF8"
|
||||
},
|
||||
{
|
||||
"name": "ERC721Staking",
|
||||
"type": "logic",
|
||||
"json": "assets/contracts/ERC721Staking.json",
|
||||
"address": "0xc1CF4029ba66950EdC24E62acF276dBFbdEE3358"
|
||||
"address": "0xeB601449167b8DB327ee5529cbf52B692Bf4DCd5"
|
||||
},
|
||||
{
|
||||
"name": "EvolveProxy",
|
||||
"type": "logic",
|
||||
"json": "assets/contracts/EvolveProxy.json",
|
||||
"address": "0x38A716384689150B47cB63Ade766a9fdf6C9BF18"
|
||||
"address": "0x7eD68250Efe1028fc64Fe2Ef4c67b6474D172051"
|
||||
}
|
||||
]
|
@ -123,6 +123,6 @@
|
||||
"name": "EvolveProxy",
|
||||
"type": "logic",
|
||||
"json": "assets/contracts/EvolveProxy.json",
|
||||
"address": "0x988B6CFBf3332FF98FFBdED665b1F53a61f92612"
|
||||
"address": "0x2c5f3c004878923f55A2a255F89Fe29393177509"
|
||||
}
|
||||
]
|
@ -14,6 +14,7 @@
|
||||
"deploy:22": "truffle migrate --network lan22 --compile-none",
|
||||
"deploy:bsctest": "truffle migrate --network bsc_testnet --compile-none",
|
||||
"deploy:kcctest": "truffle migrate --network kcc_testnet --compile-none",
|
||||
"deploy:combo_testnet": "truffle migrate --network combo_testnet --compile-none",
|
||||
"deploy:polygon_testnet": "truffle migrate --network polygon_testnet --compile-none",
|
||||
"deploy:dev:arbitrum_testnet": "DEPLOY_ENV=dev truffle migrate --network arbitrum_testnet --compile-none",
|
||||
"deploy:dev:zk_testnet": "DEPLOY_ENV=dev truffle migrate --network zk_testnet --compile-none",
|
||||
|
@ -2,6 +2,8 @@ const ShardAssembler = artifacts.require("ShardAssembler");
|
||||
const NFT = artifacts.require("NFT");
|
||||
const Shard = artifacts.require("BEShard");
|
||||
const FT = artifacts.require("FT");
|
||||
const { BN,expectEvent } = require("@openzeppelin/test-helpers");
|
||||
const { expect } = require("chai");
|
||||
|
||||
contract("ShardAssembler", (accounts) => {
|
||||
const admin = accounts[0];
|
||||
@ -58,20 +60,23 @@ contract("ShardAssembler", (accounts) => {
|
||||
signature = signature.replace(/00$/, "1b").replace(/01$/, "1c");
|
||||
await payToken.approve(shardAssembler.address, tokenAmount, { from: user });
|
||||
await shard.setApprovalForAll(shardAssembler.address, true, { from: user });
|
||||
await shardAssembler.assembleShard(
|
||||
const receipt = await shardAssembler.assembleShard(
|
||||
[tokenId, payToken.address, tokenAmount, startTime, saltNonce],
|
||||
ids,
|
||||
amounts,
|
||||
signature,
|
||||
{ from: user }
|
||||
);
|
||||
|
||||
expectEvent(receipt, "ShardAssembled", {
|
||||
to: user,
|
||||
tokenId: tokenId,
|
||||
payToken: payToken.address,
|
||||
tokenAmount: new BN(tokenAmount),
|
||||
});
|
||||
// Get the user's hero balance
|
||||
const userHeroBalance = await hero.balanceOf(user);
|
||||
|
||||
// Assert that the user's hero balance has increased by 1
|
||||
assert.equal(userHeroBalance, 1, "User's hero balance is incorrect");
|
||||
expect(userHeroBalance).to.be.bignumber.equal(new BN(1));
|
||||
});
|
||||
|
||||
// Add more test cases as needed
|
||||
});
|
||||
});
|
||||
|
Loading…
x
Reference in New Issue
Block a user