Contract 0x77d851a9f62a4c76481cda94d40772642b353d7f 1

Txn Hash Method
Block
From
To
Value [Txn Fee]
0x61e3d2852dc10e2b2fa789c50af705f1da0e1bb69b6efa8352bad1f3f31855080x60806040279992272022-01-15 3:55:1211 days 16 hrs ago0x481140f916a4e64559694db4d56d692cadc0326c IN  Create: AllowlistFactory0 FTM0.074426364948
[ Download CSV Export 
Latest 2 internal transactions
Parent Txn Hash Block From To Value
0x2c7e881200add5e7c98acefaf9553ac429cd872cc8642a71c05f2fa0f316aceb280003052022-01-15 4:09:5911 days 15 hrs ago 0x77d851a9f62a4c76481cda94d40772642b353d7f  Contract Creation0 FTM
0x61e3d2852dc10e2b2fa789c50af705f1da0e1bb69b6efa8352bad1f3f3185508279992272022-01-15 3:55:1211 days 16 hrs ago 0x481140f916a4e64559694db4d56d692cadc0326c  Contract Creation0 FTM
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AllowlistFactory

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at FtmScan.com on 2022-01-15
*/

// SPDX-License-Identifier: MIT
pragma solidity 0.8.11;

/*******************************************************
 *                      Interfaces
 *******************************************************/
interface IAllowlist {
  function initialize(string memory, address) external;
}

/*******************************************************
 *                   Main Contract Logic
 *******************************************************/
contract AllowlistFactory {
  address public allowlistTemplateAddress;

  constructor(address _allowlistTemplateAddress) {
    allowlistTemplateAddress = _allowlistTemplateAddress;
  }

  /**
   * @notice Clone and initialize a new allowlist
   * @param allowlistName The name of the allowlist (cannot be changed)
   * @param ownerAddress The address of the new allowlist owner
   * @return allowlistAddress The addresse of the new allowlist
   */
  function cloneAllowlist(string memory allowlistName, address ownerAddress)
    public
    returns (address allowlistAddress)
  {
    allowlistAddress = _cloneAllowlist();
    IAllowlist(allowlistAddress).initialize(allowlistName, ownerAddress);
  }

  /**
   * @notice Clone and initialize a new allowlist, setting owner to self
   * @param allowlistName The name of the allowlist (cannot be changed)
   * @return allowlistAddress The addresse of the new allowlist
   */
  function cloneAllowlist(string memory allowlistName)
    public
    returns (address allowlistAddress)
  {
    allowlistAddress = _cloneAllowlist();
    IAllowlist(allowlistAddress).initialize(allowlistName, msg.sender);
  }

  /**
   * @notice Clones the allowlist using EIP-1167 template during new protocol registration
   */
  function _cloneAllowlist() internal returns (address allowlistAddress) {
    bytes20 templateAddress = bytes20(allowlistTemplateAddress);
    assembly {
      let clone := mload(0x40)
      mstore(
        clone,
        0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000
      )
      mstore(add(clone, 0x14), templateAddress)
      mstore(
        add(clone, 0x28),
        0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000
      )
      allowlistAddress := create(0, clone, 0x37)
    }
  }
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_allowlistTemplateAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"allowlistTemplateAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"allowlistName","type":"string"},{"internalType":"address","name":"ownerAddress","type":"address"}],"name":"cloneAllowlist","outputs":[{"internalType":"address","name":"allowlistAddress","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"allowlistName","type":"string"}],"name":"cloneAllowlist","outputs":[{"internalType":"address","name":"allowlistAddress","type":"address"}],"stateMutability":"nonpayable","type":"function"}]

