From c7e6962c543ac58d43d9a2a54db6dcc8ea39e7b4 Mon Sep 17 00:00:00 2001 From: Biokes <106444765+Biokes@users.noreply.github.com> Date: Thu, 18 Dec 2025 00:35:14 +0100 Subject: [PATCH 1/2] update(integration): added counter contract for interaction testing --- .../artifacts/CounterModule#Counter.json | 60 +++++++++++++++++++ ...3ff20053595eb06b78a676222c40dd8a40313.json | 39 ++++++++++++ .../chain-8453/deployed_addresses.json | 3 +- .../deployments/chain-8453/journal.jsonl | 8 ++- contract/ignition/modules/Counter.ts | 6 ++ 5 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 contract/ignition/deployments/chain-8453/artifacts/CounterModule#Counter.json create mode 100644 contract/ignition/deployments/chain-8453/build-info/solc-0_8_28-4653ff20053595eb06b78a676222c40dd8a40313.json create mode 100644 contract/ignition/modules/Counter.ts diff --git a/contract/ignition/deployments/chain-8453/artifacts/CounterModule#Counter.json b/contract/ignition/deployments/chain-8453/artifacts/CounterModule#Counter.json new file mode 100644 index 0000000..998a24c --- /dev/null +++ b/contract/ignition/deployments/chain-8453/artifacts/CounterModule#Counter.json @@ -0,0 +1,60 @@ +{ + "_format": "hh3-artifact-1", + "contractName": "Counter", + "sourceName": "contracts/Counter.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "by", + "type": "uint256" + } + ], + "name": "Increment", + "type": "event" + }, + { + "inputs": [], + "name": "inc", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "by", + "type": "uint256" + } + ], + "name": "incBy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "x", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x6080604052348015600e575f5ffd5b506101ff8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80630c55699c14610043578063371303c01461005d57806370119d0614610067575b5f5ffd5b61004b5f5481565b60405190815260200160405180910390f35b61006561007a565b005b61006561007536600461016d565b6100c3565b5f8054908061008883610198565b9091555050604051600181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a1565b5f81116101225760405162461bcd60e51b815260206004820152602360248201527f696e6342793a20696e6372656d656e742073686f756c6420626520706f73697460448201526269766560e81b606482015260840160405180910390fd5b805f5f82825461013291906101b0565b90915550506040518181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a150565b5f6020828403121561017d575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016101a9576101a9610184565b5060010190565b808201808211156101c3576101c3610184565b9291505056fea264697066735822122092c04af7cb39a2e3f4ade21a1b198faf89f565ac533adb1d8d7d00bda5ba04d764736f6c634300081c0033", + "deployedBytecode": "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80630c55699c14610043578063371303c01461005d57806370119d0614610067575b5f5ffd5b61004b5f5481565b60405190815260200160405180910390f35b61006561007a565b005b61006561007536600461016d565b6100c3565b5f8054908061008883610198565b9091555050604051600181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a1565b5f81116101225760405162461bcd60e51b815260206004820152602360248201527f696e6342793a20696e6372656d656e742073686f756c6420626520706f73697460448201526269766560e81b606482015260840160405180910390fd5b805f5f82825461013291906101b0565b90915550506040518181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a150565b5f6020828403121561017d575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016101a9576101a9610184565b5060010190565b808201808211156101c3576101c3610184565b9291505056fea264697066735822122092c04af7cb39a2e3f4ade21a1b198faf89f565ac533adb1d8d7d00bda5ba04d764736f6c634300081c0033", + "linkReferences": {}, + "deployedLinkReferences": {}, + "immutableReferences": {}, + "inputSourceName": "project/contracts/Counter.sol", + "buildInfoId": "solc-0_8_28-4653ff20053595eb06b78a676222c40dd8a40313" +} \ No newline at end of file diff --git a/contract/ignition/deployments/chain-8453/build-info/solc-0_8_28-4653ff20053595eb06b78a676222c40dd8a40313.json b/contract/ignition/deployments/chain-8453/build-info/solc-0_8_28-4653ff20053595eb06b78a676222c40dd8a40313.json new file mode 100644 index 0000000..54a372b --- /dev/null +++ b/contract/ignition/deployments/chain-8453/build-info/solc-0_8_28-4653ff20053595eb06b78a676222c40dd8a40313.json @@ -0,0 +1,39 @@ +{ + "_format": "hh3-sol-build-info-1", + "id": "solc-0_8_28-4653ff20053595eb06b78a676222c40dd8a40313", + "solcVersion": "0.8.28", + "solcLongVersion": "0.8.28+commit.7893614a", + "userSourceNameMap": { + "contracts/Counter.sol": "project/contracts/Counter.sol" + }, + "input": { + "language": "Solidity", + "settings": { + "evmVersion": "cancun", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "outputSelection": { + "*": { + "": [ + "ast" + ], + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ] + } + }, + "remappings": [] + }, + "sources": { + "project/contracts/Counter.sol": { + "content": "// SPDX-License-Identifier: UNLICENSED\npragma solidity ^0.8.28;\n\ncontract Counter {\n uint public x;\n\n event Increment(uint by);\n\n function inc() public {\n x++;\n emit Increment(1);\n }\n\n function incBy(uint by) public {\n require(by > 0, \"incBy: increment should be positive\");\n x += by;\n emit Increment(by);\n }\n}\n" + } + } + } +} \ No newline at end of file diff --git a/contract/ignition/deployments/chain-8453/deployed_addresses.json b/contract/ignition/deployments/chain-8453/deployed_addresses.json index 6dc5997..81e1412 100644 --- a/contract/ignition/deployments/chain-8453/deployed_addresses.json +++ b/contract/ignition/deployments/chain-8453/deployed_addresses.json @@ -1,3 +1,4 @@ { - "PingPongModule#PingPong": "0x9E2CE38C97020eda9F108ddeD27a43c9323C5434" + "PingPongModule#PingPong": "0x9E2CE38C97020eda9F108ddeD27a43c9323C5434", + "CounterModule#Counter": "0x73961ABf30c6d7E71cd9E63F53e6abb7b49f3D43" } \ No newline at end of file diff --git a/contract/ignition/deployments/chain-8453/journal.jsonl b/contract/ignition/deployments/chain-8453/journal.jsonl index 920196c..ec14eb4 100644 --- a/contract/ignition/deployments/chain-8453/journal.jsonl +++ b/contract/ignition/deployments/chain-8453/journal.jsonl @@ -5,4 +5,10 @@ {"futureId":"PingPongModule#PingPong","networkInteractionId":1,"nonce":6,"type":"TRANSACTION_PREPARE_SEND"} {"futureId":"PingPongModule#PingPong","networkInteractionId":1,"nonce":6,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"5577924"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0x60950273f815e6126ab46aa38246dd642781976aba4abeb03124f9f32d936b4b"},"type":"TRANSACTION_SEND"} {"futureId":"PingPongModule#PingPong","hash":"0x60950273f815e6126ab46aa38246dd642781976aba4abeb03124f9f32d936b4b","networkInteractionId":1,"receipt":{"blockHash":"0x4065752192510b36fce552edc8f3afe0d57ae6c5fc519eb91af635f5ac1edc1f","blockNumber":39611974,"contractAddress":"0x9E2CE38C97020eda9F108ddeD27a43c9323C5434","logs":[{"address":"0x9E2CE38C97020eda9F108ddeD27a43c9323C5434","data":"0x","logIndex":181,"topics":["0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","0x0000000000000000000000000000000000000000000000000000000000000000","0x000000000000000000000000595a9e286585399b6179ca7956d0796e30333434"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"PingPongModule#PingPong","result":{"address":"0x9E2CE38C97020eda9F108ddeD27a43c9323C5434","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} \ No newline at end of file +{"futureId":"PingPongModule#PingPong","result":{"address":"0x9E2CE38C97020eda9F108ddeD27a43c9323C5434","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"artifactId":"CounterModule#Counter","constructorArgs":[],"contractName":"Counter","dependencies":[],"from":"0x595a9e286585399b6179ca7956d0796e30333434","futureId":"CounterModule#Counter","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"CounterModule#Counter","networkInteraction":{"data":"0x6080604052348015600e575f5ffd5b506101ff8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80630c55699c14610043578063371303c01461005d57806370119d0614610067575b5f5ffd5b61004b5f5481565b60405190815260200160405180910390f35b61006561007a565b005b61006561007536600461016d565b6100c3565b5f8054908061008883610198565b9091555050604051600181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a1565b5f81116101225760405162461bcd60e51b815260206004820152602360248201527f696e6342793a20696e6372656d656e742073686f756c6420626520706f73697460448201526269766560e81b606482015260840160405180910390fd5b805f5f82825461013291906101b0565b90915550506040518181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a150565b5f6020828403121561017d575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016101a9576101a9610184565b5060010190565b808201808211156101c3576101c3610184565b9291505056fea264697066735822122092c04af7cb39a2e3f4ade21a1b198faf89f565ac533adb1d8d7d00bda5ba04d764736f6c634300081c0033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"CounterModule#Counter","networkInteractionId":1,"nonce":7,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"CounterModule#Counter","networkInteractionId":1,"nonce":7,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"4005226"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0xa05cc5ae4944395550b54f0dceb672512c2cd27ba84d6306735c3f0a5c438ba2"},"type":"TRANSACTION_SEND"} +{"futureId":"CounterModule#Counter","hash":"0xa05cc5ae4944395550b54f0dceb672512c2cd27ba84d6306735c3f0a5c438ba2","networkInteractionId":1,"receipt":{"blockHash":"0xa626fda065c6e097bf1faeca90bda3b327791b4884ec05beead8957a99407d96","blockNumber":39612332,"contractAddress":"0x73961ABf30c6d7E71cd9E63F53e6abb7b49f3D43","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"CounterModule#Counter","result":{"address":"0x73961ABf30c6d7E71cd9E63F53e6abb7b49f3D43","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} \ No newline at end of file diff --git a/contract/ignition/modules/Counter.ts b/contract/ignition/modules/Counter.ts new file mode 100644 index 0000000..463c4e8 --- /dev/null +++ b/contract/ignition/modules/Counter.ts @@ -0,0 +1,6 @@ +import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; + +export default buildModule("CounterModule", (m) => { + const counter = m.contract("Counter"); + return { counter }; +}); From f72d7a118eb3fa95b2773ed839f72170e68a5236 Mon Sep 17 00:00:00 2001 From: Biokes <106444765+Biokes@users.noreply.github.com> Date: Thu, 18 Dec 2025 14:56:22 +0100 Subject: [PATCH 2/2] update contracts for testing --- .gitignore | 5 +- contract/contracts/Counter1.sol | 19 ++++++ contract/contracts/Counter2.sol | 19 ++++++ .../artifacts/Counter1Module#Counter1.json | 60 +++++++++++++++++++ .../artifacts/Counter2Module#Counter2.json | 60 +++++++++++++++++++ .../artifacts/CountingModule#Counting.json | 60 +++++++++++++++++++ ...dfa2f04d20f2c283bc7424d925aada9d32898.json | 39 ++++++++++++ ...6ee292dae7961c120b6c477153e8e3eba1f08.json | 39 ++++++++++++ ...e3fdf13f7971aa459ad000aaef54357b07daa.json | 39 ++++++++++++ .../chain-8453/deployed_addresses.json | 5 +- .../deployments/chain-8453/journal.jsonl | 20 ++++++- contract/ignition/modules/Count.ts | 6 ++ contract/ignition/modules/Count4.ts | 6 ++ contract/ignition/modules/Counter1.ts | 7 +++ contract/ignition/modules/Counter2.ts | 6 ++ 15 files changed, 387 insertions(+), 3 deletions(-) create mode 100644 contract/contracts/Counter1.sol create mode 100644 contract/contracts/Counter2.sol create mode 100644 contract/ignition/deployments/chain-8453/artifacts/Counter1Module#Counter1.json create mode 100644 contract/ignition/deployments/chain-8453/artifacts/Counter2Module#Counter2.json create mode 100644 contract/ignition/deployments/chain-8453/artifacts/CountingModule#Counting.json create mode 100644 contract/ignition/deployments/chain-8453/build-info/solc-0_8_28-0a2dfa2f04d20f2c283bc7424d925aada9d32898.json create mode 100644 contract/ignition/deployments/chain-8453/build-info/solc-0_8_28-42a6ee292dae7961c120b6c477153e8e3eba1f08.json create mode 100644 contract/ignition/deployments/chain-8453/build-info/solc-0_8_28-ecce3fdf13f7971aa459ad000aaef54357b07daa.json create mode 100644 contract/ignition/modules/Count.ts create mode 100644 contract/ignition/modules/Count4.ts create mode 100644 contract/ignition/modules/Counter1.ts create mode 100644 contract/ignition/modules/Counter2.ts diff --git a/.gitignore b/.gitignore index 9107300..0f70e87 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,7 @@ dist/ .vscode .claude **/.env -**logs \ No newline at end of file +**logs + +**/interactio**.ts + diff --git a/contract/contracts/Counter1.sol b/contract/contracts/Counter1.sol new file mode 100644 index 0000000..e65e579 --- /dev/null +++ b/contract/contracts/Counter1.sol @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.28; + +contract Counter1 { + uint public x; + + event Increment(uint by); + + function inc() public { + x++; + emit Increment(1); + } + + function incBy(uint by) public { + require(by > 0, "incBy: increment should be positive"); + x += by; + emit Increment(by); + } +} diff --git a/contract/contracts/Counter2.sol b/contract/contracts/Counter2.sol new file mode 100644 index 0000000..c8bb1b7 --- /dev/null +++ b/contract/contracts/Counter2.sol @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.28; + +contract Counter2 { + uint public x; + + event Increment(uint by); + + function inc() public { + x++; + emit Increment(1); + } + + function incBy(uint by) public { + require(by > 0, "incBy: increment should be positive"); + x += by; + emit Increment(by); + } +} diff --git a/contract/ignition/deployments/chain-8453/artifacts/Counter1Module#Counter1.json b/contract/ignition/deployments/chain-8453/artifacts/Counter1Module#Counter1.json new file mode 100644 index 0000000..adc21c7 --- /dev/null +++ b/contract/ignition/deployments/chain-8453/artifacts/Counter1Module#Counter1.json @@ -0,0 +1,60 @@ +{ + "_format": "hh3-artifact-1", + "contractName": "Counter1", + "sourceName": "contracts/Counter1.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "by", + "type": "uint256" + } + ], + "name": "Increment", + "type": "event" + }, + { + "inputs": [], + "name": "inc", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "by", + "type": "uint256" + } + ], + "name": "incBy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "x", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x6080604052348015600e575f5ffd5b506101ff8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80630c55699c14610043578063371303c01461005d57806370119d0614610067575b5f5ffd5b61004b5f5481565b60405190815260200160405180910390f35b61006561007a565b005b61006561007536600461016d565b6100c3565b5f8054908061008883610198565b9091555050604051600181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a1565b5f81116101225760405162461bcd60e51b815260206004820152602360248201527f696e6342793a20696e6372656d656e742073686f756c6420626520706f73697460448201526269766560e81b606482015260840160405180910390fd5b805f5f82825461013291906101b0565b90915550506040518181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a150565b5f6020828403121561017d575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016101a9576101a9610184565b5060010190565b808201808211156101c3576101c3610184565b9291505056fea26469706673582212209a1c823e783d696eab30a65b7055e79eda4bdd0d1a0f421bd4dee30bb90ca71164736f6c634300081c0033", + "deployedBytecode": "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80630c55699c14610043578063371303c01461005d57806370119d0614610067575b5f5ffd5b61004b5f5481565b60405190815260200160405180910390f35b61006561007a565b005b61006561007536600461016d565b6100c3565b5f8054908061008883610198565b9091555050604051600181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a1565b5f81116101225760405162461bcd60e51b815260206004820152602360248201527f696e6342793a20696e6372656d656e742073686f756c6420626520706f73697460448201526269766560e81b606482015260840160405180910390fd5b805f5f82825461013291906101b0565b90915550506040518181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a150565b5f6020828403121561017d575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016101a9576101a9610184565b5060010190565b808201808211156101c3576101c3610184565b9291505056fea26469706673582212209a1c823e783d696eab30a65b7055e79eda4bdd0d1a0f421bd4dee30bb90ca71164736f6c634300081c0033", + "linkReferences": {}, + "deployedLinkReferences": {}, + "immutableReferences": {}, + "inputSourceName": "project/contracts/Counter1.sol", + "buildInfoId": "solc-0_8_28-ecce3fdf13f7971aa459ad000aaef54357b07daa" +} \ No newline at end of file diff --git a/contract/ignition/deployments/chain-8453/artifacts/Counter2Module#Counter2.json b/contract/ignition/deployments/chain-8453/artifacts/Counter2Module#Counter2.json new file mode 100644 index 0000000..2984c33 --- /dev/null +++ b/contract/ignition/deployments/chain-8453/artifacts/Counter2Module#Counter2.json @@ -0,0 +1,60 @@ +{ + "_format": "hh3-artifact-1", + "contractName": "Counter2", + "sourceName": "contracts/Counter2.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "by", + "type": "uint256" + } + ], + "name": "Increment", + "type": "event" + }, + { + "inputs": [], + "name": "inc", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "by", + "type": "uint256" + } + ], + "name": "incBy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "x", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x6080604052348015600e575f5ffd5b506101ff8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80630c55699c14610043578063371303c01461005d57806370119d0614610067575b5f5ffd5b61004b5f5481565b60405190815260200160405180910390f35b61006561007a565b005b61006561007536600461016d565b6100c3565b5f8054908061008883610198565b9091555050604051600181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a1565b5f81116101225760405162461bcd60e51b815260206004820152602360248201527f696e6342793a20696e6372656d656e742073686f756c6420626520706f73697460448201526269766560e81b606482015260840160405180910390fd5b805f5f82825461013291906101b0565b90915550506040518181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a150565b5f6020828403121561017d575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016101a9576101a9610184565b5060010190565b808201808211156101c3576101c3610184565b9291505056fea264697066735822122098207613214522df18404fb2fe009bf95cdafedf9b2f63bd372e6b13da8d7faa64736f6c634300081c0033", + "deployedBytecode": "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80630c55699c14610043578063371303c01461005d57806370119d0614610067575b5f5ffd5b61004b5f5481565b60405190815260200160405180910390f35b61006561007a565b005b61006561007536600461016d565b6100c3565b5f8054908061008883610198565b9091555050604051600181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a1565b5f81116101225760405162461bcd60e51b815260206004820152602360248201527f696e6342793a20696e6372656d656e742073686f756c6420626520706f73697460448201526269766560e81b606482015260840160405180910390fd5b805f5f82825461013291906101b0565b90915550506040518181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a150565b5f6020828403121561017d575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016101a9576101a9610184565b5060010190565b808201808211156101c3576101c3610184565b9291505056fea264697066735822122098207613214522df18404fb2fe009bf95cdafedf9b2f63bd372e6b13da8d7faa64736f6c634300081c0033", + "linkReferences": {}, + "deployedLinkReferences": {}, + "immutableReferences": {}, + "inputSourceName": "project/contracts/Counter2.sol", + "buildInfoId": "solc-0_8_28-0a2dfa2f04d20f2c283bc7424d925aada9d32898" +} \ No newline at end of file diff --git a/contract/ignition/deployments/chain-8453/artifacts/CountingModule#Counting.json b/contract/ignition/deployments/chain-8453/artifacts/CountingModule#Counting.json new file mode 100644 index 0000000..baf17ce --- /dev/null +++ b/contract/ignition/deployments/chain-8453/artifacts/CountingModule#Counting.json @@ -0,0 +1,60 @@ +{ + "_format": "hh3-artifact-1", + "contractName": "Counting", + "sourceName": "contracts/Count.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "by", + "type": "uint256" + } + ], + "name": "Increment", + "type": "event" + }, + { + "inputs": [], + "name": "inc", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "by", + "type": "uint256" + } + ], + "name": "incBy", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "x", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x6080604052348015600e575f5ffd5b506101ff8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80630c55699c14610043578063371303c01461005d57806370119d0614610067575b5f5ffd5b61004b5f5481565b60405190815260200160405180910390f35b61006561007a565b005b61006561007536600461016d565b6100c3565b5f8054908061008883610198565b9091555050604051600181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a1565b5f81116101225760405162461bcd60e51b815260206004820152602360248201527f696e6342793a20696e6372656d656e742073686f756c6420626520706f73697460448201526269766560e81b606482015260840160405180910390fd5b805f5f82825461013291906101b0565b90915550506040518181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a150565b5f6020828403121561017d575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016101a9576101a9610184565b5060010190565b808201808211156101c3576101c3610184565b9291505056fea264697066735822122063322821c66ab24dc8ff436e26cf776dcdfac4159fa6cab3524275b10218203e64736f6c634300081c0033", + "deployedBytecode": "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80630c55699c14610043578063371303c01461005d57806370119d0614610067575b5f5ffd5b61004b5f5481565b60405190815260200160405180910390f35b61006561007a565b005b61006561007536600461016d565b6100c3565b5f8054908061008883610198565b9091555050604051600181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a1565b5f81116101225760405162461bcd60e51b815260206004820152602360248201527f696e6342793a20696e6372656d656e742073686f756c6420626520706f73697460448201526269766560e81b606482015260840160405180910390fd5b805f5f82825461013291906101b0565b90915550506040518181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a150565b5f6020828403121561017d575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016101a9576101a9610184565b5060010190565b808201808211156101c3576101c3610184565b9291505056fea264697066735822122063322821c66ab24dc8ff436e26cf776dcdfac4159fa6cab3524275b10218203e64736f6c634300081c0033", + "linkReferences": {}, + "deployedLinkReferences": {}, + "immutableReferences": {}, + "inputSourceName": "project/contracts/Count.sol", + "buildInfoId": "solc-0_8_28-42a6ee292dae7961c120b6c477153e8e3eba1f08" +} \ No newline at end of file diff --git a/contract/ignition/deployments/chain-8453/build-info/solc-0_8_28-0a2dfa2f04d20f2c283bc7424d925aada9d32898.json b/contract/ignition/deployments/chain-8453/build-info/solc-0_8_28-0a2dfa2f04d20f2c283bc7424d925aada9d32898.json new file mode 100644 index 0000000..b6bac54 --- /dev/null +++ b/contract/ignition/deployments/chain-8453/build-info/solc-0_8_28-0a2dfa2f04d20f2c283bc7424d925aada9d32898.json @@ -0,0 +1,39 @@ +{ + "_format": "hh3-sol-build-info-1", + "id": "solc-0_8_28-0a2dfa2f04d20f2c283bc7424d925aada9d32898", + "solcVersion": "0.8.28", + "solcLongVersion": "0.8.28+commit.7893614a", + "userSourceNameMap": { + "contracts/Counter2.sol": "project/contracts/Counter2.sol" + }, + "input": { + "language": "Solidity", + "settings": { + "evmVersion": "cancun", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "outputSelection": { + "*": { + "": [ + "ast" + ], + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ] + } + }, + "remappings": [] + }, + "sources": { + "project/contracts/Counter2.sol": { + "content": "// SPDX-License-Identifier: UNLICENSED\r\npragma solidity ^0.8.28;\r\n\r\ncontract Counter2 {\r\n uint public x;\r\n\r\n event Increment(uint by);\r\n\r\n function inc() public {\r\n x++;\r\n emit Increment(1);\r\n }\r\n\r\n function incBy(uint by) public {\r\n require(by > 0, \"incBy: increment should be positive\");\r\n x += by;\r\n emit Increment(by);\r\n }\r\n}\r\n" + } + } + } +} \ No newline at end of file diff --git a/contract/ignition/deployments/chain-8453/build-info/solc-0_8_28-42a6ee292dae7961c120b6c477153e8e3eba1f08.json b/contract/ignition/deployments/chain-8453/build-info/solc-0_8_28-42a6ee292dae7961c120b6c477153e8e3eba1f08.json new file mode 100644 index 0000000..6975ec7 --- /dev/null +++ b/contract/ignition/deployments/chain-8453/build-info/solc-0_8_28-42a6ee292dae7961c120b6c477153e8e3eba1f08.json @@ -0,0 +1,39 @@ +{ + "_format": "hh3-sol-build-info-1", + "id": "solc-0_8_28-42a6ee292dae7961c120b6c477153e8e3eba1f08", + "solcVersion": "0.8.28", + "solcLongVersion": "0.8.28+commit.7893614a", + "userSourceNameMap": { + "contracts/Count.sol": "project/contracts/Count.sol" + }, + "input": { + "language": "Solidity", + "settings": { + "evmVersion": "cancun", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "outputSelection": { + "*": { + "": [ + "ast" + ], + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ] + } + }, + "remappings": [] + }, + "sources": { + "project/contracts/Count.sol": { + "content": "// SPDX-License-Identifier: UNLICENSED\r\npragma solidity ^0.8.28;\r\n\r\ncontract Counting {\r\n uint public x;\r\n\r\n event Increment(uint by);\r\n\r\n function inc() public {\r\n x++;\r\n emit Increment(1);\r\n }\r\n\r\n function incBy(uint by) public {\r\n require(by > 0, \"incBy: increment should be positive\");\r\n x += by;\r\n emit Increment(by);\r\n }\r\n}\r\n" + } + } + } +} \ No newline at end of file diff --git a/contract/ignition/deployments/chain-8453/build-info/solc-0_8_28-ecce3fdf13f7971aa459ad000aaef54357b07daa.json b/contract/ignition/deployments/chain-8453/build-info/solc-0_8_28-ecce3fdf13f7971aa459ad000aaef54357b07daa.json new file mode 100644 index 0000000..ebb1717 --- /dev/null +++ b/contract/ignition/deployments/chain-8453/build-info/solc-0_8_28-ecce3fdf13f7971aa459ad000aaef54357b07daa.json @@ -0,0 +1,39 @@ +{ + "_format": "hh3-sol-build-info-1", + "id": "solc-0_8_28-ecce3fdf13f7971aa459ad000aaef54357b07daa", + "solcVersion": "0.8.28", + "solcLongVersion": "0.8.28+commit.7893614a", + "userSourceNameMap": { + "contracts/Counter1.sol": "project/contracts/Counter1.sol" + }, + "input": { + "language": "Solidity", + "settings": { + "evmVersion": "cancun", + "optimizer": { + "enabled": true, + "runs": 200 + }, + "outputSelection": { + "*": { + "": [ + "ast" + ], + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ] + } + }, + "remappings": [] + }, + "sources": { + "project/contracts/Counter1.sol": { + "content": "// SPDX-License-Identifier: UNLICENSED\r\npragma solidity ^0.8.28;\r\n\r\ncontract Counter1 {\r\n uint public x;\r\n\r\n event Increment(uint by);\r\n\r\n function inc() public {\r\n x++;\r\n emit Increment(1);\r\n }\r\n\r\n function incBy(uint by) public {\r\n require(by > 0, \"incBy: increment should be positive\");\r\n x += by;\r\n emit Increment(by);\r\n }\r\n}\r\n" + } + } + } +} \ No newline at end of file diff --git a/contract/ignition/deployments/chain-8453/deployed_addresses.json b/contract/ignition/deployments/chain-8453/deployed_addresses.json index 81e1412..517cda0 100644 --- a/contract/ignition/deployments/chain-8453/deployed_addresses.json +++ b/contract/ignition/deployments/chain-8453/deployed_addresses.json @@ -1,4 +1,7 @@ { "PingPongModule#PingPong": "0x9E2CE38C97020eda9F108ddeD27a43c9323C5434", - "CounterModule#Counter": "0x73961ABf30c6d7E71cd9E63F53e6abb7b49f3D43" + "CounterModule#Counter": "0x73961ABf30c6d7E71cd9E63F53e6abb7b49f3D43", + "CountingModule#Counting": "0x0d224673f269Ba983D7DAA9e7f5BD5885Ee6cA80", + "Counter1Module#Counter1": "0xEfc65d8EECC99a82aeb549EFf0B1A94819219ADb", + "Counter2Module#Counter2": "0x63063d66a3C532d5563148ABb82B9b8A9805A122" } \ No newline at end of file diff --git a/contract/ignition/deployments/chain-8453/journal.jsonl b/contract/ignition/deployments/chain-8453/journal.jsonl index ec14eb4..369b734 100644 --- a/contract/ignition/deployments/chain-8453/journal.jsonl +++ b/contract/ignition/deployments/chain-8453/journal.jsonl @@ -11,4 +11,22 @@ {"futureId":"CounterModule#Counter","networkInteractionId":1,"nonce":7,"type":"TRANSACTION_PREPARE_SEND"} {"futureId":"CounterModule#Counter","networkInteractionId":1,"nonce":7,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"4005226"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0xa05cc5ae4944395550b54f0dceb672512c2cd27ba84d6306735c3f0a5c438ba2"},"type":"TRANSACTION_SEND"} {"futureId":"CounterModule#Counter","hash":"0xa05cc5ae4944395550b54f0dceb672512c2cd27ba84d6306735c3f0a5c438ba2","networkInteractionId":1,"receipt":{"blockHash":"0xa626fda065c6e097bf1faeca90bda3b327791b4884ec05beead8957a99407d96","blockNumber":39612332,"contractAddress":"0x73961ABf30c6d7E71cd9E63F53e6abb7b49f3D43","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"CounterModule#Counter","result":{"address":"0x73961ABf30c6d7E71cd9E63F53e6abb7b49f3D43","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} \ No newline at end of file +{"futureId":"CounterModule#Counter","result":{"address":"0x73961ABf30c6d7E71cd9E63F53e6abb7b49f3D43","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"artifactId":"CountingModule#Counting","constructorArgs":[],"contractName":"Counting","dependencies":[],"from":"0x595a9e286585399b6179ca7956d0796e30333434","futureId":"CountingModule#Counting","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"CountingModule#Counting","networkInteraction":{"data":"0x6080604052348015600e575f5ffd5b506101ff8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80630c55699c14610043578063371303c01461005d57806370119d0614610067575b5f5ffd5b61004b5f5481565b60405190815260200160405180910390f35b61006561007a565b005b61006561007536600461016d565b6100c3565b5f8054908061008883610198565b9091555050604051600181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a1565b5f81116101225760405162461bcd60e51b815260206004820152602360248201527f696e6342793a20696e6372656d656e742073686f756c6420626520706f73697460448201526269766560e81b606482015260840160405180910390fd5b805f5f82825461013291906101b0565b90915550506040518181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a150565b5f6020828403121561017d575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016101a9576101a9610184565b5060010190565b808201808211156101c3576101c3610184565b9291505056fea264697066735822122063322821c66ab24dc8ff436e26cf776dcdfac4159fa6cab3524275b10218203e64736f6c634300081c0033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"CountingModule#Counting","networkInteractionId":1,"nonce":27,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"CountingModule#Counting","networkInteractionId":1,"nonce":27,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"8593352"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0xbec9023af04a62203fa3febe7a47c7a566ed7a586fb0737b5b31e69a0d2a17a6"},"type":"TRANSACTION_SEND"} +{"futureId":"CountingModule#Counting","hash":"0xbec9023af04a62203fa3febe7a47c7a566ed7a586fb0737b5b31e69a0d2a17a6","networkInteractionId":1,"receipt":{"blockHash":"0x3470d6c0a8c54aac08ba1f65c7ecaa466f824019e587b793d2f52b8e50625e27","blockNumber":39630720,"contractAddress":"0x0d224673f269Ba983D7DAA9e7f5BD5885Ee6cA80","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"CountingModule#Counting","result":{"address":"0x0d224673f269Ba983D7DAA9e7f5BD5885Ee6cA80","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"artifactId":"Counter1Module#Counter1","constructorArgs":[],"contractName":"Counter1","dependencies":[],"from":"0x595a9e286585399b6179ca7956d0796e30333434","futureId":"Counter1Module#Counter1","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"Counter1Module#Counter1","networkInteraction":{"data":"0x6080604052348015600e575f5ffd5b506101ff8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80630c55699c14610043578063371303c01461005d57806370119d0614610067575b5f5ffd5b61004b5f5481565b60405190815260200160405180910390f35b61006561007a565b005b61006561007536600461016d565b6100c3565b5f8054908061008883610198565b9091555050604051600181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a1565b5f81116101225760405162461bcd60e51b815260206004820152602360248201527f696e6342793a20696e6372656d656e742073686f756c6420626520706f73697460448201526269766560e81b606482015260840160405180910390fd5b805f5f82825461013291906101b0565b90915550506040518181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a150565b5f6020828403121561017d575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016101a9576101a9610184565b5060010190565b808201808211156101c3576101c3610184565b9291505056fea26469706673582212209a1c823e783d696eab30a65b7055e79eda4bdd0d1a0f421bd4dee30bb90ca71164736f6c634300081c0033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"Counter1Module#Counter1","networkInteractionId":1,"nonce":29,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"Counter1Module#Counter1","networkInteractionId":1,"nonce":29,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"2332590"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0xeeb3d084ef298c7444918c50bd0f5ebd9e2bd188db1bc13664e9892344211421"},"type":"TRANSACTION_SEND"} +{"futureId":"Counter1Module#Counter1","hash":"0xeeb3d084ef298c7444918c50bd0f5ebd9e2bd188db1bc13664e9892344211421","networkInteractionId":1,"receipt":{"blockHash":"0x35ec2a365d64939a1e88f53831842940801648974ee481e95d9b7053bd858ca1","blockNumber":39635666,"contractAddress":"0xEfc65d8EECC99a82aeb549EFf0B1A94819219ADb","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"Counter1Module#Counter1","result":{"address":"0xEfc65d8EECC99a82aeb549EFf0B1A94819219ADb","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"artifactId":"Counter2Module#Counter2","constructorArgs":[],"contractName":"Counter2","dependencies":[],"from":"0x595a9e286585399b6179ca7956d0796e30333434","futureId":"Counter2Module#Counter2","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"Counter2Module#Counter2","networkInteraction":{"data":"0x6080604052348015600e575f5ffd5b506101ff8061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c80630c55699c14610043578063371303c01461005d57806370119d0614610067575b5f5ffd5b61004b5f5481565b60405190815260200160405180910390f35b61006561007a565b005b61006561007536600461016d565b6100c3565b5f8054908061008883610198565b9091555050604051600181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a1565b5f81116101225760405162461bcd60e51b815260206004820152602360248201527f696e6342793a20696e6372656d656e742073686f756c6420626520706f73697460448201526269766560e81b606482015260840160405180910390fd5b805f5f82825461013291906101b0565b90915550506040518181527f51af157c2eee40f68107a47a49c32fbbeb0a3c9e5cd37aa56e88e6be92368a819060200160405180910390a150565b5f6020828403121561017d575f5ffd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b5f600182016101a9576101a9610184565b5060010190565b808201808211156101c3576101c3610184565b9291505056fea264697066735822122098207613214522df18404fb2fe009bf95cdafedf9b2f63bd372e6b13da8d7faa64736f6c634300081c0033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"Counter2Module#Counter2","networkInteractionId":1,"nonce":30,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"Counter2Module#Counter2","networkInteractionId":1,"nonce":30,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"2344554"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0x815ea8232cfa3188088b4781a3d7a29764ea88d5a38780c85ddc1cb3dfd404c7"},"type":"TRANSACTION_SEND"} +{"futureId":"Counter2Module#Counter2","hash":"0x815ea8232cfa3188088b4781a3d7a29764ea88d5a38780c85ddc1cb3dfd404c7","networkInteractionId":1,"receipt":{"blockHash":"0x4d349b8832e2c52b9e51529131d90fd08104a15fe60e7c0bec018f34c049aeb1","blockNumber":39635714,"contractAddress":"0x63063d66a3C532d5563148ABb82B9b8A9805A122","logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"Counter2Module#Counter2","result":{"address":"0x63063d66a3C532d5563148ABb82B9b8A9805A122","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} \ No newline at end of file diff --git a/contract/ignition/modules/Count.ts b/contract/ignition/modules/Count.ts new file mode 100644 index 0000000..05284a9 --- /dev/null +++ b/contract/ignition/modules/Count.ts @@ -0,0 +1,6 @@ +import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; + +export default buildModule("CountingModule", (m) => { + const counter = m.contract("Counting"); + return { counter }; +}); diff --git a/contract/ignition/modules/Count4.ts b/contract/ignition/modules/Count4.ts new file mode 100644 index 0000000..05284a9 --- /dev/null +++ b/contract/ignition/modules/Count4.ts @@ -0,0 +1,6 @@ +import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; + +export default buildModule("CountingModule", (m) => { + const counter = m.contract("Counting"); + return { counter }; +}); diff --git a/contract/ignition/modules/Counter1.ts b/contract/ignition/modules/Counter1.ts new file mode 100644 index 0000000..5f36536 --- /dev/null +++ b/contract/ignition/modules/Counter1.ts @@ -0,0 +1,7 @@ +import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; + +export default buildModule("Counter1Module", (m) => { + const counter = m.contract("Counter1"); + return { counter }; +}); +2 \ No newline at end of file diff --git a/contract/ignition/modules/Counter2.ts b/contract/ignition/modules/Counter2.ts new file mode 100644 index 0000000..348520f --- /dev/null +++ b/contract/ignition/modules/Counter2.ts @@ -0,0 +1,6 @@ +import { buildModule } from "@nomicfoundation/hardhat-ignition/modules"; + +export default buildModule("Counter2Module", (m) => { + const counter = m.contract("Counter2"); + return { counter }; +});