UNPKG

@settlemint/solidity-token-erc20-crowdsale

Version:
1 lines 67.6 kB
{"abi":[{"type":"constructor","inputs":[{"name":"priceFeed_","type":"address","internalType":"address"},{"name":"token_","type":"address","internalType":"address"},{"name":"wallet_","type":"address","internalType":"address payable"},{"name":"usdRate_","type":"uint256","internalType":"uint256"},{"name":"vestingEndDate_","type":"uint256","internalType":"uint256"},{"name":"vestingVault_","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"receive","stateMutability":"payable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"WHITELISTED_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"buyTokens","inputs":[{"name":"beneficiary","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"externalBuyTokens","inputs":[{"name":"beneficiary","type":"address","internalType":"address"},{"name":"tokenAmount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"fundsRaised","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getTokenAmount","inputs":[{"name":"weiAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getWeiAmount","inputs":[{"name":"tokenAmount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"pause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"paused","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"tokensAvailable","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"unpause","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"wallet","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"},{"type":"event","name":"Paused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TokensPurchased","inputs":[{"name":"purchaser","type":"address","indexed":true,"internalType":"address"},{"name":"beneficiary","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Unpaused","inputs":[{"name":"account","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"EnforcedPause","inputs":[]},{"type":"error","name":"ExpectedPause","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]}],"bytecode":{"object":"0x6080346101b457601f6114cd38819003918201601f19168301916001600160401b038311848410176101b85780849260c0946040528339810103126101b457610047816101cc565b90610054602082016101cc565b60408201519092906001600160a01b038116908190036101b45760608301519161008560a0608086015195016101cc565b9460016002558215610161576001600160a01b0316908115610110576100aa336101e0565b5060018060a01b031660018060a01b0319600454161760045560018060a01b0319600354161760035560018060a01b0319600654161760065560055560085560018060a01b031660018060a01b03196009541617600955604051611243908161026a8239f35b60405162461bcd60e51b8152602060048201526024808201527f43726f776473616c653a20746f6b656e20697320746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f43726f776473616c653a2077616c6c657420697320746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101b457565b6001600160a01b0381165f9081525f5160206114ad5f395f51905f52602052604090205460ff16610264576001600160a01b03165f8181525f5160206114ad5f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f9056fe6080806040526004361015610028575b5036156100205761001e610b52565b005b61001e610b52565b5f3560e01c90816301ffc9a71461073f57508063248a9ca3146107145780632f2ff15d146106d657806336568abe1461066c5780633f4ba83a146105fa578063521eb273146105c75780635c975abb146105a65780635f1c37661461049657806360659a92146103ec5780636681b9fd146103cf5780637a3226ec1461039557806382d5d7ac146103775780638456cb591461030257806391d14854146102ab578063a217fddf14610291578063c2507ac11461026b578063d547741f14610228578063ec8ac4d81461013c5763fc0c546a14610105575f61000f565b34610138575f60031936011261013857602073ffffffffffffffffffffffffffffffffffffffff60035416604051908152f35b5f80fd5b602060031936011261013857610150610864565b610158610eca565b610160610f01565b610168610c09565b6101723482610f34565b73ffffffffffffffffffffffffffffffffffffffff61019034610a91565b9161019d34600754610887565b6007556101aa8382611038565b60405192348452602084015216907f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b60403392a35f80808073ffffffffffffffffffffffffffffffffffffffff600654168190341561021e575b3491f115610213576001600255005b6040513d5f823e3d90fd5b6108fc9150610204565b346101385760406003193601126101385761001e600435610247610841565b90610266610261825f526001602052600160405f20015490565b610c91565b610dcc565b34610138576020600319360112610138576020610289600435610a91565b604051908152f35b34610138575f6003193601126101385760206040515f8152f35b34610138576040600319360112610138576102c4610841565b6004355f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060ff60405f2054166040519015158152f35b34610138575f6003193601126101385761031a610f01565b610322610f01565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461013857602060031936011261013857602061028960043561098e565b34610138575f6003193601126101385760206040517f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b498152f35b34610138575f600319360112610138576020600754604051908152f35b34610138575f600319360112610138576024602073ffffffffffffffffffffffffffffffffffffffff60035416604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa8015610213575f90610463575b602090604051908152f35b506020813d60201161048e575b8161047d602093836108c1565b810103126101385760209051610458565b3d9150610470565b34610138576040600319360112610138576104af610864565b602435906104bb610eca565b6104c3610f01565b335f9081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49602052604090205460ff16156105765773ffffffffffffffffffffffffffffffffffffffff906105188361098e565b926105238483610f34565b61052f84600754610887565b60075561053c8183611038565b604051938452602084015216907f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b60403392a36001600255005b7fe2517d3f000000000000000000000000000000000000000000000000000000005f52336004525f60245260445ffd5b34610138575f60031936011261013857602060ff5f54166040519015158152f35b34610138575f60031936011261013857602073ffffffffffffffffffffffffffffffffffffffff60065416604051908152f35b34610138575f60031936011261013857610612610e96565b61061a610e96565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f54165f557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b3461013857604060031936011261013857610685610841565b3373ffffffffffffffffffffffffffffffffffffffff8216036106ae5761001e90600435610dcc565b7f6697b232000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101385760406003193601126101385761001e6004356106f5610841565b9061070f610261825f526001602052600160405f20015490565b610cf8565b346101385760206003193601126101385760206102896004355f526001602052600160405f20015490565b3461013857602060031936011261013857600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361013857817f1b6036c80000000000000000000000000000000000000000000000000000000060209314908115610817575b81156107ba575b5015158152f35b7f7965db0b000000000000000000000000000000000000000000000000000000008114915081156107ed575b50836107b3565b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014836107e6565b7f5c975abb00000000000000000000000000000000000000000000000000000000811491506107ac565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013857565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013857565b9190820180921161089457565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761090257604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b519069ffffffffffffffffffff8216820361013857565b908160a09103126101385761095a8161092f565b9160208201519160408101519161097860806060840151930161092f565b90565b8181029291811591840414171561089457565b73ffffffffffffffffffffffffffffffffffffffff60045416806109c057506109bc600a916005549061097b565b0490565b60a0600491604051928380927ffeaf968c0000000000000000000000000000000000000000000000000000000082525afa908115610213575f91610a5d575b506305f5e1008202918083046305f5e100149015171561089457600554610a259161097b565b908115610a30570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b610a7f915060a03d60a011610a8a575b610a7781836108c1565b810190610946565b50505090505f6109ff565b503d610a6d565b73ffffffffffffffffffffffffffffffffffffffff6004541680610acf5750600a810290808204600a1490151715610894576005546109789161097b565b9060a0600492604051938480927ffeaf968c0000000000000000000000000000000000000000000000000000000082525afa918215610213576305f5e100926109bc92610b23925f92610b2c575b5061097b565b6005549061097b565b610b4691925060a03d60a011610a8a57610a7781836108c1565b5050509050905f610b1d565b610b5a610eca565b610b62610f01565b610b6a610c09565b610b743433610f34565b610b7d34610a91565b610b8934600754610887565b600755610b968133611038565b60405190348252602082015233907f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b60403392a35f80808073ffffffffffffffffffffffffffffffffffffffff6006541681903415610bff575b3491f115610213576001600255565b6108fc9150610bf0565b335f9081527f9a12e7d163daa3679fdde2f980fb077ecd75d9611348bc15a31355afb064154e602052604090205460ff1615610c4157565b7fe2517d3f000000000000000000000000000000000000000000000000000000005f52336004527f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4960245260445ffd5b805f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260ff60405f20541615610cc95750565b7fe2517d3f000000000000000000000000000000000000000000000000000000005f523360045260245260445ffd5b805f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260ff60405f205416155f14610dc657805f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f2060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905573ffffffffffffffffffffffffffffffffffffffff339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260ff60405f2054165f14610dc657805f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00815416905573ffffffffffffffffffffffffffffffffffffffff339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b60ff5f541615610ea257565b7f8dfc202b000000000000000000000000000000000000000000000000000000005f5260045ffd5b6002805414610ed95760028055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b60ff5f5416610f0c57565b7fd93c0665000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff1615610fb45715610f5657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f43726f776473616c653a20616d6f756e742069732030000000000000000000006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f43726f776473616c653a2062656e656669636961727920697320746865207a6560448201527f726f2061646472657373000000000000000000000000000000000000000000006064820152fd5b600854909190156111015773ffffffffffffffffffffffffffffffffffffffff6009541660085492813b1561013857606473ffffffffffffffffffffffffffffffffffffffff915f809460405197889586947ff74bc9d600000000000000000000000000000000000000000000000000000000865216600485015260248401528660448401525af1918215610213576110ef926110f1575b5073ffffffffffffffffffffffffffffffffffffffff60095416611106565b565b5f6110fb916108c1565b5f6110d0565b6110ef915b73ffffffffffffffffffffffffffffffffffffffff60446020925f836003541660405196879586947fa9059cbb00000000000000000000000000000000000000000000000000000000865216600485015260248401525af1908115610213575f916111d2575b501561117457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5472616e7366657220756e7375636365737366756c00000000000000000000006044820152fd5b90506020813d602011611205575b816111ed602093836108c1565b8101031261013857518015158103610138575f61116c565b3d91506111e056fea2646970667358221220aa62a2cc6256fe438d5d85be7f30323babd16da162f6d028899f9715936784e664736f6c634300081b0033a6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49","sourceMap":"174:336:0:-:0;;;;;;;;;;;;;-1:-1:-1;;174:336:0;;;;-1:-1:-1;;;;;174:336:0;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;174:336:0;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2232:4:29;174:336:0;2061:21:45;2232:4:29;1928:21:6;;174:336:0;;-1:-1:-1;;;;;174:336:0;;2009:20:6;;174:336:0;;2081:42:6;2112:10;2081:42;:::i;:::-;;174:336:0;;;;;;;;;;;2232:4:29;2133:45:6;2232:4:29;;;2133:45:6;2232:4:29;174:336:0;;;;;2232:4:29;2188:23:6;2232:4:29;;;2188:23:6;2232:4:29;174:336:0;;;;;2232:4:29;2221:17:6;2232:4:29;;;2221:17:6;2232:4:29;2248:19:6;2232:4:29;2277:33:6;2232:4:29;174:336:0;;;;;;;;;;;2232:4:29;2320:43:6;2232:4:29;;;2320:43:6;2232:4:29;174:336:0;;;;;;;;;;;;-1:-1:-1;;;174:336:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;174:336:0;;;;;;;;;;-1:-1:-1;;;174:336:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;174:336:0;;;;;;;;-1:-1:-1;174:336:0;;;;;;-1:-1:-1;174:336:0;;;;;-1:-1:-1;174:336:0;;;;-1:-1:-1;;;;;174:336:0;;;;;;:::o;6179:316:29:-;-1:-1:-1;;;;;174:336:0;;1947:1:6;174:336:0;;;-1:-1:-1;;;;;;;;;;;174:336:0;;;;;;;;;;-1:-1:-1;;;;;174:336:0;1947:1:6;174:336:0;;;-1:-1:-1;;;;;;;;;;;174:336:0;;;;;;;-1:-1:-1;;174:336:0;2954:6:29;174:336:0;;;735:10:42;;174:336:0;6370:40:29;1947:1:6;;6370:40:29;2954:6;6424:11;:::o;6272:217::-;6466:12;1947:1:6;6466:12:29;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610028575b5036156100205761001e610b52565b005b61001e610b52565b5f3560e01c90816301ffc9a71461073f57508063248a9ca3146107145780632f2ff15d146106d657806336568abe1461066c5780633f4ba83a146105fa578063521eb273146105c75780635c975abb146105a65780635f1c37661461049657806360659a92146103ec5780636681b9fd146103cf5780637a3226ec1461039557806382d5d7ac146103775780638456cb591461030257806391d14854146102ab578063a217fddf14610291578063c2507ac11461026b578063d547741f14610228578063ec8ac4d81461013c5763fc0c546a14610105575f61000f565b34610138575f60031936011261013857602073ffffffffffffffffffffffffffffffffffffffff60035416604051908152f35b5f80fd5b602060031936011261013857610150610864565b610158610eca565b610160610f01565b610168610c09565b6101723482610f34565b73ffffffffffffffffffffffffffffffffffffffff61019034610a91565b9161019d34600754610887565b6007556101aa8382611038565b60405192348452602084015216907f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b60403392a35f80808073ffffffffffffffffffffffffffffffffffffffff600654168190341561021e575b3491f115610213576001600255005b6040513d5f823e3d90fd5b6108fc9150610204565b346101385760406003193601126101385761001e600435610247610841565b90610266610261825f526001602052600160405f20015490565b610c91565b610dcc565b34610138576020600319360112610138576020610289600435610a91565b604051908152f35b34610138575f6003193601126101385760206040515f8152f35b34610138576040600319360112610138576102c4610841565b6004355f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060ff60405f2054166040519015158152f35b34610138575f6003193601126101385761031a610f01565b610322610f01565b60017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f5416175f557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a1005b3461013857602060031936011261013857602061028960043561098e565b34610138575f6003193601126101385760206040517f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b498152f35b34610138575f600319360112610138576020600754604051908152f35b34610138575f600319360112610138576024602073ffffffffffffffffffffffffffffffffffffffff60035416604051928380927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa8015610213575f90610463575b602090604051908152f35b506020813d60201161048e575b8161047d602093836108c1565b810103126101385760209051610458565b3d9150610470565b34610138576040600319360112610138576104af610864565b602435906104bb610eca565b6104c3610f01565b335f9081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49602052604090205460ff16156105765773ffffffffffffffffffffffffffffffffffffffff906105188361098e565b926105238483610f34565b61052f84600754610887565b60075561053c8183611038565b604051938452602084015216907f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b60403392a36001600255005b7fe2517d3f000000000000000000000000000000000000000000000000000000005f52336004525f60245260445ffd5b34610138575f60031936011261013857602060ff5f54166040519015158152f35b34610138575f60031936011261013857602073ffffffffffffffffffffffffffffffffffffffff60065416604051908152f35b34610138575f60031936011261013857610612610e96565b61061a610e96565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff005f54165f557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a1005b3461013857604060031936011261013857610685610841565b3373ffffffffffffffffffffffffffffffffffffffff8216036106ae5761001e90600435610dcc565b7f6697b232000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101385760406003193601126101385761001e6004356106f5610841565b9061070f610261825f526001602052600160405f20015490565b610cf8565b346101385760206003193601126101385760206102896004355f526001602052600160405f20015490565b3461013857602060031936011261013857600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361013857817f1b6036c80000000000000000000000000000000000000000000000000000000060209314908115610817575b81156107ba575b5015158152f35b7f7965db0b000000000000000000000000000000000000000000000000000000008114915081156107ed575b50836107b3565b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014836107e6565b7f5c975abb00000000000000000000000000000000000000000000000000000000811491506107ac565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013857565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013857565b9190820180921161089457565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761090257604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b519069ffffffffffffffffffff8216820361013857565b908160a09103126101385761095a8161092f565b9160208201519160408101519161097860806060840151930161092f565b90565b8181029291811591840414171561089457565b73ffffffffffffffffffffffffffffffffffffffff60045416806109c057506109bc600a916005549061097b565b0490565b60a0600491604051928380927ffeaf968c0000000000000000000000000000000000000000000000000000000082525afa908115610213575f91610a5d575b506305f5e1008202918083046305f5e100149015171561089457600554610a259161097b565b908115610a30570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b610a7f915060a03d60a011610a8a575b610a7781836108c1565b810190610946565b50505090505f6109ff565b503d610a6d565b73ffffffffffffffffffffffffffffffffffffffff6004541680610acf5750600a810290808204600a1490151715610894576005546109789161097b565b9060a0600492604051938480927ffeaf968c0000000000000000000000000000000000000000000000000000000082525afa918215610213576305f5e100926109bc92610b23925f92610b2c575b5061097b565b6005549061097b565b610b4691925060a03d60a011610a8a57610a7781836108c1565b5050509050905f610b1d565b610b5a610eca565b610b62610f01565b610b6a610c09565b610b743433610f34565b610b7d34610a91565b610b8934600754610887565b600755610b968133611038565b60405190348252602082015233907f6faf93231a456e552dbc9961f58d9713ee4f2e69d15f1975b050ef0911053a7b60403392a35f80808073ffffffffffffffffffffffffffffffffffffffff6006541681903415610bff575b3491f115610213576001600255565b6108fc9150610bf0565b335f9081527f9a12e7d163daa3679fdde2f980fb077ecd75d9611348bc15a31355afb064154e602052604090205460ff1615610c4157565b7fe2517d3f000000000000000000000000000000000000000000000000000000005f52336004527f8429d542926e6695b59ac6fbdcd9b37e8b1aeb757afab06ab60b1bb5878c3b4960245260445ffd5b805f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260ff60405f20541615610cc95750565b7fe2517d3f000000000000000000000000000000000000000000000000000000005f523360045260245260445ffd5b805f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260ff60405f205416155f14610dc657805f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f2060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905573ffffffffffffffffffffffffffffffffffffffff339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260ff60405f2054165f14610dc657805f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00815416905573ffffffffffffffffffffffffffffffffffffffff339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b60ff5f541615610ea257565b7f8dfc202b000000000000000000000000000000000000000000000000000000005f5260045ffd5b6002805414610ed95760028055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b60ff5f5416610f0c57565b7fd93c0665000000000000000000000000000000000000000000000000000000005f5260045ffd5b73ffffffffffffffffffffffffffffffffffffffff1615610fb45715610f5657565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f43726f776473616c653a20616d6f756e742069732030000000000000000000006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f43726f776473616c653a2062656e656669636961727920697320746865207a6560448201527f726f2061646472657373000000000000000000000000000000000000000000006064820152fd5b600854909190156111015773ffffffffffffffffffffffffffffffffffffffff6009541660085492813b1561013857606473ffffffffffffffffffffffffffffffffffffffff915f809460405197889586947ff74bc9d600000000000000000000000000000000000000000000000000000000865216600485015260248401528660448401525af1918215610213576110ef926110f1575b5073ffffffffffffffffffffffffffffffffffffffff60095416611106565b565b5f6110fb916108c1565b5f6110d0565b6110ef915b73ffffffffffffffffffffffffffffffffffffffff60446020925f836003541660405196879586947fa9059cbb00000000000000000000000000000000000000000000000000000000865216600485015260248401525af1908115610213575f916111d2575b501561117457565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f5472616e7366657220756e7375636365737366756c00000000000000000000006044820152fd5b90506020813d602011611205575b816111ed602093836108c1565b8101031261013857518015158103610138575f61116c565b3d91506111e056fea2646970667358221220aa62a2cc6256fe438d5d85be7f30323babd16da162f6d028899f9715936784e664736f6c634300081b0033","sourceMap":"174:336:0:-:0;;;;;;;;;;-1:-1:-1;174:336:0;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;174:336:0;;;;;;;4425:6:6;174:336:0;;;;;;;;;;;;;;-1:-1:-1;;174:336:0;;;;;;;:::i;:::-;2466:103:45;;:::i;:::-;1315:72:44;;:::i;:::-;2475:4:29;;:::i;:::-;6417:9:6;6365;6417;;:::i;:::-;174:336:0;6460:25:6;6365:9;6460:25;:::i;:::-;6365:9;6496:25;6365:9;6496:25;174:336:0;6496:25:6;:::i;:::-;;174:336:0;6560:11:6;;;;:::i;:::-;174:336:0;;6365:9:6;;174:336:0;;;;;;;735:10:42;6587:66:6;174:336:0;735:10:42;6587:66:6;;174:336:0;;;;;10477:7:6;174:336:0;;10477:27:6;6365:9;;10477:27;;;174:336:0;6365:9:6;10477:27;;;;;1857:1:45;3068:21;174:336:0;;10477:27:6;174:336:0;;;;;;;;;10477:27:6;;;-1:-1:-1;10477:27:6;;174:336:0;;;;;-1:-1:-1;;174:336:0;;;;;4747:26:29;174:336:0;;;;:::i;:::-;4717:18:29;2475:4;4717:18;;-1:-1:-1;174:336:0;3901:6:29;174:336:0;;3901:6:29;174:336:0;-1:-1:-1;174:336:0;3901:22:29;174:336:0;3810:120:29;;4717:18;2475:4;:::i;:::-;4747:26;:::i;174:336:0:-;;;;;-1:-1:-1;;174:336:0;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;174:336:0;;;;;;;;;;;;;;;;;-1:-1:-1;;174:336:0;;;;;;;:::i;:::-;;;;;;;;;;;;2954:29:29;174:336:0;-1:-1:-1;174:336:0;;;;;;-1:-1:-1;174:336:0;;;;;;;;;;;;;;;;-1:-1:-1;;174:336:0;;;;;1315:72:44;;:::i;:::-;;;:::i;:::-;2408:4;174:336:0;;;;;;;2427:20:44;174:336:0;;;735:10:42;174:336:0;;2427:20:44;174:336:0;;;;;;-1:-1:-1;;174:336:0;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;174:336:0;;;;;;;;954:29:6;174:336:0;;;;;;;;-1:-1:-1;;174:336:0;;;;;;4754:12:6;174:336:0;;;;;;;;;;;;-1:-1:-1;;174:336:0;;;;;4951:32:6;174:336:0;;4425:6:6;174:336:0;;;;4951:32:6;;;;174:336:0;4951:32:6;;4977:4;174:336:0;4951:32:6;;174:336:0;4951:32:6;;;;;;174:336:0;4951:32:6;;;174:336:0;;;;;;;;;4951:32:6;;174:336:0;4951:32:6;;174:336:0;4951:32:6;;;;;;174:336:0;4951:32:6;;;:::i;:::-;;;174:336:0;;;;;;;4951:32:6;;;;;-1:-1:-1;4951:32:6;;174:336:0;;;;;-1:-1:-1;;174:336:0;;;;;;;:::i;:::-;;;2466:103:45;;;:::i;:::-;1315:72:44;;:::i;:::-;735:10:42;174:336:0;;;;;;;;;;;;;3519:23:29;3515:108;;174:336:0;5569:25:6;;;;:::i;:::-;5637:9;;;;;:::i;:::-;5657:25;174:336:0;5657:25:6;174:336:0;5657:25:6;:::i;:::-;;174:336:0;5721:11:6;;;;:::i;:::-;174:336:0;;;;;;;;;;735:10:42;5748:66:6;174:336:0;735:10:42;5748:66:6;;174:336:0;3068:21:45;174:336:0;;3515:108:29;3565:47;174:336:0;3565:47:29;735:10:42;174:336:0;;;;;;;3565:47:29;174:336:0;;;;;-1:-1:-1;;174:336:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;174:336:0;;;;;;;4596:7:6;174:336:0;;;;;;;;;;;;;-1:-1:-1;;174:336:0;;;;;1565:66:44;;:::i;:::-;;;:::i;:::-;174:336:0;;;;;;2674:22:44;174:336:0;;;735:10:42;174:336:0;;2674:22:44;174:336:0;;;;;;-1:-1:-1;;174:336:0;;;;;;;:::i;:::-;735:10:42;174:336:0;;;5421:34:29;5417:102;;5529:37;174:336:0;;;5529:37:29;:::i;5417:102::-;5478:30;174:336:0;5478:30:29;174:336:0;;5478:30:29;174:336:0;;;;;-1:-1:-1;;174:336:0;;;;;4330:25:29;174:336:0;;;;:::i;:::-;4300:18:29;2475:4;4300:18;;-1:-1:-1;174:336:0;3901:6:29;174:336:0;;3901:6:29;174:336:0;-1:-1:-1;174:336:0;3901:22:29;174:336:0;3810:120:29;;2475:4;4330:25;:::i;174:336:0:-;;;;;-1:-1:-1;;174:336:0;;;;;;;;;-1:-1:-1;174:336:0;3901:6:29;174:336:0;;3901:6:29;174:336:0;-1:-1:-1;174:336:0;3901:22:29;174:336:0;3810:120:29;;174:336:0;;;;;-1:-1:-1;;174:336:0;;;;;;;;;;;;;;;;2507:43:6;2522:28;174:336:0;2507:43:6;;:88;;;;;174:336:0;2507:140:6;;;;174:336:0;;;;;;;2507:140:6;2688:32:29;2673:47;;;-1:-1:-1;2673:87:29;;;;2507:140:6;;;;;2673:87:29;877:25:46;862:40;;;2673:87:29;;;2507:88:6;2569:26;2554:41;;;-1:-1:-1;2507:88:6;;174:336:0;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;174:336:0;;;;;-1:-1:-1;174:336:0;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;:::o;9945:402:6:-;174:336:0;10040:9:6;174:336:0;;10032:32:6;10028:231;;174:336:0;10277:24:6;10305:2;174:336:0;10293:8:6;174:336:0;10277:24:6;;:::i;:::-;174:336:0;9945:402:6;:::o;10028:231::-;10147:27;10040:9;174:336:0;;;10147:27:6;;;;174:336:0;10147:27:6;;;;;;;;;174:336:0;10147:27:6;;;10028:231;174:336:0;10210:7:6;174:336:0;;;;;;10210:7:6;174:336:0;;;;;;;10239:8:6;174:336:0;10222:25:6;;;:::i;:::-;10195:53;174:336:0;;;;;10188:60:6;:::o;174:336:0:-;;;;;10040:9:6;174:336:0;;;;10147:27:6;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;;9402:396;174:336:0;9497:9:6;174:336:0;;9489:32:6;9485:229;;174:336:0;9744:2:6;174:336:0;;;;;;9744:2:6;174:336:0;;;;;;;9750:8:6;174:336:0;9731:27:6;;;:::i;9485:229::-;174:336:0;9604:27:6;9497:9;174:336:0;;;9604:27:6;;;;174:336:0;9604:27:6;;;;;;;;;9696:7;174:336:0;9653:39:6;174:336:0;9654:26:6;174:336:0;;9604:27:6;;;9485:229;9654:26;;:::i;:::-;9684:8;174:336:0;9653:39:6;;:::i;9604:27::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;3674:67;2466:103:45;;:::i;:::-;1315:72:44;;:::i;:::-;2475:4:29;;:::i;:::-;6417:9:6;6365;735:10:42;6417:9:6;:::i;:::-;6460:25;6365:9;6460:25;:::i;:::-;6496;6365:9;6496:25;174:336:0;6496:25:6;:::i;:::-;;174:336:0;6560:11:6;735:10:42;;6560:11:6;:::i;:::-;174:336:0;;6365:9:6;;174:336:0;;;;;;735:10:42;;6587:66:6;174:336:0;735:10:42;6587:66:6;;-1:-1:-1;174:336:0;;;;10477:7:6;174:336:0;;10477:27:6;6365:9;;10477:27;;;3674:67;6365:9;10477:27;;;;;1857:1:45;3068:21;174:336:0;3674:67:6:o;10477:27::-;;;-1:-1:-1;10477:27:6;;3199:103:29;735:10:42;-1:-1:-1;174:336:0;;;;;;;;;;;;3519:23:29;3515:108;;3199:103::o;3515:108::-;3565:47;-1:-1:-1;3565:47:29;735:10:42;3565:47:29;174:336:0;954:29:6;174:336:0;;;-1:-1:-1;3565:47:29;3199:103;174:336:0;-1:-1:-1;174:336:0;2954:6:29;174:336:0;;;-1:-1:-1;174:336:0;;735:10:42;174:336:0;-1:-1:-1;174:336:0;;;;;-1:-1:-1;174:336:0;;;3519:23:29;3515:108;;3199:103;:::o;3515:108::-;3565:47;-1:-1:-1;3565:47:29;735:10:42;3565:47:29;174:336:0;;;;-1:-1:-1;3565:47:29;6179:316;174:336:0;;;2954:6:29;174:336:0;;;;;;;;-1:-1:-1;174:336:0;;;;;-1:-1:-1;174:336:0;;;6276:23:29;6272:217;174:336:0;;;;;;2954:6:29;174:336:0;;;;;;;;-1:-1:-1;174:336:0;;;;-1:-1:-1;174:336:0;2954:6:29;174:336:0;;;;;;;;735:10:42;174:336:0;;6370:40:29;;174:336:0;6370:40:29;;2954:6;6424:11;:::o;6272:217::-;6466:12;;174:336:0;6466:12:29;:::o;6732:317::-;174:336:0;;;2954:6:29;174:336:0;;;;;;;;-1:-1:-1;174:336:0;;;;;-1:-1:-1;174:336:0;;;6826:217:29;174:336:0;;;;;;2954:6:29;174:336:0;;;;;;;;-1:-1:-1;174:336:0;;;;-1:-1:-1;174:336:0;;;;;;;;735:10:42;174:336:0;;6924:40:29;;174:336:0;6924:40:29;;2954:6;6978:11;:::o;2078:126:44:-;174:336:0;1796:7:44;174:336:0;;2140:9:44;2136:62;;2078:126::o;2136:62::-;2172:15;1796:7;2172:15;;1796:7;2172:15;2575:307:45;2702:7;174:336:0;;2702:18:45;2698:86;;2702:7;174:336:0;;2575:307:45:o;2698:86::-;2743:30;-1:-1:-1;2743:30:45;;-1:-1:-1;2743:30:45;1878:128:44;174:336:0;1796:7:44;174:336:0;;1939:61:44;;1878:128::o;1939:61::-;1974:15;1796:7;1974:15;;1796:7;1974:15;6889:387:6;174:336:0;;6990:25:6;174:336:0;;7080:14:6;174:336:0;;6889:387:6:o;174:336:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7542:347:6;7632:15;174:336:0;7542:347:6;;;7632:19;;;174:336:0;7667:13:6;174:336:0;;7632:15:6;174:336:0;7667:71:6;;;;;;;174:336:0;;-1:-1:-1;174:336:0;;;;7667:71:6;;;;;174:336:0;7667:71:6;;174:336:0;7667:71:6;;;174:336:0;;;;;;;;;;7667:71:6;;;;;;;7790:11;7667:71;;;7628:255;174:336:0;;7667:13:6;174:336:0;;7790:11:6;:::i;:::-;7542:347::o;7667:71::-;-1:-1:-1;7667:71:6;;;:::i;:::-;-1:-1:-1;7667:71:6;;7628:255;7860:11;;8205:198;174:336:0;8304:41:6;174:336:0;8205:198:6;-1:-1:-1;174:336:0;8304:6:6;174:336:0;;;;8304:41:6;;;;;174:336:0;8304:41:6;;174:336:0;8304:41:6;;;174:336:0;;;;;8304:41:6;;;;;;;-1:-1:-1;8304:41:6;;;8205:198;174:336:0;;;;8205:198:6:o;174:336:0:-;;;;;;;;8304:41:6;174:336:0;;;;;;;;;8304:41:6;174:336:0;;;;8304:41:6;;;174:336:0;8304:41:6;;174:336:0;8304:41:6;;;;;;174:336:0;8304:41:6;;;:::i;:::-;;;174:336:0;;;;;;;;;;;;8304:41:6;;;;;;-1:-1:-1;8304:41:6;","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","WHITELISTED_ROLE()":"7a3226ec","buyTokens(address)":"ec8ac4d8","externalBuyTokens(address,uint256)":"5f1c3766","fundsRaised()":"6681b9fd","getRoleAdmin(bytes32)":"248a9ca3","getTokenAmount(uint256)":"c2507ac1","getWeiAmount(uint256)":"82d5d7ac","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","pause()":"8456cb59","paused()":"5c975abb","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","token()":"fc0c546a","tokensAvailable()":"60659a92","unpause()":"3f4ba83a","wallet()":"521eb273"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"priceFeed_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"wallet_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"usdRate_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"vestingEndDate_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"vestingVault_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"EnforcedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ExpectedPause\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"purchaser\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokensPurchased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"Unpaused\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"WHITELISTED_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"}],\"name\":\"buyTokens\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"}],\"name\":\"externalBuyTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fundsRaised\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"weiAmount\",\"type\":\"uint256\"}],\"name\":\"getTokenAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenAmount\",\"type\":\"uint256\"}],\"name\":\"getWeiAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"paused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokensAvailable\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"wallet\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"EnforcedPause()\":[{\"details\":\"The operation failed because the contract is paused.\"}],\"ExpectedPause()\":[{\"details\":\"The operation failed because the contract is not paused.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"Paused(address)\":{\"details\":\"Emitted when the pause is triggered by `account`.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted to signal this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Unpaused(address)\":{\"details\":\"Emitted when the pause is lifted by `account`.\"}},\"kind\":\"dev\",\"methods\":{\"buyTokens(address)\":{\"details\":\"low level token purchase This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\"}},\"externalBuyTokens(address,uint256)\":{\"details\":\"utility function to allow the owner to handle private and bitcoin buyers This function has a non-reentrancy guard, so it shouldn't be called by another `nonReentrant` function.\",\"params\":{\"beneficiary\":\"Recipient of the token purchase\",\"tokenAmount\":\"Number of tokens to be purchased\"}},\"fundsRaised()\":{\"returns\":{\"_0\":\"the amount of funds raised.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"getTokenAmount(uint256)\":{\"details\":\"Converts the weiAmount into equivalent number of tokens\",\"params\":{\"weiAmount\":\"Value of wei for conversion\"}},\"getWeiAmount(uint256)\":{\"details\":\"Converts the tokenAmount into equivalent number of wei\",\"params\":{\"tokenAmount\":\"Number of tokens for convertion\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"pause()\":{\"details\":\"Triggers stopped state. Requirements: - The contract must not be paused. - The sender of the transaction must have the DEFAULT_ADMIN_ROLE\"},\"paused()\":{\"details\":\"Returns true if the contract is paused, and false otherwise.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"token()\":{\"returns\":{\"_0\":\"the address of the token being sold.\"}},\"tokensAvailable()\":{\"returns\":{\"_0\":\"the amount tokens available to the crowdsale for selling.\"}},\"unpause()\":{\"details\":\"Returns to normal state. Requirements: - The contract must be paused. - The sender of the transaction must have the DEFAULT_ADMIN_ROLE\"},\"wallet()\":{\"returns\":{\"_0\":\"the address where funds are collected.\"}}},\"title\":\"ExampleCrowdSale\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ExampleCrowdSale.sol\":\"ExampleCrowdSale\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"contracts/ExampleCrowdSale.sol\":{\"keccak256\":\"0xe5a0e34725bd73ea710cab6c17941d1ab35047dc4bf532d30d06f8a19acd9bbb\",\"license\":\"FSL-1.1-MIT\",\"urls\":[\"bzz-raw://4436dd594f102b555a4f02aeab0b795e9e9ec302e3b998e04d2de0dc265994f1\",\"dweb:/ipfs/QmecLoA7j1gR5BcmYWJr8cgPDL8Mz6tSYjPS2RTyzjs92k\"]},\"contracts/library/AggregatorV3Interface.sol\":{\"keccak256\":\"0x6fe9022adc0ea2fe59271183cd952e1679262f1c239583ecad824dbd25f723b8\",\"license\":\"FSL-1.1-MIT\",\"urls\":[\"bzz-raw://c7eb625f0943857cb5d4820d8b44918153fae0b6e6204debb4a0c3dd763f91de\",\"dweb:/ipfs/QmNz2mLb7X17sqf7EQmNai3bG9NqVw732M9ogyddeqgRuV\"]},\"contracts/library/CrowdSale.sol\":{\"keccak256\":\"0x6daf7c8f3c38229eca479270cbbee2aec5090f1758941f9979faf6117af4787d\",\"license\":\"FSL-1.1-MIT\",\"urls\":[\"bzz-raw://0bfc8f658db29b8ad4055fe1f4bf5090e5a7043be3eda0d308e9d7ac943b147d\",\"dweb:/ipfs/QmNMGdx1tgoy8ZE4boqYsnXvBmaoGMqtquz16hP5JfrssD\"]},\"contracts/library/ICrowdSale.sol\":{\"keccak256\":\"0xe5539638218e0e027b15b9c236cb9d2dcffcb0ea3ed79d8374e11d120d1b1d4d\",\"license\":\"FSL-1.1-MIT\",\"urls\":[\"bzz-raw://3600a70cc759026e923c594f69fd68d5ad3476fcfaa5945245ce08fe94b0a953\",\"dweb:/ipfs/QmRq9A3iei2J1ocWDoq1xL5xLdnSAgxfuktuC3XsFhFUqh\"]},\"contracts/library/IVestingVault.sol\":{\"keccak256\":\"0xf3f074546fdb24b8d2889ffd7947b5134669f1eb47c4baf30abf4663f6d320d7\",\"license\":\"FSL-1.1-MIT\",\"urls\":[\"bzz-raw://e13d929241510074238c4d3797aeaa9a8f3bea58c9d8beab73c2a39583dcf56e\",\"dweb:/ipfs/QmNX2cSo1uxxuviE5SL8wUgMgC2DBrDEyZa8KVd9DipUAU\"]},\"contracts/library/VestingVault.sol\":{\"keccak256\":\"0x0386c58188ed9a89f544a617e7b628210935857895b07549854a19e140a1b21c\",\"license\":\"FSL-1.1-MIT\",\"urls\":[\"bzz-raw://c2d8275e0105f4a6c134acb7057706b00c437e3b5e72185479024343346ab1ee\",\"dweb:/ipfs/QmegrKCswosuTqn2uizDBKmrMFboBN9ATcXPVcyLzbUpdR\"]},\"node_modules/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xc1bebdee8943bd5e9ef1e0f2e63296aa1dd4171a66b9e74d0286220e891e1458\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928cf2f0042c606f3dcb21bd8a272573f462a215cd65285d2d6b407f31e9bd67\",\"dweb:/ipfs/QmWGxjckno6sfjHPX5naPnsfsyisgy4PJDf46eLw9umfpx\"]},\"node_modules/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\