608060405234801561001057600080fd5b506040516106f93803806106f9833981810160405281019061003291906100db565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610108565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006100a88261007d565b9050919050565b6100b88161009d565b81146100c357600080fd5b50565b6000815190506100d5816100af565b92915050565b6000602082840312156100f1576100f0610078565b5b60006100ff848285016100c6565b91505092915050565b6105e2806101176000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063a0fbe58814610046578063c902260814610076578063ef038cdd146100a6575b600080fd5b610060600480360381019061005b9190610425565b6100c4565b60405161006d9190610490565b60405180910390f35b610090600480360381019061008b91906104ab565b610143565b60405161009d9190610490565b60405180910390f35b6100ae6101c1565b6040516100bb9190610490565b60405180910390f35b60006100ce6101e5565b90508073ffffffffffffffffffffffffffffffffffffffff16637ab4339d84846040518363ffffffff1660e01b815260040161010b92919061057c565b600060405180830381600087803b15801561012557600080fd5b505af1158015610139573d6000803e3d6000fd5b5050505092915050565b600061014d6101e5565b90508073ffffffffffffffffffffffffffffffffffffffff16637ab4339d83336040518363ffffffff1660e01b815260040161018a92919061057c565b600060405180830381600087803b1580156101a457600080fd5b505af11580156101b8573d6000803e3d6000fd5b50505050919050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660601b90506040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528160148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f09250505090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6102d48261028b565b810181811067ffffffffffffffff821117156102f3576102f261029c565b5b80604052505050565b600061030661026d565b905061031282826102cb565b919050565b600067ffffffffffffffff8211156103325761033161029c565b5b61033b8261028b565b9050602081019050919050565b82818337600083830152505050565b600061036a61036584610317565b6102fc565b90508281526020810184848401111561038657610385610286565b5b610391848285610348565b509392505050565b600082601f8301126103ae576103ad610281565b5b81356103be848260208601610357565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006103f2826103c7565b9050919050565b610402816103e7565b811461040d57600080fd5b50565b60008135905061041f816103f9565b92915050565b6000806040838503121561043c5761043b610277565b5b600083013567ffffffffffffffff81111561045a5761045961027c565b5b61046685828601610399565b925050602061047785828601610410565b9150509250929050565b61048a816103e7565b82525050565b60006020820190506104a56000830184610481565b92915050565b6000602082840312156104c1576104c0610277565b5b600082013567ffffffffffffffff8111156104df576104de61027c565b5b6104eb84828501610399565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561052e578082015181840152602081019050610513565b8381111561053d576000848401525b50505050565b600061054e826104f4565b61055881856104ff565b9350610568818560208601610510565b6105718161028b565b840191505092915050565b600060408201905081810360008301526105968185610543565b90506105a56020830184610481565b939250505056fea2646970667358221220cbcdc0132cc82644f305f3a5a1e94c396b1afcf45aa26a2ef78fd7fc4be1e68564736f6c634300080b0033000000000000000000000000887ef8b94a475d2de65df1280b3155b050c41196

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000887ef8b94a475d2de65df1280b3155b050c41196

-----Decoded View---------------
Arg [0] : _allowlistTemplateAddress (address): 0x887ef8b94a475d2de65df1280b3155b050c41196

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000887ef8b94a475d2de65df1280b3155b050c41196


Deployed ByteCode Sourcemap

