/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Contract, ContractFactory, Signer } from "ethers"; import { Provider } from "ethers/providers"; import { UnsignedTransaction } from "ethers/utils/transaction"; import { TransactionOverrides } from ".."; import { CoinMachine } from "../CoinMachine"; export class CoinMachine__factory extends ContractFactory { constructor(signer?: Signer) { super(_abi, _bytecode, signer); } deploy(overrides?: TransactionOverrides): Promise { return super.deploy(overrides) as Promise; } getDeployTransaction(overrides?: TransactionOverrides): UnsignedTransaction { return super.getDeployTransaction(overrides); } attach(address: string): CoinMachine { return super.attach(address) as CoinMachine; } connect(signer: Signer): CoinMachine__factory { return super.connect(signer) as CoinMachine__factory; } static connect( address: string, signerOrProvider: Signer | Provider ): CoinMachine { return new Contract(address, _abi, signerOrProvider) as CoinMachine; } } const _abi = [ { anonymous: false, inputs: [], name: "ExtensionInitialised", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "authority", type: "address", }, ], name: "LogSetAuthority", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "owner", type: "address", }, ], name: "LogSetOwner", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "uint256", name: "activePeriod", type: "uint256", }, { indexed: false, internalType: "uint256", name: "currentPeriod", type: "uint256", }, ], name: "PeriodUpdated", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "bool", name: "evolvePrice", type: "bool", }, ], name: "PriceEvolutionSet", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "buyer", type: "address", }, { indexed: false, internalType: "uint256", name: "numTokens", type: "uint256", }, { indexed: false, internalType: "uint256", name: "totalCost", type: "uint256", }, ], name: "TokensBought", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "whitelist", type: "address", }, ], name: "WhitelistSet", type: "event", }, { inputs: [], name: "authority", outputs: [ { internalType: "contract DSAuthority", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes4", name: "_sig", type: "bytes4", }, ], name: "getCapabilityRoles", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getColony", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getDeprecated", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "owner", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "contract DSAuthority", name: "authority_", type: "address", }, ], name: "setAuthority", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "owner_", type: "address", }, ], name: "setOwner", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "identifier", outputs: [ { internalType: "bytes32", name: "", type: "bytes32", }, ], stateMutability: "pure", type: "function", }, { inputs: [], name: "version", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "pure", type: "function", }, { inputs: [ { internalType: "address", name: "_colony", type: "address", }, ], name: "install", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "finishUpgrade", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bool", name: "_deprecated", type: "bool", }, ], name: "deprecate", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "uninstall", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_token", type: "address", }, { internalType: "address", name: "_purchaseToken", type: "address", }, { internalType: "uint256", name: "_periodLength", type: "uint256", }, { internalType: "uint256", name: "_windowSize", type: "uint256", }, { internalType: "uint256", name: "_targetPerPeriod", type: "uint256", }, { internalType: "uint256", name: "_maxPerPeriod", type: "uint256", }, { internalType: "uint256", name: "_startingPrice", type: "uint256", }, { internalType: "address", name: "_whitelist", type: "address", }, ], name: "initialise", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_whitelist", type: "address", }, ], name: "setWhitelist", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint256", name: "_numTokens", type: "uint256", }, ], name: "buyTokens", outputs: [], stateMutability: "payable", type: "function", }, { inputs: [], name: "updatePeriod", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "getPurchaseToken", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getToken", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getActivePeriod", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getActiveSold", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getActiveIntake", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getEMAIntake", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getTokenBalance", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getPeriodLength", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getWindowSize", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getTargetPerPeriod", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getMaxPerPeriod", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getCurrentPrice", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getNumAvailable", outputs: [ { internalType: "uint256", name: "", type: "uint256", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getWhitelist", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "getEvolvePrice", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, ]; const _bytecode = "0x608060405234801561001057600080fd5b50600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2611cb28061005e6000396000f3fe6080604052600436106101e35760003560e01c80638469ddc711610102578063bf7e214f11610095578063f51361c711610064578063f51361c7146104a4578063f9f81e09146104b9578063fb3d8ee5146104db578063fcf6ba93146104f0576101e3565b8063bf7e214f14610450578063bfd68ab714610465578063d01f63f51461047a578063eb91d37e1461048f576101e3565b8063a0e3ad26116100d1578063a0e3ad26146103f1578063a4a5801614610406578063a5c56a2b14610426578063a83627de1461043b576101e3565b80638469ddc714610387578063854cff2f1461039c5780638da5cb5b146103bc5780639251cff4146103d1576101e3565b80632a85c3661161017a57806354fd4d501161014957806354fd4d50146103285780637998a1c41461033d5780637a9e5e4b1461035257806382b2e25714610372576101e3565b80632a85c366146102cb5780632dfbb083146102e0578063340df28f146103005780633610724e14610315576101e3565b80631f7ea81f116101b65780631f7ea81f1461026c57806321df0da71461028157806329287b46146102965780632a1b8f9b146102ab576101e3565b80630a1e0c22146101e85780630d638f301461021357806312defc731461022a57806313af40351461024c575b600080fd5b3480156101f457600080fd5b506101fd610505565b60405161020a91906117b0565b60405180910390f35b34801561021f57600080fd5b50610228610515565b005b34801561023657600080fd5b5061023f610627565b60405161020a9190611889565b34801561025857600080fd5b50610228610267366004611666565b61062d565b34801561027857600080fd5b5061023f6106af565b34801561028d57600080fd5b506101fd6106b5565b3480156102a257600080fd5b5061023f6106c4565b3480156102b757600080fd5b506102286102c6366004611666565b6106ca565b3480156102d757600080fd5b5061023f610747565b3480156102ec57600080fd5b5061023f6102fb366004611758565b61074d565b34801561030c57600080fd5b50610228610753565b610228610323366004611780565b610856565b34801561033457600080fd5b5061023f610bdc565b34801561034957600080fd5b5061023f610be1565b34801561035e57600080fd5b5061022861036d366004611666565b610c05565b34801561037e57600080fd5b5061023f610c83565b34801561039357600080fd5b5061023f610d09565b3480156103a857600080fd5b506102286103b7366004611666565b610d0f565b3480156103c857600080fd5b506101fd610e30565b3480156103dd57600080fd5b506102286103ec366004611720565b610e3f565b3480156103fd57600080fd5b5061023f610ea0565b34801561041257600080fd5b506102286104213660046116a5565b610ea6565b34801561043257600080fd5b5061023f6110fc565b34801561044757600080fd5b50610228611102565b34801561045c57600080fd5b506101fd61120c565b34801561047157600080fd5b506101fd61121b565b34801561048657600080fd5b506101fd61122a565b34801561049b57600080fd5b5061023f611239565b3480156104b057600080fd5b5061023f6112e4565b3480156104c557600080fd5b506104ce6112ea565b60405161020a919061187e565b3480156104e757600080fd5b5061023f6112fa565b3480156104fc57600080fd5b506104ce6113ad565b6004546001600160a01b03165b90565b61052b336000356001600160e01b0319166113bd565b6105505760405162461bcd60e51b8152600401610547906118c1565b60405180910390fd5b6010546001600160a01b03161561061957600061056b610c83565b905080156106175760105460035460405163a9059cbb60e01b81526001600160a01b039283169263a9059cbb926105a9929116908590600401611817565b602060405180830381600087803b1580156105c357600080fd5b505af11580156105d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105fb919061173c565b6106175760405162461bcd60e51b815260040161054790611b38565b505b6003546001600160a01b0316ff5b600e5490565b610643336000356001600160e01b0319166113bd565b61065f5760405162461bcd60e51b8152600401610547906118c1565b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b60095490565b6010546001600160a01b031690565b600f5490565b6106e0336000356001600160e01b0319166113bd565b6106fc5760405162461bcd60e51b8152600401610547906118c1565b6003546001600160a01b0316156107255760405162461bcd60e51b815260040161054790611a5c565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60085490565b50600090565b610769336000356001600160e01b0319166113bd565b6107855760405162461bcd60e51b8152600401610547906118c1565b600360009054906101000a90046001600160a01b03166001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d357600080fd5b505afa1580156107e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080b9190611689565b601080546001600160a01b0319166001600160a01b03929092169190911790556108546000610838610c83565b11801561084f5750600354600160a01b900460ff16155b61149b565b565b600354600160a01b900460ff16156108805760405162461bcd60e51b815260040161054790611c14565b610888611102565b6011546001600160a01b0316158061091b575060115460405163673448dd60e01b81526001600160a01b039091169063673448dd906108cb9033906004016117b0565b60206040518083038186803b1580156108e357600080fd5b505afa1580156108f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091b919061173c565b6109375760405162461bcd60e51b81526004016105479061191d565b6000610941610c83565b9050600061095e61095884600d54600954036114fc565b836114fc565b9050600061096e82600c54611513565b905061097c600e5482611537565b600e55600d5461098c9083611537565b600d819055600954101561099c57fe5b8282106109ad576109ad600061149b565b6004546001600160a01b0316610a5657803410156109dd5760405162461bcd60e51b815260040161054790611b01565b80341115610a165760405133903483900380156108fc02916000818181858888f19350505050158015610a14573d6000803e3d6000fd5b505b6003546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610a50573d6000803e3d6000fd5b50610afb565b600480546003546040516323b872dd60e01b81526001600160a01b03928316936323b872dd93610a8d9333939116918791016117c4565b602060405180830381600087803b158015610aa757600080fd5b505af1158015610abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adf919061173c565b610afb5760405162461bcd60e51b815260040161054790611a93565b60105460405163a9059cbb60e01b81526001600160a01b039091169063a9059cbb90610b2d9033908690600401611817565b602060405180830381600087803b158015610b4757600080fd5b505af1158015610b5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7f919061173c565b610b9b5760405162461bcd60e51b815260040161054790611b38565b7f8442948036198f1146d3a63c3db355d7e0295c2cc5676c755990445da4fdc1c9338383604051610bce93929190611830565b60405180910390a150505050565b600290565b7f9600bfe26d6984b5236952886f19c3d84b771865e505e2cb8f3a7137b7f3a46590565b610c1b336000356001600160e01b0319166113bd565b610c375760405162461bcd60e51b8152600401610547906118c1565b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6010546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610cb49030906004016117b0565b60206040518083038186803b158015610ccc57600080fd5b505afa158015610ce0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d049190611798565b905090565b60055490565b600354604051635597bd7160e11b81526001600160a01b039091169063ab2f7ae290610d4490339060019081906004016117e8565b60206040518083038186803b158015610d5c57600080fd5b505afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d94919061173c565b610db05760405162461bcd60e51b815260040161054790611b6f565b600354600160a01b900460ff1615610dda5760405162461bcd60e51b815260040161054790611c14565b601180546001600160a01b0319166001600160a01b0383161790556040517f29d77446d0fb0dcebabf25ce79ea69ba1382a4525d4acf615a38c89c798aef7190610e259083906117b0565b60405180910390a150565b6001546001600160a01b031681565b610e55336000356001600160e01b0319166113bd565b610e715760405162461bcd60e51b8152600401610547906118c1565b6003805482158015600160a01b0260ff60a01b1990921691909117909155610e9d57610e9d600061149b565b50565b60075490565b600354604051635597bd7160e11b81526001600160a01b039091169063ab2f7ae290610edb90339060019081906004016117e8565b60206040518083038186803b158015610ef357600080fd5b505afa158015610f07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f2b919061173c565b610f475760405162461bcd60e51b815260040161054790611b6f565b600b5415610f675760405162461bcd60e51b8152600401610547906119b9565b6001600160a01b038816610f8d5760405162461bcd60e51b8152600401610547906119ee565b60008611610fad5760405162461bcd60e51b815260040161054790611ba6565b60008511610fcd5760405162461bcd60e51b815260040161054790611954565b6101ff851115610fef5760405162461bcd60e51b815260040161054790611bdd565b6000841161100f5760405162461bcd60e51b815260040161054790611aca565b8383101561102f5760405162461bcd60e51b815260040161054790611a25565b601080546001600160a01b03808b166001600160a01b03199283161790925560048054928a1692909116919091179055600586905561107260026001870161155a565b600655600785905560088490556009839055600c82905561109161156f565b600b556008546110a19083611513565b600f556001600160a01b038116156110bc576110bc81610d0f565b6110c96000610838610c83565b6040517f690c4b6201f6a4c703f9d21c205d98a08dff8461e7a71e49c6d47cc8b894850190600090a15050505050505050565b600b5490565b600061110c61156f565b600b54909150818110611120575050610854565b601154600160a01b900460ff1661114357600b8290556111436000610838610c83565b81600b5410156111cf5761115b600654600e54611513565b611173600654670de0b6b3a764000003600f54611513565b01600f556000600e819055600d55600b5482036000190180156111b5576111b16111a9600654670de0b6b3a76400000383611582565b600f54611513565b600f555b82600b819055506111ca600f5460085461155a565b600c55505b7f5b873fc01d45058fe77f3883a91020f46d5a7385baac6ceab19748d1d0ae464a8183604051611200929190611c4b565b60405180910390a15050565b6000546001600160a01b031681565b6003546001600160a01b031690565b6011546001600160a01b031690565b60008061124461156f565b905080600b541015806112615750601154600160a01b900460ff16155b15611270575050600c54610512565b600f54600654600e546112839190611513565b611299600654670de0b6b3a76400000383611513565b600b549101915082036000190180156112ce576112cb6112c5600654670de0b6b3a76400000383611582565b83611513565b91505b6112da8260085461155a565b9350505050610512565b600d5490565b601154600160a01b900460ff1690565b6010546040516370a0823160e01b8152600091610d04916001600160a01b03909116906370a08231906113319030906004016117b0565b60206040518083038186803b15801561134957600080fd5b505afa15801561135d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113819190611798565b6113a860095461138f61156f565b600b54101561139f5760006113a3565b600d545b611599565b6114fc565b600354600160a01b900460ff1690565b60006001600160a01b0383163014156113d857506001611495565b6001546001600160a01b03848116911614156113f657506001611495565b6000546001600160a01b031661140e57506000611495565b60005460405163b700961360e01b81526001600160a01b039091169063b70096139061144290869030908790600401611851565b60206040518083038186803b15801561145a57600080fd5b505afa15801561146e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611492919061173c565b90505b92915050565b601160149054906101000a900460ff16151581151514610e9d576011805460ff60a01b1916600160a01b831515021790556040517f5b4e200daa1a93764a810c35f18f2fcfb14b5e95df6ae7ac1ffdc8eec425babc90610e2590839061187e565b60008183111561150c5781611492565b5090919050565b6000670de0b6b3a764000061152884846115bc565b8161152f57fe5b049392505050565b808201828110156114955760405162461bcd60e51b81526004016105479061198b565b60008161152884670de0b6b3a76400006115bc565b6000600554428161157c57fe5b04905090565b6000633b9aca0061152884633b9aca0002846115f3565b808203828111156114955760405162461bcd60e51b815260040161054790611892565b60008115806115d7575050808202828282816115d457fe5b04145b6114955760405162461bcd60e51b8152600401610547906118ef565b60006002820661160f576b033b2e3c9fd0803ce8000000611611565b825b90506002820491505b81156114955761162a838461164d565b925060028206156116425761163f818461164d565b90505b60028204915061161a565b60006b033b2e3c9fd0803ce800000061152884846115bc565b600060208284031215611677578081fd5b813561168281611c59565b9392505050565b60006020828403121561169a578081fd5b815161168281611c59565b600080600080600080600080610100898b0312156116c1578384fd5b88356116cc81611c59565b975060208901356116dc81611c59565b965060408901359550606089013594506080890135935060a0890135925060c0890135915060e089013561170f81611c59565b809150509295985092959890939650565b600060208284031215611731578081fd5b813561168281611c6e565b60006020828403121561174d578081fd5b815161168281611c6e565b600060208284031215611769578081fd5b81356001600160e01b031981168114611682578182fd5b600060208284031215611791578081fd5b5035919050565b6000602082840312156117a9578081fd5b5051919050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b038416815260208101839052606081016008831061180957fe5b826040830152949350505050565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b901515815260200190565b90815260200190565b60208082526015908201527464732d6d6174682d7375622d756e646572666c6f7760581b604082015260600190565b602080825260149082015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604082015260600190565b60208082526014908201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604082015260600190565b60208082526019908201527f636f696e2d6d616368696e652d756e617574686f726973656400000000000000604082015260600190565b6020808252601d908201527f636f696e2d6d616368696e652d77696e646f772d746f6f2d736d616c6c000000604082015260600190565b60208082526014908201527364732d6d6174682d6164642d6f766572666c6f7760601b604082015260600190565b6020808252818101527f636f696e2d6d616368696e652d616c72656164792d696e697469616c69736564604082015260600190565b6020808252601a908201527f636f696e2d6d616368696e652d696e76616c69642d746f6b656e000000000000604082015260600190565b6020808252601a908201527f636f696e2d6d616368696e652d6d61782d746f6f2d736d616c6c000000000000604082015260600190565b6020808252601b908201527f657874656e73696f6e2d616c72656164792d696e7374616c6c65640000000000604082015260600190565b6020808252601c908201527f636f696e2d6d616368696e652d70757263686173652d6661696c656400000000604082015260600190565b6020808252601d908201527f636f696e2d6d616368696e652d7461726765742d746f6f2d736d616c6c000000604082015260600190565b6020808252601f908201527f636f696e2d6d616368696e652d696e73756666696369656e742d66756e647300604082015260600190565b6020808252601c908201527f636f696e2d6d616368696e652d7472616e736665722d6661696c656400000000604082015260600190565b6020808252601c908201527f636f696e2d6d616368696e652d63616c6c65722d6e6f742d726f6f7400000000604082015260600190565b6020808252601d908201527f636f696e2d6d616368696e652d706572696f642d746f6f2d736d616c6c000000604082015260600190565b6020808252601d908201527f636f696e2d6d616368696e652d77696e646f772d746f6f2d6c61726765000000604082015260600190565b6020808252601b908201527f636f6c6f6e792d657874656e73696f6e2d646570726563617465640000000000604082015260600190565b918252602082015260400190565b6001600160a01b0381168114610e9d57600080fd5b8015158114610e9d57600080fdfea26469706673582212201978e615fb23c5acb18a2177408bc6d8b3ffe5edf94150845f838fc8eca5967a64736f6c63430007030033";