0 txs
0 calls
constructor
constructor(address _globalAccessManager, (string tokenType, address implementation, bytes4 requiredSelector, bool issued)[] _implementations, address _transferControllerImpl)
functions
allTokens
viewfunction allTokens(uint256) view returns (address)
authority
viewfunction authority() view returns (address)
getAllTokens
viewfunction getAllTokens() view returns (address[])
implementations
viewfunction implementations(bytes32) view returns (string tokenType, address implementation, bytes4 requiredSelector, bool issued)
isConsumingScheduledOp
viewfunction isConsumingScheduledOp() view returns (bytes4)
transferControllerImpl
viewfunction transferControllerImpl() view returns (address)
addTokenImplementation
nonpayablefunction addTokenImplementation(tuple _implementation)
createToken
nonpayablefunction createToken(bytes32 tokenImplId, bytes initCallData) returns (address token)
removeTokenImplementation
nonpayablefunction removeTokenImplementation(bytes32 implementationId)
setAuthority
nonpayablefunction setAuthority(address newAuthority)
setTransferControllerImpl
nonpayablefunction setTransferControllerImpl(address _transferControllerImpl)
events
AuthorityUpdated
event AuthorityUpdated(address authority)
TokenCreated
event TokenCreated(address indexed tokenAddress, address indexed creator, bytes32 indexed tokenImplId)
TokenFactoryCreated
event TokenFactoryCreated(address indexed tokenFactoryAddress)
TokenImplementationAdded
event TokenImplementationAdded(bytes32 indexed implementationId, string tokenType, address implementation, bytes4 requiredSelector, bool issued)
TokenImplementationRemoved
event TokenImplementationRemoved(bytes32 indexed implementationId, string tokenType, address implementation)
TransferControllerCreated
event TransferControllerCreated(address indexed tokenAddress, address indexed transferControllerAddress, address indexed owner)
errors
AccessManagedInvalidAuthority
error AccessManagedInvalidAuthority(address authority)
AccessManagedRequiredDelay
error AccessManagedRequiredDelay(address caller, uint32 delay)
AccessManagedUnauthorized
error AccessManagedUnauthorized(address caller)
FailedDeployment
error FailedDeployment()
InsufficientBalance
error InsufficientBalance(uint256 balance, uint256 needed)
creation bytecode
0x608080604052346105a357611ba1803803809161001c82856105a7565b83398101906060818303126105a357610034816105ca565b60208201519091906001600160401b0381116105a35781019280601f850112156105a3578351936001600160401b0385116103e2578460051b6040519561007e60208301886105a7565b8652602080870191830101918383116105a35760208101915b8383106104a65787877f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad60206100cf60408b016105ca565b5f80546001600160a01b0319166001600160a01b03909516948517905560405193845292a1600380546001600160a01b0319166001600160a01b03929092169190911790555f5b81518110156104725761012981836105de565b51516001600160a01b03602061013f84866105de565b510151166101936001600160e01b0319604061015b86886105de565b5101511691610185606061016f87896105de565b5101511515604051948593602085019788610606565b03601f1981018352826105a7565b51902060606101a283856105de565b5101516103f6575b6101b482846105de565b515f82815260016020526040902081518051906001600160401b0382116103e2578254600181811c911680156103d8575b60208210146103c457601f811161037f575b50602090601f83116001146103155791806001979695949288945f9261030a575b50505f19600383901b1c191690831b1781555b60208301519101805460408085015160609095015164ffffffffff60a01b1960a08a901b8a900380199490941695909316949094179190911693901c63ffffffff60a01b169290921790151560c01b60ff60c01b161790557f12727b69cb850f90b18642ff074ca18076ef2a3893ccfc4ff4f5063d242df5bb6102ae83866105de565b5151848060a01b0360206102c286896105de565b51015116906103016001600160e01b031960406102df888b6105de565b5101511660606102ef888b6105de565b51015115159060405194859485610606565b0390a201610116565b015190508980610218565b90601f19831691845f52815f20925f5b818110610367575092600198979695939285928a9687951061034f575b505050811b01815561022b565b01515f1960f88460031b161c19169055898080610342565b92936020600181928786015181550195019301610325565b835f5260205f20601f840160051c810191602085106103ba575b601f0160051c01905b8181106103af57506101f7565b5f81556001016103a2565b9091508190610399565b634e487b7160e01b5f52602260045260245ffd5b90607f16906101e5565b634e487b7160e01b5f52604160045260245ffd5b630413beed60e11b6001600160e01b0319604061041385876105de565b51015116146101aa5760405162461bcd60e51b815260206004820152602860248201527f497373756564417373657420726571756972657320352d61726720696e69742060448201526739b2b632b1ba37b960c11b6064820152608490fd5b604051307f20cc3896100c061f2fdcbd0af1fada4c1704a06451f555b395f279e2e212090e5f80a2611547908161065a8239f35b82516001600160401b0381116105a3578201906080828703601f1901126105a35760405191608083016001600160401b038111848210176103e25760405260208101516001600160401b0381116105a35760209082010187601f820112156105a35780516001600160401b0381116103e25760405191610530601f8301601f1916602001846105a7565b81835289602083830101116105a357815f9260208093018386015e83010152835261055d604082016105ca565b60208401526060810151906001600160e01b0319821682036105a357608091604085015201519081151582036105a3578260209392606085940152815201920191610097565b5f80fd5b601f909101601f19168101906001600160401b038211908210176103e257604052565b51906001600160a01b03821682036105a357565b80518210156105f25760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b9260a060206060949796936080875280519182918260808a0152018388015e5f828288010152601f80199101168501019560018060a01b0316602085015263ffffffff60e01b166040840152151591015256fe60806040526004361015610011575f80fd5b5f3560e01c806302cfeaca146100c45780631d94351c146100bf5780632a5c792a146100ba578063634282af146100b55780637a9e5e4b146100b05780638fb36037146100ab578063922664ee146100a65780639fa20398146100a1578063a9de20661461009c578063bf7e214f146100975763c233b4d214610092575f80fd5b6107af565b61071c565b610685565b61059a565b61051e565b6104db565b61042a565b6103bf565b610336565b6102cc565b61025a565b90600182811c921680156100f7575b60208310146100e357565b634e487b7160e01b5f52602260045260245ffd5b91607f16916100d8565b634e487b7160e01b5f52604160045260245ffd5b6080810190811067ffffffffffffffff82111761013157604052565b610101565b90601f8019910116810190811067ffffffffffffffff82111761013157604052565b9060405191825f82549261016b846100c9565b80845293600181169081156101d65750600114610192575b5061019092500383610136565b565b90505f9291925260205f20905f915b8183106101ba575050906020610190928201015f610183565b60209193508060019154838589010152019101909184926101a1565b90506020925061019094915060ff191682840152151560051b8201015f610183565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b926102346060939695926080865260808601906101f8565b6001600160a01b0390961660208501526001600160e01b03191660408401521515910152565b346102be5760203660031901126102be576004355f52600160205260405f20600161028482610158565b910154604080519283926102ba9260c082901c60ff16929082901b6001600160e01b031916916001600160a01b0316908561021c565b0390f35b5f80fd5b5f9103126102be57565b346102be575f3660031901126102be576003546040516001600160a01b039091168152602090f35b60206040818301928281528451809452019201905f5b8181106103175750505090565b82516001600160a01b031684526020938401939092019160010161030a565b346102be575f3660031901126102be5760405180602060025491828152019060025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace905f5b8181106103a0576102ba8561039481870382610136565b604051918291826102f4565b82546001600160a01b031684526020909301926001928301920161037d565b346102be5760203660031901126102be576004356002548110156102be5760025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01546040516001600160a01b039091168152602090f35b6001600160a01b038116036102be57565b346102be5760203660031901126102be5760043561044781610419565b5f546001600160a01b03811633036104c957813b156104a8576001600160a01b0319166001600160a01b039091169081175f556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a1005b506361798f2f60e11b5f9081526001600160a01b0391909116600452602490fd5b62d1953b60e31b5f523360045260245ffd5b346102be575f3660031901126102be575f5460a01c60ff1615610516576020638fb3603760e01b5b6040516001600160e01b03199091168152f35b60205f610503565b346102be5760403660031901126102be5760043560243567ffffffffffffffff81116102be57366023820112156102be57806004013567ffffffffffffffff81116102be5736602482840101116102be576102ba92602461058093019061085d565b6040516001600160a01b0390911681529081906020820190565b346102be5760203660031901126102be576004356105b8363361114e565b805f52600160205260405f20600181015460018060a01b03811615610640576106116106047feed31d4f34ae7509563eb175713667f4faa31dd79faf620ac182c4195baeec6a93610158565b916001600160a01b031690565b9061062c610627855f52600160205260405f2090565b610d9e565b61063b60405192839283610e02565b0390a2005b60405162461bcd60e51b815260206004820152601d60248201527f496d706c656d656e746174696f6e20646f6573206e6f742065786973740000006044820152606490fd5b346102be5760203660031901126102be576004356106a281610419565b6106ac363361114e565b6001600160a01b031680156106d7576bffffffffffffffffffffffff60a01b60035416176003555f80f35b60405162461bcd60e51b815260206004820152601e60248201527f496e76616c696420696d706c656d656e746174696f6e206164647265737300006044820152606490fd5b346102be575f3660031901126102be575f546040516001600160a01b039091168152602090f35b67ffffffffffffffff811161013157601f01601f191660200190565b81601f820112156102be5780359061077682610743565b926107846040519485610136565b828452602083830101116102be57815f926020809301838601378301015290565b801515036102be57565b346102be5760203660031901126102be5760043567ffffffffffffffff81116102be57608060031982360301126102be576040516107ec81610115565b816004013567ffffffffffffffff81116102be57610810906004369185010161075f565b8152602482013561082081610419565b602082015260448201356001600160e01b0319811681036102be57604082015261085b9160640135610851816107a5565b6060820152610e1a565b005b9091610869363361114e565b60018060a01b036108956001610887855f52600160205260405f2090565b01546001600160a01b031690565b1615610b3c576108a58184610b77565b926108df6108d260016108c0865f52600160205260405f2090565b015460401b6001600160e01b03191690565b6001600160e01b03191690565b6001600160e01b0319909416938403610af75761091161090c6001610887865f52600160205260405f2090565b6114bd565b9382610956575b50505061092482610d0a565b336001600160a01b0383167f9ea39db4a398b469ed3a81a577108b4218a8642c91546deb19e4e16ba351d34e5f80a490565b630413beed60e11b1480610acf575b15610abc57610980610978838084610bfd565b810190610c28565b90959394919391906001600160a01b03161580610a97575b15610a64575050915f92916109ea84936109dc6109b4336112f8565b80986040519586946020860198630413beed60e11b8a5260018060a01b031660248701610cb0565b03601f198101835282610136565b519082875af16109f8610bba565b9015610a3c575033906001600160a01b039081169084167f1e99f92f1c90d9e3c084025c799e02113d9771cd576cc5730a4195873d1ea1be5f80a45b5f8080610918565b610a48610a609161123b565b60405162461bcd60e51b815291829160048301610be9565b0390fd5b915091505f9350839250610a7d60405180938193610bad565b039082865af1610a8b610bba565b9015610a3c5750610a34565b50600354610ab5906001600160a01b03165b6001600160a01b031690565b1515610998565b5f918291610a7d60405180938193610bad565b50610af26001610ae7855f52600160205260405f2090565b015460c01c60ff1690565b610965565b60405162461bcd60e51b815260206004820152601a60248201527f496e76616c69642066756e6374696f6e207369676e61747572650000000000006044820152606490fd5b60405162461bcd60e51b8152602060048201526013602482015272155b9adb9bdddb881d1bdad95b925b5c1b1259606a1b6044820152606490fd5b356001600160e01b0319811692919060048210610b92575050565b6001600160e01b031960049290920360031b82901b16169150565b908092918237015f815290565b3d15610be4573d90610bcb82610743565b91610bd96040519384610136565b82523d5f602084013e565b606090565b906020610bfa9281815201906101f8565b90565b90929192836004116102be5783116102be57600401916003190190565b906004116102be5790600490565b919060a0838203126102be578235610c3f81610419565b92602081013567ffffffffffffffff81116102be5782610c6091830161075f565b92604082013567ffffffffffffffff81116102be5783610c8191840161075f565b92606083013567ffffffffffffffff81116102be57608091610ca491850161075f565b920135610bfa81610419565b9390608093610cde610cfa94610cec9399989960018060a01b0316885260a0602089015260a08801906101f8565b9086820360408801526101f8565b9084820360608601526101f8565b6001600160a01b03909416910152565b600254680100000000000000008110156101315760018101600255600254811015610d745760025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0180546001600160a01b0319166001600160a01b03909216919091179055565b634e487b7160e01b5f52603260045260245ffd5b818110610d93575050565b5f8155600101610d88565b60015f91610dac81546100c9565b80610db657500155565b601f81118314610dc857508281550155565b81845260208420610de391601f0160051c8101908401610d88565b8083528260208120805482851b9083198460031b1c1916178355550155565b90610cfa6020919493946040845260408401906101f8565b610e24363361114e565b80516020820180517f12727b69cb850f90b18642ff074ca18076ef2a3893ccfc4ff4f5063d242df5bb929190610f02906001600160a01b0316610ef5610eee610edf6040890196610e7c885163ffffffff60e01b1690565b610ea260608c01966109dc610e918951151590565b60405194859360208501978861021c565b51902098610eb08551151590565b610f07575b610ed081610ecb8c5f52600160205260405f2090565b610fca565b5195516001600160a01b031690565b95516001600160e01b03191690565b9151151590565b906040519485948561021c565b0390a2565b8751610f25906001600160e01b031916630413beed60e11b14610f2a565b610eb5565b15610f3157565b60405162461bcd60e51b815260206004820152602860248201527f497373756564417373657420726571756972657320352d61726720696e69742060448201526739b2b632b1ba37b960c11b6064820152608490fd5b9190601f8111610f9657505050565b610190925f5260205f20906020601f840160051c83019310610fc0575b601f0160051c0190610d88565b9091508190610fb3565b9190805192835167ffffffffffffffff811161013157610ff481610fee84546100c9565b84610f87565b6020601f821160011461109a576110759261102f83606094600194610190999a5f9261108f575b50508160011b915f199060031b1c19161790565b81555b60208501519101805460408087015163ffffffff60a01b911c166001600160c01b03199091166001600160a01b0390931692909217919091178155920151151590565b815460ff60c01b191690151560c01b60ff60c01b16179055565b015190505f8061101b565b601f198216956110ad845f5260205f2090565b965f5b8181106110f6575083610190979860019461107597946060978795106110de575b505050811b018155611032565b01515f1960f88460031b161c191690555f80806110d1565b838301518955600190980197602093840193016110b0565b9192606093819260018060a01b0316845260406020850152816040850152848401375f828201840152601f01601f1916010190565b6040513d5f823e3d90fd5b5f54611179906001600160a01b031661117061116a855f610c1a565b90610b77565b908330916113fe565b901561118457505050565b63ffffffff1615611221575f805460ff60a01b1916600160a01b1790555f546111b790610aa9906001600160a01b031681565b91823b156102be576111e4925f80809460405196879586948593634a63ebf760e11b85526004850161110e565b03925af1801561121c57611202575b505f805460ff60a01b19169055565b806112105f61121693610136565b806102c2565b5f6111f3565b611143565b62d1953b60e31b5f526001600160a01b031660045260245ffd5b60448151106112bc5760048101518101602481019190602090829003126102be5760248101519067ffffffffffffffff82116102be5701816043820112156102be5760248101519061128c82610743565b9261129a6040519485610136565b828452604482840101116102be57815f926044602093018386015e8301015290565b506040516112cb604082610136565b601d81527f5472616e73616374696f6e2072657665727465642073696c656e746c79000000602082015290565b6e5af43d82803e903d91602b57fd5bf3600354763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c16175f526effffffffffffffffffffffffffffff199060781b1617602052603760095ff0906001600160a01b03821680156113ae57803b156102be5760405163189acdbd60e31b81526001600160a01b039290921660048301525f908290602490829084905af1801561121c576113a0575090565b806112105f610bfa93610136565b63b06ebf3d60e01b5f5260045ffd5b908160209103126102be5751610bfa816107a5565b91908260409103126102be57602082516113eb816107a5565b92015163ffffffff811681036102be5790565b60405163b700961360e01b602082019081526001600160a01b0393841660248301529290931660448401526001600160e01b031990931660648084019190915282525f939284928392839291611455608482610136565b51915afa611461610bba565b9061146b57509190565b80519390916040851061149057505060208061148c939483010191016113d2565b9091565b91909360208110156114a3575b50509190565b6114b692506020809183010191016113bd565b5f8061149d565b6e5af43d82803e903d91602b57fd5bf390763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c16175f5260781b17602052603760095ff0906001600160a01b038216156113ae5756fea2646970667358221220cbdc57d67831480d125d2102d81fea4de151110bb2933109abeaff8423b907f664736f6c634300081c0033000000000000000000000000d2cc3486caad797d39999cd4b216260ed39abd42000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000