458:1834:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;921:254;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1407:230;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;489:39;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;921:254;1022:24;1077:17;:15;:17::i;:::-;1058:36;;1112:16;1101:39;;;1141:13;1156:12;1101:68;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;921:254;;;;:::o;1407:230::-;1486:24;1541:17;:15;:17::i;:::-;1522:36;;1576:16;1565:39;;;1605:13;1620:10;1565:66;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1407:230;;;:::o;489:39::-;;;;;;;;;;;;:::o;1749:540::-;1794:24;1827:23;1861:24;;;;;;;;;;1853:33;;1827:59;;1930:4;1924:11;1976:66;1960:5;1943:108;2084:15;2077:4;2070:5;2066:16;2059:41;2152:66;2136:4;2129:5;2125:16;2108:119;2272:4;2265:5;2262:1;2255:22;2235:42;;1902:382;;1749:540;:::o;7:75:1:-;40:6;73:2;67:9;57:19;;7:75;:::o;88:117::-;197:1;194;187:12;211:117;320:1;317;310:12;334:117;443:1;440;433:12;457:117;566:1;563;556:12;580:102;621:6;672:2;668:7;663:2;656:5;652:14;648:28;638:38;;580:102;;;:::o;688:180::-;736:77;733:1;726:88;833:4;830:1;823:15;857:4;854:1;847:15;874:281;957:27;979:4;957:27;:::i;:::-;949:6;945:40;1087:6;1075:10;1072:22;1051:18;1039:10;1036:34;1033:62;1030:88;;;1098:18;;:::i;:::-;1030:88;1138:10;1134:2;1127:22;917:238;874:281;;:::o;1161:129::-;1195:6;1222:20;;:::i;:::-;1212:30;;1251:33;1279:4;1271:6;1251:33;:::i;:::-;1161:129;;;:::o;1296:308::-;1358:4;1448:18;1440:6;1437:30;1434:56;;;1470:18;;:::i;:::-;1434:56;1508:29;1530:6;1508:29;:::i;:::-;1500:37;;1592:4;1586;1582:15;1574:23;;1296:308;;;:::o;1610:154::-;1694:6;1689:3;1684;1671:30;1756:1;1747:6;1742:3;1738:16;1731:27;1610:154;;;:::o;1770:412::-;1848:5;1873:66;1889:49;1931:6;1889:49;:::i;:::-;1873:66;:::i;:::-;1864:75;;1962:6;1955:5;1948:21;2000:4;1993:5;1989:16;2038:3;2029:6;2024:3;2020:16;2017:25;2014:112;;;2045:79;;:::i;:::-;2014:112;2135:41;2169:6;2164:3;2159;2135:41;:::i;:::-;1854:328;1770:412;;;;;:::o;2202:340::-;2258:5;2307:3;2300:4;2292:6;2288:17;2284:27;2274:122;;2315:79;;:::i;:::-;2274:122;2432:6;2419:20;2457:79;2532:3;2524:6;2517:4;2509:6;2505:17;2457:79;:::i;:::-;2448:88;;2264:278;2202:340;;;;:::o;2548:126::-;2585:7;2625:42;2618:5;2614:54;2603:65;;2548:126;;;:::o;2680:96::-;2717:7;2746:24;2764:5;2746:24;:::i;:::-;2735:35;;2680:96;;;:::o;2782:122::-;2855:24;2873:5;2855:24;:::i;:::-;2848:5;2845:35;2835:63;;2894:1;2891;2884:12;2835:63;2782:122;:::o;2910:139::-;2956:5;2994:6;2981:20;2972:29;;3010:33;3037:5;3010:33;:::i;:::-;2910:139;;;;:::o;3055:654::-;3133:6;3141;3190:2;3178:9;3169:7;3165:23;3161:32;3158:119;;;3196:79;;:::i;:::-;3158:119;3344:1;3333:9;3329:17;3316:31;3374:18;3366:6;3363:30;3360:117;;;3396:79;;:::i;:::-;3360:117;3501:63;3556:7;3547:6;3536:9;3532:22;3501:63;:::i;:::-;3491:73;;3287:287;3613:2;3639:53;3684:7;3675:6;3664:9;3660:22;3639:53;:::i;:::-;3629:63;;3584:118;3055:654;;;;;:::o;3715:118::-;3802:24;3820:5;3802:24;:::i;:::-;3797:3;3790:37;3715:118;;:::o;3839:222::-;3932:4;3970:2;3959:9;3955:18;3947:26;;3983:71;4051:1;4040:9;4036:17;4027:6;3983:71;:::i;:::-;3839:222;;;;:::o;4067:509::-;4136:6;4185:2;4173:9;4164:7;4160:23;4156:32;4153:119;;;4191:79;;:::i;:::-;4153:119;4339:1;4328:9;4324:17;4311:31;4369:18;4361:6;4358:30;4355:117;;;4391:79;;:::i;:::-;4355:117;4496:63;4551:7;4542:6;4531:9;4527:22;4496:63;:::i;:::-;4486:73;;4282:287;4067:509;;;;:::o;4582:99::-;4634:6;4668:5;4662:12;4652:22;;4582:99;;;:::o;4687:169::-;4771:11;4805:6;4800:3;4793:19;4845:4;4840:3;4836:14;4821:29;;4687:169;;;;:::o;4862:307::-;4930:1;4940:113;4954:6;4951:1;4948:13;4940:113;;;5039:1;5034:3;5030:11;5024:18;5020:1;5015:3;5011:11;5004:39;4976:2;4973:1;4969:10;4964:15;;4940:113;;;5071:6;5068:1;5065:13;5062:101;;;5151:1;5142:6;5137:3;5133:16;5126:27;5062:101;4911:258;4862:307;;;:::o;5175:364::-;5263:3;5291:39;5324:5;5291:39;:::i;:::-;5346:71;5410:6;5405:3;5346:71;:::i;:::-;5339:78;;5426:52;5471:6;5466:3;5459:4;5452:5;5448:16;5426:52;:::i;:::-;5503:29;5525:6;5503:29;:::i;:::-;5498:3;5494:39;5487:46;;5267:272;5175:364;;;;:::o;5545:423::-;5686:4;5724:2;5713:9;5709:18;5701:26;;5773:9;5767:4;5763:20;5759:1;5748:9;5744:17;5737:47;5801:78;5874:4;5865:6;5801:78;:::i;:::-;5793:86;;5889:72;5957:2;5946:9;5942:18;5933:6;5889:72;:::i;:::-;5545:423;;;;;:::o

Swarm Source

ipfs://cbcdc0132cc82644f305f3a5a1e94c396b1afcf45aa26a2ef78fd7fc4be1e685
Block Transaction Gas Used Reward
Age Block Fee Address BC Fee Address Voting Power Jailed Incoming
Validator ID :
0 FTM

Amount Staked
0

Amount Delegated
0

Staking Total
0

Staking Start Epoch
0

Staking Start Time
0

Proof of Importance
0

Origination Score
0

Validation Score
0

Active
0

Online
0

Downtime
0 s
Address Amount claimed Rewards Created On Epoch Created On
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.