/* 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: "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", }, { inputs: [], name: "authority", outputs: [ { internalType: "contract DSAuthority", name: "", type: "address", }, ], 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: "_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: "_tokensToSell", type: "uint256", }, { internalType: "uint256", name: "_startingPrice", type: "uint256", }, ], name: "initialise", 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: "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: "getTokensToSell", 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", }, ]; const _bytecode = "0x608060405234801561001057600080fd5b50600180546001600160a01b031916339081179091556040517fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a26113828061005e6000396000f3fe6080604052600436106101355760003560e01c80637a9e5e4b116100ab578063a83627de1161006f578063a83627de146102e4578063bf7e214f146102f9578063bfd68ab71461030e578063eb91d37e14610323578063fb3d8ee514610338578063fcf6ba931461034d57610135565b80637a9e5e4b146102585780638469ddc7146102785780638da5cb5b1461028d5780639251cff4146102af578063a0e3ad26146102cf57610135565b80632a1b8f9b116100fd5780632a1b8f9b146101d15780632a85c366146101f1578063340df28f146102065780633610724e1461021b57806354fd4d501461022e5780637998a1c41461024357610135565b80630425da2e1461013a5780630d638f301461015c57806313af4035146101715780631f7ea81f1461019157806322706496146101bc575b600080fd5b34801561014657600080fd5b5061015a610155366004610eb5565b61036f565b005b34801561016857600080fd5b5061015a610572565b34801561017d57600080fd5b5061015a61018c366004610e92565b6105b2565b34801561019d57600080fd5b506101a6610634565b6040516101b39190611032565b60405180910390f35b3480156101c857600080fd5b506101a661063b565b3480156101dd57600080fd5b5061015a6101ec366004610e92565b610641565b3480156101fd57600080fd5b506101a66106be565b34801561021257600080fd5b5061015a6106c4565b61015a610229366004610f41565b6106f8565b34801561023a57600080fd5b506101a661092f565b34801561024f57600080fd5b506101a6610934565b34801561026457600080fd5b5061015a610273366004610e92565b610958565b34801561028457600080fd5b506101a66109d6565b34801561029957600080fd5b506102a26109dc565b6040516101b39190610f59565b3480156102bb57600080fd5b5061015a6102ca366004610f09565b6109eb565b3480156102db57600080fd5b506101a6610a3b565b3480156102f057600080fd5b5061015a610a41565b34801561030557600080fd5b506102a2610b18565b34801561031a57600080fd5b506102a2610b27565b34801561032f57600080fd5b506101a6610b36565b34801561034457600080fd5b506101a6610bcb565b34801561035957600080fd5b50610362610c03565b6040516101b39190611027565b600354604051635597bd7160e11b81526001600160a01b039091169063ab2f7ae2906103a49033906001908190600401610f91565b60206040518083038186803b1580156103bc57600080fd5b505afa1580156103d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f49190610f25565b6104195760405162461bcd60e51b81526004016104109061123c565b60405180910390fd5b600b54156104395760405162461bcd60e51b81526004016104109061112b565b600086116104595760405162461bcd60e51b815260040161041090611273565b600085116104795760405162461bcd60e51b8152600401610410906110c6565b6101ff85111561049b5760405162461bcd60e51b8152600401610410906112aa565b600084116104bb5760405162461bcd60e51b8152600401610410906111ce565b838310156104db5760405162461bcd60e51b815260040161041090611160565b600480546001600160a01b0319166001600160a01b0389161790556005869055610509600260018701610c13565b600655600785905560088490556009839055600a829055600c81905561052d610c44565b600b5560085461053d9082610c57565b600f556040517f690c4b6201f6a4c703f9d21c205d98a08dff8461e7a71e49c6d47cc8b894850190600090a150505050505050565b610588336000356001600160e01b031916610c7f565b6105a45760405162461bcd60e51b81526004016104109061106a565b6003546001600160a01b0316ff5b6105c8336000356001600160e01b031916610c7f565b6105e45760405162461bcd60e51b81526004016104109061106a565b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b6009545b90565b600a5490565b610657336000356001600160e01b031916610c7f565b6106735760405162461bcd60e51b81526004016104109061106a565b6003546001600160a01b03161561069c5760405162461bcd60e51b815260040161041090611197565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60085490565b6106da336000356001600160e01b031916610c7f565b6106f65760405162461bcd60e51b81526004016104109061106a565b565b600354600160a01b900460ff16156107225760405162461bcd60e51b8152600401610410906112e1565b61072a610a41565b600061074761073f83600d5460095403610d5d565b600a54610d5d565b9050600061075782600c54610c57565b9050610765600e5482610d74565b600e55600d546107759083610d74565b600d55600a546107859083610d97565b600a55600954600d54111561079657fe5b6004546001600160a01b031661080457803410156107c65760405162461bcd60e51b815260040161041090611205565b803411156107ff5760405133903483900380156108fc02916000818181858888f193505050501580156107fd573d6000803e3d6000fd5b505b61088b565b600480546040516323b872dd60e01b81526001600160a01b03909116916323b872dd916108379133913091879101610f6d565b602060405180830381600087803b15801561085157600080fd5b505af1158015610865573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108899190610f25565b505b600354604051638f6811a360e01b81526001600160a01b0390911690638f6811a3906108bd9033908690600401610fc0565b600060405180830381600087803b1580156108d757600080fd5b505af11580156108eb573d6000803e3d6000fd5b505050507f8442948036198f1146d3a63c3db355d7e0295c2cc5676c755990445da4fdc1c933848360405161092293929190610fd9565b60405180910390a1505050565b600190565b7f9600bfe26d6984b5236952886f19c3d84b771865e505e2cb8f3a7137b7f3a46590565b61096e336000356001600160e01b031916610c7f565b61098a5760405162461bcd60e51b81526004016104109061106a565b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b60055490565b6001546001600160a01b031681565b610a01336000356001600160e01b031916610c7f565b610a1d5760405162461bcd60e51b81526004016104109061106a565b60038054911515600160a01b0260ff60a01b19909216919091179055565b60075490565b6000610a4b610c44565b600b5490915081811015610adb57610a67600654600e54610c57565b610a7f600654670de0b6b3a764000003600f54610c57565b01600f556000600e819055600d55600b548203600019018015610ac157610abd610ab5600654670de0b6b3a76400000383610dba565b600f54610c57565b600f555b82600b81905550610ad6600f54600854610c13565b600c55505b7f5b873fc01d45058fe77f3883a91020f46d5a7385baac6ceab19748d1d0ae464a8183604051610b0c929190611318565b60405180910390a15050565b6000546001600160a01b031681565b6003546001600160a01b031690565b600080610b41610c44565b905080600b541415610b57575050600c54610638565b600f54600654600e54610b6a9190610c57565b610b80600654670de0b6b3a76400000383610c57565b600b54910191508203600019018015610bb557610bb2610bac600654670de0b6b3a76400000383610dba565b83610c57565b91505b610bc182600854610c13565b9350505050610638565b6000610bfe600a54610bf9600954610be1610c44565b600b5414610bf0576000610bf4565b600d545b610d97565b610d5d565b905090565b600354600160a01b900460ff1690565b600081610c35610c2b85670de0b6b3a7640000610dd1565b6002855b04610d74565b81610c3c57fe5b049392505050565b60006005544281610c5157fe5b04905090565b6000670de0b6b3a7640000610c35610c6f8585610dd1565b6002670de0b6b3a7640000610c2f565b60006001600160a01b038316301415610c9a57506001610d57565b6001546001600160a01b0384811691161415610cb857506001610d57565b6000546001600160a01b0316610cd057506000610d57565b60005460405163b700961360e01b81526001600160a01b039091169063b700961390610d0490869030908790600401610ffa565b60206040518083038186803b158015610d1c57600080fd5b505afa158015610d30573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d549190610f25565b90505b92915050565b600081831115610d6d5781610d54565b5090919050565b80820182811015610d575760405162461bcd60e51b8152600401610410906110fd565b80820382811115610d575760405162461bcd60e51b81526004016104109061103b565b6000633b9aca00610c3584633b9aca000284610e08565b6000811580610dec57505080820282828281610de957fe5b04145b610d575760405162461bcd60e51b815260040161041090611098565b600060028206610e24576b033b2e3c9fd0803ce8000000610e26565b825b90506002820491505b8115610d5757610e3f8384610e62565b92506002820615610e5757610e548184610e62565b90505b600282049150610e2f565b60006b033b2e3c9fd0803ce8000000610c35610e7e8585610dd1565b60026b033b2e3c9fd0803ce8000000610c2f565b600060208284031215610ea3578081fd5b8135610eae81611326565b9392505050565b600080600080600080600060e0888a031215610ecf578283fd5b8735610eda81611326565b9960208901359950604089013598606081013598506080810135975060a0810135965060c00135945092505050565b600060208284031215610f1a578081fd5b8135610eae8161133e565b600060208284031215610f36578081fd5b8151610eae8161133e565b600060208284031215610f52578081fd5b5035919050565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6001600160a01b0384168152602081018390526060810160088310610fb257fe5b826040830152949350505050565b6001600160a01b03929092168252602082015260400190565b6001600160a01b039390931683526020830191909152604082015260600190565b6001600160a01b0393841681529190921660208201526001600160e01b0319909116604082015260600190565b901515815260200190565b90815260200190565b60208082526015908201527464732d6d6174682d7375622d756e646572666c6f7760581b604082015260600190565b602080825260149082015273191ccb585d5d1a0b5d5b985d5d1a1bdc9a5e995960621b604082015260600190565b60208082526014908201527364732d6d6174682d6d756c2d6f766572666c6f7760601b604082015260600190565b6020808252601d908201527f636f696e2d6d616368696e652d77696e646f772d746f6f2d736d616c6c000000604082015260600190565b60208082526014908201527364732d6d6174682d6164642d6f766572666c6f7760601b604082015260600190565b6020808252818101527f636f696e2d6d616368696e652d616c72656164792d696e697469616c69736564604082015260600190565b6020808252601a908201527f636f696e2d6d616368696e652d6d61782d746f6f2d736d616c6c000000000000604082015260600190565b6020808252601b908201527f657874656e73696f6e2d616c72656164792d696e7374616c6c65640000000000604082015260600190565b6020808252601d908201527f636f696e2d6d616368696e652d7461726765742d746f6f2d736d616c6c000000604082015260600190565b6020808252601f908201527f636f696e2d6d616368696e652d696e73756666696369656e742d66756e647300604082015260600190565b6020808252601c908201527f636f696e2d6d616368696e652d63616c6c65722d6e6f742d726f6f7400000000604082015260600190565b6020808252601d908201527f636f696e2d6d616368696e652d706572696f642d746f6f2d736d616c6c000000604082015260600190565b6020808252601d908201527f636f696e2d6d616368696e652d77696e646f772d746f6f2d6c61726765000000604082015260600190565b6020808252601b908201527f636f6c6f6e792d657874656e73696f6e2d646570726563617465640000000000604082015260600190565b918252602082015260400190565b6001600160a01b038116811461133b57600080fd5b50565b801515811461133b57600080fdfea2646970667358221220060fec9dd239c24090fb41d1d7a16e8223a0b39de5f89c85e572bfb507d397af64736f6c63430007030033";