Source Code
Overview
ETH Balance
0 ETH
More Info
ContractCreator
Multichain Info
N/A
Latest 6 from a total of 6 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Withdraw Funds | 5193672 | 73 days ago | IN | 0 ETH | 0.00000282 | ||||
Mint From Childr... | 5189149 | 73 days ago | IN | 0.02 ETH | 0.00000241 | ||||
Mint From Childr... | 5188959 | 73 days ago | IN | 0.02 ETH | 0.00000241 | ||||
Mint From Childr... | 5188913 | 73 days ago | IN | 0.02 ETH | 0.00000254 | ||||
Create Child Con... | 5188430 | 73 days ago | IN | 0 ETH | 0.0000342 | ||||
Transfer | 5188393 | 73 days ago | IN | 0.3 ETH | 0.00000298 |
Latest 25 internal transactions (View All)
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
5193672 | 73 days ago | 0 ETH | ||||
5193672 | 73 days ago | 0.3 ETH | ||||
5193672 | 73 days ago | 0 ETH | ||||
5193672 | 73 days ago | 0 ETH | ||||
5193672 | 73 days ago | 0 ETH | ||||
5189149 | 73 days ago | 0 ETH | ||||
5189149 | 73 days ago | 0.01 ETH | ||||
5189149 | 73 days ago | 0 ETH | ||||
5189149 | 73 days ago | 0 ETH | ||||
5189149 | 73 days ago | 0.02 ETH | ||||
5188959 | 73 days ago | 0 ETH | ||||
5188959 | 73 days ago | 0.01 ETH | ||||
5188959 | 73 days ago | 0 ETH | ||||
5188959 | 73 days ago | 0 ETH | ||||
5188959 | 73 days ago | 0.02 ETH | ||||
5188913 | 73 days ago | 0 ETH | ||||
5188913 | 73 days ago | 0.01 ETH | ||||
5188913 | 73 days ago | 0 ETH | ||||
5188913 | 73 days ago | 0 ETH | ||||
5188913 | 73 days ago | 0.02 ETH | ||||
5188430 | 73 days ago | 0 ETH | ||||
5188430 | 73 days ago | Contract Creation | 0 ETH | |||
5188430 | 73 days ago | 0 ETH | ||||
5188430 | 73 days ago | 0 ETH | ||||
5188430 | 73 days ago | Contract Creation | 0 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Source Code Verified (Exact Match)
Contract Name:
FabricContract
Compiler Version
v0.8.24+commit.e11b9ed9
ZkSolc Version
v1.5.7
Optimization Enabled:
Yes with Mode 3
Other Settings:
paris EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.24; interface IChildContract { function mint(address to) external; function withdraw() external; function transferOwnership(address newOwner) external; } interface ITargetContract { function mint(uint256 payableAmount, uint256 tokens) external payable; } contract FabricContract { address[] public childContracts; address public owner; modifier onlyOwner() { require(msg.sender == owner, "Not the owner"); _; } event ChildContractDeployed(address indexed childAddress); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); event FundsWithdrawn(address indexed to, uint256 amount); constructor() { owner = msg.sender; } function createChildContracts(uint256 count) external onlyOwner { for (uint256 i = 0; i < count; i++) { ChildContract child = new ChildContract(owner); childContracts.push(address(child)); emit ChildContractDeployed(address(child)); } } function mintFromChildren(address targetContract, uint256 mintCost, uint256 tokens) external onlyOwner payable { uint256 amountToChild = 0.01 ether; // Сумма для отправки на каждый дочерний контракт // Проверка, что на FabricContract достаточно средств для всех контрактов require( address(this).balance >= amountToChild * childContracts.length, "Insufficient funds in FabricContract" ); // Цикл по всем дочерним контрактам for (uint256 i = 0; i < childContracts.length; i++) { address child = childContracts[i]; // Отправляем 0.01 ETH на дочерний контракт (bool sent, ) = payable(child).call{value: amountToChild}(""); require(sent, "Failed to send funds to child contract"); // Вызываем функцию mint на дочернем контракте с правильным ABI (bool success, bytes memory data) = child.call( abi.encodeWithSignature( "mint(address,uint256)", targetContract, // Адрес целевого контракта tokens // Количество токенов ) ); require(success, string(data)); // Проверяем успешность вызова mint // Возвращаем остаток средств на FabricContract IChildContract(child).withdraw(); } } function getChildContracts() external view returns (address[] memory) { return childContracts; } function withdrawFunds() external onlyOwner { uint256 balance = address(this).balance; require(balance > 0, "No funds to withdraw"); (bool success, ) = payable(owner).call{value: balance}(""); require(success, "Withdraw failed"); emit FundsWithdrawn(owner, balance); } // Функция для получения эфира на контракт receive() external payable {} } contract ChildContract is IChildContract { address public owner; uint256 public tokenId; mapping(uint256 => address) private tokenOwners; event Mint(address indexed to, uint256 tokenId); event Transfer(address indexed from, address indexed to, uint256 tokenId); event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); modifier onlyOwner() { require(msg.sender == owner, "Not the owner"); _; } constructor(address _owner) { owner = _owner; tokenId = 0; } function mint(address to) external onlyOwner override { tokenId++; tokenOwners[tokenId] = to; emit Mint(to, tokenId); } function transfer(address to, uint256 _tokenId) external { require(tokenOwners[_tokenId] == msg.sender, "Not the token owner"); require(to != address(0), "Invalid recipient"); tokenOwners[_tokenId] = to; emit Transfer(msg.sender, to, _tokenId); } function ownerOf(uint256 _tokenId) external view returns (address) { return tokenOwners[_tokenId]; } function withdraw() external onlyOwner override { uint256 balance = address(this).balance; require(balance > 0, "No funds to withdraw"); (bool success, ) = payable(owner).call{value: balance}(""); require(success, "Transfer failed"); } function transferOwnership(address newOwner) external onlyOwner override { require(newOwner != address(0), "New owner is the zero address"); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } receive() external payable {} }
{ "evmVersion": "paris", "optimizer": { "enabled": true, "mode": "3" }, "outputSelection": { "*": { "*": [ "abi", "metadata" ], "": [ "ast" ] } }, "detectMissingLibraries": false, "forceEVMLA": false, "enableEraVMExtensions": false, "libraries": {} }
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"childAddress","type":"address"}],"name":"ChildContractDeployed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"FundsWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"childContracts","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"count","type":"uint256"}],"name":"createChildContracts","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getChildContracts","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"targetContract","type":"address"},{"internalType":"uint256","name":"mintCost","type":"uint256"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"mintFromChildren","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdrawFunds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
9c4d535b0000000000000000000000000000000000000000000000000000000000000000010000ff63e1089b6ef81a063c36b1cd40ee02c134ed4956dd35c2a030da9f2600000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x000200000000000200040000000000020000006003100270000000cd0330019700010000003103550000008004000039000000400040043f00000001002001900000003f0000c13d000000040030008c0000004d0000413d000000000201043b000000e002200270000000d00020009c000000510000213d000000d40020009c000000aa0000613d000000d50020009c000000e30000613d000000d60020009c000001a10000c13d0000000001000416000000000001004b000001a10000c13d0000000101000039000000000101041a000000d7011001970000000002000411000000000012004b000001100000c13d000000e2010000410000000000100443000000000100041000000004001004430000000001000414000000cd0010009c000000cd01008041000000c001100210000000e3011001c70000800a02000039032f032a0000040f0000000100200190000002980000613d000000000901043b000000000009004b000001490000c13d000000400100043d0000004402100039000000ec030000410000000000320435000000240210003900000014030000390000000000320435000000e8020000410000000000210435000000040210003900000020030000390000000000320435000000cd0010009c000000cd010080410000004001100210000000e9011001c700000331000104300000000001000416000000000001004b000001a10000c13d0000000101000039000000000201041a000000ce022001970000000003000411000000000232019f000000000021041b000000200100003900000100001004430000012000000443000000cf01000041000003300001042e000000000003004b000001a10000c13d0000000001000019000003300001042e000000d10020009c000000ef0000613d000000d20020009c000000f80000613d000000d30020009c000001a10000c13d000000240030008c000001a10000413d0000000002000416000000000002004b000001a10000c13d0000000401100370000000000301043b0000000101000039000000000101041a000000d7011001970000000002000411000000000012004b000001100000c13d000000000003004b0000004f0000613d000400000000001d000300000003001d000000400100043d000000d80010009c000001290000213d0000000102000039000000000202041a0000002403100039000000d9040000410000000000430435000000d702200197000000840310003900000000002304350000006402100039000000000300041400000020040000390000000000420435000000440210003900000060040000390000000000420435000000da02000041000000000021043500000004021000390000000000020435000000cd0010009c000000cd010080410000004001100210000000cd0030009c000000cd03008041000000c002300210000000000121019f000000db011001c70000800602000039032f03250000040f0000000100200190000001a30000613d000000000101043b000000000001004b000001a80000613d000000000200041a000000dc0020009c000001290000213d0000000103200039000000000030041b000000000000043f000000d705100197000000dd0120009a000000000201041a000000ce02200197000000000252019f000000000021041b0000000001000414000000cd0010009c000000cd01008041000000c001100210000000de011001c70000800d020000390000000203000039000000df04000041032f03250000040f00000001002001900000000303000029000001a10000613d0000000401000029000400010010003d000000040030006b000000680000413d0000004f0000013d000000640030008c000001a10000413d0000000402100370000000000302043b000000d70030009c000001a10000213d0000004401100370000000000101043b000200000001001d0000000101000039000000000101041a000000d7011001970000000002000411000000000012004b000001100000c13d000400000003001d000000e2010000410000000000100443000000000100041000000004001004430000000001000414000000cd0010009c000000cd01008041000000c001100210000000e3011001c70000800a02000039032f032a0000040f0000000100200190000002980000613d000000000200041a000000f1032000d1000000f10430012a000000000042004b000001760000c13d000000000101043b000000000031004b000001ca0000813d000000400100043d0000006402100039000000fb0300004100000000003204350000004402100039000000fc030000410000000000320435000000240210003900000024030000390000000000320435000000e8020000410000000000210435000000040210003900000020030000390000000000320435000000cd0010009c000000cd010080410000004001100210000000f6011001c700000331000104300000000001000416000000000001004b000001a10000c13d0000002002000039000000000100041a000000800010043f000000000000043f000000000001004b0000011a0000c13d000000a0010000390000000004020019000001300000013d0000000001000416000000000001004b000001a10000c13d0000000101000039000000000101041a000000d701100197000000800010043f000000e101000041000003300001042e000000240030008c000001a10000413d0000000002000416000000000002004b000001a10000c13d0000000401100370000000000101043b000000000200041a000000000021004b000001a10000813d032f03170000040f0000000302200210000000000101041a000000000121022f000000d701100197000000ff0020008c0000000001002019000000400200043d0000000000120435000000cd0020009c000000cd020080410000004001200210000000e0011001c7000003300001042e000000e801000041000000800010043f0000002001000039000000840010043f0000000d01000039000000a40010043f000000ef01000041000000c40010043f000000f0010000410000033100010430000000a005000039000000ed0300004100000000040000190000000006050019000000000503041a000000d705500197000000000556043600000001033000390000000104400039000000000014004b0000011d0000413d000000410160008a000000fd04100197000000ee0040009c0000012f0000a13d000000f201000041000000000010043f0000004101000039000000040010043f000000f30100004100000331000104300000008001400039000000400010043f0000000000210435000000a002400039000000800300043d0000000000320435000000c002400039000000000003004b000001400000613d000000a00400003900000000050000190000000046040434000000d70660019700000000026204360000000105500039000000000035004b0000013a0000413d0000000002120049000000cd0020009c000000cd020080410000006002200210000000cd0010009c000000cd010080410000004001100210000000000112019f000003300001042e00000000010004140000000004000411000000040040008c0000017c0000c13d00000000010000320000018d0000613d0000001f03100039000000fd033001970000003f03300039000000fd04300197000000400300043d0000000004430019000000000034004b00000000050000390000000105004039000000dc0040009c000001290000213d0000000100500190000001290000c13d000000400040043f0000000005130436000000fd021001980000001f0310018f00000000012500190000000104000367000001680000613d000000000604034f000000006706043c0000000005750436000000000015004b000001640000c13d000000000003004b0000018d0000613d000000000224034f0000000303300210000000000401043300000000043401cf000000000434022f000000000202043b0000010003300089000000000232022f00000000023201cf000000000242019f00000000002104350000018d0000013d000000f201000041000000000010043f0000001101000039000000040010043f000000f3010000410000033100010430000000cd0010009c000000cd01008041000000c001100210000000de011001c7000080090200003900000000030900190000000005000019000400000009001d032f03250000040f000000040900002900010000000103550000006003100270000000cd0030019d000000cd03300198000002990000c13d0000000100200190000002bf0000613d0000000101000039000000000201041a000000400100043d0000000000910435000000cd0010009c000000cd0100804100000040011002100000000003000414000000cd0030009c000000cd03008041000000c003300210000000000113019f000000ea011001c7000000d7052001970000800d020000390000000203000039000000eb04000041032f03250000040f00000001002001900000004f0000c13d0000000001000019000003310001043000010000000103550000006002100270000000cd0020019d000000cd02200197000001aa0000013d00000001010003670000000002000031000000fd052001980000001f0620018f000000400300043d0000000004530019000001b50000613d000000000701034f0000000008030019000000007907043c0000000008980436000000000048004b000001b10000c13d000000000006004b000001c20000613d000000000151034f0000000305600210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f0000000000140435000000cd0020009c000000cd020080410000006001200210000000cd0030009c000000cd030080410000004002300210000000000112019f0000033100010430000000000002004b00000004010000290000004f0000613d000100d70010019b000400000000001d000000000000043f0000000401000029000000dd0110009a000000000201041a0000000001000414000000d70b2001970000000400b0008c00030000000b001d000001de0000c13d00000000010000310000000102000039000000400300043d000000000001004b000001ef0000c13d000002140000013d000000cd0010009c000000cd01008041000000c001100210000000de011001c70000800902000039000000f10300004100000000040b00190000000005000019032f03250000040f000000030b00002900010000000103550000006001100270000000cd0010019d000000cd01100197000000400300043d000000000001004b000002140000613d0000001f04100039000000fd044001970000003f04400039000000fd044001970000000004430019000000000034004b00000000050000390000000105004039000000dc0040009c000001290000213d0000000100500190000001290000c13d000000400040043f0000000006130436000000fd0410019800000000034600190000000105000367000002060000613d000000000705034f000000007807043c0000000006860436000000000036004b000002020000c13d0000001f06100190000002130000613d000000000445034f0000000305600210000000000603043300000000065601cf000000000656022f000000000404043b0000010005500089000000000454022f00000000045401cf000000000464019f0000000000430435000000400300043d000000440530003900000024063000390000000100200190000002c60000613d0000002004300039000000f7020000410000000000240435000000010200002900000000002604350000000202000029000000000025043500000044020000390000000000230435000000ee0030009c000001290000213d0000008002300039000000400020043f000000000503043300000000030004140000000400b0008c00000001020000390000023c0000613d000000cd0040009c000000cd040080410000004001400210000000cd0050009c000000cd050080410000006002500210000000000112019f000000cd0030009c000000cd03008041000000c002300210000000000121019f00000000020b0019032f03250000040f000000030b00002900010000000103550000006001100270000000cd0010019d000000cd01100197000000000001004b00000080030000390000006004000039000002660000613d0000001f03100039000000fd033001970000003f03300039000000fd03300197000000400400043d0000000003340019000000000043004b00000000050000390000000105004039000000dc0030009c000001290000213d0000000100500190000001290000c13d000000400030043f0000000003140436000000fd0610019800000000056300190000000107000367000002590000613d000000000807034f0000000009030019000000008a08043c0000000009a90436000000000059004b000002550000c13d0000001f01100190000002660000613d000000000667034f0000000301100210000000000705043300000000071701cf000000000717022f000000000606043b0000010001100089000000000616022f00000000011601cf000000000171019f00000000001504350000000100200190000002d70000613d000000f80100004100000000001004430000000400b004430000000001000414000000cd0010009c000000cd01008041000000c001100210000000e3011001c70000800202000039032f032a0000040f0000000100200190000002980000613d000000000101043b000000000001004b000001a10000613d000000400400043d000000f901000041000000000014043500000000010004140000000302000029000000040020008c0000028f0000613d000000cd0040009c000000cd0300004100000000030440190000004003300210000000cd0010009c000000cd01008041000000c001100210000000000131019f000000fa011001c7000300000004001d032f03250000040f00000003040000290000006003100270000000cd0030019d00010000000103550000000100200190000002f80000613d000000dc0040009c000001290000213d000000400040043f0000000402000029000400010020003d000000000100041a000000040010006b000001cf0000413d0000004f0000013d000000000001042f0000001f04300039000000e4044001970000003f04400039000000e504400197000000400500043d0000000004450019000000000054004b00000000060000390000000106004039000000dc0040009c000001290000213d0000000100600190000001290000c13d000000400040043f0000001f0430018f0000000006350436000000e6053001980000000003560019000002b10000613d000000000701034f000000007807043c0000000006860436000000000036004b000002ad0000c13d000000000004004b0000018b0000613d000000000151034f0000000304400210000000000503043300000000054501cf000000000545022f000000000101043b0000010004400089000000000141022f00000000014101cf000000000151019f00000000001304350000018b0000013d000000400100043d0000004402100039000000e703000041000000000032043500000024021000390000000f03000039000000340000013d000000e801000041000000000013043500000004013000390000002002000039000000000021043500000026010000390000000000160435000000f40100004100000000001504350000006401300039000000f5020000410000000000210435000000cd0030009c000000cd030080410000004001300210000000f6011001c70000033100010430000000400100043d000000e80200004100000000002104350000000402100039000000200500003900000000005204350000000002040433000000240410003900000000002404350000004404100039000000000002004b000002eb0000613d000000000500001900000000064500190000000007530019000000000707043300000000007604350000002005500039000000000025004b000002e40000413d0000001f03200039000000fd03300197000000000224001900000000000204350000004402300039000000cd0020009c000000cd020080410000006002200210000000cd0010009c000000cd010080410000004001100210000000000112019f0000033100010430000000cd033001970000001f0530018f000000e606300198000000400200043d0000000004620019000003040000613d000000000701034f0000000008020019000000007907043c0000000008980436000000000048004b000003000000c13d000000000005004b000003110000613d000000000161034f0000000305500210000000000604043300000000065601cf000000000656022f000000000101043b0000010005500089000000000151022f00000000015101cf000000000161019f00000000001404350000006001300210000000cd0020009c000000cd020080410000004002200210000000000112019f0000033100010430000000000200041a000000000012004b0000031e0000a13d000000dd0110009a000000000000043f0000000002000019000000000001042d000000f201000041000000000010043f0000003201000039000000040010043f000000f3010000410000033100010430000000000001042f00000328002104210000000102000039000000000001042d0000000002000019000000000001042d0000032d002104230000000102000039000000000001042d0000000002000019000000000001042d0000032f00000432000003300001042e00000331000104300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000000000000000000200000000000000000000000000000040000001000000000000000000000000000000000000000000000000000000000000000000000000008da5cb5a000000000000000000000000000000000000000000000000000000008da5cb5b0000000000000000000000000000000000000000000000000000000095bc992800000000000000000000000000000000000000000000000000000000e64f0e130000000000000000000000000000000000000000000000000000000004622728000000000000000000000000000000000000000000000000000000000d567b9b0000000000000000000000000000000000000000000000000000000024600fc3000000000000000000000000ffffffffffffffffffffffffffffffffffffffff000000000000000000000000000000000000000000000000ffffffffffffff7b0100009df5c4e992285c32a206471e9520a2202660cff7c0ea713baeb58d0e079c4d535bdea7cd8a978f128b93471df48c7dbab89d703809115bdc118c235bfd02000000000000000000000000000000000000a4000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffd6f21326ab749d5729fcba5677c79037b459436ab7bff709c9d06ce9f10c1a9d0200000000000000000000000000000000000000000000000000000000000000d383bbde99bc6efa0a60481c2112cf459c97914f835794b8d7e2d54bc9de067f000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000008000000000000000009cc7f708afc65944829bd487b90b72536b1951864fbfc14e125fc972a6507f39020000020000000000000000000000000000002400000000000000000000000000000000000000000000000000000000000000000000000000000001ffffffe000000000000000000000000000000000000000000000000000000003ffffffe000000000000000000000000000000000000000000000000000000000ffffffe05769746864726177206661696c6564000000000000000000000000000000000008c379a00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000200000000000000000000000000000000000020000000000000000000000000eaff4b37086828766ad3268786972c0cd24259d4c87a80f9d3963a3c3d999b0d4e6f2066756e647320746f207769746864726177000000000000000000000000290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563000000000000000000000000000000000000000000000000ffffffffffffff7f4e6f7420746865206f776e6572000000000000000000000000000000000000000000000000000000000000000000000000000064000000800000000000000000000000000000000000000000000000000000000000000000002386f26fc100004e487b710000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000240000000000000000000000004661696c656420746f2073656e642066756e647320746f206368696c6420636f6e74726163740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008400000000000000000000000040c10f19000000000000000000000000000000000000000000000000000000001806aa1896bbf26568e884a7374b41e002500962caba6a15023a8d90e8508b833ccfd60b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000007261637400000000000000000000000000000000000000000000000000000000496e73756666696369656e742066756e647320696e20466162726963436f6e74ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0d70a9d70406f065913701933effae336f97018aee90bad5520ff431ae8c9908b
Loading...
Loading
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.