diff --git a/contracts/logic/ShardAssembler.sol b/contracts/logic/ShardAssembler.sol index eedf05f..89929d4 100644 --- a/contracts/logic/ShardAssembler.sol +++ b/contracts/logic/ShardAssembler.sol @@ -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); diff --git a/out/develop_dev.json b/out/develop_dev.json index 2ea7ce9..42625d6 100644 --- a/out/develop_dev.json +++ b/out/develop_dev.json @@ -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" } ] \ No newline at end of file diff --git a/out/development_dev.json b/out/development_dev.json index 0ca49fd..e24f1f0 100644 --- a/out/development_dev.json +++ b/out/development_dev.json @@ -123,6 +123,6 @@ "name": "EvolveProxy", "type": "logic", "json": "assets/contracts/EvolveProxy.json", - "address": "0x988B6CFBf3332FF98FFBdED665b1F53a61f92612" + "address": "0x2c5f3c004878923f55A2a255F89Fe29393177509" } ] \ No newline at end of file diff --git a/package.json b/package.json index bc7e181..b33021c 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/test/shard.test.js b/test/shard.test.js index efcd1ce..db08b97 100644 --- a/test/shard.test.js +++ b/test/shard.test.js @@ -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 -}); \ No newline at end of file +});