0 txs
0 calls
constructor
No constructor.
functions
submitStateUpdate
nonpayablefunction submitStateUpdate(tuple updateFacts, address daFactRegistry, address stateFactRegistry)
updateState
nonpayablefunction updateState(uint64 blockId, tuple onchainUpdates, address stateFactRegistry)
events
AssetAdded
event AssetAdded(address indexed assetAddress, uint256 indexed assetId, uint256 quantum)
PendingStateUpdateSubmitted
event PendingStateUpdateSubmitted(uint64 indexed blockId, (bytes32 prevStateHash, bytes32 pendingStateHash, bytes32 daFact, bytes32 onchainUpdatesHash, uint64 startingActionId, uint64 endingActionId) submittal)
StateUpdated
event StateUpdated(uint64 indexed blockId, bytes32 newStateHash)
UpdateDeposit
event UpdateDeposit(bytes publicKey, uint256 indexed assetId, uint256 quantizedAmount)
UpdateWithdrawal
event UpdateWithdrawal(address indexed user, uint256 indexed assetId, uint256 quantizedAmount)
errors
AssetAlreadyAdded
error AssetAlreadyAdded(uint256 assetId)
AssetNotAdded
error AssetNotAdded(uint256 assetId)
InvalidActionIdRange
error InvalidActionIdRange(uint64 startingActionId, uint64 endingActionId)
InvalidDAFact
error InvalidDAFact(bytes32 fact)
InvalidOnchainUpdates
error InvalidOnchainUpdates()
InvalidStartingActionId
error InvalidStartingActionId(uint64 currentActionId, uint64 startingActionId)
InvalidStateTransition
error InvalidStateTransition()
MissingRole
error MissingRole(bytes32 role, address account)
NullTransition
error NullTransition(bytes32 stateHash)
PrevStateHashMismatch
error PrevStateHashMismatch(bytes32 expected, bytes32 actual)
TooManyDecimals
error TooManyDecimals(uint8 tokenDecimals, uint8 nordDecimals)
creation bytecode
0x6080604052348015600f57600080fd5b506116668061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063af96e7c91461003b578063dd16381014610050575b600080fd5b61004e610049366004610fe0565b610063565b005b61004e61005e3660046111f5565b6103fa565b61008d7f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929336106e4565b806100b87ffec1d987d4cab4c078c567247b1dc5393b88e3c8913f3a0b128e20508e7a0831826106e4565b60006100c2610721565b6001016000866001600160401b0316815260200190815260200160002090506100e9610721565b60020154815414610129576100fc610721565b60020154815460405163036bde0160e21b8152600481019290925260248201526044015b60405180910390fd5b806003015461013785610730565b146101555760405163233ab56b60e11b815260040160405180910390fd5b61015d610721565b6003015461017c90600160801b90046001600160401b03166001611299565b60048201546001600160401b039081169116146101da5761019b610721565b60030154600482810154604051632d7471b160e21b8152600160801b9093046001600160401b0390811692840192909252166024820152604401610120565b6040805160c08101825282548152600183015460208201526002830154918101919091526003820154606082015260048201546001600160401b038082166080840152600160401b9091041660a08201526001600160a01b0384169063cfe6448090610245906107a5565b6040518263ffffffff1660e01b815260040161026391815260200190565b600060405180830381600087803b15801561027d57600080fd5b505af1158015610291573d6000803e3d6000fd5b50506040805160c08101825284548152600185015460208201526002850154918101919091526003840154606082015260048401546001600160401b038082166080840152600160401b9091041660a08201526102f192508591506107ba565b61030e576040516323e69e0360e21b815260040160405180910390fd5b610317846107d5565b84610320610721565b600301805467ffffffffffffffff19166001600160401b039283161790556004820154600160401b900416610353610721565b60030160106101000a8154816001600160401b0302191690836001600160401b03160217905550610382610721565b6001600160401b038616600090815260019182016020526040902001546103a7610721565b600201556001600160401b0385167ff2e924f78fa25c66b1b4ff8bb87fd6fa1c88bbb69b52ae8eaaeacfd570bbd2d76103de610721565b6002015460405190815260200160405180910390a25050505050565b6104247f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929336106e4565b8161044f7f06e87717519a7ed6e25272ef339141b7cca59c3cfd0cb11a72fe14c828cb1066826106e4565b8161047a7ffec1d987d4cab4c078c567247b1dc5393b88e3c8913f3a0b128e20508e7a0831826106e4565b61048884866040015161088e565b6104ad578460400151604051637b4a5bd760e11b815260040161012091815260200190565b84608001516001600160401b03168560a001516001600160401b031610806104f5575064010000000085608001518660a001516104ea91906112b8565b6001600160401b0316115b1561053057608085015160a08601516040516333fcac8d60e11b81526001600160401b03928316600482015291166024820152604401610120565b602085015185510361055d578460200151604051633087137f60e11b815260040161012091815260200190565b604051637dfd13e760e11b81526001600160a01b0384169063fbfa27ce906105899088906004016112d7565b6020604051808303816000875af11580156105a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105cc919061132d565b5060006105d7610721565b6003018054600160401b90046001600160401b03169060086105f883611346565b91906101000a8154816001600160401b0302191690836001600160401b03160217905550905085610627610721565b6001600160401b038084166000818152600193840160209081526040918290208651815590860151948101949094558481015160028501556060850151600385015560808501516004909401805460a0909601518416600160401b026fffffffffffffffffffffffffffffffff199096169490931693909317939093179055517fcfd7eb0fac47e66f9b8d0be220fc3eb4ed3ba266a843b125fdbf3924b3a53cd1906106d49089906112d7565b60405180910390a2505050505050565b6106ee8282610937565b61071d576040516301d4003760e61b8152600481018390526001600160a01b0382166024820152604401610120565b5050565b600061072b61095a565b905090565b6000600282604051602001610745919061147f565b60408051601f198184030181529082905261075f91611549565b602060405180830381855afa15801561077c573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061079f919061132d565b92915050565b600060028260405160200161074591906112d7565b60006107ce836107c9846107a5565b61088e565b9392505050565b60005b81515181101561081057610808826000015182815181106107fb576107fb611565565b60200260200101516109f6565b6001016107d8565b5060005b81602001515181101561084f576108478260200151828151811061083a5761083a611565565b6020026020010151610a96565b600101610814565b5060005b81604001515181101561071d576108868260400151828151811061087957610879611565565b6020026020010151610b83565b600101610853565b6040516309adcb2360e11b81526004810182905260009081906001600160a01b0385169063135b964690602401602060405180830381865afa1580156108d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108fc919061157b565b905060058160058111156109125761091261159c565b148061092f5750600481600581111561092d5761092d61159c565b145b949350505050565b60006107ce82610945610d29565b60008681526020919091526040902090610d33565b60008060ff60001b196001604051806040016040528060148152602001736c617965722e6e2e6e6f72642e73746f7261676560601b8152506040516020016109a29190611549565b6040516020818303038152906040528051906020012060001c6109c591906115b2565b6040516020016109d791815260200190565b60408051601f1981840301815291905280516020909101201692915050565b6000610a00610721565b60208084015160009081529190526040908190208184015184519251919350918391610a2c9190611549565b90815260200160405180910390206000828254610a4991906115b2565b90915550506020820151825160408085015190517f89c37cf1b447613ed7e3429faf1c5b28bae971756471007c551a5f2651bf4d7692610a8a9290916115c5565b60405180910390a25050565b6000610aa0610721565b6020838101516000908152919052604090206002810154909150600160a81b900460ff16610ae9578160200151604051636cdc370d60e01b815260040161012091815260200190565b60408083015183516001600160a01b031660009081526001840160205291822080546001600160401b03909216929091610b249084906115e7565b9091555050602080830151835160408086015190516001600160401b03909116815291926001600160a01b03909116917feb035ba45c82cd0a380a80bdb59d706039a7c0e984c882969629cd34434b952c910160405180910390a35050565b6000610b8d610721565b60208084015160009081529190526040812083519092506001600160a01b031615610c1d5782600001516001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610bf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1891906115fa565b610c20565b60125b6002830154909150600160a81b900460ff1615610c5857826020015160405163bcc90d8160e01b815260040161012091815260200190565b826040015160ff168160ff161015610c965760408084015190516364971cad60e11b815260ff80841660048301529091166024820152604401610120565b6000836040015182610ca89190611617565b845160028501805460ff60a81b1960ff8516600160a01b81026001600160a81b03199093166001600160a01b039095169485179290921716600160a81b179091556020808801516040519283529394507ffde45ef6c4d07139bdb3883a286ea36e8985075fe4c67d5ae2f4d3c76d16b44b910160405180910390a350505050565b600061072b610d55565b6001600160a01b038116600090815260018301602052604081205415156107ce565b60008060ff60001b196001604051806040016040528060168152602001751b185e595c8b9b8b9858d8d95cdccb98dbdb9d1c9bdb60521b8152506040516020016109a29190611549565b80356001600160401b0381168114610db657600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715610df357610df3610dbb565b60405290565b60405160c081016001600160401b0381118282101715610df357610df3610dbb565b604051601f8201601f191681016001600160401b0381118282101715610e4357610e43610dbb565b604052919050565b60006001600160401b03821115610e6457610e64610dbb565b5060051b60200190565b80356001600160a01b0381168114610db657600080fd5b600082601f830112610e9657600080fd5b8135610ea9610ea482610e4b565b610e1b565b80828252602082019150602060608402860101925085831115610ecb57600080fd5b602085015b83811015610f265760608188031215610ee857600080fd5b610ef0610dd1565b610ef982610e6e565b815260208281013590820152610f1160408301610d9f565b60408201528352602090920191606001610ed0565b5095945050505050565b60ff81168114610f3f57600080fd5b50565b600082601f830112610f5357600080fd5b8135610f61610ea482610e4b565b80828252602082019150602060608402860101925085831115610f8357600080fd5b602085015b83811015610f265760608188031215610fa057600080fd5b610fa8610dd1565b610fb182610e6e565b8152602082810135908201526040820135610fcb81610f30565b60408201528352602090920191606001610f88565b600080600060608486031215610ff557600080fd5b610ffe84610d9f565b92506001600160401b036020850135111561101857600080fd5b602084013584016060818703121561102f57600080fd5b611037610dd1565b6001600160401b038235111561104c57600080fd5b8135820187601f82011261105f57600080fd5b61106c610ea48235610e4b565b81358082526020808301929160051b8401018a81111561108b57600080fd5b602084015b8181101561117b576001600160401b03813511156110ad57600080fd5b803585016060818e03601f190112156110c557600080fd5b6110cd610dd1565b6001600160401b03602083013511156110e557600080fd5b6020808301358301018e601f8201126110fd57600080fd5b6001600160401b038135111561111557611115610dbb565b6111298135601f01601f1916602001610e1b565b813581528f60208335840101111561114057600080fd5b813560208301602083013760006020923582018301528252604083810135838301526060909301359282019290925285529384019301611090565b5050835250506001600160401b036020830135111561119957600080fd5b6111a98760208401358401610e85565b60208201526001600160401b03604083013511156111c657600080fd5b6111d68760408401358401610f42565b604082015280935050506111ec60408501610e6e565b90509250925092565b600080600083850361010081121561120c57600080fd5b60c081121561121a57600080fd5b50611223610df9565b8435815260208086013590820152604080860135908201526060808601359082015261125160808601610d9f565b608082015261126260a08601610d9f565b60a0820152925061127560c08501610e6e565b91506111ec60e08501610e6e565b634e487b7160e01b600052601160045260246000fd5b6001600160401b03818116838216019081111561079f5761079f611283565b6001600160401b03828116828216039081111561079f5761079f611283565b600060c082019050825182526020830151602083015260408301516040830152606083015160608301526001600160401b0360808401511660808301526001600160401b0360a08401511660a083015292915050565b60006020828403121561133f57600080fd5b5051919050565b60006001600160401b0382166001600160401b03810361136857611368611283565b60010192915050565b60005b8381101561138c578181015183820152602001611374565b50506000910152565b600081518084526113ad816020860160208601611371565b601f01601f19169290920160200192915050565b600081518084526020840193506020830160005b8281101561141e57815180516001600160a01b03168752602080820151818901526040918201516001600160401b031691880191909152606090960195909101906001016113d5565b5093949350505050565b600081518084526020840193506020830160005b8281101561141e57815180516001600160a01b031687526020808201518189015260409182015160ff16918801919091526060909601959091019060010161143c565b6020815260006080820183516060602085015281815180845260a08601915060a08160051b870101935060208301925060005b8181101561150357609f1987860301835283518051606087526114d86060880182611395565b60208381015189820152604093840151939098019290925250949384019392909201916001016114b2565b505050506020840151838203601f1901604085015261152282826113c1565b9150506040840151601f198483030160608501526115408282611428565b95945050505050565b6000825161155b818460208701611371565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561158d57600080fd5b8151600681106107ce57600080fd5b634e487b7160e01b600052602160045260246000fd5b8181038181111561079f5761079f611283565b6040815260006115d86040830185611395565b90508260208301529392505050565b8082018082111561079f5761079f611283565b60006020828403121561160c57600080fd5b81516107ce81610f30565b60ff828116828216039081111561079f5761079f61128356fea264697066735822122059f929987843184fa609e0e611edea46e4e14418b1b4635edbfaa183ef87022e64736f6c634300081a0033