Skip to content

Commit

Permalink
feat(backend): add queue count
Browse files Browse the repository at this point in the history
refs #19
  • Loading branch information
jo-elimu committed Jun 28, 2024
1 parent daae740 commit 3f3de6c
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 6 deletions.
4 changes: 4 additions & 0 deletions backend/contracts/SponsorshipQueue.sol
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,8 @@ contract SponsorshipQueue {
sponsorships.push(sponsorship);
emit SponsorshipAdded(sponsorship);
}

function getQueueCount() public view returns (uint256) {
return sponsorships.length;
}
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
"SponsorshipQueueModule#SponsorshipQueue": "0x9A3033D2e237376a09d7e19A7479622F8Ae38557"
"SponsorshipQueueModule#SponsorshipQueue": "0x6AD1c8C453fC2532F7E785d8E2a1F5680F467038"
}
10 changes: 5 additions & 5 deletions backend/ignition/deployments/chain-84532/journal.jsonl
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

{"chainId":84532,"type":"DEPLOYMENT_INITIALIZE"}
{"artifactId":"SponsorshipQueueModule#SponsorshipQueue","constructorArgs":[{"_kind":"bigint","value":"20000000000000000"}],"contractName":"SponsorshipQueue","dependencies":[],"from":"0xa7d1cb88740642dc95774511cc73f015396be869","futureId":"SponsorshipQueueModule#SponsorshipQueue","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}}
{"futureId":"SponsorshipQueueModule#SponsorshipQueue","networkInteraction":{"data":"0x608060405234801561001057600080fd5b506040516107e73803806107e7833981810160405281019061003291906100ba565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600181905550506100e7565b600080fd5b6000819050919050565b61009781610084565b81146100a257600080fd5b50565b6000815190506100b48161008e565b92915050565b6000602082840312156100d0576100cf61007f565b5b60006100de848285016100a5565b91505092915050565b6106f1806100f66000396000f3fe6080604052600436106100555760003560e01c80636e28e29c1461005a57806370b62b4914610064578063880cdc311461008d5780638da5cb5b146100b6578063a74194af146100e1578063d6ed2f0614610120575b600080fd5b61006261014b565b005b34801561007057600080fd5b5061008b600480360381019061008691906104fd565b610279565b005b34801561009957600080fd5b506100b460048036038101906100af9190610588565b61033f565b005b3480156100c257600080fd5b506100cb61043e565b6040516100d891906105c4565b60405180910390f35b3480156100ed57600080fd5b50610108600480360381019061010391906104fd565b610462565b604051610117939291906105ee565b60405180910390f35b34801561012c57600080fd5b506101356104bc565b6040516101429190610625565b60405180910390f35b3073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505050600060405180606001604052803481526020014281526020013373ffffffffffffffffffffffffffffffffffffffff1681525090506002819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050507f9036e83c8988af3d265365c7dde9b7defca043b13814829c5deb742021a5c4f88160405161026e91906106a0565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102fe576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806001819055507f33c78a8bf87e9543dd141ff0b40c84fcd144e6d54cadbce6b444da8581108870816040516103349190610625565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146103c4576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b8160405161043391906105c4565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002818154811061047257600080fd5b90600052602060002090600302016000915090508060000154908060010154908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905083565b60015481565b600080fd5b6000819050919050565b6104da816104c7565b81146104e557600080fd5b50565b6000813590506104f7816104d1565b92915050565b600060208284031215610513576105126104c2565b5b6000610521848285016104e8565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105558261052a565b9050919050565b6105658161054a565b811461057057600080fd5b50565b6000813590506105828161055c565b92915050565b60006020828403121561059e5761059d6104c2565b5b60006105ac84828501610573565b91505092915050565b6105be8161054a565b82525050565b60006020820190506105d960008301846105b5565b92915050565b6105e8816104c7565b82525050565b600060608201905061060360008301866105df565b61061060208301856105df565b61061d60408301846105b5565b949350505050565b600060208201905061063a60008301846105df565b92915050565b610649816104c7565b82525050565b6106588161054a565b82525050565b6060820160008201516106746000850182610640565b5060208201516106876020850182610640565b50604082015161069a604085018261064f565b50505050565b60006060820190506106b5600083018461065e565b9291505056fea264697066735822122004a8caa9452757b1527d1c439d1469cb74f82180ecde1305c52fa785e636745564736f6c6343000818003300000000000000000000000000000000000000000000000000470de4df820000","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"}
{"futureId":"SponsorshipQueueModule#SponsorshipQueue","networkInteractionId":1,"nonce":1,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1001860"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0x92fbe2a74c3d304de61e7b4e316f74eacfcf03e3b1b3b094296cc89367795ff4"},"type":"TRANSACTION_SEND"}
{"futureId":"SponsorshipQueueModule#SponsorshipQueue","hash":"0x92fbe2a74c3d304de61e7b4e316f74eacfcf03e3b1b3b094296cc89367795ff4","networkInteractionId":1,"receipt":{"blockHash":"0xfbd6c93f78e07f51dca46f230f2dd83411eaa8088b6ea66bf41be180609fb138","blockNumber":11898245,"contractAddress":"0x9A3033D2e237376a09d7e19A7479622F8Ae38557","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"}
{"futureId":"SponsorshipQueueModule#SponsorshipQueue","result":{"address":"0x9A3033D2e237376a09d7e19A7479622F8Ae38557","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"}
{"artifactId":"SponsorshipQueueModule#SponsorshipQueue","constructorArgs":[{"_kind":"bigint","value":"2000000000000000"}],"contractName":"SponsorshipQueue","dependencies":[],"from":"0xa7d1cb88740642dc95774511cc73f015396be869","futureId":"SponsorshipQueueModule#SponsorshipQueue","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}}
{"futureId":"SponsorshipQueueModule#SponsorshipQueue","networkInteraction":{"data":"0x608060405234801561001057600080fd5b5060405161083a38038061083a833981810160405281019061003291906100ba565b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600181905550506100e7565b600080fd5b6000819050919050565b61009781610084565b81146100a257600080fd5b50565b6000815190506100b48161008e565b92915050565b6000602082840312156100d0576100cf61007f565b5b60006100de848285016100a5565b91505092915050565b610744806100f66000396000f3fe6080604052600436106100705760003560e01c8063880cdc311161004e578063880cdc31146100d35780638da5cb5b146100fc578063a74194af14610127578063d6ed2f061461016657610070565b80633471b337146100755780636e28e29c146100a057806370b62b49146100aa575b600080fd5b34801561008157600080fd5b5061008a610191565b604051610097919061052e565b60405180910390f35b6100a861019e565b005b3480156100b657600080fd5b506100d160048036038101906100cc919061057a565b6102cc565b005b3480156100df57600080fd5b506100fa60048036038101906100f59190610605565b610392565b005b34801561010857600080fd5b50610111610491565b60405161011e9190610641565b60405180910390f35b34801561013357600080fd5b5061014e6004803603810190610149919061057a565b6104b5565b60405161015d9392919061065c565b60405180910390f35b34801561017257600080fd5b5061017b61050f565b604051610188919061052e565b60405180910390f35b6000600280549050905090565b3073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f1935050505050600060405180606001604052803481526020014281526020013373ffffffffffffffffffffffffffffffffffffffff1681525090506002819080600181540180825580915050600190039060005260206000209060030201600090919091909150600082015181600001556020820151816001015560408201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050507f9036e83c8988af3d265365c7dde9b7defca043b13814829c5deb742021a5c4f8816040516102c191906106f3565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610351576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806001819055507f33c78a8bf87e9543dd141ff0b40c84fcd144e6d54cadbce6b444da858110887081604051610387919061052e565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610417576040517f5fc483c500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b816040516104869190610641565b60405180910390a150565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600281815481106104c557600080fd5b90600052602060002090600302016000915090508060000154908060010154908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905083565b60015481565b6000819050919050565b61052881610515565b82525050565b6000602082019050610543600083018461051f565b92915050565b600080fd5b61055781610515565b811461056257600080fd5b50565b6000813590506105748161054e565b92915050565b6000602082840312156105905761058f610549565b5b600061059e84828501610565565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006105d2826105a7565b9050919050565b6105e2816105c7565b81146105ed57600080fd5b50565b6000813590506105ff816105d9565b92915050565b60006020828403121561061b5761061a610549565b5b6000610629848285016105f0565b91505092915050565b61063b816105c7565b82525050565b60006020820190506106566000830184610632565b92915050565b6000606082019050610671600083018661051f565b61067e602083018561051f565b61068b6040830184610632565b949350505050565b61069c81610515565b82525050565b6106ab816105c7565b82525050565b6060820160008201516106c76000850182610693565b5060208201516106da6020850182610693565b5060408201516106ed60408501826106a2565b50505050565b600060608201905061070860008301846106b1565b9291505056fea2646970667358221220e52e8d8fc50cba7590c0622f925c9e111a9a9b4ef593acb7765bea608973ad5364736f6c6343000818003300000000000000000000000000000000000000000000000000071afd498d0000","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"}
{"futureId":"SponsorshipQueueModule#SponsorshipQueue","networkInteractionId":1,"nonce":4,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1001326"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0xbc851a69c6f8ac3f7500133e10df0426ef22ec5a85d8a108bc74708aab0f852d"},"type":"TRANSACTION_SEND"}
{"futureId":"SponsorshipQueueModule#SponsorshipQueue","hash":"0xbc851a69c6f8ac3f7500133e10df0426ef22ec5a85d8a108bc74708aab0f852d","networkInteractionId":1,"receipt":{"blockHash":"0x471249cece3489950ea70f09e431932cb4110627f5a8eae3d2a314778d1f7458","blockNumber":11904264,"contractAddress":"0x6AD1c8C453fC2532F7E785d8E2a1F5680F467038","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"}
{"futureId":"SponsorshipQueueModule#SponsorshipQueue","result":{"address":"0x6AD1c8C453fC2532F7E785d8E2a1F5680F467038","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"}
14 changes: 14 additions & 0 deletions backend/test/SponsorshipQueue.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,5 +72,19 @@ describe("SponsorshipQueue", function () {
console.log("contractBalance:", contractBalance);
expect(contractBalance).to.equal(hre.ethers.parseUnits("0.02"));
});

it("Should increase queue count on addSponsorship", async function () {
const { sponsorshipQueue } = await loadFixture(deployFixture);

const queueCountBefore = await sponsorshipQueue.getQueueCount();
console.log("queueCountBefore:", queueCountBefore);
expect(queueCountBefore).to.equal(0);

await sponsorshipQueue.addSponsorship({ value: hre.ethers.parseUnits("0.02") });

const queueCountAfter = await sponsorshipQueue.getQueueCount();
console.log("queueCountAfter:", queueCountAfter);
expect(queueCountAfter).to.equal(1);
});
});
});

0 comments on commit 3f3de6c

Please sign in to comment.