-
Notifications
You must be signed in to change notification settings - Fork 45
/
Copy pathOptimisticRootGaugeFactory.json
213 lines (213 loc) · 30.9 KB
/
OptimisticRootGaugeFactory.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
{
"_format": "hh-sol-artifact-1",
"contractName": "OptimisticRootGaugeFactory",
"sourceName": "contracts/gauges/optimistic/OptimisticRootGaugeFactory.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract IVault",
"name": "vault",
"type": "address"
},
{
"internalType": "contract IMainnetBalancerMinter",
"name": "minter",
"type": "address"
},
{
"internalType": "contract IL1StandardBridge",
"name": "optimismL1StandardBridge",
"type": "address"
},
{
"internalType": "address",
"name": "optimismBal",
"type": "address"
},
{
"internalType": "uint32",
"name": "gasLimit",
"type": "uint32"
},
{
"internalType": "string",
"name": "targetNetwork",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "gauge",
"type": "address"
}
],
"name": "GaugeCreated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "gasLimit",
"type": "uint256"
}
],
"name": "OptimismGasLimitModified",
"type": "event"
},
{
"inputs": [],
"name": "NETWORK",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
},
{
"internalType": "uint256",
"name": "relativeWeightCap",
"type": "uint256"
}
],
"name": "create",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "selector",
"type": "bytes4"
}
],
"name": "getActionId",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getAuthorizer",
"outputs": [
{
"internalType": "contract IAuthorizer",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getGaugeImplementation",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getOptimismGasLimit",
"outputs": [
{
"internalType": "uint32",
"name": "",
"type": "uint32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getVault",
"outputs": [
{
"internalType": "contract IVault",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "gauge",
"type": "address"
}
],
"name": "isGaugeFromFactory",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint32",
"name": "gasLimit",
"type": "uint32"
}
],
"name": "setOptimismGasLimit",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60c06040523480156200001157600080fd5b5060405162002a3e38038062002a3e833981016040819052620000349162000193565b85306001600160a01b031660001b8686866040516200005390620000e9565b6200006193929190620002cb565b604051809103906000f0801580156200007e573d6000803e3d6000fd5b50600080546001600160a01b0319166001600160a01b039290921691909117905560805260601b6001600160601b03191660a0526003805463ffffffff191663ffffffff84161790558051620000dc906002906020840190620000f7565b5050505050505062000307565b611c528062000dec83390190565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200013a57805160ff19168380011785556200016a565b828001600101855582156200016a579182015b828111156200016a5782518255916020019190600101906200014d565b50620001789291506200017c565b5090565b5b808211156200017857600081556001016200017d565b60008060008060008060c08789031215620001ac578182fd5b8651620001b981620002ee565b80965050602080880151620001ce81620002ee565b6040890151909650620001e181620002ee565b6060890151909550620001f481620002ee565b608089015190945063ffffffff811681146200020e578384fd5b60a08901519093506001600160401b03808211156200022b578384fd5b818a0191508a601f8301126200023f578384fd5b8151818111156200024e578485fd5b604051601f8201601f19168101850183811182821017156200026e578687fd5b60405281815283820185018d101562000285578586fd5b8592505b81831015620002a8578383018501518184018601529184019162000289565b81831115620002b957858583830101525b80955050505050509295509295509295565b6001600160a01b0393841681529183166020830152909116604082015260600190565b6001600160a01b03811681146200030457600080fd5b50565b60805160a05160601c610abe6200032e600039806103215250806102275250610abe6000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80638d928af811610076578063aaabadc51161005b578063aaabadc51461012b578063bf5fa77214610133578063ce3cc8bd14610148576100a3565b80638d928af81461010e578063a0566e7214610116576100a3565b80630ecaea73146100a857806339312dee146100d1578063851c1bb3146100d95780638759e6d1146100f9575b600080fd5b6100bb6100b6366004610778565b610168565b6040516100c89190610873565b60405180910390f35b6100bb610207565b6100ec6100e73660046107c3565b610223565b6040516100c8919061096c565b610101610276565b6040516100c891906109a1565b6100bb61031f565b61011e610343565b6040516100c89190610a49565b6100bb61034f565b61014661014136600461081f565b6103db565b005b61015b61015636600461075c565b61044e565b6040516100c89190610961565b600080610173610479565b6040517f81d6095600000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8216906381d60956906101cd9087908790600290600401610894565b600060405180830381600087803b1580156101e757600080fd5b505af11580156101fb573d6000803e3d6000fd5b50929695505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60007f000000000000000000000000000000000000000000000000000000000000000082604051602001610258929190610843565b6040516020818303038152906040528051906020012090505b919050565b600280546040805160206001841615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909316849004601f810184900484028201840190925281815292918301828280156103175780601f106102ec57610100808354040283529160200191610317565b820191906000526020600020905b8154815290600101906020018083116102fa57829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000090565b60035463ffffffff1690565b600061035961031f565b73ffffffffffffffffffffffffffffffffffffffff1663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b15801561039e57600080fd5b505afa1580156103b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d69190610803565b905090565b6103e361051f565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff83161790556040517f7c1820748876489d9c02f32c788d21f7a0719b00e777eca80532dd5d77c481ce90610443908390610a49565b60405180910390a150565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b60008054819061049e9073ffffffffffffffffffffffffffffffffffffffff16610568565b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169092179091555192935090917faa98436d09d130af48de49867af8b723bbbebb0d737638b5fe8f1bf31bbb71c09190a2905090565b600061054e6000357fffffffff0000000000000000000000000000000000000000000000000000000016610223565b905061056561055d823361061e565b6101916106bb565b50565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528260601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f091505073ffffffffffffffffffffffffffffffffffffffff8116610271576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061590610a12565b60405180910390fd5b600061062861034f565b73ffffffffffffffffffffffffffffffffffffffff16639be2a8848484306040518463ffffffff1660e01b815260040161066493929190610975565b60206040518083038186803b15801561067c57600080fd5b505afa158015610690573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b491906107a3565b9392505050565b816106c9576106c9816106cd565b5050565b7f08c379a000000000000000000000000000000000000000000000000000000000600090815260206004526007602452600a808304818106603090810160081b83860601918390049283060160101b016642414c230000300160c81b604452610565917f42414c0000000000000000000000000000000000000000000000000000000000906242414c90606490fd5b60006020828403121561076d578081fd5b81356106b481610a66565b6000806040838503121561078a578081fd5b823561079581610a66565b946020939093013593505050565b6000602082840312156107b4578081fd5b815180151581146106b4578182fd5b6000602082840312156107d4578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146106b4578182fd5b600060208284031215610814578081fd5b81516106b481610a66565b600060208284031215610830578081fd5b813563ffffffff811681146106b4578182fd5b9182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b60006060820173ffffffffffffffffffffffffffffffffffffffff8616835260208581850152606060408501528285546001808216600081146108de576001811461091a57610952565b607f600284041686527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316608089015260a088019350610952565b6002830480875261092a8a610a5a565b885b828110156109485781548b82016080015290840190870161092c565b8a01608001955050505b50919998505050505050505050565b901515815260200190565b90815260200190565b92835273ffffffffffffffffffffffffffffffffffffffff918216602084015216604082015260600190565b6000602080835283518082850152825b818110156109cd578581018301518582016040015282016109b1565b818111156109de5783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60208082526016908201527f455243313136373a20637265617465206661696c656400000000000000000000604082015260600190565b63ffffffff91909116815260200190565b60009081526020902090565b73ffffffffffffffffffffffffffffffffffffffff8116811461056557600080fdfea2646970667358221220e24746db362b70ad2a4093f27f1f654d83f347aa4cef59e4a3502c26cc6bf27464736f6c634300070100336101e06040523480156200001257600080fd5b5060405162001c5238038062001c52833981810160405260608110156200003857600080fd5b50805160208083015160409384015160016000908155855163e6dec36f60e01b81529551949592949193869391926001600160a01b0385169263e6dec36f926004808301939192829003018186803b1580156200009457600080fd5b505afa158015620000a9573d6000803e3d6000fd5b505050506040513d6020811015620000c057600080fd5b50516040805163c003969960e01b815290519192506000916001600160a01b0384169163c0039699916004808301926020929190829003018186803b1580156200010957600080fd5b505afa1580156200011e573d6000803e3d6000fd5b505050506040513d60208110156200013557600080fd5b505160408051632c6f4d6f60e11b815290519192506000916001600160a01b038616916358de9ade916004808301926020929190829003018186803b1580156200017e57600080fd5b505afa15801562000193573d6000803e3d6000fd5b505050506040513d6020811015620001aa57600080fd5b50516001600160601b0319606084811b821660805285811b821660a05286811b821660c05282901b1660e052604080516303e1469160e61b815290519192506001600160a01b0383169163f851a44091600480820192602092909190829003018186803b1580156200021b57600080fd5b505afa15801562000230573d6000803e3d6000fd5b505050506040513d60208110156200024757600080fd5b505160601b6001600160601b0319166101005260408051635c3dab0b60e11b815290516001600160a01b0385169163b87b5616916004808301926020929190829003018186803b1580156200029b57600080fd5b505afa158015620002b0573d6000803e3d6000fd5b505050506040513d6020811015620002c757600080fd5b505161012052604080516321609bbf60e01b815290516001600160a01b038516916321609bbf916004808301926020929190829003018186803b1580156200030e57600080fd5b505afa15801562000323573d6000803e3d6000fd5b505050506040513d60208110156200033a57600080fd5b505161014052604080516303f7d6c760e51b815290516001600160a01b03851691637efad8e0916004808301926020929190829003018186803b1580156200038157600080fd5b505afa15801562000396573d6000803e3d6000fd5b505050506040513d6020811015620003ad57600080fd5b505161016052505060001960025550506001600160601b0319606092831b81166101805290821b166101a05233901b6101c0525060805160601c60a05160601c60c05160601c60e05160601c6101005160601c6101205161014051610160516101805160601c6101a05160601c6101c05160601c6117ab620004a760003980611175525080610696528061113052508061066c52806110ac52806110d3525080610ad2525080610ab1525080610a345280610b1e5250806104e752806107f952806108d95280610cbc52508061058652806109c2525080610c14525080610e8d5280610f8a52508061108a528061110f52506117ab6000f3fe6080604052600436106100f35760003560e01c806383f5c39b1161008a578063ab8f094511610059578063ab8f0945146103fa578063b02452251461040f578063c2c4c5c114610424578063d34fb2671461042c576100f3565b806383f5c39b146103315780638759e6d1146103465780639c868ac0146103d05780639f867671146103e5576100f3565b80632d8411af116100c65780632d8411af146101de5780634b820093146101f357806360b630c41461024757806381d609561461025c576100f3565b806309400707146100f857806310d3eb041461014a57806314e956f5146101765780631b88094d146101a0575b600080fd5b34801561010457600080fd5b506101386004803603602081101561011b57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610441565b60408051918252519081900360200190f35b34801561015657600080fd5b506101746004803603602081101561016d57600080fd5b50356104cf565b005b34801561018257600080fd5b506101386004803603602081101561019957600080fd5b503561057f565b3480156101ac57600080fd5b506101b561064d565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b3480156101ea57600080fd5b506101b561066a565b3480156101ff57600080fd5b506102336004803603602081101561021657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661068e565b604080519115158252519081900360200190f35b34801561025357600080fd5b506101b5610694565b34801561026857600080fd5b506101746004803603606081101561027f57600080fd5b73ffffffffffffffffffffffffffffffffffffffff823516916020810135918101906060810160408201356401000000008111156102bc57600080fd5b8201836020820111156102ce57600080fd5b803590602001918460018302840111640100000000831117156102f057600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506106b8945050505050565b34801561033d57600080fd5b5061013861071a565b34801561035257600080fd5b5061035b610720565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561039557818101518382015260200161037d565b50505050905090810190601f1680156103c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156103dc57600080fd5b506102336107cc565b3480156103f157600080fd5b506101386107d5565b34801561040657600080fd5b506101746107e1565b34801561041b57600080fd5b506101386108b2565b6102336108b7565b34801561043857600080fd5b50610174610ca4565b600073ffffffffffffffffffffffffffffffffffffffff821630146104c757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f47617567652063616e206f6e6c79206d696e7420666f7220697473656c660000604482015290519081900360640190fd5b505060045490565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461057357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f53454e4445525f4e4f545f414c4c4f5745440000000000000000000000000000604482015290519081900360640190fd5b61057c81610d72565b50565b60006106477f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d3078c9430856040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060206040518083038186803b15801561061357600080fd5b505afa158015610627573d6000803e3d6000fd5b505050506040513d602081101561063d57600080fd5b5051600654610e0e565b92915050565b60085473ffffffffffffffffffffffffffffffffffffffff165b90565b7f000000000000000000000000000000000000000000000000000000000000000090565b50600190565b7f000000000000000000000000000000000000000000000000000000000000000090565b6106c182610e1a565b600880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8516179055805161071490600790602084019061168a565b50505050565b60065490565b6007805460408051602060026001851615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190941693909304601f810184900484028201840190925281815292918301828280156107c45780601f10610799576101008083540402835291602001916107c4565b820191906000526020600020905b8154815290600101906020018083116107a757829003601f168201915b505050505081565b60055460ff1690565b670de0b6b3a764000081565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461088557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f53454e4445525f4e4f545f414c4c4f5745440000000000000000000000000000604482015290519081900360640190fd5b600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b600090565b60006108c161102c565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461096557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f53454e4445525f4e4f545f414c4c4f5745440000000000000000000000000000604482015290519081900360640190fd5b6002546000610972611045565b905080821015610c9657604080517f615e5237000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163615e523791602480830192600092919082900301818387803b158015610a0957600080fd5b505af1158015610a1d573d6000803e3d6000fd5b5050600180546003549590910194909250600091507f000000000000000000000000000000000000000000000000000000000000000001845b8560ff01811015610ba95784811115610a6e57610ba9565b62093a808102600080610a808361057f565b9050828510158015610a9657508262093a800185105b15610b4f57828503670de0b6b3a764000082890282020492507f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000890281610afa57fe5b04975062093a80819003670de0b6b3a7640000838a02820260018b905560038990557f00000000000000000000000000000000000000000000000000000000000000009098019704939093019250610b649050565b670de0b6b3a764000062093a80828902020491505b60408051838152905184917f21d81d5d656869e8ce3ba8d65526a2f0dbbcd3d36f5f9999eb7c84360e45eced919081900360200190a250939093019250600101610a56565b50600284905560048054830190558115801590610bc9575060055460ff16155b15610c9257604080517f6a627842000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691636a6278429160248083019260209291908290030181600087803b158015610c5c57600080fd5b505af1158015610c70573d6000803e3d6000fd5b505050506040513d6020811015610c8657600080fd5b50610c92905082611070565b5050505b6001925050506106676112e4565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610d4857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f53454e4445525f4e4f545f414c4c4f5745440000000000000000000000000000604482015290519081900360640190fd5b600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b670de0b6b3a7640000811115610dd3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603481526020018061171e6034913960400191505060405180910390fd5b60068190556040805182815290517f13e45870490f54cea50d245930d12102c72b502641ef6850d0b15a8c92decfb29181900360200190a150565b80820390821102900390565b60025415610e8957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f416c726561647920696e697469616c697a656400000000000000000000000000604482015290519081900360640190fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632c4e722e6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ef157600080fd5b505afa158015610f05573d6000803e3d6000fd5b505050506040513d6020811015610f1b57600080fd5b5051905080610f75576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806117526024913960400191505060405180910390fd5b6001819055610f82611045565b6002819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a228bced6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ff057600080fd5b505af1158015611004573d6000803e3d6000fd5b505050506040513d602081101561101a57600080fd5b505160035561102882610d72565b5050565b61103e600260005414156101906112eb565b6002600055565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62093a8042040190565b6110d173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836112f9565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663838b25207f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16857f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a0566e726040518163ffffffff1660e01b815260040160206040518083038186803b1580156111d957600080fd5b505afa1580156111ed573d6000803e3d6000fd5b505050506040513d602081101561120357600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e089901b16815273ffffffffffffffffffffffffffffffffffffffff96871660048201529486166024860152929094166044840152606483015263ffffffff909216608482015260c060a4820152600260c48201527f307800000000000000000000000000000000000000000000000000000000000060e4820152905161010480830192600092919082900301818387803b1580156112c957600080fd5b505af11580156112dd573d6000803e3d6000fd5b5050505050565b6001600055565b8161102857611028816114cf565b80158015906113a85750604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561137957600080fd5b505afa15801561138d573d6000803e3d6000fd5b505050506040513d60208110156113a357600080fd5b505115155b1561143d576040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260006044808301919091528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b30000000000000000000000000000000000000000000000000000000017905261143d9084906114f9565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b3000000000000000000000000000000000000000000000000000000001790526114ca9084906114f9565b505050565b61057c817f42414c000000000000000000000000000000000000000000000000000000000061160f565b600060608373ffffffffffffffffffffffffffffffffffffffff16836040518082805190602001908083835b6020831061156257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611525565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146115c4576040519150601f19603f3d011682016040523d82523d6000602084013e6115c9565b606091505b509150915060008214156115e1573d6000803e3d6000fd5b610714815160001480611607575081806020019051602081101561160457600080fd5b50515b6101a26112eb565b7f08c379a000000000000000000000000000000000000000000000000000000000600090815260206004526007602452600a808404818106603090810160081b958390069590950190829004918206850160101b01602363ffffff0060e086901c160160181b0190930160c81b60445260e882901c90606490fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106116cb57805160ff19168380011785556116f8565b828001600101855582156116f8579182015b828111156116f85782518255916020019190600101906116dd565b50611704929150611708565b5090565b5b80821115611704576000815560010161170956fe52656c61746976652077656967687420636170206578636565647320616c6c6f776564206162736f6c757465206d6178696d756d42616c616e636572546f6b656e41646d696e206e6f742079657420616374697661746564a264697066735822122032b577cafe255b968523d7e91f990f1a920451e7e6bc8cef6ae63ff4dd2e92bf64736f6c63430007010033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100a35760003560e01c80638d928af811610076578063aaabadc51161005b578063aaabadc51461012b578063bf5fa77214610133578063ce3cc8bd14610148576100a3565b80638d928af81461010e578063a0566e7214610116576100a3565b80630ecaea73146100a857806339312dee146100d1578063851c1bb3146100d95780638759e6d1146100f9575b600080fd5b6100bb6100b6366004610778565b610168565b6040516100c89190610873565b60405180910390f35b6100bb610207565b6100ec6100e73660046107c3565b610223565b6040516100c8919061096c565b610101610276565b6040516100c891906109a1565b6100bb61031f565b61011e610343565b6040516100c89190610a49565b6100bb61034f565b61014661014136600461081f565b6103db565b005b61015b61015636600461075c565b61044e565b6040516100c89190610961565b600080610173610479565b6040517f81d6095600000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff8216906381d60956906101cd9087908790600290600401610894565b600060405180830381600087803b1580156101e757600080fd5b505af11580156101fb573d6000803e3d6000fd5b50929695505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b60007f000000000000000000000000000000000000000000000000000000000000000082604051602001610258929190610843565b6040516020818303038152906040528051906020012090505b919050565b600280546040805160206001841615610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909316849004601f810184900484028201840190925281815292918301828280156103175780601f106102ec57610100808354040283529160200191610317565b820191906000526020600020905b8154815290600101906020018083116102fa57829003601f168201915b505050505081565b7f000000000000000000000000000000000000000000000000000000000000000090565b60035463ffffffff1690565b600061035961031f565b73ffffffffffffffffffffffffffffffffffffffff1663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b15801561039e57600080fd5b505afa1580156103b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d69190610803565b905090565b6103e361051f565b600380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff83161790556040517f7c1820748876489d9c02f32c788d21f7a0719b00e777eca80532dd5d77c481ce90610443908390610a49565b60405180910390a150565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b60008054819061049e9073ffffffffffffffffffffffffffffffffffffffff16610568565b73ffffffffffffffffffffffffffffffffffffffff8116600081815260016020819052604080832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169092179091555192935090917faa98436d09d130af48de49867af8b723bbbebb0d737638b5fe8f1bf31bbb71c09190a2905090565b600061054e6000357fffffffff0000000000000000000000000000000000000000000000000000000016610223565b905061056561055d823361061e565b6101916106bb565b50565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528260601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f091505073ffffffffffffffffffffffffffffffffffffffff8116610271576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161061590610a12565b60405180910390fd5b600061062861034f565b73ffffffffffffffffffffffffffffffffffffffff16639be2a8848484306040518463ffffffff1660e01b815260040161066493929190610975565b60206040518083038186803b15801561067c57600080fd5b505afa158015610690573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b491906107a3565b9392505050565b816106c9576106c9816106cd565b5050565b7f08c379a000000000000000000000000000000000000000000000000000000000600090815260206004526007602452600a808304818106603090810160081b83860601918390049283060160101b016642414c230000300160c81b604452610565917f42414c0000000000000000000000000000000000000000000000000000000000906242414c90606490fd5b60006020828403121561076d578081fd5b81356106b481610a66565b6000806040838503121561078a578081fd5b823561079581610a66565b946020939093013593505050565b6000602082840312156107b4578081fd5b815180151581146106b4578182fd5b6000602082840312156107d4578081fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146106b4578182fd5b600060208284031215610814578081fd5b81516106b481610a66565b600060208284031215610830578081fd5b813563ffffffff811681146106b4578182fd5b9182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b60006060820173ffffffffffffffffffffffffffffffffffffffff8616835260208581850152606060408501528285546001808216600081146108de576001811461091a57610952565b607f600284041686527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008316608089015260a088019350610952565b6002830480875261092a8a610a5a565b885b828110156109485781548b82016080015290840190870161092c565b8a01608001955050505b50919998505050505050505050565b901515815260200190565b90815260200190565b92835273ffffffffffffffffffffffffffffffffffffffff918216602084015216604082015260600190565b6000602080835283518082850152825b818110156109cd578581018301518582016040015282016109b1565b818111156109de5783604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b60208082526016908201527f455243313136373a20637265617465206661696c656400000000000000000000604082015260600190565b63ffffffff91909116815260200190565b60009081526020902090565b73ffffffffffffffffffffffffffffffffffffffff8116811461056557600080fdfea2646970667358221220e24746db362b70ad2a4093f27f1f654d83f347aa4cef59e4a3502c26cc6bf27464736f6c63430007010033",
"linkReferences": {},
"deployedLinkReferences": {}
}