{"compiler":{"version":"0.7.6+commit.7338295f"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"address","name":"_token","type":"address"},{"internalType":"contract PricingStrategy","name":"_pricingStrategy","type":"address"},{"internalType":"address","name":"_multisigWallet","type":"address"},{"internalType":"uint256","name":"_start","type":"uint256"},{"internalType":"uint256","name":"_end","type":"uint256"},{"internalType":"uint256","name":"_minimumFundingGoal","type":"uint256"},{"internalType":"uint256","name":"_maximumSellableTokens","type":"uint256"},{"internalType":"bool","name":"_isUpdatable","type":"bool"},{"internalType":"bool","name":"_isWhiteListed","type":"bool"},{"internalType":"address","name":"_tokenVestingAddress","type":"address"},{"internalType":"contract MintedTokenCappedCrowdsaleExtv1","name":"_oldMintedTokenCappedCrowdsaleExtAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"bool","name":"state","type":"bool"}],"name":"AllocateAgentChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newEndsAt","type":"uint256"}],"name":"EndsAtChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"time","type":"uint256"}],"name":"FundWithdrawnToMultiSigWallet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"investor","type":"address"},{"indexed":false,"internalType":"uint256","name":"weiAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"indexed":false,"internalType":"uint128","name":"customerId","type":"uint128"}],"name":"Invested","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newMaximumSellableTokens","type":"uint256"}],"name":"MaximumSellableTokensChanged","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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"newStartsAt","type":"uint256"}],"name":"StartsAtChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"},{"indexed":false,"internalType":"uint256","name":"minCap","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"maxCap","type":"uint256"}],"name":"WhitelistItemChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"addr","type":"address"},{"indexed":false,"internalType":"bool","name":"status","type":"bool"},{"indexed":false,"internalType":"uint256","name":"minCap","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"maxCap","type":"uint256"}],"name":"Whitelisted","type":"event"},{"inputs":[],"name":"MAX_INVESTMENTS_BEFORE_MULTISIG_CHANGE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"uint256","name":"tokenAmount","type":"uint256"},{"internalType":"uint128","name":"customerId","type":"uint128"},{"internalType":"uint256","name":"lockedTokenAmount","type":"uint256"}],"name":"allocate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"allocateAgents","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"areReservedTokensDistributed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buy","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"canDistributeReservedTokens","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentRaisedFundWithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"decreaseEarlyParticipantWhitelistMaxCap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"reservedTokensDistributionBatch","type":"uint256"}],"name":"distributeReservedTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"earlyParticipantWhitelist","outputs":[{"internalType":"bool","name":"status","type":"bool"},{"internalType":"uint256","name":"minCap","type":"uint256"},{"internalType":"uint256","name":"maxCap","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endsAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"finalizeAgent","outputs":[{"internalType":"contract FinalizeAgent","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"finalized","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getLastTier","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getState","outputs":[{"internalType":"enum CrowdsaleExt.State","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getTierPosition","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"halt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"halted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"invest","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"investedAmountOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"investedAmountOfAddresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"investorCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isAddressWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokensSoldTotal","type":"uint256"}],"name":"isBreakingCap","outputs":[{"internalType":"bool","name":"limitBroken","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"weiAmount","type":"uint256"}],"name":"isBreakingInvestorCap","outputs":[{"internalType":"bool","name":"limitBroken","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isCrowdsale","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"isCrowdsaleFull","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isFinalizerSane","outputs":[{"internalType":"bool","name":"sane","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isMinimumGoalReached","outputs":[{"internalType":"bool","name":"reached","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isPricingSane","outputs":[{"internalType":"bool","name":"sane","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"isTierJoined","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isUpdatable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isWhiteListed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"joinedCrowdsaleState","outputs":[{"internalType":"bool","name":"isJoined","type":"bool"},{"internalType":"uint8","name":"position","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"joinedCrowdsales","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"joinedCrowdsalesLen","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"joinedCrowdsalesLenMax","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maximumSellableTokens","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumFundingGoal","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintedTokenCappedCrowdsaleExt","outputs":[{"internalType":"contract MintedTokenCappedCrowdsaleExtv1","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"multisigWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ownerTestValue","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pricingStrategy","outputs":[{"internalType":"contract PricingStrategy","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"state","type":"bool"}],"name":"setAllocateAgent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"setCrowdsaleTokenExtv1","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bool","name":"status","type":"bool"},{"internalType":"uint256","name":"minCap","type":"uint256"},{"internalType":"uint256","name":"maxCap","type":"uint256"}],"name":"setEarlyParticipantWhitelist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addrs","type":"address[]"},{"internalType":"bool[]","name":"statuses","type":"bool[]"},{"internalType":"uint256[]","name":"minCaps","type":"uint256[]"},{"internalType":"uint256[]","name":"maxCaps","type":"uint256[]"}],"name":"setEarlyParticipantWhitelistMultiple","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"setEndsAt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract FinalizeAgent","name":"addr","type":"address"}],"name":"setFinalizeAgent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"setMaximumSellableTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"setMultisig","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract PricingStrategy","name":"_pricingStrategy","type":"address"}],"name":"setPricingStrategy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"time","type":"uint256"}],"name":"setStartsAt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startsAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract FractionalERC20Ext","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"tokenAmountOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenVesting","outputs":[{"internalType":"contract TokenVesting","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokenVestingAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tokensSold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unhalt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addrs","type":"address[]"}],"name":"updateJoinedCrowdsalesMultiple","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"oneTokenInCents","type":"uint256"}],"name":"updateRate","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"weiRaised","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"whitelistedParticipants","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"whitelistedParticipantsLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}],"devdoc":{"kind":"dev","methods":{"setCrowdsaleTokenExtv1(address)":{"params":{"_token":"upgraded token address"}},"transferOwnership(address)":{"details":"Allows the current owner to transfer control of the contract to a newOwner.","params":{"newOwner":"The address to transfer ownership to."}}},"version":1},"userdoc":{"kind":"user","methods":{"allocate(address,uint256,uint128,uint256)":{"notice":"allocate tokens for the early investors. Preallocated tokens have been sold before the actual crowdsale opens. This function mints the tokens and moves the crowdsale needle. Investor count is not handled; it is assumed this goes for multiple investors and the token distribution happens outside the smart contract flow. No money is exchanged, as the crowdsale team already have received the payment. param weiPrice Price of a single full token in wei"},"allocateAgents(address)":{"notice":"List of agents that are allowed to allocate new tokens "},"buy()":{"notice":"The basic entry point to participate the crowdsale process. Pay for funding, get invested tokens back in the sender address."},"earlyParticipantWhitelist(address)":{"notice":"Addresses that are allowed to invest even before ICO offical opens. For testing, for ICO partners, etc. "},"finalize()":{"notice":"Finalize a succcesful crowdsale. The owner can triggre a call the contract that provides post-crowdsale actions, like releasing the tokens."},"getState()":{"notice":"Crowdfund state machine management. We make it a function and do not assign the result to a variable,  so there is no chance of the variable being stale."},"invest(address)":{"notice":"Allow anonymous contributions to this crowdsale."},"investedAmountOf(address)":{"notice":"How much ETH each address has invested to this crowdsale "},"isBreakingCap(uint256)":{"notice":"Called from invest() to confirm if the curret investment does not break our cap rule."},"isCrowdsale()":{"notice":"Interface marker. "},"isCrowdsaleFull()":{"notice":"Check if the current crowdsale is full and we can no longer sell any tokens."},"isFinalizerSane()":{"notice":"Check if the contract relationship looks good."},"isMinimumGoalReached()":{"notice":"Return true if the crowdsale has raised enough money to be a successful."},"isPricingSane()":{"notice":"Check if the contract relationship looks good."},"ownerTestValue()":{"notice":"This is for manul testing for the interaction from owner wallet.  You can set it to any value and inspect this in blockchain explorer to see that crowdsale interaction works. "},"setAllocateAgent(address,bool)":{"notice":"Owner can allow a crowdsale contract to allocate new tokens."},"setCrowdsaleTokenExtv1(address)":{"notice":"Allow to (re)set Token."},"setEarlyParticipantWhitelist(address,bool,uint256,uint256)":{"notice":"Allow addresses to do early participation."},"setEndsAt(uint256)":{"notice":"Allow crowdsale owner to close early or extend the crowdsale. This is useful e.g. for a manual soft cap implementation: - after X amount is reached determine manual closing This may put the crowdsale to an invalid state, but we trust owners know what they are doing."},"setFinalizeAgent(address)":{"notice":"Allow to (re)set finalize agent. Design choice: no state restrictions on setting this, so that we can fix fat finger mistakes."},"setMultisig(address)":{"notice":"Allow to change the team multisig address in the case of emergency. This allows to save a deployed crowdsale wallet in the case the crowdsale has not yet begun (we have done only few test transactions). After the crowdsale is going then multisig address stays locked for the safety reasons."},"setPricingStrategy(address)":{"notice":"Allow to (re)set pricing strategy. Design choice: no state restrictions on the set, so that we can fix fat finger mistakes."},"tokenAmountOf(address)":{"notice":"How much tokens this crowdsale has credited for each investor address "},"whitelistedParticipants(uint256)":{"notice":"List of whitelisted addresses "}},"notice":"ICO crowdsale contract that is capped by amout of tokens. - Tokens are dynamically created during the crowdsale","version":1}},"settings":{"compilationTarget":{"project:/contracts/MintedTokenCappedCrowdsaleExtv1.sol":"MintedTokenCappedCrowdsaleExtv1"},"evmVersion":"istanbul","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"project:/contracts/Allocatable.sol":{"keccak256":"0xbe57809fa012dd15115dd7a3c4aadc85fb1a3e73a908f1928cf2553a74443193","license":"MIT","urls":["bzz-raw://c7215e84f4fbcb15c77dd0891f78a1597e1417915894093afb3f42cc92dbca42","dweb:/ipfs/Qmcy1QGR9HfSPaM6UKwcTMgd2DBhB3CtfawyuucGaQ8EBu"]},"project:/contracts/CrowdsaleExt.sol":{"keccak256":"0x46306581052c74797ef3be80eba3405f487ae0b1e959557de8f14e996b499965","license":"MIT","urls":["bzz-raw://b9c9734987d9ac3f9b12245281e52eedfb7923102e3bad032f737c36c6dfd372","dweb:/ipfs/QmcqgzmqKi375rx22XwMgPVDDjWietseHvReyUjCVyMZav"]},"project:/contracts/ERC20.sol":{"keccak256":"0xc9e43b10e15263d32a9ddf0445d7bf2d812ecc3803cf500371667d11312c266f","license":"MIT","urls":["bzz-raw://cf6f061aa7c943334fc73242a010031959b57902afed0ce6e42cf200d90b383f","dweb:/ipfs/QmThDrzGWxsGkHQnsD1zPmHdd6a557uA6Zoiu9wGz78Fjd"]},"project:/contracts/ERC20Basic.sol":{"keccak256":"0xdbf7f3331900874d27aba64b71236292e88bd5a13f3b6e50673809f845eec768","license":"MIT","urls":["bzz-raw://9915658fc1e4f0ba91f8ca73c03db7cd83026c5f077d850bda787e48cf2d1f9f","dweb:/ipfs/QmPguq7cMahK1nm4xQmTkTi74ihGDQaee4nSoHjxFsJsia"]},"project:/contracts/FinalizeAgent.sol":{"keccak256":"0x17a060cb6e17dd30c8d76dc31dc93eab9c88db0cb51432bfb75f4e23f975ca02","license":"MIT","urls":["bzz-raw://c9589ec33bcbfa27d4ce564fae10c3aeaa24280476e98a87dbcedbc8f689e484","dweb:/ipfs/QmRKoUGSMamkmXBmP7jjrQ6DpjmVa7hVcvHGKLoAzhU7h6"]},"project:/contracts/FractionalERC20Ext.sol":{"keccak256":"0x6e61677f78e3b7abdfc6f6acae35f346153a371d0f68a7da9d2c16c651f3728f","license":"MIT","urls":["bzz-raw://f9ee8fe8a298de9d86ade9c4264126ee6e738f0fa8c185ff43b62e466c3a2d1e","dweb:/ipfs/QmXKXUYPTeCbxWf4JKTEWibYzvUNMw5DpDmueDnvwzrS6x"]},"project:/contracts/Haltable.sol":{"keccak256":"0x920cf6f656280a9beedbd61016ed27ca9fca24151e22a5d96d1f76af8a1ee383","license":"MIT","urls":["bzz-raw://259a91ccca6bc06a660b6c2f8b121d9e6a0db21d878743fe084d01f611210595","dweb:/ipfs/QmVVYWnyYeawUkW1jwmbBLWMqFtmx1RXyG9QdMi6JYCjKB"]},"project:/contracts/MintableTokenExt.sol":{"keccak256":"0x44374fa54dff39909af8bf3113dc9ed801241a05daf01afc12211b3bc1829b8c","license":"MIT","urls":["bzz-raw://634e2efbb494d535869beec0d76da799b887c0e8dc52f0940487503f1d856b9e","dweb:/ipfs/QmfYGN2RdTQ6ZTzHG8ZRZRt4ZChQ4p2Vwms3QbyKoh35nv"]},"project:/contracts/MintedTokenCappedCrowdsaleExt.sol":{"keccak256":"0x6840f03a360a2b1e600fcbf29a2dad9d4025bb89516dc8b9a56750f5a7ef0ac0","license":"MIT","urls":["bzz-raw://ccd1d3c09d4bdd2aa7f8156f9995877c714b2fa89a065aa50a6764b91ce61007","dweb:/ipfs/QmRHtsUUM3SDTYQa5cWY9HgTAmTgQaSTcz9sW8mrpD9Eym"]},"project:/contracts/MintedTokenCappedCrowdsaleExtv1.sol":{"keccak256":"0x02e9cb8d05837636d98eb0d544e8ebd3f32c0c71489840f64db8f6627ba42a00","license":"MIT","urls":["bzz-raw://69785e219a65483f65a45ba38bcc0777671552c5b80cc8cc7a8b26b4961cd4ce","dweb:/ipfs/QmRn6C3eNDTV4Zes8cZntsZj9ie1v9Ej1V3EFJE327jSyA"]},"project:/contracts/Ownable.sol":{"keccak256":"0x6be283daf1f514fdcbe9f02991eefdd1d33e1eb9030f9e69a39a58ff24e8aa1f","license":"MIT","urls":["bzz-raw://9837b14ff3ba3308051250ea9804b6b9da0bcfce28b343e5f4bda15fa3c6cdb4","dweb:/ipfs/QmNqHhhChqEUAHfJRjZUuFTRcM1e6RPduUHNzLpXVfP6Ts"]},"project:/contracts/PricingStrategy.sol":{"keccak256":"0x03dbd7672ef13724918713649eb2ef1f3a338b4becc2efb677765ea2103024ee","license":"MIT","urls":["bzz-raw://aa61e219debfa2ea948bc4d57e8b425bc8efaf310d031c0a7df4269328b52993","dweb:/ipfs/QmeJcHngU2mLDp5iQeguJ74E7jCENdbQFEacviNQUdsgM3"]},"project:/contracts/SafeMathLibExt.sol":{"keccak256":"0x9869038bdb6a099ca6e71ec5fe4c17a401492a9d19ca6ebc07ac000f30a73c1d","license":"MIT","urls":["bzz-raw://05ce56101450aa1ec2a4fa2c8330e8f566f58f5d422ab74f1aee074a7a7e99fb","dweb:/ipfs/QmUA4zURxaRB4GcHvr4TWUrnsaLPqDHqbmwi1wDHyqEukE"]},"project:/contracts/StandardToken.sol":{"keccak256":"0x09250ab8fa4d5356a1c1bc059b87097f70fa0a300783607cfff97640a9637b3f","license":"MIT","urls":["bzz-raw://923bc5cbec1920fdbb9a403191df7e7919d308c6b66a0a6fc36a563017b991be","dweb:/ipfs/QmP4p73jdYSSYBaSB7HuE8vqNs8DJwY6A9g5N4bhBubrFi"]},"project:/contracts/TokenVesting.sol":{"keccak256":"0x561cd195539724e374f2dc139ec87bb110185be077661cfa0fb19bb4de369033","license":"MIT","urls":["bzz-raw://ed3ac47017b4732b6496e05d02af675ad707d107ba3878985bd2e4d6ffddd1e4","dweb:/ipfs/QmbYzgQ3dgNbS3jxQrazXFJBxcZbxFkqNXAcxnkE31m3Tu"]}},"version":1}