/* Generated by ts-generator ver. 0.0.8 */ /* tslint:disable */ import { Contract, ContractFactory, Signer } from "ethers"; import { Provider } from "ethers/providers"; import { UnsignedTransaction } from "ethers/utils/transaction"; import { TransactionOverrides } from "."; import { TokenLocking } from "./TokenLocking"; export class TokenLockingFactory 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): TokenLocking { return super.attach(address) as TokenLocking; } connect(signer: Signer): TokenLockingFactory { return super.connect(signer) as TokenLockingFactory; } static connect( address: string, signerOrProvider: Signer | Provider ): TokenLocking { return new Contract(address, _abi, signerOrProvider) as TokenLocking; } } const _abi = [ { constant: false, inputs: [ { name: "owner_", type: "address" } ], name: "setOwner", outputs: [], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: false, inputs: [ { name: "authority_", type: "address" } ], name: "setAuthority", outputs: [], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: true, inputs: [], name: "owner", outputs: [ { name: "", type: "address" } ], payable: false, stateMutability: "view", type: "function" }, { constant: true, inputs: [], name: "authority", outputs: [ { name: "", type: "address" } ], payable: false, stateMutability: "view", type: "function" }, { anonymous: false, inputs: [ { indexed: true, name: "authority", type: "address" } ], name: "LogSetAuthority", type: "event" }, { anonymous: false, inputs: [ { indexed: true, name: "owner", type: "address" } ], name: "LogSetOwner", type: "event" }, { anonymous: false, inputs: [ { indexed: false, name: "colonyNetwork", type: "address" } ], name: "ColonyNetworkSet", type: "event" }, { anonymous: false, inputs: [ { indexed: false, name: "token", type: "address" }, { indexed: false, name: "lockCount", type: "uint256" } ], name: "TokenLocked", type: "event" }, { anonymous: false, inputs: [ { indexed: false, name: "token", type: "address" }, { indexed: false, name: "user", type: "address" }, { indexed: false, name: "lockId", type: "uint256" } ], name: "UserTokenUnlocked", type: "event" }, { anonymous: false, inputs: [ { indexed: false, name: "token", type: "address" }, { indexed: false, name: "user", type: "address" }, { indexed: false, name: "amount", type: "uint256" }, { indexed: false, name: "timestamp", type: "uint256" } ], name: "UserTokenDeposited", type: "event" }, { anonymous: false, inputs: [ { indexed: false, name: "token", type: "address" }, { indexed: false, name: "user", type: "address" }, { indexed: false, name: "amount", type: "uint256" } ], name: "UserTokenWithdrawn", type: "event" }, { anonymous: false, inputs: [ { indexed: false, name: "miner", type: "address" }, { indexed: false, name: "beneficiary", type: "address" }, { indexed: false, name: "tokensLost", type: "uint256" } ], name: "ReputationMinerPenalised", type: "event" }, { constant: false, inputs: [ { name: "_colonyNetwork", type: "address" } ], name: "setColonyNetwork", outputs: [], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: true, inputs: [], name: "getColonyNetwork", outputs: [ { name: "", type: "address" } ], payable: false, stateMutability: "view", type: "function" }, { constant: false, inputs: [ { name: "_token", type: "address" } ], name: "lockToken", outputs: [ { name: "", type: "uint256" } ], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: false, inputs: [ { name: "_token", type: "address" }, { name: "_user", type: "address" }, { name: "_lockId", type: "uint256" } ], name: "unlockTokenForUser", outputs: [], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: false, inputs: [ { name: "_token", type: "address" }, { name: "_lockId", type: "uint256" } ], name: "incrementLockCounterTo", outputs: [], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: false, inputs: [ { name: "_token", type: "address" }, { name: "_amount", type: "uint256" } ], name: "deposit", outputs: [], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: false, inputs: [ { name: "_token", type: "address" }, { name: "_amount", type: "uint256" } ], name: "withdraw", outputs: [], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: false, inputs: [ { name: "_stakers", type: "address[]" }, { name: "_beneficiary", type: "address" }, { name: "_amount", type: "uint256" } ], name: "punishStakers", outputs: [], payable: false, stateMutability: "nonpayable", type: "function" }, { constant: true, inputs: [ { name: "_token", type: "address" } ], name: "getTotalLockCount", outputs: [ { name: "", type: "uint256" } ], payable: false, stateMutability: "view", type: "function" }, { constant: true, inputs: [ { name: "_token", type: "address" }, { name: "_user", type: "address" } ], name: "getUserLock", outputs: [ { components: [ { name: "lockCount", type: "uint256" }, { name: "balance", type: "uint256" }, { name: "timestamp", type: "uint256" } ], name: "lock", type: "tuple" } ], payable: false, stateMutability: "view", type: "function" } ]; const _bytecode = "0x60806040819052600180546001600160a01b03191633908117909155907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a2611d58806100516000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80634e5e83951161008c5780638da5cb5b116100665780638da5cb5b146101d4578063bf503823146101dc578063bf7e214f146101ef578063f3fef3a314610204576100ea565b80634e5e8395146101995780636d7bd889146101ae5780637a9e5e4b146101c1576100ea565b80631c20ed99116100c85780631c20ed99146101405780631ca55574146101535780631cc17c521461016657806347e7ef2414610186576100ea565b806303e27b42146100ef57806310693fcd1461010457806313af40351461012d575b600080fd5b6101026100fd3660046114a3565b610217565b005b6101176101123660046114a3565b6102ab565b6040516101249190611c7d565b60405180910390f35b61010261013b3660046114a3565b6103c5565b61010261014e36600461159e565b61044a565b6101176101613660046114a3565b6107cf565b6101796101743660046114e7565b6107ea565b6040516101249190611c6f565b61010261019436600461156e565b610841565b6101a1610ac5565b6040516101249190611a70565b6101026101bc366004611521565b610ad4565b6101026101cf3660046115f4565b610c93565b6101a1610d14565b6101026101ea36600461156e565b610d23565b6101f7610db3565b6040516101249190611b81565b61010261021236600461156e565b610dc2565b61022d336000356001600160e01b0319166111ce565b61025557604051600160e51b62461bcd02815260040161024c90611b9f565b60405180910390fd5b600380546001600160a01b0319166001600160a01b0383161790556040517faac08694cb36f6250aa0c27b058ab1542ec8a9289c0a3af21af36cdfaf1b46cc906102a0908390611a70565b60405180910390a150565b600354604051600160e01b63db0dd7ff0281526000916001600160a01b03169063db0dd7ff906102df903390600401611a7e565b60206040518083038186803b1580156102f757600080fd5b505afa15801561030b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061032f91908101906115d6565b61034e57604051600160e51b62461bcd02815260040161024c90611bff565b6001600160a01b0382166000908152600560205260409081902080546001019081905590517ff9626bca62c59d77fa45a204dc096874ee066a5c5e124aa9ce6c438dbdf7387a916103a191859190611b65565b60405180910390a1506001600160a01b031660009081526005602052604090205490565b6103db336000356001600160e01b0319166111ce565b6103fa57604051600160e51b62461bcd02815260040161024c90611b9f565b600180546001600160a01b0319166001600160a01b0383811691909117918290556040519116907fce241d7ca1f669fee44b6fc00b8eba2df3bb514eed0f6f668f8f89096e81ed9490600090a250565b600354604051600160e21b633cb216670281526001600160a01b039091169063f2c8599c9061047e90600190600401611b73565b60206040518083038186803b15801561049657600080fd5b505afa1580156104aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104ce91908101906114c9565b6001600160a01b0316336001600160a01b03161461050157604051600160e51b62461bcd02815260040161024c90611c1f565b60035460408051600160e01b63731bc22f02815290516000926001600160a01b03169163731bc22f916004808301926020929190829003018186803b15801561054957600080fd5b505afa15801561055d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061058191908101906114c9565b6001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b1580156105b957600080fd5b505afa1580156105cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105f191908101906114c9565b90506000805b85518110156107c7576001600160a01b0383166000908152600460205260408120875161065d929089908590811061062b57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060010154856112af565b91506106c760046000856001600160a01b03166001600160a01b03168152602001908152602001600020600088848151811061069557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060010154836112c6565b6001600160a01b038416600090815260046020526040812088519091908990859081106106f057fe5b6020908102919091018101516001600160a01b0390811683528282019390935260409182016000908120600190810195909555878416815260048252828120938a1681529290529020015461074590836112ec565b6001600160a01b038085166000908152600460209081526040808320938a168352929052206001015585517f51cae99a709e7fb360c44b4b49079ac46304ab5b2322a2855a129811dafdefc39087908390811061079e57fe5b602002602001015186846040516107b793929190611b57565b60405180910390a16001016105f7565b505050505050565b6001600160a01b031660009081526005602052604090205490565b6107f261134c565b506001600160a01b039182166000908152600460209081526040808320939094168252918252829020825160608101845281548152600182015492810192909252600201549181019190915290565b6001600160a01b03821660009081526004602090815260408083203384529091529020600101548290156108bc576001600160a01b0381166000908152600560209081526040808320546004835281842033855290925290912054146108bc57604051600160e51b62461bcd02815260040161024c90611bcf565b600082116108df57604051600160e51b62461bcd02815260040161024c90611c3f565b604051600160e01b6323b872dd0281526001600160a01b038416906323b872dd9061091290339030908790600401611a8c565b602060405180830381600087803b15801561092c57600080fd5b505af1158015610940573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061096491908101906115d6565b61098357604051600160e51b62461bcd02815260040161024c90611c0f565b6001600160a01b038316600090815260046020908152604080832033845290915290206001810154835b6001600160c01b03821015806109ca57506001600160c01b038110155b156109dd576002918290049190046109ad565b60006109ed8460010154876112ec565b905060006109fb84846112ec565b610a1b610a0c868860020154611312565b610a168642611312565b6112ec565b81610a2257fe5b604080516060810182526001600160a01b038c16600081815260056020908152848220548452808401898152969095048385018181529282526004865284822033808452965290849020925183559451600183015551600290910155519192507ff55b0151d50819699161c8aded687da573680e059b1775eb51715a4e3100d9e991610ab3918b9186908690611af1565b60405180910390a15050505050505050565b6003546001600160a01b031690565b600354604051600160e01b63db0dd7ff0281526001600160a01b039091169063db0dd7ff90610b07903390600401611a7e565b60206040518083038186803b158015610b1f57600080fd5b505afa158015610b33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b5791908101906115d6565b610b7657604051600160e51b62461bcd02815260040161024c90611bff565b6001600160a01b038316600090815260056020526040902054811115610bb157604051600160e51b62461bcd02815260040161024c90611bef565b6001600160a01b038084166000908152600460209081526040808320938616835292905290812054610be49083906112c6565b905080610c0657604051600160e51b62461bcd02815260040161024c90611c2f565b80600114610c2957604051600160e51b62461bcd02815260040161024c90611c5f565b6001600160a01b0380851660009081526004602090815260408083209387168352929052819020839055517f66d1ba6a7bba8a64b1341777e1e7721371ab2824e4b50ec33c687036451fe7f090610c8590869086908690611b57565b60405180910390a150505050565b610ca9336000356001600160e01b0319166111ce565b610cc857604051600160e51b62461bcd02815260040161024c90611b9f565b600080546001600160a01b0319166001600160a01b03838116919091178083556040519116917f1abebea81bfa2637f28358c371278fb15ede7ea8dd28d2e03b112ff6d936ada491a250565b6001546001600160a01b031681565b6001600160a01b0382166000908152600560205260409020548111801590610d6d57506001600160a01b038216600090815260046020908152604080832033845290915290205481115b610d8c57604051600160e51b62461bcd02815260040161024c90611bdf565b6001600160a01b039091166000908152600460209081526040808320338452909152902055565b6000546001600160a01b031681565b6001600160a01b0382166000908152600460209081526040808320338452909152902060010154829015610e3d576001600160a01b038116600090815260056020908152604080832054600483528184203385529092529091205414610e3d57604051600160e51b62461bcd02815260040161024c90611bcf565b826000600360009054906101000a90046001600160a01b03166001600160a01b031663731bc22f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e8e57600080fd5b505afa158015610ea2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ec691908101906114c9565b6001600160a01b03166321df0da76040518163ffffffff1660e01b815260040160206040518083038186803b158015610efe57600080fd5b505afa158015610f12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f3691908101906114c9565b9050806001600160a01b0316826001600160a01b0316141561107857600354604051600160e21b633cb216670281526000916001600160a01b03169063f2c8599c90610f8790600190600401611b73565b60206040518083038186803b158015610f9f57600080fd5b505afa158015610fb3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fd791908101906114c9565b6001600160a01b0316638896d5d6336040518263ffffffff1660e01b81526004016110029190611a7e565b60806040518083038186803b15801561101a57600080fd5b505afa15801561102e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110529190810190611612565b519050801561107657604051600160e51b62461bcd02815260040161024c90611c4f565b505b6000841161109b57604051600160e51b62461bcd02815260040161024c90611c3f565b6001600160a01b03851660009081526004602090815260408083203384529091529020600101546110cc90856112c6565b6001600160a01b038616600081815260046020818152604080842033808652925292839020600101949094559051600160e01b63a9059cbb028152919263a9059cbb9261111b92899101611ab4565b602060405180830381600087803b15801561113557600080fd5b505af1158015611149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061116d91908101906115d6565b61118c57604051600160e51b62461bcd02815260040161024c90611c0f565b7f01e2c71b014f62b55400e8becdca80c6a907b5cc36c7a5789443c3ed5e5799278533866040516111bf93929190611ad6565b60405180910390a15050505050565b60006001600160a01b0383163014156111e9575060016112a9565b6001546001600160a01b0384811691161415611207575060016112a9565b6000546001600160a01b031661121f575060006112a9565b600054604051600160e01b63b70096130281526001600160a01b039091169063b70096139061125690869030908790600401611b2f565b60206040518083038186803b15801561126e57600080fd5b505afa158015611282573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112a691908101906115d6565b90505b92915050565b6000818311156112bf57816112a6565b5090919050565b808203828111156112a957604051600160e51b62461bcd02815260040161024c90611b8f565b808201828110156112a957604051600160e51b62461bcd02815260040161024c90611bbf565b600081158061132d5750508082028282828161132a57fe5b04145b6112a957604051600160e51b62461bcd02815260040161024c90611baf565b60405180606001604052806000815260200160008152602001600081525090565b60006112a68235611cdc565b60006112a68251611cdc565b600082601f83011261139657600080fd5b81356113a96113a482611cb2565b611c8b565b915081818352602084019350602081019050838560208402820111156113ce57600080fd5b60005b838110156113fa57816113e4888261136d565b84525060209283019291909101906001016113d1565b5050505092915050565b60006112a68251611ce7565b60006112a68251611d05565b60006112a68235611d08565b60006080828403121561143a57600080fd5b6114446080611c8b565b905060006114528484611410565b825250602061146384848301611410565b602083015250604061147784828501611410565b604083015250606061148b84828501611410565b60608301525092915050565b60006112a68235611d05565b6000602082840312156114b557600080fd5b60006114c1848461136d565b949350505050565b6000602082840312156114db57600080fd5b60006114c18484611379565b600080604083850312156114fa57600080fd5b6000611506858561136d565b92505060206115178582860161136d565b9150509250929050565b60008060006060848603121561153657600080fd5b6000611542868661136d565b93505060206115538682870161136d565b925050604061156486828701611497565b9150509250925092565b6000806040838503121561158157600080fd5b600061158d858561136d565b925050602061151785828601611497565b6000806000606084860312156115b357600080fd5b833567ffffffffffffffff8111156115ca57600080fd5b61154286828701611385565b6000602082840312156115e857600080fd5b60006114c18484611404565b60006020828403121561160657600080fd5b60006114c1848461141c565b60006080828403121561162457600080fd5b60006114c18484611428565b61163981611d13565b82525050565b61163981611cdc565b61163981611ce7565b61163981611cec565b61163981611d08565b6000611670601583611cd3565b7f64732d6d6174682d7375622d756e646572666c6f770000000000000000000000815260200192915050565b60006116a9601483611cd3565b7f64732d617574682d756e617574686f72697a6564000000000000000000000000815260200192915050565b60006116e2601483611cd3565b7f64732d6d6174682d6d756c2d6f766572666c6f77000000000000000000000000815260200192915050565b600061171b601483611cd3565b7f64732d6d6174682d6164642d6f766572666c6f77000000000000000000000000815260200192915050565b6000611754602183611cd3565b7f636f6c6f6e792d746f6b656e2d6c6f636b696e672d746f6b656e2d6c6f636b658152600160fa1b601902602082015260400192915050565b600061179a602483611cd3565b7f636f6c6f6e792d746f6b656e2d6c6f636b696e672d696e76616c69642d6c6f638152600160e21b631acb5a5902602082015260400192915050565b60006117e3601b83611cd3565b7f636f6c6f6e792d746f6b656e2d696e76616c69642d6c6f636b69640000000000815260200192915050565b600061181c602683611cd3565b7f636f6c6f6e792d746f6b656e2d6c6f636b696e672d73656e6465722d6e6f742d8152600160d01b65636f6c6f6e7902602082015260400192915050565b6000611867602483611cd3565b7f636f6c6f6e792d746f6b656e2d6c6f636b696e672d7472616e736665722d66618152600160e21b631a5b195902602082015260400192915050565b60006118b0603783611cd3565b7f636f6c6f6e792d746f6b656e2d6c6f636b696e672d73656e6465722d6e6f742d81527f72657075746174696f6e2d6d696e696e672d6379636c65000000000000000000602082015260400192915050565b600061190f601d83611cd3565b7f636f6c6f6e792d746f6b656e2d616c72656164792d756e6c6f636b6564000000815260200192915050565b6000611948602383611cd3565b7f636f6c6f6e792d746f6b656e2d6c6f636b696e672d696e76616c69642d616d6f8152600160ea1b621d5b9d02602082015260400192915050565b6000611990602383611cd3565b7f636f6c6f6e792d746f6b656e2d6c6f636b696e672d686173682d7375626d69748152600160ea1b621d195902602082015260400192915050565b60006119d8602e83611cd3565b7f636f6c6f6e792d746f6b656e2d6c6f636b696e672d6861732d70726576696f7581527f732d6163746976652d6c6f636b73000000000000000000000000000000000000602082015260400192915050565b80516060830190611a3b8482611a67565b506020820151611a4e6020850182611a67565b506040820151611a616040850182611a67565b50505050565b61163981611d05565b602081016112a9828461163f565b602081016112a98284611630565b60608101611a9a8286611630565b611aa7602083018561163f565b6114c16040830184611a67565b60408101611ac28285611630565b611acf6020830184611a67565b9392505050565b60608101611ae4828661163f565b611aa76020830185611630565b60808101611aff828761163f565b611b0c6020830186611630565b611b196040830185611a67565b611b266060830184611a67565b95945050505050565b60608101611b3d828661163f565b611b4a602083018561163f565b6114c16040830184611651565b60608101611a9a828661163f565b60408101611ac2828561163f565b602081016112a98284611648565b602081016112a9828461165a565b602080825281016112a981611663565b602080825281016112a98161169c565b602080825281016112a9816116d5565b602080825281016112a98161170e565b602080825281016112a981611747565b602080825281016112a98161178d565b602080825281016112a9816117d6565b602080825281016112a98161180f565b602080825281016112a98161185a565b602080825281016112a9816118a3565b602080825281016112a981611902565b602080825281016112a98161193b565b602080825281016112a981611983565b602080825281016112a9816119cb565b606081016112a98284611a2a565b602081016112a98284611a67565b60405181810167ffffffffffffffff81118282101715611caa57600080fd5b604052919050565b600067ffffffffffffffff821115611cc957600080fd5b5060209081020190565b90815260200190565b60006112a982611cf9565b151590565b6001600160e01b03191690565b6001600160a01b031690565b90565b60006112a982611cdc565b60006112a982611d0856fea265627a7a72305820543cc323b544fc50b71183f6555e678d959e667135fdd8f47b324867b71403c36c6578706572696d656e74616cf50037";