evm

package
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 8, 2026 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AppRegistryABI = AppRegistryMetaData.ABI

AppRegistryABI is the input ABI used to generate the binding from. Deprecated: Use AppRegistryMetaData.ABI instead.

View Source
var AppRegistryBin = AppRegistryMetaData.Bin

AppRegistryBin is the compiled bytecode used for deploying new contracts. Deprecated: Use AppRegistryMetaData.Bin instead.

View Source
var AppRegistryMetaData = &bind.MetaData{
	ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"asset_\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"unlockPeriod_\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"admin_\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"ADJUDICATOR_ROLE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"ASSET\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"DEFAULT_ADMIN_ROLE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"UNLOCK_PERIOD\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"asset\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"address\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"balanceOf\",\"inputs\":[{\"name\":\"user\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getRoleAdmin\",\"inputs\":[{\"name\":\"role\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"grantRole\",\"inputs\":[{\"name\":\"role\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"hasRole\",\"inputs\":[{\"name\":\"role\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"lastSlashTimestamp\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"lock\",\"inputs\":[{\"name\":\"target\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"lockStateOf\",\"inputs\":[{\"name\":\"user\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"internalType\":\"enumILock.LockState\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"relock\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"renounceRole\",\"inputs\":[{\"name\":\"role\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"callerConfirmation\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"revokeRole\",\"inputs\":[{\"name\":\"role\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"setSlashCooldown\",\"inputs\":[{\"name\":\"newCooldown\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"slash\",\"inputs\":[{\"name\":\"user\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"recipient\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decision\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"slashCooldown\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"supportsInterface\",\"inputs\":[{\"name\":\"interfaceId\",\"type\":\"bytes4\",\"internalType\":\"bytes4\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bool\",\"internalType\":\"bool\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"unlock\",\"inputs\":[],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"unlockTimestampOf\",\"inputs\":[{\"name\":\"user\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"withdraw\",\"inputs\":[{\"name\":\"destination\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"Locked\",\"inputs\":[{\"name\":\"user\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"deposited\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"newBalance\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Relocked\",\"inputs\":[{\"name\":\"user\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"balance\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"RoleAdminChanged\",\"inputs\":[{\"name\":\"role\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"previousAdminRole\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"newAdminRole\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"RoleGranted\",\"inputs\":[{\"name\":\"role\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"account\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"sender\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"RoleRevoked\",\"inputs\":[{\"name\":\"role\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"account\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"sender\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"SlashCooldownUpdated\",\"inputs\":[{\"name\":\"oldCooldown\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"newCooldown\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Slashed\",\"inputs\":[{\"name\":\"user\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"recipient\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"decision\",\"type\":\"bytes\",\"indexed\":false,\"internalType\":\"bytes\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"UnlockInitiated\",\"inputs\":[{\"name\":\"user\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"balance\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"},{\"name\":\"availableAt\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Withdrawn\",\"inputs\":[{\"name\":\"user\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"balance\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"AccessControlBadConfirmation\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"AccessControlUnauthorizedAccount\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"neededRole\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"type\":\"error\",\"name\":\"AlreadyUnlocking\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InsufficientBalance\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidAddress\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidAmount\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidPeriod\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"NotLocked\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"NotUnlocking\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"RecipientIsAdjudicator\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ReentrancyGuardReentrantCall\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"SafeERC20FailedOperation\",\"inputs\":[{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"SlashCooldownActive\",\"inputs\":[{\"name\":\"availableAt\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"UnlockPeriodNotElapsed\",\"inputs\":[{\"name\":\"availableAt\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]}]",
	Bin: "0x60c03461010d57601f61176038819003918201601f19168301916001600160401b038311848410176101115780849260609460405283398101031261010d5761004781610125565b90610059604060208301519201610125565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055916001600160a01b038116156100ef5781156100fe5760805260a0526001600160a01b038116156100ef576100b190610139565b5060405161157d90816101c3823960805181818161060d0152818161084c01528181610edd01526110e1015260a05181818161030b0152610aca0152f35b63e6c4247b60e01b5f5260045ffd5b6302e8f35960e31b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361010d57565b6001600160a01b0381165f9081525f5160206117405f395f51905f52602052604090205460ff166101bd576001600160a01b03165f8181525f5160206117405f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f9056fe60806040526004361015610011575f80fd5b5f3560e01c8063010379b214610d3257806301ffc9a714610c7357806302f70fe614610c10578063248a9ca314610bbf578063256f8f0914610aed578063259a28cf14610a95578063282d3fdf146107ad5780632f2ff15d1461075157806336568abe146106c957806338d52e0f146106c45780634800d97f146106c457806351cff8d91461058a5780635a6ca4ae1461054f57806370a08231146104ed57806391d1485414610478578063a217fddf14610440578063a43e9cf4146103c1578063a69df4b5146102b5578063c53b573d14610205578063c77f5062146101ca578063d547741f146101675763f538f7dd1461010b575f80fd5b34610163575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101635760206040517f5ad6c1ce52091d5f5a49dff6df7d4bf577735e77d8c13251e1ea9c82ce8c380d8152f35b5f80fd5b346101635760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610163576101c86004356101a4611074565b906101c36101be825f526002602052600160405f20015490565b611201565b61147d565b005b34610163575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610163576020600454604051908152f35b34610163575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016357335f52600160205260405f20541561028d57335f525f60205260405f2054335f5260016020525f60408120556040519081527fe2d155d9d74decc198a9a9b4f5bddb24ee0842ee745c9ce57e3573b971e50d9d60203392a2005b7ff61050dc000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610163575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016357335f525f60205260405f2054801561039957335f52600160205260405f2054610371576103307f000000000000000000000000000000000000000000000000000000000000000042611105565b335f5260016020528060405f205560405191825260208201527fd73fc4aafa5101b91e88b8c2fa75d8d6db73466773addb11c079d063c1e63c0c60403392a2005b7fe47b668b000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f1834e265000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101635760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610163576104006103fb611051565b6111ba565b6040516003821015610413576020918152f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b34610163575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101635760206040515f8152f35b346101635760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610163576104af611074565b6004355f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060ff60405f2054166040519015158152f35b346101635760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101635773ffffffffffffffffffffffffffffffffffffffff610539611051565b165f525f602052602060405f2054604051908152f35b34610163575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610163576020600354604051908152f35b346101635760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610163576105c1611051565b6105c9611268565b335f52600160205260405f2054801561028d578042106106995750335f908152602081815260408083208054908490556001909252822091909155906106479082907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166112df565b6040519081527f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d560203392a260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055005b7fc33c45d1000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b611097565b346101635760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016357610700611074565b3373ffffffffffffffffffffffffffffffffffffffff821603610729576101c89060043561147d565b7f6697b232000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101635760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610163576101c860043561078e611074565b906107a86101be825f526002602052600160405f20015490565b6113a9565b346101635760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610163576107e4611051565b602435906107f0611268565b8115610a6d5773ffffffffffffffffffffffffffffffffffffffff1690815f52600160205260405f2054610371576040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16602082602481845afa9182156109e4575f92610a39575b50604051927f23b872dd000000000000000000000000000000000000000000000000000000005f52336004523060245260445260205f60648180855af160015f5114811615610a1a575b836040525f606052156109ef57826024816020937f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa9182156109e4575f926109ae575b5061095d6040917fd4665e3049283582ba6f9eba07a5b3e12dab49e02da99e8927a47af5d134bea59361113f565b835f525f60205261097181835f2054611105565b845f525f60205280835f205582519182526020820152a260017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055005b91506020823d6020116109dc575b816109c96020938361114c565b810103126101635790519061095d61092f565b3d91506109bc565b6040513d5f823e3d90fd5b7f5274afe7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b6001811516610a3057813b15153d1516166108e2565b833d5f823e3d90fd5b9091506020813d602011610a65575b81610a556020938361114c565b8101031261016357519084610898565b3d9150610a48565b7f2c5211c6000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610163575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101635760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b346101635760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016357335f9081527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b60205260409020546004359060ff1615610b8f5760407f21dd401bad58f48f88b208aad5157305ac7e8ec5db030042aaec08ebd7f50e4c91600354908060035582519182526020820152a1005b7fe2517d3f000000000000000000000000000000000000000000000000000000005f52336004525f60245260445ffd5b346101635760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610163576020610c086004355f526002602052600160405f20015490565b604051908152f35b346101635760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101635773ffffffffffffffffffffffffffffffffffffffff610c5c611051565b165f526001602052602060405f2054604051908152f35b346101635760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610163576004357fffffffff00000000000000000000000000000000000000000000000000000000811680910361016357807f7965db0b0000000000000000000000000000000000000000000000000000000060209214908115610d08575b506040519015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501482610cfd565b346101635760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016357610d69611051565b60243560443573ffffffffffffffffffffffffffffffffffffffff811692838203610163576064359067ffffffffffffffff821161016357366023830112156101635781600401359067ffffffffffffffff821161016357366024838501011161016357335f9081527f7f9272e0d81bdb9b1e0d5b8b11f4dfdbe7d5ebf3410318d28f3e6024ce33d903602052604090205460ff161561100157610e0b611268565b60045460035480151580610ff8575b610fb7575b5050338614610f8f5773ffffffffffffffffffffffffffffffffffffffff1693845f525f60205260405f2054938415610f6757848211610f6757601f606093610f02847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe094610eaf827ff204f6a8b6d1439051d5fbd742389d0f778d18d21016e81c8ad3d4558266454c9b61113f565b8b5f525f6020528060405f205515610f54575b4260045573ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166112df565b80602460405197889687526040602088015282604088015201868601375f85828601015201168101030190a360017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055005b8a5f5260016020525f6040812055610ec2565b7ff4d678b8000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f8d3fe42e000000000000000000000000000000000000000000000000000000005f5260045ffd5b610fc091611105565b804210610fcd5780610e1f565b7f773faedc000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b50811515610e1a565b7fe2517d3f000000000000000000000000000000000000000000000000000000005f52336004527f5ad6c1ce52091d5f5a49dff6df7d4bf577735e77d8c13251e1ea9c82ce8c380d60245260445ffd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361016357565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361016357565b34610163575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261016357602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b9190820180921161111257565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b9190820391821161111257565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761118d57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff16805f525f60205260405f2054156111fc575f52600160205260405f2054156111f757600290565b600190565b505f90565b805f52600260205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260ff60405f205416156112395750565b7fe2517d3f000000000000000000000000000000000000000000000000000000005f523360045260245260445ffd5b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146112b75760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b9173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb000000000000000000000000000000000000000000000000000000005f521660045260245260205f60448180865af19060015f5114821615611388575b604052156113465750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b9060018115166113a057823b15153d1516169061133b565b503d5f823e3d90fd5b805f52600260205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260ff60405f205416155f1461147757805f52600260205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f2060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905573ffffffffffffffffffffffffffffffffffffffff339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f52600260205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260ff60405f2054165f1461147757805f52600260205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00815416905573ffffffffffffffffffffffffffffffffffffffff339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a460019056fea2646970667358221220d76073a01636f84db6fa5e41c0f05a2695c4df18ed5b02a8e189ed7ed6d4da3a64736f6c63430008220033ac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b",
}

AppRegistryMetaData contains all meta data concerning the AppRegistry contract.

View Source
var ChannelHubABI = ChannelHubMetaData.ABI

ChannelHubABI is the input ABI used to generate the binding from. Deprecated: Use ChannelHubMetaData.ABI instead.

View Source
var ChannelHubBin = ChannelHubMetaData.Bin

ChannelHubBin is the compiled bytecode used for deploying new contracts. Deprecated: Use ChannelHubMetaData.Bin instead.

View Source
var ChannelHubMetaData = &bind.MetaData{
	ABI: "[{\"type\":\"constructor\",\"inputs\":[{\"name\":\"_defaultSigValidator\",\"type\":\"address\",\"internalType\":\"contractISignatureValidator\"}],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"DEFAULT_SIG_VALIDATOR\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractISignatureValidator\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"ESCROW_DEPOSIT_UNLOCK_DELAY\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"MAX_DEPOSIT_ESCROW_PURGE\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"MIN_CHALLENGE_DURATION\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint32\",\"internalType\":\"uint32\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"TRANSFER_GAS_LIMIT\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"VERSION\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"challengeChannel\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"candidate\",\"type\":\"tuple\",\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"challengerSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"challengerIdx\",\"type\":\"uint8\",\"internalType\":\"enumParticipantIndex\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"challengeEscrowDeposit\",\"inputs\":[{\"name\":\"escrowId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"challengerSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"challengerIdx\",\"type\":\"uint8\",\"internalType\":\"enumParticipantIndex\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"challengeEscrowWithdrawal\",\"inputs\":[{\"name\":\"escrowId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"challengerSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"challengerIdx\",\"type\":\"uint8\",\"internalType\":\"enumParticipantIndex\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"checkpointChannel\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"candidate\",\"type\":\"tuple\",\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"claimFunds\",\"inputs\":[{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"destination\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"closeChannel\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"candidate\",\"type\":\"tuple\",\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"createChannel\",\"inputs\":[{\"name\":\"def\",\"type\":\"tuple\",\"internalType\":\"structChannelDefinition\",\"components\":[{\"name\":\"challengeDuration\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"user\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"node\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"nonce\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"approvedSignatureValidators\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"initState\",\"type\":\"tuple\",\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"depositToChannel\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"candidate\",\"type\":\"tuple\",\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"depositToVault\",\"inputs\":[{\"name\":\"node\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"escrowHead\",\"inputs\":[],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"finalizeEscrowDeposit\",\"inputs\":[{\"name\":\"escrowId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"candidate\",\"type\":\"tuple\",\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"finalizeEscrowWithdrawal\",\"inputs\":[{\"name\":\"escrowId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"candidate\",\"type\":\"tuple\",\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"finalizeMigration\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"candidate\",\"type\":\"tuple\",\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"getAccountBalance\",\"inputs\":[{\"name\":\"node\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getChannelData\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumChannelStatus\"},{\"name\":\"definition\",\"type\":\"tuple\",\"internalType\":\"structChannelDefinition\",\"components\":[{\"name\":\"challengeDuration\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"user\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"node\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"nonce\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"approvedSignatureValidators\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"lastState\",\"type\":\"tuple\",\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"challengeExpiry\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"lockedFunds\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getChannelIds\",\"inputs\":[{\"name\":\"user\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"bytes32[]\",\"internalType\":\"bytes32[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getEscrowDepositData\",\"inputs\":[{\"name\":\"escrowId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumEscrowStatus\"},{\"name\":\"unlockAt\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"challengeExpiry\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"lockedAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"initState\",\"type\":\"tuple\",\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getEscrowDepositIds\",\"inputs\":[{\"name\":\"page\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"pageSize\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[{\"name\":\"ids\",\"type\":\"bytes32[]\",\"internalType\":\"bytes32[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getEscrowWithdrawalData\",\"inputs\":[{\"name\":\"escrowId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}],\"outputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"status\",\"type\":\"uint8\",\"internalType\":\"enumEscrowStatus\"},{\"name\":\"challengeExpiry\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"lockedAmount\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"initState\",\"type\":\"tuple\",\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getNodeValidator\",\"inputs\":[{\"name\":\"node\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"validatorId\",\"type\":\"uint8\",\"internalType\":\"uint8\"}],\"outputs\":[{\"name\":\"\",\"type\":\"address\",\"internalType\":\"contractISignatureValidator\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getOpenChannels\",\"inputs\":[{\"name\":\"user\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"openChannels\",\"type\":\"bytes32[]\",\"internalType\":\"bytes32[]\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"getReclaimBalance\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"}],\"outputs\":[{\"name\":\"\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"stateMutability\":\"view\"},{\"type\":\"function\",\"name\":\"initiateEscrowDeposit\",\"inputs\":[{\"name\":\"def\",\"type\":\"tuple\",\"internalType\":\"structChannelDefinition\",\"components\":[{\"name\":\"challengeDuration\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"user\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"node\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"nonce\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"approvedSignatureValidators\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"candidate\",\"type\":\"tuple\",\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"initiateEscrowWithdrawal\",\"inputs\":[{\"name\":\"def\",\"type\":\"tuple\",\"internalType\":\"structChannelDefinition\",\"components\":[{\"name\":\"challengeDuration\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"user\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"node\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"nonce\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"approvedSignatureValidators\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"candidate\",\"type\":\"tuple\",\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"initiateMigration\",\"inputs\":[{\"name\":\"def\",\"type\":\"tuple\",\"internalType\":\"structChannelDefinition\",\"components\":[{\"name\":\"challengeDuration\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"user\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"node\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"nonce\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"approvedSignatureValidators\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"candidate\",\"type\":\"tuple\",\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"purgeEscrowDeposits\",\"inputs\":[{\"name\":\"maxToPurge\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"registerNodeValidator\",\"inputs\":[{\"name\":\"node\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"validatorId\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"validator\",\"type\":\"address\",\"internalType\":\"contractISignatureValidator\"},{\"name\":\"signature\",\"type\":\"bytes\",\"internalType\":\"bytes\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"function\",\"name\":\"withdrawFromChannel\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"candidate\",\"type\":\"tuple\",\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"outputs\":[],\"stateMutability\":\"payable\"},{\"type\":\"function\",\"name\":\"withdrawFromVault\",\"inputs\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}],\"outputs\":[],\"stateMutability\":\"nonpayable\"},{\"type\":\"event\",\"name\":\"ChannelChallenged\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"candidate\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"challengeExpireAt\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ChannelCheckpointed\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"candidate\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ChannelClosed\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"finalState\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ChannelCreated\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"user\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"node\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"definition\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structChannelDefinition\",\"components\":[{\"name\":\"challengeDuration\",\"type\":\"uint32\",\"internalType\":\"uint32\"},{\"name\":\"user\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"node\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"nonce\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"approvedSignatureValidators\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"name\":\"initialState\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ChannelDeposited\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"candidate\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ChannelWithdrawn\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"candidate\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Deposited\",\"inputs\":[{\"name\":\"wallet\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"token\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"EscrowDepositChallenged\",\"inputs\":[{\"name\":\"escrowId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"state\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"challengeExpireAt\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"EscrowDepositFinalized\",\"inputs\":[{\"name\":\"escrowId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"state\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"EscrowDepositFinalizedOnHome\",\"inputs\":[{\"name\":\"escrowId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"state\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"EscrowDepositInitiated\",\"inputs\":[{\"name\":\"escrowId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"state\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"EscrowDepositInitiatedOnHome\",\"inputs\":[{\"name\":\"escrowId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"state\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"EscrowDepositsPurged\",\"inputs\":[{\"name\":\"purgedCount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"EscrowWithdrawalChallenged\",\"inputs\":[{\"name\":\"escrowId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"state\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]},{\"name\":\"challengeExpireAt\",\"type\":\"uint64\",\"indexed\":false,\"internalType\":\"uint64\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"EscrowWithdrawalFinalized\",\"inputs\":[{\"name\":\"escrowId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"state\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"EscrowWithdrawalFinalizedOnHome\",\"inputs\":[{\"name\":\"escrowId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"state\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"EscrowWithdrawalInitiated\",\"inputs\":[{\"name\":\"escrowId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"state\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"EscrowWithdrawalInitiatedOnHome\",\"inputs\":[{\"name\":\"escrowId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"state\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"FundsClaimed\",\"inputs\":[{\"name\":\"account\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"token\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"destination\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MigrationInFinalized\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"state\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MigrationInInitiated\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"state\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MigrationOutFinalized\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"state\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"MigrationOutInitiated\",\"inputs\":[{\"name\":\"channelId\",\"type\":\"bytes32\",\"indexed\":true,\"internalType\":\"bytes32\"},{\"name\":\"state\",\"type\":\"tuple\",\"indexed\":false,\"internalType\":\"structState\",\"components\":[{\"name\":\"version\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"intent\",\"type\":\"uint8\",\"internalType\":\"enumStateIntent\"},{\"name\":\"metadata\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"},{\"name\":\"homeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"nonHomeLedger\",\"type\":\"tuple\",\"internalType\":\"structLedger\",\"components\":[{\"name\":\"chainId\",\"type\":\"uint64\",\"internalType\":\"uint64\"},{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"decimals\",\"type\":\"uint8\",\"internalType\":\"uint8\"},{\"name\":\"userAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"userNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"},{\"name\":\"nodeAllocation\",\"type\":\"uint256\",\"internalType\":\"uint256\"},{\"name\":\"nodeNetFlow\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"name\":\"userSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"},{\"name\":\"nodeSig\",\"type\":\"bytes\",\"internalType\":\"bytes\"}]}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"TransferFailed\",\"inputs\":[{\"name\":\"recipient\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"token\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"ValidatorRegistered\",\"inputs\":[{\"name\":\"node\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"validatorId\",\"type\":\"uint8\",\"indexed\":true,\"internalType\":\"uint8\"},{\"name\":\"validator\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"contractISignatureValidator\"}],\"anonymous\":false},{\"type\":\"event\",\"name\":\"Withdrawn\",\"inputs\":[{\"name\":\"wallet\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"token\",\"type\":\"address\",\"indexed\":true,\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"indexed\":false,\"internalType\":\"uint256\"}],\"anonymous\":false},{\"type\":\"error\",\"name\":\"AddressCollision\",\"inputs\":[{\"name\":\"collision\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ChallengerVersionTooLow\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ECDSAInvalidSignature\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ECDSAInvalidSignatureLength\",\"inputs\":[{\"name\":\"length\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"ECDSAInvalidSignatureS\",\"inputs\":[{\"name\":\"s\",\"type\":\"bytes32\",\"internalType\":\"bytes32\"}]},{\"type\":\"error\",\"name\":\"EmptySignature\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IncorrectAmount\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IncorrectChallengeDuration\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IncorrectChannelStatus\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IncorrectSignature\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IncorrectStateIntent\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"IncorrectValue\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InsufficientBalance\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidAddress\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"InvalidValidatorId\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"NativeTransferFailed\",\"inputs\":[{\"name\":\"to\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"amount\",\"type\":\"uint256\",\"internalType\":\"uint256\"}]},{\"type\":\"error\",\"name\":\"OnlyNonHomeEscrowsCanBeChallenged\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ReentrancyGuardReentrantCall\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"SafeCastOverflowedIntToUint\",\"inputs\":[{\"name\":\"value\",\"type\":\"int256\",\"internalType\":\"int256\"}]},{\"type\":\"error\",\"name\":\"SafeERC20FailedOperation\",\"inputs\":[{\"name\":\"token\",\"type\":\"address\",\"internalType\":\"address\"}]},{\"type\":\"error\",\"name\":\"ValidatorAlreadyRegistered\",\"inputs\":[{\"name\":\"node\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"validatorId\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]},{\"type\":\"error\",\"name\":\"ValidatorNotApproved\",\"inputs\":[]},{\"type\":\"error\",\"name\":\"ValidatorNotRegistered\",\"inputs\":[{\"name\":\"node\",\"type\":\"address\",\"internalType\":\"address\"},{\"name\":\"validatorId\",\"type\":\"uint8\",\"internalType\":\"uint8\"}]}]",
	Bin: "0x60a0346100aa57601f61604f38819003918201601f19168301916001600160401b038311848410176100ae578084926020946040528339810103126100aa57516001600160a01b0381168082036100aa5760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00551561009b57608052604051615f8c90816100c3823960805181818161114f0152614ac40152f35b63e6c4247b60e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c806313c380ed1461024457806316b390b11461023f57806317536c061461023a578063187576d8146102355780633115f6301461023057806338a66be21461022b57806341b660ef1461022657806347de477a14610221578063532691981461021c578063587675e8146102175780635a0745b4146102125780635b9acbf91461020d5780635dc46a74146102085780636898234b146102035780636af820bd146101fe57806371a47141146101f9578063735181f0146101f45780637e7985f9146101ef57806382d3e15d146101ea5780638d0b12a5146101e557806394191051146101e05780639691b468146101db578063a5c82680146101d6578063b00b6fd6146101d1578063b25a1d38146101cc578063beed9d5f146101c7578063c74a2d10146101c2578063d888ccae146101bd578063dc23f29e146101b8578063dd73d494146101b3578063e617208c146101ae578063ecf3d7e8146101a9578063f4ac51f5146101a4578063f766f8d61461019f5763ffa1ad741461019a575f80fd5b612680565b6124e1565b612466565b612354565b6122b5565b612137565b611f3b565b611dfb565b611bb7565b611a11565b611701565b611698565b6114fd565b6113a3565b611386565b6111ef565b6111d2565b6111bb565b61117e565b61113a565b61111f565b611033565b611021565b610fff565b610fe3565b610f9d565b610d3b565b610b82565b6108a6565b610852565b6106c6565b610640565b610532565b610326565b61028f565b90816102609103126102585790565b5f80fd5b90604060031983011261025857600435916024359067ffffffffffffffff82116102585761028c91600401610249565b90565b34610258576102a66102a03661025c565b90612c38565b005b9181601f840112156102585782359167ffffffffffffffff8311610258576020838186019501011161025857565b60643590600282101561025857565b90606060031983011261025857600435916024359067ffffffffffffffff821161025857610315916004016102a8565b909160443560028110156102585790565b3461025857610334366102e5565b61040061034c859493945f52600260205260405f2090565b92835461036761036261035e83613f07565b1590565b612e9a565b6103c2600286019461039261038387546001600160a01b031690565b948560038a019a8b5492614aab565b9591600160068b019a01966103b288546001600160a01b039060081c1690565b926103bc8c61300e565b88614bfb565b60c06103cd886142d5565b604051809581927f6666e4c000000000000000000000000000000000000000000000000000000000835260048301613092565b038173__$682d6198b4eca5bc7e038b912a26498e7e$__5af49081156104f0577fba075bd445233f7cad862c72f0343b3503aad9c8e704a2295f122b82abf8e8019661049e956080955f946104b3575b508361047c61046e61048f9697546001600160a01b039060081c1690565b92546001600160a01b031690565b9254936104888a61300e565b908c6146aa565b015167ffffffffffffffff1690565b906104ae604051928392836130a3565b0390a2005b61048f94509461047c6104e061046e9760c03d60c0116104e9575b6104d8818361292e565b8101906129a5565b95505094610450565b503d6104ce565b612a9f565b6001600160a01b0381160361025857565b60031960609101126102585760043561051e816104f5565b9060243561052b816104f5565b9060443590565b6001600160a01b0361054336610506565b9290911690610553821515613200565b61055e83151561322f565b815f5260066020526105848160405f20906001600160a01b03165f5260205260405f2090565b805491848301809311610602577f8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a7926001600160a01b0392556105c5615951565b6105d0858233614d31565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556040519485521692602090a3005b61325e565b60206040818301928281528451809452019201905f5b81811061062a5750505090565b825184526020938401939092019160010161061d565b34610258576020600319360112610258576001600160a01b03600435610665816104f5565b165f52600160205260405f206040519081602082549182815201915f5260205f20905f5b8181106106b0576106ac856106a08187038261292e565b60405191829182610607565b0390f35b8254845260209093019260019283019201610689565b3461025857602060031936011261025857600354600480549190355f5b82841080610849575b1561083c5761071861070a61070086613496565b90549060031b1c90565b5f52600260205260405f2090565b600181016003610729825460ff1690565b61073281611c46565b1461082a5761074082615bbd565b156107e657915f826107d16107dd9560056107d79601926107c26107ba8554926107a5600d61079361077c60028501546001600160a01b031690565b6001600160a01b03165f52600660205260405f2090565b92015460401c6001600160a01b031690565b6001600160a01b03165f5260205260405f2090565b918254613272565b9055600360ff19825416179055565b55613982565b93613982565b915b91926106e3565b50509290506107f59150600455565b806107fc57005b6040519081527f61815f4b11c6ea4e14a2e448a010bed8efdc3e53a15efbf183d16a31085cd14590602090a1005b50509261083690613982565b916107df565b9290506107f59150600455565b508181106106ec565b34610258575f600319360112610258576020604051620186a08152f35b90600319820160e081126102585760c0136102585760049160c4359067ffffffffffffffff82116102585761028c91600401610249565b6108af3661086f565b90602082019160026108c08461287e565b6108c981611c55565b148015610b67575b8015610b49575b6108e190612888565b6109896108f66108f1368561328d565b614f1d565b9161090084614fdb565b602084019061090e826128b7565b9561092d6040870197610920896128b7565b608089013591858961428c565b60e08261095561094e61094261077c8c6128b7565b6107a5608085016128b7565b54886150e6565b60405196879283927fa8b4483c000000000000000000000000000000000000000000000000000000008452600484016133d1565b038173__$c00a153e45d4e7ce60e0acf48b0547b51a$__5af49384156104f057610a846001600160a01b0394610a9c93610a057fb00e209e275d0e1892f1982b34d3f545d1628aebd95322d7ce3585c558f638b498610a8a955f91610b1a575b506109f4368d61328d565b6109fe368a612b8a565b908c61527e565b610a3189610a2c610a15856128b7565b6001600160a01b03165f52600160205260405f2090565b615bf1565b506002610a3d8261287e565b610a4681611c55565b03610aa15750877f6085f5128b19e0d3cc37524413de47259383f0f75265d5d66f4177869620669660405180610a7c898261286d565b0390a26128b7565b976128b7565b918360405194859416981696836133e8565b0390a4005b610aac60039161287e565b610ab581611c55565b03610aea57877f188e0ade7d115cc397426774adb960ae3e8c83e72f0a6cad4b7085e1d60bf98660405180610a7c898261286d565b877f567044ba1cdd4671ac3979c114241e1e3b56c9e9051f63f2f234f7a2795019cc60405180610a7c898261286d565b610b3c915060e03d60e011610b42575b610b34818361292e565b810190613301565b5f6109e9565b503d610b2a565b506108e1610b568461287e565b610b5f81611c55565b1590506108d8565b506003610b738461287e565b610b7c81611c55565b146108d1565b610b8b3661086f565b90610bac6004610b9d6020850161287e565b610ba681611c55565b14612888565b610bb96108f1368361328d565b9160208201610bc7816128b7565b90610be860408501926080610bdb856128b7565b960135958691868961428c565b610bfa610bf484613478565b86615391565b93610c0486613f07565b15610c4c57505050610c4781610c3b7f471c4ebe4e57d25ef7117e141caac31c6b98f067b8098a7a7bbd38f637c2f98093866153c1565b6040519182918261286d565b0390a3005b610c949060c085610c6088979596976142d5565b60405194859283927fbbc42f3400000000000000000000000000000000000000000000000000000000845260048401612a7a565b038173__$682d6198b4eca5bc7e038b912a26498e7e$__5af480156104f0577fede7867afa7cdb9c443667efd8244d98bf9df1dce68e60dc94dca6605125ca7695610c4795610d09945f93610d12575b50610cf1610cf7916128b7565b916128b7565b91610d023687612b8a565b8a8a6146aa565b610c3b846134e5565b610cf7919350610d33610cf19160c03d60c0116104e9576104d8818361292e565b939150610ce4565b3461025857610d493661025c565b610d5a6009610b9d6020840161287e565b610d766001610d70845f525f60205260405f2090565b01613533565b610e55610d8d60208301516001600160a01b031690565b9161077c60e060408301610db9610dab82516001600160a01b031690565b608086015190888a8c61428c565b610e21610e1a610e03610dcc368b612b8a565b9586946101408c018d8d610ddf83613478565b67ffffffffffffffff1646149d8e610f0f575b50505050516001600160a01b031690565b6060840151602001516001600160a01b03166107a5565b54896150e6565b60405195869283927fa8b4483c000000000000000000000000000000000000000000000000000000008452600484016135bf565b038173__$c00a153e45d4e7ce60e0acf48b0547b51a$__5af49182156104f057610e87935f93610eee575b508661527e565b15610ebd576104ae7f9a6f675cc94b83b55f1ecc0876affd4332a30c92e6faa2aca0199b1b6df922c3916040519182918261286d565b6104ae7f7b20773c41402791c5f18914dbbeacad38b1ebcc4c55d8eb3bfe0a4cde26c826916040519182918261286d565b610f0891935060e03d60e011610b4257610b34818361292e565b915f610e80565b610f33610f6992610f24610f6e963690612aaa565b60608d01526060369101612aaa565b60808b0152610f406135ab565b60a08b0152610f4d6135ab565b60c08b01526001600160a01b03165f52600160205260405f2090565b615c9a565b505f8d8d82610df2565b600319604091011261025857600435610f90816104f5565b9060243561028c816104f5565b34610258576020610fda6001600160a01b03610fb836610f78565b91165f526006835260405f20906001600160a01b03165f5260205260405f2090565b54604051908152f35b34610258575f600319360112610258576020604051612a308152f35b34610258576040600319360112610258576106ac6106a0602435600435613669565b6102a661102d3661025c565b90613723565b34610258576020600319360112610258576001600160a01b03600435611058816104f5565b165f52600160205261106c60405f20615b75565b5f905f5b815181101561110c5761109e6110976110898385613655565b515f525f60205260405f2090565b5460ff1690565b6110a781612208565b600381141590816110f7575b506110c1575b600101611070565b916110d48184600193106110dc57613982565b9290506110b9565b6110e68585613655565b516110f18286613655565b52613982565b6005915061110481612208565b14155f6110b3565b506106ac91815260405191829182610607565b34610258575f60031936011261025857602060405160408152f35b34610258575f600319360112610258576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b34610258576020610fda6001600160a01b0361119936610f78565b91165f526008835260405f20906001600160a01b03165f5260205260405f2090565b34610258576102a66111cc3661025c565b90613a5e565b34610258575f600319360112610258576020600454604051908152f35b346102585761127a611200366102e5565b92939190611216855f52600560205260405f2090565b9161122761036261035e8554613f07565b6002830160a061124761124183546001600160a01b031690565b896153dc565b604051809781927f24063eba00000000000000000000000000000000000000000000000000000000835260048301613c4b565b038173__$b69fb814c294bfc16f92e50d7aeced4bde$__5af49485156104f0575f95611355575b508354600185015490949060081c6001600160a01b0316968792546112cc906001600160a01b031690565b809581956003850154976112e1928992614aab565b9a9190946006019a6112f28c61300e565b956112fd968b614bfb565b846113078761300e565b6113119589615444565b6060015167ffffffffffffffff1660405191829161132f91836130a3565b037fb8568a1f475f3c76759a620e08a653d28348c5c09e2e0bc91d533339801fefd891a2005b61137891955060a03d60a01161137f575b611370818361292e565b810190613990565b935f6112a1565b503d611366565b34610258575f600319360112610258576020604051620151808152f35b6114796113af3661025c565b6113d06113c16020839594950161287e565b6113ca81611c55565b15612888565b6113e66001610d70855f525f60205260405f2090565b9060e08161144561143e61094261077c61140a60208901516001600160a01b031690565b6114318b8a604081019389608061142887516001600160a01b031690565b9301519361428c565b516001600160a01b031690565b54876150e6565b60405195869283927fa8b4483c000000000000000000000000000000000000000000000000000000008452600484016133d1565b038173__$c00a153e45d4e7ce60e0acf48b0547b51a$__5af49283156104f0577f567044ba1cdd4671ac3979c114241e1e3b56c9e9051f63f2f234f7a2795019cc936104ae93610c3b925f926114dc575b506114d53685612b8a565b908761527e565b6114f691925060e03d60e011610b4257610b34818361292e565b905f6114ca565b346102585761150b3661086f565b9061151d6006610b9d6020850161287e565b61152a6108f1368361328d565b9160208201611538816128b7565b9061154c60408501926080610bdb856128b7565b611558610bf484613478565b9361156286613f07565b1561159957505050610c4781610c3b7f587faad1bcd589ce902468251883e1976a645af8563c773eed7356d78433210c93866153c1565b6115e29060a0856115af611241879896976128b7565b60405194859283927eea54e700000000000000000000000000000000000000000000000000000000845260048401613a47565b038173__$b69fb814c294bfc16f92e50d7aeced4bde$__5af480156104f0577f17eb0a6bd5a0de45d1029ce3444941070e149df35b22176fc439f930f73c09f795610c4795610c3b945f93611651575b50610cf161163f916128b7565b9161164a3687612b8a565b8a8a615444565b61163f919350611672610cf19160a03d60a01161137f57611370818361292e565b939150611632565b6024359060ff8216820361025857565b359060ff8216820361025857565b34610258576040600319360112610258576001600160a01b036116e66004356116c0816104f5565b826116c961167a565b91165f52600760205260405f209060ff165f5260205260405f2090565b541660405180916001600160a01b0360208301911682520390f35b60806003193601126102585760043560243567ffffffffffffffff811161025857611730903690600401610249565b60443567ffffffffffffffff8111610258576117509036906004016102a8565b919061175a6102d6565b9261176c855f525f60205260405f2090565b9161177960018401613533565b916117a3611788855460ff1690565b61179181612208565b600181149081156119fd575b50613c5c565b866117b06005860161300e565b926117f16117bd88613478565b67ffffffffffffffff6117e86117db885167ffffffffffffffff1690565b67ffffffffffffffff1690565b91161015613c8b565b60208501516001600160a01b0316926040860161181581516001600160a01b031690565b9567ffffffffffffffff61183d6117db61182e8d613478565b935167ffffffffffffffff1690565b911611611903575b50946118a77f07b9206d5a6026d3bd2a8f9a9b79f6fa4bfbd6a016975829fbaf07488019f28a99866118d5966118a16118c5978d61189560149f9e9c996118bc9a6118f49f60808c015192614aab565b93919490923690612b8a565b90614bfb565b845460ff191660021785555163ffffffff1690565b63ffffffff1690565b67ffffffffffffffff4216613cba565b9301805467ffffffffffffffff191667ffffffffffffffff8516179055565b6104ae60405192839283613cdc565b8861144561193f61094261077c60e0956114318c9f9e9c9a6119469b8d9f9a9b9d6119336113c160208c0161287e565b8960808d01519361428c565b548d6150e6565b038173__$c00a153e45d4e7ce60e0acf48b0547b51a$__5af49384156104f0577f07b9206d5a6026d3bd2a8f9a9b79f6fa4bfbd6a016975829fbaf07488019f28a99896118f4986118a18e8c61189560149f976118a7986118bc9b6119c66118d59f6118c59f5f916119de575b508d6119bf3689612b8a565b9089615581565b9a9f5050995050509750509650969899509950611845565b6119f7915060e03d60e011610b4257610b34818361292e565b5f6119b3565b60049150611a0a81612208565b145f61179d565b3461025857608060031936011261025857600435611a2e816104f5565b611a3661167a565b90604435611a43816104f5565b60643567ffffffffffffffff811161025857611b906001600160a01b0392611b5d611a9e96611b42611b3d611a7d899736906004016102a8565b60ff85169a91611b3790611a928d1515613d04565b8b89169d8e1515613200565b611afa8785611af4611ae8611ae8611adb85611acb866001600160a01b03165f52600760205260405f2090565b9060ff165f5260205260405f2090565b546001600160a01b031690565b6001600160a01b031690565b15613d33565b6040805160ff891660208201526001600160a01b038b169181019190915246606080830191909152815292611b3060808561292e565b3691612b39565b9061578a565b613d78565b611acb856001600160a01b03165f52600760205260405f2090565b906001600160a01b03167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b167f2366b94a706a0cfc2dca2fe8be9410b6fba2db75e3e9d3f03b3c2fb0b051efad5f80a4005b611bd7611bc33661025c565b6113d06003610b9d6020849695960161287e565b038173__$c00a153e45d4e7ce60e0acf48b0547b51a$__5af49283156104f0577f188e0ade7d115cc397426774adb960ae3e8c83e72f0a6cad4b7085e1d60bf986936104ae93610c3b925f926114dc57506114d53685612b8a565b634e487b7160e01b5f52602160045260245ffd5b60041115611c5057565b611c32565b600a1115611c5057565b90600a821015611c505752565b90601f19601f602080948051918291828752018686015e5f8582860101520116010190565b61028c9167ffffffffffffffff8251168152611cb560208301516020830190611c5f565b60408201516040820152611d236060830151606083019060c0809167ffffffffffffffff81511684526001600160a01b03602082015116602085015260ff6040820151166040850152606081015160608501526080810151608085015260a081015160a08501520151910152565b608082810151805167ffffffffffffffff1661014084015260208101516001600160a01b0316610160840152604081015160ff1661018084015260608101516101a0840152908101516101c083015260a08101516101e083015260c0015161020082015260c0611da560a0840151610260610220850152610260840190611c6c565b92015190610240818403910152611c6c565b929367ffffffffffffffff60c09561028c98979482948752611dd881611c46565b602087015216604085015216606083015260808201528160a08201520190611c91565b3461025857602060031936011261025857600435611e17613ddd565b505f52600260205260405f20611e2b612951565b90805482526106ac600182015491611e77611e67611e498560ff1690565b94611e58602088019687613e21565b60081c6001600160a01b031690565b6001600160a01b03166040860152565b611e9e611e8e60028301546001600160a01b031690565b6001600160a01b03166060860152565b60038101546080850152600481015467ffffffffffffffff811660a086019081529490611ed6905b60401c67ffffffffffffffff1690565b67ffffffffffffffff1660c0820190815291611f2a61182e611f06600660058501549460e087019586520161300e565b93610100810194855251965197611f1c89611c46565b5167ffffffffffffffff1690565b905191519260405196879687611db7565b3461025857611f493661086f565b611f5a6008610b9d6020840161287e565b80611fcf611f6b6108f1368661328d565b936020810160e0611f7b826128b7565b91611f9a6040850193611f8d856128b7565b608087013591898c61428c565b610e21610e1a610e0361077c611fb0368b612b8a565b9687958d8a611fbe82613f07565b9d8e15612098575b505050506128b7565b038173__$c00a153e45d4e7ce60e0acf48b0547b51a$__5af49182156104f05761200c935f93612073575b5061200690369061328d565b8661527e565b15612042576104ae7f3142fb397e715d80415dff7b527bf1c451def4675da6e1199ee1b4588e3f630a916040519182918261286d565b6104ae7f26afbcb9eb52c21f42eb9cfe8f263718ffb65afbf84abe8ad8cce2acfb2242b8916040519182918261286d565b6120069193506120919060e03d60e011610b4257610b34818361292e565b9290611ffa565b6120f1936120cd610a15926120af610a2c95614fdb565b8c60606120c0366101408501612aaa565b9101526060369101612aaa565b60808c01526120da6135ab565b60a08c01526120e76135ab565b60c08c01526128b7565b505f8d8a8e611fc6565b9160a09367ffffffffffffffff9161028c979693855261211a81611c46565b602085015216604083015260608201528160808201520190611c91565b3461025857602060031936011261025857600435612153613ddd565b505f52600560205260405f20612167612961565b90805482526106ac600182015491612185611e67611e498560ff1690565b61219c611e8e60028301546001600160a01b031690565b60038101546080850152600481015467ffffffffffffffff1667ffffffffffffffff1660a08501908152936121f76121e2600660058501549460c085019586520161300e565b9160e0810192835251945195611f1c87611c46565b9151905191604051958695866120fb565b60061115611c5057565b906006821015611c505752565b919261229761012094612239856122aa959a99989a612212565b602085019060a0809163ffffffff81511684526001600160a01b0360208201511660208501526001600160a01b03604082015116604085015267ffffffffffffffff6060820151166060850152608081015160808501520151910152565b61014060e0840152610140830190611c91565b946101008201520152565b34610258576020600319360112610258576004355f60a06040516122d8816128d5565b82815282602082015282604082015282606082015282608082015201526122fd613ddd565b505f525f60205261231060405f20613e39565b805161231b81612208565b6106ac60208301519260408101519060606123446117db608084015167ffffffffffffffff1690565b910151916040519586958661221f565b346102585761236236610506565b90916123786001600160a01b0382161515613200565b61238382151561322f565b335f5260066020526123a98360405f20906001600160a01b03165f5260205260405f2090565b549082821061243e57828203918211610602578383916123fe936123f8836123e2336001600160a01b03165f52600660205260405f2090565b906001600160a01b03165f5260205260405f2090565b55613f64565b7fd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb6001600160a01b0360405193169280610c473394829190602083019252565b7ff4d678b8000000000000000000000000000000000000000000000000000000005f5260045ffd5b6124866124723661025c565b6113d06002610b9d6020849695960161287e565b038173__$c00a153e45d4e7ce60e0acf48b0547b51a$__5af49283156104f0577f6085f5128b19e0d3cc37524413de47259383f0f75265d5d66f41778696206696936104ae93610c3b925f926114dc57506114d53685612b8a565b34610258576124ef36610f78565b6124f7615951565b6001600160a01b0381169161250d831515613200565b6001600160a01b03612534826123e2336001600160a01b03165f52600860205260405f2090565b549161254183151561322f565b5f612561826123e2336001600160a01b03165f52600860205260405f2090565b55169181836125db57612584915f808080858a5af161257e613e97565b50613ec6565b60405190815233907f7b8d70738154be94a9a068a6d2f5dd8cfc65c52855859dc8f47de1ff185f8b5590602090a46102a660017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b50506040517fa9059cbb000000000000000000000000000000000000000000000000000000005f52836004528160245260205f60448180875af160015f5114811615612661575b604091909152612584577f5274afe7000000000000000000000000000000000000000000000000000000005f526001600160a01b03821660045260245ffd5b6001811516612677573d15843b15151616612622565b503d5f823e3d90fd5b34610258575f60031936011261025857602060405160018152f35b906126a581611c46565b60ff60ff198354169116179055565b67ffffffffffffffff81160361025857565b35906126d1826126b4565b565b600a111561025857565b35906126d1826126d3565b60c0809167ffffffffffffffff8135612700816126b4565b1684526001600160a01b036020820135612719816104f5565b16602085015260ff61272d6040830161168a565b166040850152606081013560608501526080810135608085015260a081013560a08501520135910152565b90357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18236030181121561025857016020813591019167ffffffffffffffff821161025857813603831361025857565b601f8260209493601f1993818652868601375f8582860101520116010190565b61028c9167ffffffffffffffff82356127e0816126b4565b1681526127fe60208301356127f4816126d3565b6020830190611c5f565b6040820135604082015261281860608201606084016126e8565b61282a610140820161014084016126e8565b61285e61285261283e610220850185612758565b6102606102208601526102608501916127a8565b92610240810190612758565b916102408185039101526127a8565b90602061028c9281815201906127c8565b3561028c816126d3565b1561288f57565b7fc898513c000000000000000000000000000000000000000000000000000000005f5260045ffd5b3561028c816104f5565b634e487b7160e01b5f52604160045260245ffd5b60c0810190811067ffffffffffffffff8211176128f157604052565b6128c1565b60e0810190811067ffffffffffffffff8211176128f157604052565b60a0810190811067ffffffffffffffff8211176128f157604052565b90601f601f19910116810190811067ffffffffffffffff8211176128f157604052565b604051906126d16101208361292e565b604051906126d16101008361292e565b604051906126d160e08361292e565b5190600482101561025857565b51906126d1826126b4565b5190811515820361025857565b908160c091031261025857612a0d60a0604051926129c2846128d5565b80518452602081015160208501526129dc60408201612980565b604085015260608101516129ef816126b4565b60608501526080810151612a02816126b4565b608085015201612998565b60a082015290565b908151612a2181611c46565b815260a080612a3f602085015160c0602086015260c0850190611c91565b936040810151604085015267ffffffffffffffff606082015116606085015267ffffffffffffffff6080820151166080850152015191015290565b9091612a9161028c93604084526040840190612a15565b9160208184039101526127c8565b6040513d5f823e3d90fd5b91908260e091031261025857604051612ac2816128f6565b60c08082948035612ad2816126b4565b84526020810135612ae2816104f5565b6020850152612af36040820161168a565b6040850152606081013560608501526080810135608085015260a081013560a08501520135910152565b67ffffffffffffffff81116128f157601f01601f191660200190565b929192612b4582612b1d565b91612b53604051938461292e565b829481845281830111610258578281602093845f960137010152565b9080601f830112156102585781602061028c93359101612b39565b9190916102608184031261025857612ba0612971565b92612baa826126c6565b8452612bb8602083016126dd565b602085015260408201356040850152612bd48160608401612aaa565b6060850152612be7816101408401612aaa565b608085015261022082013567ffffffffffffffff81116102585781612c0d918401612b6f565b60a085015261024082013567ffffffffffffffff811161025857612c319201612b6f565b60c0830152565b612c4a815f52600260205260405f2090565b60018101805490600882901c6001600160a01b031690612c7460028501546001600160a01b031690565b92612c89612c828654613f07565b9160ff1690565b90159081612e86575b5080612e63575b612ddd5750612caf6005610b9d6020880161287e565b8254612cba81613f07565b15612d05575091612cf2612d00927f32e24720f56fd5a7f4cb219d7ff3278ae95196e79c85b5801395894a6f53466c948784546149af565b54936040519182918261286d565b0390a3565b612d5690612d1e6003869496019185878a85549361428c565b60c087610c60612d4f612d42886001600160a01b03165f52600660205260405f2090565b6107a561016085016128b7565b548961437a565b038173__$682d6198b4eca5bc7e038b912a26498e7e$__5af49384156104f0577f1b92e8ef67d8a7c0d29c99efcd180a5e0d98d60ac41d52abbbb5950882c78e4e95612d0095612cf2945f91612dbe575b508554935493612db7368c612b8a565b908a6146aa565b612dd7915060c03d60c0116104e9576104d8818361292e565b5f612da7565b805460ff19166003179055507f1b92e8ef67d8a7c0d29c99efcd180a5e0d98d60ac41d52abbbb5950882c78e4e91612d0091612cf29060058301905f82549255612e4c600485017fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff8154169055565b600d84015460401c6001600160a01b031690613f64565b506004840154612e7f9060401c67ffffffffffffffff166117db565b4211612c99565b60029150612e9381611c46565b145f612c92565b15612ea157565b7ff64df366000000000000000000000000000000000000000000000000000000005f5260045ffd5b90604051612ed6816128f6565b60c060048294612f1460ff825467ffffffffffffffff811687526001600160a01b03808260401c1616602088015260e01c16604086019060ff169052565b6001810154606085015260028101546080850152600381015460a08501520154910152565b90600182811c92168015612f67575b6020831014612f5357565b634e487b7160e01b5f52602260045260245ffd5b91607f1691612f48565b5f9291815491612f8083612f39565b8083529260018116908115612fd55750600114612f9c57505050565b5f9081526020812093945091925b838310612fbb575060209250010190565b600181602092949394548385870101520191019190612faa565b9050602094955060ff1991509291921683830152151560051b010190565b906126d16130079260405193848092612f71565b038361292e565b9060405161301b816128f6565b809260ff815467ffffffffffffffff8116845260401c1690600a821015611c5057600d61308d9160c09360208601526001810154604086015261306060028201612ec9565b606086015261307160078201612ec9565b6080860152613082600c8201612ff3565b60a086015201612ff3565b910152565b90602061028c928181520190612a15565b929160206131ef6126d193604087526130d7815467ffffffffffffffff811660408a015260ff60608a019160401c16611c5f565b60018101546080880152600281015467ffffffffffffffff811660a0890152604081901c6001600160a01b031660c089015260e090811c60ff16908801526003810154610100880152600481015461012088015260058101546101408801526006810154610160880152600781015467ffffffffffffffff8116610180890152604081901c6001600160a01b03166101a089015260e01c60ff166101c088015260088101546101e08801526009810154610200880152600a810154610220880152600b81015461024088015261026080880152600d6131bd6102a08901600c8401612f71565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0898403016102808a015201612f71565b94019067ffffffffffffffff169052565b1561320757565b7fe6c4247b000000000000000000000000000000000000000000000000000000005f5260045ffd5b1561323657565b7f69640e72000000000000000000000000000000000000000000000000000000005f5260045ffd5b634e487b7160e01b5f52601160045260245ffd5b9190820180921161060257565b63ffffffff81160361025857565b91908260c0910312610258576040516132a5816128d5565b60a080829480356132b58161327f565b845260208101356132c5816104f5565b602085015260408101356132d8816104f5565b604085015260608101356132eb816126b4565b6060850152608081013560808501520135910152565b908160e09103126102585760405190613319826128f6565b8051825260208101516020830152604081015160068110156102585761337a9160c091604085015261334d6060820161298d565b606085015261335e60808201612998565b608085015261336f60a08201612998565b60a085015201612998565b60c082015290565b9061338e818351612212565b608067ffffffffffffffff816133b3602086015160a0602087015260a0860190611c91565b94604081015160408601526060810151606086015201511691015290565b9091612a9161028c93604084526040840190613382565b60e09060a061028c949363ffffffff81356134028161327f565b1683526001600160a01b03602082013561341b816104f5565b1660208401526001600160a01b036040820135613437816104f5565b16604084015267ffffffffffffffff6060820135613454816126b4565b16606084015260808101356080840152013560a08201528160c082015201906127c8565b3561028c816126b4565b634e487b7160e01b5f52603260045260245ffd5b6003548110156134ae5760035f5260205f2001905f90565b613482565b80548210156134ae575f5260205f2001905f90565b916134e1918354905f199060031b92831b921b19161790565b9055565b600354680100000000000000008110156128f157600181016003556003548110156134ae5760035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0155565b90604051613540816128d5565b60a0600382946001600160a01b03815463ffffffff8116865260201c16602085015261359a67ffffffffffffffff60018301546001600160a01b03808216166040880152851c16606086019067ffffffffffffffff169052565b600281015460808501520154910152565b604051906135ba60208361292e565b5f8252565b90916135d661028c93604084526040840190613382565b916020818403910152611c91565b67ffffffffffffffff81116128f15760051b60200190565b6040519061360b60208361292e565b5f808352366020840137565b90613621826135e4565b61362e604051918261292e565b828152601f1961363e82946135e4565b0190602036910137565b9190820391821161060257565b80518210156134ae5760209160051b010190565b9190600354908084029380850482149015171561060257818410156136ed57830190818411610602578082116136e5575b506136ad6136a88483613648565b613617565b92805b8281106136bc57505050565b806136cb610700600193613496565b6136de6136d88584613648565b88613655565b52016136b0565b90505f61369a565b5050905061028c6135fc565b906006811015611c505760ff60ff198354169116179055565b90602061028c928181520190611c91565b906137356001610b9d6020840161287e565b613746825f525f60205260405f2090565b61375260018201613533565b9161375e825460ff1690565b918461376c6005830161300e565b91604086019261378384516001600160a01b031690565b91600261379a60208a01516001600160a01b031690565b976137a481612208565b1480613962575b6138a75750506137d661094e61094261077c61380a9661143160e0978a978c898f608001519361428c565b60405193849283927fa8b4483c000000000000000000000000000000000000000000000000000000008452600484016133d1565b038173__$c00a153e45d4e7ce60e0acf48b0547b51a$__5af480156104f057610f6961388194610a1588937f04cd8c68bf83e7bc531ca5a5d75c34e36513c2acf81e07e6470ba79e29da13a898613874965f92613886575b5061386d3689612b8a565b908661527e565b506040519182918261286d565b0390a2565b6138a091925060e03d60e011610b4257610b34818361292e565b905f613862565b7f04cd8c68bf83e7bc531ca5a5d75c34e36513c2acf81e07e6470ba79e29da13a89750613881969195506139559450610f699261390c6014836138f4610a1595600360ff19825416179055565b5f60138201550167ffffffffffffffff198154169055565b606087016139358151606061392b60208301516001600160a01b031690565b9101519086613f64565b5160a061394c60208301516001600160a01b031690565b91015191613f64565b5060405191829182613712565b5061397b6117db601483015467ffffffffffffffff1690565b42116137ab565b5f1981146106025760010190565b908160a0910312610258576139e56080604051926139ad84612912565b80518452602081015160208501526139c760408201612980565b604085015260608101516139da816126b4565b606085015201612998565b608082015290565b9081516139f981611c46565b815260806001600160a01b0381613a1f602086015160a0602087015260a0860190611c91565b946040810151604086015267ffffffffffffffff606082015116606086015201511691015290565b9091612a9161028c936040845260408401906139ed565b613a70815f52600560205260405f2090565b8054600182018054919492600883901c6001600160a01b031691613a9e60028301546001600160a01b031690565b93613aab612c8289613f07565b90159081613c37575b5080613c17575b613bb65750613ad16007610b9d6020870161287e565b613ada86613f07565b15613b11575091610c3b612d00927f6d0cf3d243d63f08f50db493a8af34b27d4e3bc9ec4098e82700abfeffe2d4989483886149af565b6003613b37919492940192613b2a84548287868b61428c565b60a0836115af83896153dc565b038173__$b69fb814c294bfc16f92e50d7aeced4bde$__5af49081156104f0577f2fdac1380dbe23ae259b6871582b7f33e34461547f400bdd20d74991250317d195612d0095610c3b945f94613b95575b50549261164a3687612b8a565b613baf91945060a03d60a01161137f57611370818361292e565b925f613b88565b7f2fdac1380dbe23ae259b6871582b7f33e34461547f400bdd20d74991250317d1949650612cf291925092613bf5612d0094600360ff19825416179055565b60058301905f82549255612e4c6004850167ffffffffffffffff198154169055565b50613c306117db600484015467ffffffffffffffff1690565b4211613abb565b60029150613c4481611c46565b145f613ab4565b90602061028c9281815201906139ed565b15613c6357565b7ff2056b18000000000000000000000000000000000000000000000000000000005f5260045ffd5b15613c9257565b7f7d957361000000000000000000000000000000000000000000000000000000005f5260045ffd5b9067ffffffffffffffff8091169116019067ffffffffffffffff821161060257565b9067ffffffffffffffff613cfd6020929594956040855260408501906127c8565b9416910152565b15613d0b57565b7f06ee4dcd000000000000000000000000000000000000000000000000000000005f5260045ffd5b15613d3c575050565b906001600160a01b0360ff927f0bcc40f3000000000000000000000000000000000000000000000000000000005f52166004521660245260445ffd5b15613d7f57565b7fc1606c2f000000000000000000000000000000000000000000000000000000005f5260045ffd5b60405190613db4826128f6565b5f60c0838281528260208201528260408201528260608201528260808201528260a08201520152565b60405190613dea826128f6565b606060c0835f81525f60208201525f6040820152613e06613da7565b83820152613e12613da7565b60808201528260a08201520152565b613e2a82611c46565b52565b6006821015611c505752565b90604051613e4681612912565b608067ffffffffffffffff60148395613e6360ff82541686613e2d565b613e6f60018201613533565b6020860152613e806005820161300e565b604086015260138101546060860152015416910152565b3d15613ec1573d90613ea882612b1d565b91613eb6604051938461292e565b82523d5f602084013e565b606090565b15613ecf575050565b6001600160a01b03907fa5b05eec000000000000000000000000000000000000000000000000000000005f521660045260245260445ffd5b805f525f60205260ff60405f2054166006811015611c50578015908115613f50575b50613f4b575f525f60205267ffffffffffffffff600760405f20015416461490565b505f90565b60059150613f5d81612208565b145f613f29565b90613f779291613f72615951565b613fac565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b90816020910312610258575190565b9190918115614236576001600160a01b0383169283614050576001600160a01b038216925f8080808488620186a0f1613fe3613e97565b5015613ff0575050505050565b614033612d00926123e27fbf182be802245e8ed88e4b8d3e4344c0863dd2a70334f089fd07265389306fcf956001600160a01b03165f52600860205260405f2090565b61403e828254613272565b90556040519081529081906020820190565b6040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152602081602481885afa9081156104f0575f91614217575b506040517fa9059cbb00000000000000000000000000000000000000000000000000000000602082019081526001600160a01b0385166024830152604480830187905282525f918291906140e860648261292e565b51908286620186a0f1906140fa613e97565b506040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526020816024818a5afa9182156104f05786915f936141e6575b50836141db575b836141c7575b5050501561415c575b50505050565b816141a56001600160a01b03926123e27fbf182be802245e8ed88e4b8d3e4344c0863dd2a70334f089fd07265389306fcf956001600160a01b03165f52600860205260405f2090565b6141b0858254613272565b90556040519384521691602090a35f808080614156565b6141d2929350613648565b145f848161414d565b818110159350614147565b61420991935060203d602011614210575b614201818361292e565b810190613f9d565b915f614140565b503d6141f7565b614230915060203d60201161421057614201818361292e565b5f614093565b505050565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe181360301821215610258570180359067ffffffffffffffff82116102585760200191813603831361025857565b92916126d1946142bd6142cc926142b283876142ac61022089018961423b565b90614aab565b90878a9493946159c8565b836142ac61024085018561423b565b929091946159c8565b5f604051916142e3836128d5565b818352614376602084016142f5613ddd565b81526143686040860191858352611ec66004606089019288845260808a019589875261433060a08c01998b8b525f52600260205260405f2090565b9160ff60018401541661434281611c46565b8c526143506006840161300e565b90526005820154905201549167ffffffffffffffff83165b67ffffffffffffffff169052565b5290565b9060405191614388836128d5565b5f83526143766020840161439a613ddd565b815261436860408601915f8352611ec6600460608901925f845260808a01955f875261433060a08c01995f8b525f52600260205260405f2090565b9060c060049161440867ffffffffffffffff825116859067ffffffffffffffff1667ffffffffffffffff19825416179055565b602081015184546040808401517fffffff000000000000000000000000000000000000000000ffffffffffffffff90921692901b7bffffffffffffffffffffffffffffffffffffffff0000000000000000169190911760e09190911b7cff0000000000000000000000000000000000000000000000000000000016178455606081015160018501556080810151600285015560a081015160038501550151910155565b601f82116144b857505050565b5f5260205f20906020601f840160051c830193106144f0575b601f0160051c01905b8181106144e5575050565b5f81556001016144da565b90915081906144d1565b919091825167ffffffffffffffff81116128f1576145228161451c8454612f39565b846144ab565b6020601f821160011461455c5781906134e19394955f92614551575b50505f198260011b9260031b1c19161790565b015190505f8061453e565b601f1982169061456f845f5260205f2090565b915f5b8181106145a957509583600195969710614591575b505050811b019055565b01515f1960f88460031b161c191690555f8080614587565b9192602060018192868b015181550194019201614572565b8151815467ffffffffffffffff191667ffffffffffffffff91909116178155602082015191600a831015611c5057600a831015611c505760c0600d916126d1947fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff68ff000000000000000086549260401b169116178455604081015160018501556146536060820151600286016143d5565b6146646080820151600786016143d5565b61467560a0820151600c86016144fa565b015191016144fa565b7f80000000000000000000000000000000000000000000000000000000000000008114610602575f0390565b60209392916146c761472e929897985f52600260205260405f2090565b966040850180516146d781611c46565b6146e081611c46565b614992575b5060a08501916146f58351151590565b6148fb575b5050606084015167ffffffffffffffff16806148d0575b50608084015167ffffffffffffffff1680614881575b5051151590565b1561486857608001518201516001600160a01b031680935b8251905f8213156148285761476891506147608451615a25565b928391614cef565b61477760058601918254613272565b90555b0180515f8113156147d65750916147b56005926123e261479d6147cb9651615a25565b966001600160a01b03165f52600660205260405f2090565b6147c0858254613648565b905501918254613272565b90555b6126d1614e1b565b9290505f83126147ea575b505050506147ce565b6148076005926123e261479d61480261481d9761467e565b615a25565b614812858254613272565b905501918254613648565b90555f8080806147e1565b5f8212614838575b50505061477a565b61484761480261484f9361467e565b928391613f64565b61485e60058601918254613648565b9055825f80614830565b50600d84015460401c6001600160a01b03168093614746565b6148ca9060048901907fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff6fffffffffffffffff000000000000000083549260401b169116179055565b5f614727565b6148f590600489019067ffffffffffffffff1667ffffffffffffffff19825416179055565b5f614711565b6149088560068b016145c1565b88556001880180547fffffffffffffffffffffff0000000000000000000000000000000000000000ff16600889901b74ffffffffffffffffffffffffffffffffffffffff00161790556002880180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038b1617905560038801555f806146fa565b6149a990516149a081611c46565b60018a0161269b565b5f6146e5565b9091926149dd614a04946149cf6001610d70865f525f60205260405f2090565b92608084015191868661428c565b60e0836109556149fd61094261077c60408701516001600160a01b031690565b54856150e6565b038173__$c00a153e45d4e7ce60e0acf48b0547b51a$__5af49283156104f0576126d1945f94614a41575b50614a3b903690612b8a565b9161527e565b614a3b919450614a5f9060e03d60e011610b4257610b34818361292e565b9390614a2f565b15614a6f575050565b906001600160a01b0360ff927f577f5940000000000000000000000000000000000000000000000000000000005f52166004521660245260445ffd5b93929190918215614b7e57843560f81c9081614af857507f000000000000000000000000000000000000000000000000000000000000000094600101925f19019150614af49050565b9091565b600180915f97939594975060ff86161c1603614b5657614b4983614b37611adb614af496611acb8a6001600160a01b03165f52600760205260405f2090565b966001600160a01b0388161515614a66565b600101915f199190910190565b7f1a9073b4000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fac241e11000000000000000000000000000000000000000000000000000000005f5260045ffd5b805191908290602001825e015f815290565b60021115611c5057565b9392606093614bed6001600160a01b0394613cfd949998998852608060208901526080880190611c6c565b9186830360408801526127a8565b906001600160a01b039295602097614c2f9599614c66614c1d614cab95615a5a565b614c58604051998a928e840190614ba6565b7f6368616c6c656e67650000000000000000000000000000000000000000000000815260090190565b03601f19810189528861292e565b614c6f81614bb8565b614ce857505b604051988997889687957f600109bb00000000000000000000000000000000000000000000000000000000875260048701614bc2565b0392165afa80156104f0576126d1915f91614cc9575b501515613d78565b614ce2915060203d60201161421057614201818361292e565b5f614cc1565b9050614c75565b90613f779291614cfd615951565b614d31565b15614d0957565b7fd2ade556000000000000000000000000000000000000000000000000000000005f5260045ffd5b908215614236576001600160a01b03169182158015614e0c57614d55823414614d02565b15614d5f57505050565b6001600160a01b03604051927f23b872dd000000000000000000000000000000000000000000000000000000005f52166004523060245260445260205f60648180865af160015f5114811615614df6575b6040919091525f60605215614dc25750565b7f5274afe7000000000000000000000000000000000000000000000000000000005f526001600160a01b031660045260245ffd5b6001811516612677573d15833b15151616614db0565b614e163415614d02565b614d55565b6003546004545f5b82821080614f13575b15614f0857614e4061070a61070084613496565b600181016003614e51825460ff1690565b614e5a81611c46565b14614ef657614e6882615bbd565b15614eb357915f826107d1614eaa956005614ea49601926107c26107ba8554926107a5600d61079361077c60028501546001600160a01b031690565b91613982565b915b9190614e23565b50509150614ec090600455565b80614ec85750565b6040519081527f61815f4b11c6ea4e14a2e448a010bed8efdc3e53a15efbf183d16a31085cd14590602090a1565b505090614f0290613982565b91614eac565b9150614ec090600455565b5060408110614e2c565b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f010000000000000000000000000000000000000000000000000000000000000091604051614fc460208201809360a0809163ffffffff81511684526001600160a01b0360208201511660208501526001600160a01b03604082015116604085015267ffffffffffffffff6060820151166060850152608081015160808501520151910152565b60c08152614fd360e08261292e565b519020161790565b6020810135614fe9816104f5565b6001600160a01b03811690614fff821515613200565b60408301359061500e826104f5565b6150356001600160a01b03831692615027841515613200565b615030836104f5565b6104f5565b61503e816104f5565b50811461508a575063ffffffff62015180913561505a8161327f565b161061506257565b7f0596b15b000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fabfa558d000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b604051906150c282612912565b5f6080838281526150d1613ddd565b60208201528260408201528260608201520152565b90601467ffffffffffffffff916150fb6150b5565b935f525f60205260405f209061511560ff83541686613e2d565b6151216005830161300e565b6020860152601382015460408601526060850152015416608082015290565b9060a060039163ffffffff8151167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008554161784556001600160a01b036020820151167fffffffffffffffff0000000000000000000000000000000000000000ffffffff77ffffffffffffffffffffffffffffffffffffffff0000000086549260201b16911617845561526d6001850161521b6151e760408501516001600160a01b031690565b82906001600160a01b03167fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055565b606083015181547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff1660a09190911b7bffffffffffffffff000000000000000000000000000000000000000016179055565b608081015160028501550151910155565b926152ba816152f19460c09461529b885f525f60205260405f2090565b976152a7895460ff1690565b6152b081612208565b1561537f57615581565b6040810180516152c981612208565b6152d281612208565b151580615354575b61533a575b5060a0810151615312575b0151151590565b6152f85750565b5f6013820155601401805467ffffffffffffffff19169055565b835460ff191660011784556153356014850167ffffffffffffffff198154169055565b6152ea565b61534e905161534881612208565b856136f9565b5f6152df565b50845460ff1681519061536682612208565b61536f82612208565b61537881612208565b14156152da565b61538c8260018b01615140565b615581565b9067ffffffffffffffff6040519160208301938452166040820152604081526153bb60608261292e565b51902090565b90614a04916149dd6001610d70835f525f60205260405f2090565b906001600160a01b03906153ee6150b5565b925f52600560205267ffffffffffffffff600460405f2060ff60018201541661541681611c46565b86526154246006820161300e565b602087015260058101546040870152015416606084015216608082015290565b602093929161546161472e929897985f52600560205260405f2090565b9660408501805161547181611c46565b61547a81611c46565b61556d575b50608085019161548f8351151590565b6154d6575b5050606084015167ffffffffffffffff16806154b1575051151590565b6148ca90600489019067ffffffffffffffff1667ffffffffffffffff19825416179055565b6154e38560068b016145c1565b88556001880180547fffffffffffffffffffffff0000000000000000000000000000000000000000ff16600889901b74ffffffffffffffffffffffffffffffffffffffff00161790556002880180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038b1617905560038801555f80615494565b61557b90516149a081611c46565b5f61547f565b6155976060919493945f525f60205260405f2090565b936155a56080850151151590565b615778575b01916155fd60c06155c66020865101516001600160a01b031690565b9280515f811361573a575b506020810180515f81136156f2575b5081515f81126156b1575b50515f8112615666575b500151151590565b80615658575b615614575b505050506126d1614e1b565b61564d9261564060a092615634604060139601516001600160a01b031690565b90848451015191613f64565b5101519201918254613648565b90555f808080615608565b5060a0835101511515615603565b6148026156729161467e565b61568d856123e261077c60408a01516001600160a01b031690565b615698828254613272565b90556156a960138901918254613648565b90555f6155f5565b6148026156bd9161467e565b6156db81876156d660208b01516001600160a01b031690565b613f64565b6156ea60138a01918254613648565b90555f6155eb565b6156fb90615a25565b615716866123e261077c60408b01516001600160a01b031690565b615721828254613648565b905561573260138a01918254613272565b90555f6155e0565b61574390615a25565b615761818661575c60208a01516001600160a01b031690565b614cef565b61577060138901918254613272565b90555f6155d1565b61578581600587016145c1565b6155aa565b805192835f947a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000821015615929575b806d04ee2d6d415b85acef8100000000600a92101561590d575b662386f26fc100008110156158f8575b6305f5e1008110156158e6575b6127108110156158d6575b60648110156158c7575b10156158bc575b6158505f19602161581a60018901615dac565b978801015b01917f3031323334353637383961626364656600000000000000000000000000000000600a82061a8353600a900490565b90811561586357615850905f199061581f565b50506001600160a01b036158888461587c858498615d40565b60208151910120615d96565b9116931683146158b4576158a691816020611ae89351910120615d96565b146158af575f90565b600190565b505050600190565b600190940193615807565b60029060649004960195615800565b60049061271090049601956157f6565b6008906305f5e10090049601956157eb565b601090662386f26fc1000090049601956157de565b6020906d04ee2d6d415b85acef810000000090049601956157ce565b50604094507a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000081046157b4565b60027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0054146159a05760027f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b6001600160a01b0390614cab6159ee6159e960209895999697993690612b8a565b615a5a565b93604051988997889687957f600109bb00000000000000000000000000000000000000000000000000000000875260048701614bc2565b5f8112615a2f5790565b7fa8ce4432000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b67ffffffffffffffff815116906020810151600a811015611c5057615b03826040615b64940151615aa260806060840151930151946040519760208901526040880190611c5f565b6060860152608085019060c0809167ffffffffffffffff81511684526001600160a01b03602082015116602085015260ff6040820151166040850152606081015160608501526080810151608085015260a081015160a08501520151910152565b805167ffffffffffffffff1661016084015260208101516001600160a01b0316610180840152604081015160ff166101a084015260608101516101c084015260808101516101e084015260a081015161020084015260c00151610220830152565b610220815261028c6102408261292e565b90604051918281549182825260208201905f5260205f20925f5b818110615ba45750506126d19250038361292e565b8454835260019485019487945060209093019201615b8f565b67ffffffffffffffff6004820154164210159081615bd9575090565b600180925060ff91015416615bed81611c46565b1490565b6001810190825f528160205260405f2054155f14615c59578054680100000000000000008110156128f157615c46615c308260018794018555846134b3565b81939154905f199060031b92831b921b19161790565b905554915f5260205260405f2055600190565b5050505f90565b80548015615c86575f190190615c7682826134b3565b5f1982549160031b1b1916905555565b634e487b7160e01b5f52603160045260245ffd5b6001810191805f528260205260405f2054928315155f14615d38575f198401848111610602578354935f198501948511610602575f958583615cf597615ce89503615cfb575b505050615c60565b905f5260205260405f2090565b55600190565b615d21615d1b91615d12610700615d2f95886134b3565b928391876134b3565b906134c8565b85905f5260205260405f2090565b555f8080615ce0565b505050505f90565b6126d190615d88615d8294936040519586937f19457468657265756d205369676e6564204d6573736167653a0a0000000000006020860152603a850190614ba6565b90614ba6565b03601f19810184528361292e565b61028c91615da391615dd3565b90929192615e0d565b90615db682612b1d565b615dc3604051918261292e565b828152601f1961363e8294612b1d565b8151919060418303615e0357615dfc9250602082015190606060408401519301515f1a90615ed4565b9192909190565b50505f9160029190565b615e1681611c46565b80615e1f575050565b615e2881611c46565b60018103615e58577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b615e6181611c46565b60028103615e9557507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80615ea1600392611c46565b14615ea95750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411615f4b579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa156104f0575f516001600160a01b03811615615f4157905f905f90565b505f906001905f90565b5050505f916003919056fea2646970667358221220d6322a6f79dfa260b6143002f6411140acf47599f685bd2c3432147eed00120464736f6c634300081e0033",
}

ChannelHubMetaData contains all meta data concerning the ChannelHub contract.

View Source
var IERC20ABI = IERC20MetaData.ABI

IERC20ABI is the input ABI used to generate the binding from. Deprecated: Use IERC20MetaData.ABI instead.

View Source
var IERC20MetaData = &bind.MetaData{
	ABI: "[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]",
}

IERC20MetaData contains all meta data concerning the IERC20 contract.

Functions

This section is empty.

Types

type AppRegistry

type AppRegistry struct {
	AppRegistryCaller     // Read-only binding to the contract
	AppRegistryTransactor // Write-only binding to the contract
	AppRegistryFilterer   // Log filterer for contract events
}

AppRegistry is an auto generated Go binding around an Ethereum contract.

func DeployAppRegistry

func DeployAppRegistry(auth *bind.TransactOpts, backend bind.ContractBackend, asset_ common.Address, unlockPeriod_ *big.Int, admin_ common.Address) (common.Address, *types.Transaction, *AppRegistry, error)

DeployAppRegistry deploys a new Ethereum contract, binding an instance of AppRegistry to it.

func NewAppRegistry

func NewAppRegistry(address common.Address, backend bind.ContractBackend) (*AppRegistry, error)

NewAppRegistry creates a new instance of AppRegistry, bound to a specific deployed contract.

type AppRegistryCaller

type AppRegistryCaller struct {
	// contains filtered or unexported fields
}

AppRegistryCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewAppRegistryCaller

func NewAppRegistryCaller(address common.Address, caller bind.ContractCaller) (*AppRegistryCaller, error)

NewAppRegistryCaller creates a new read-only instance of AppRegistry, bound to a specific deployed contract.

func (*AppRegistryCaller) ADJUDICATORROLE

func (_AppRegistry *AppRegistryCaller) ADJUDICATORROLE(opts *bind.CallOpts) ([32]byte, error)

ADJUDICATORROLE is a free data retrieval call binding the contract method 0xf538f7dd.

Solidity: function ADJUDICATOR_ROLE() view returns(bytes32)

func (*AppRegistryCaller) ASSET

func (_AppRegistry *AppRegistryCaller) ASSET(opts *bind.CallOpts) (common.Address, error)

ASSET is a free data retrieval call binding the contract method 0x4800d97f.

Solidity: function ASSET() view returns(address)

func (*AppRegistryCaller) Asset

func (_AppRegistry *AppRegistryCaller) Asset(opts *bind.CallOpts) (common.Address, error)

Asset is a free data retrieval call binding the contract method 0x38d52e0f.

Solidity: function asset() view returns(address)

func (*AppRegistryCaller) BalanceOf

func (_AppRegistry *AppRegistryCaller) BalanceOf(opts *bind.CallOpts, user common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address user) view returns(uint256)

func (*AppRegistryCaller) DEFAULTADMINROLE

func (_AppRegistry *AppRegistryCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error)

DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.

Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)

func (*AppRegistryCaller) GetRoleAdmin

func (_AppRegistry *AppRegistryCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error)

GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.

Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)

func (*AppRegistryCaller) HasRole

func (_AppRegistry *AppRegistryCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error)

HasRole is a free data retrieval call binding the contract method 0x91d14854.

Solidity: function hasRole(bytes32 role, address account) view returns(bool)

func (*AppRegistryCaller) LastSlashTimestamp

func (_AppRegistry *AppRegistryCaller) LastSlashTimestamp(opts *bind.CallOpts) (*big.Int, error)

LastSlashTimestamp is a free data retrieval call binding the contract method 0xc77f5062.

Solidity: function lastSlashTimestamp() view returns(uint256)

func (*AppRegistryCaller) LockStateOf

func (_AppRegistry *AppRegistryCaller) LockStateOf(opts *bind.CallOpts, user common.Address) (uint8, error)

LockStateOf is a free data retrieval call binding the contract method 0xa43e9cf4.

Solidity: function lockStateOf(address user) view returns(uint8)

func (*AppRegistryCaller) SlashCooldown

func (_AppRegistry *AppRegistryCaller) SlashCooldown(opts *bind.CallOpts) (*big.Int, error)

SlashCooldown is a free data retrieval call binding the contract method 0x5a6ca4ae.

Solidity: function slashCooldown() view returns(uint256)

func (*AppRegistryCaller) SupportsInterface

func (_AppRegistry *AppRegistryCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error)

SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.

Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)

func (*AppRegistryCaller) UNLOCKPERIOD

func (_AppRegistry *AppRegistryCaller) UNLOCKPERIOD(opts *bind.CallOpts) (*big.Int, error)

UNLOCKPERIOD is a free data retrieval call binding the contract method 0x259a28cf.

Solidity: function UNLOCK_PERIOD() view returns(uint256)

func (*AppRegistryCaller) UnlockTimestampOf

func (_AppRegistry *AppRegistryCaller) UnlockTimestampOf(opts *bind.CallOpts, user common.Address) (*big.Int, error)

UnlockTimestampOf is a free data retrieval call binding the contract method 0x02f70fe6.

Solidity: function unlockTimestampOf(address user) view returns(uint256)

type AppRegistryCallerRaw

type AppRegistryCallerRaw struct {
	Contract *AppRegistryCaller // Generic read-only contract binding to access the raw methods on
}

AppRegistryCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*AppRegistryCallerRaw) Call

func (_AppRegistry *AppRegistryCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type AppRegistryCallerSession

type AppRegistryCallerSession struct {
	Contract *AppRegistryCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts      // Call options to use throughout this session
}

AppRegistryCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*AppRegistryCallerSession) ADJUDICATORROLE

func (_AppRegistry *AppRegistryCallerSession) ADJUDICATORROLE() ([32]byte, error)

ADJUDICATORROLE is a free data retrieval call binding the contract method 0xf538f7dd.

Solidity: function ADJUDICATOR_ROLE() view returns(bytes32)

func (*AppRegistryCallerSession) ASSET

func (_AppRegistry *AppRegistryCallerSession) ASSET() (common.Address, error)

ASSET is a free data retrieval call binding the contract method 0x4800d97f.

Solidity: function ASSET() view returns(address)

func (*AppRegistryCallerSession) Asset

func (_AppRegistry *AppRegistryCallerSession) Asset() (common.Address, error)

Asset is a free data retrieval call binding the contract method 0x38d52e0f.

Solidity: function asset() view returns(address)

func (*AppRegistryCallerSession) BalanceOf

func (_AppRegistry *AppRegistryCallerSession) BalanceOf(user common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address user) view returns(uint256)

func (*AppRegistryCallerSession) DEFAULTADMINROLE

func (_AppRegistry *AppRegistryCallerSession) DEFAULTADMINROLE() ([32]byte, error)

DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.

Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)

func (*AppRegistryCallerSession) GetRoleAdmin

func (_AppRegistry *AppRegistryCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error)

GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.

Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)

func (*AppRegistryCallerSession) HasRole

func (_AppRegistry *AppRegistryCallerSession) HasRole(role [32]byte, account common.Address) (bool, error)

HasRole is a free data retrieval call binding the contract method 0x91d14854.

Solidity: function hasRole(bytes32 role, address account) view returns(bool)

func (*AppRegistryCallerSession) LastSlashTimestamp

func (_AppRegistry *AppRegistryCallerSession) LastSlashTimestamp() (*big.Int, error)

LastSlashTimestamp is a free data retrieval call binding the contract method 0xc77f5062.

Solidity: function lastSlashTimestamp() view returns(uint256)

func (*AppRegistryCallerSession) LockStateOf

func (_AppRegistry *AppRegistryCallerSession) LockStateOf(user common.Address) (uint8, error)

LockStateOf is a free data retrieval call binding the contract method 0xa43e9cf4.

Solidity: function lockStateOf(address user) view returns(uint8)

func (*AppRegistryCallerSession) SlashCooldown

func (_AppRegistry *AppRegistryCallerSession) SlashCooldown() (*big.Int, error)

SlashCooldown is a free data retrieval call binding the contract method 0x5a6ca4ae.

Solidity: function slashCooldown() view returns(uint256)

func (*AppRegistryCallerSession) SupportsInterface

func (_AppRegistry *AppRegistryCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error)

SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.

Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)

func (*AppRegistryCallerSession) UNLOCKPERIOD

func (_AppRegistry *AppRegistryCallerSession) UNLOCKPERIOD() (*big.Int, error)

UNLOCKPERIOD is a free data retrieval call binding the contract method 0x259a28cf.

Solidity: function UNLOCK_PERIOD() view returns(uint256)

func (*AppRegistryCallerSession) UnlockTimestampOf

func (_AppRegistry *AppRegistryCallerSession) UnlockTimestampOf(user common.Address) (*big.Int, error)

UnlockTimestampOf is a free data retrieval call binding the contract method 0x02f70fe6.

Solidity: function unlockTimestampOf(address user) view returns(uint256)

type AppRegistryFilterer

type AppRegistryFilterer struct {
	// contains filtered or unexported fields
}

AppRegistryFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewAppRegistryFilterer

func NewAppRegistryFilterer(address common.Address, filterer bind.ContractFilterer) (*AppRegistryFilterer, error)

NewAppRegistryFilterer creates a new log filterer instance of AppRegistry, bound to a specific deployed contract.

func (*AppRegistryFilterer) FilterLocked

func (_AppRegistry *AppRegistryFilterer) FilterLocked(opts *bind.FilterOpts, user []common.Address) (*AppRegistryLockedIterator, error)

FilterLocked is a free log retrieval operation binding the contract event 0xd4665e3049283582ba6f9eba07a5b3e12dab49e02da99e8927a47af5d134bea5.

Solidity: event Locked(address indexed user, uint256 deposited, uint256 newBalance)

func (*AppRegistryFilterer) FilterRelocked

func (_AppRegistry *AppRegistryFilterer) FilterRelocked(opts *bind.FilterOpts, user []common.Address) (*AppRegistryRelockedIterator, error)

FilterRelocked is a free log retrieval operation binding the contract event 0xe2d155d9d74decc198a9a9b4f5bddb24ee0842ee745c9ce57e3573b971e50d9d.

Solidity: event Relocked(address indexed user, uint256 balance)

func (*AppRegistryFilterer) FilterRoleAdminChanged

func (_AppRegistry *AppRegistryFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*AppRegistryRoleAdminChangedIterator, error)

FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.

Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)

func (*AppRegistryFilterer) FilterRoleGranted

func (_AppRegistry *AppRegistryFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AppRegistryRoleGrantedIterator, error)

FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.

Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)

func (*AppRegistryFilterer) FilterRoleRevoked

func (_AppRegistry *AppRegistryFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*AppRegistryRoleRevokedIterator, error)

FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.

Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)

func (*AppRegistryFilterer) FilterSlashCooldownUpdated

func (_AppRegistry *AppRegistryFilterer) FilterSlashCooldownUpdated(opts *bind.FilterOpts) (*AppRegistrySlashCooldownUpdatedIterator, error)

FilterSlashCooldownUpdated is a free log retrieval operation binding the contract event 0x21dd401bad58f48f88b208aad5157305ac7e8ec5db030042aaec08ebd7f50e4c.

Solidity: event SlashCooldownUpdated(uint256 oldCooldown, uint256 newCooldown)

func (*AppRegistryFilterer) FilterSlashed

func (_AppRegistry *AppRegistryFilterer) FilterSlashed(opts *bind.FilterOpts, user []common.Address, recipient []common.Address) (*AppRegistrySlashedIterator, error)

FilterSlashed is a free log retrieval operation binding the contract event 0xf204f6a8b6d1439051d5fbd742389d0f778d18d21016e81c8ad3d4558266454c.

Solidity: event Slashed(address indexed user, uint256 amount, address indexed recipient, bytes decision)

func (*AppRegistryFilterer) FilterUnlockInitiated

func (_AppRegistry *AppRegistryFilterer) FilterUnlockInitiated(opts *bind.FilterOpts, user []common.Address) (*AppRegistryUnlockInitiatedIterator, error)

FilterUnlockInitiated is a free log retrieval operation binding the contract event 0xd73fc4aafa5101b91e88b8c2fa75d8d6db73466773addb11c079d063c1e63c0c.

Solidity: event UnlockInitiated(address indexed user, uint256 balance, uint256 availableAt)

func (*AppRegistryFilterer) FilterWithdrawn

func (_AppRegistry *AppRegistryFilterer) FilterWithdrawn(opts *bind.FilterOpts, user []common.Address) (*AppRegistryWithdrawnIterator, error)

FilterWithdrawn is a free log retrieval operation binding the contract event 0x7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5.

Solidity: event Withdrawn(address indexed user, uint256 balance)

func (*AppRegistryFilterer) ParseLocked

func (_AppRegistry *AppRegistryFilterer) ParseLocked(log types.Log) (*AppRegistryLocked, error)

ParseLocked is a log parse operation binding the contract event 0xd4665e3049283582ba6f9eba07a5b3e12dab49e02da99e8927a47af5d134bea5.

Solidity: event Locked(address indexed user, uint256 deposited, uint256 newBalance)

func (*AppRegistryFilterer) ParseRelocked

func (_AppRegistry *AppRegistryFilterer) ParseRelocked(log types.Log) (*AppRegistryRelocked, error)

ParseRelocked is a log parse operation binding the contract event 0xe2d155d9d74decc198a9a9b4f5bddb24ee0842ee745c9ce57e3573b971e50d9d.

Solidity: event Relocked(address indexed user, uint256 balance)

func (*AppRegistryFilterer) ParseRoleAdminChanged

func (_AppRegistry *AppRegistryFilterer) ParseRoleAdminChanged(log types.Log) (*AppRegistryRoleAdminChanged, error)

ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.

Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)

func (*AppRegistryFilterer) ParseRoleGranted

func (_AppRegistry *AppRegistryFilterer) ParseRoleGranted(log types.Log) (*AppRegistryRoleGranted, error)

ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.

Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)

func (*AppRegistryFilterer) ParseRoleRevoked

func (_AppRegistry *AppRegistryFilterer) ParseRoleRevoked(log types.Log) (*AppRegistryRoleRevoked, error)

ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.

Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)

func (*AppRegistryFilterer) ParseSlashCooldownUpdated

func (_AppRegistry *AppRegistryFilterer) ParseSlashCooldownUpdated(log types.Log) (*AppRegistrySlashCooldownUpdated, error)

ParseSlashCooldownUpdated is a log parse operation binding the contract event 0x21dd401bad58f48f88b208aad5157305ac7e8ec5db030042aaec08ebd7f50e4c.

Solidity: event SlashCooldownUpdated(uint256 oldCooldown, uint256 newCooldown)

func (*AppRegistryFilterer) ParseSlashed

func (_AppRegistry *AppRegistryFilterer) ParseSlashed(log types.Log) (*AppRegistrySlashed, error)

ParseSlashed is a log parse operation binding the contract event 0xf204f6a8b6d1439051d5fbd742389d0f778d18d21016e81c8ad3d4558266454c.

Solidity: event Slashed(address indexed user, uint256 amount, address indexed recipient, bytes decision)

func (*AppRegistryFilterer) ParseUnlockInitiated

func (_AppRegistry *AppRegistryFilterer) ParseUnlockInitiated(log types.Log) (*AppRegistryUnlockInitiated, error)

ParseUnlockInitiated is a log parse operation binding the contract event 0xd73fc4aafa5101b91e88b8c2fa75d8d6db73466773addb11c079d063c1e63c0c.

Solidity: event UnlockInitiated(address indexed user, uint256 balance, uint256 availableAt)

func (*AppRegistryFilterer) ParseWithdrawn

func (_AppRegistry *AppRegistryFilterer) ParseWithdrawn(log types.Log) (*AppRegistryWithdrawn, error)

ParseWithdrawn is a log parse operation binding the contract event 0x7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5.

Solidity: event Withdrawn(address indexed user, uint256 balance)

func (*AppRegistryFilterer) WatchLocked

func (_AppRegistry *AppRegistryFilterer) WatchLocked(opts *bind.WatchOpts, sink chan<- *AppRegistryLocked, user []common.Address) (event.Subscription, error)

WatchLocked is a free log subscription operation binding the contract event 0xd4665e3049283582ba6f9eba07a5b3e12dab49e02da99e8927a47af5d134bea5.

Solidity: event Locked(address indexed user, uint256 deposited, uint256 newBalance)

func (*AppRegistryFilterer) WatchRelocked

func (_AppRegistry *AppRegistryFilterer) WatchRelocked(opts *bind.WatchOpts, sink chan<- *AppRegistryRelocked, user []common.Address) (event.Subscription, error)

WatchRelocked is a free log subscription operation binding the contract event 0xe2d155d9d74decc198a9a9b4f5bddb24ee0842ee745c9ce57e3573b971e50d9d.

Solidity: event Relocked(address indexed user, uint256 balance)

func (*AppRegistryFilterer) WatchRoleAdminChanged

func (_AppRegistry *AppRegistryFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *AppRegistryRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error)

WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff.

Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)

func (*AppRegistryFilterer) WatchRoleGranted

func (_AppRegistry *AppRegistryFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *AppRegistryRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error)

WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d.

Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)

func (*AppRegistryFilterer) WatchRoleRevoked

func (_AppRegistry *AppRegistryFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *AppRegistryRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error)

WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b.

Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)

func (*AppRegistryFilterer) WatchSlashCooldownUpdated

func (_AppRegistry *AppRegistryFilterer) WatchSlashCooldownUpdated(opts *bind.WatchOpts, sink chan<- *AppRegistrySlashCooldownUpdated) (event.Subscription, error)

WatchSlashCooldownUpdated is a free log subscription operation binding the contract event 0x21dd401bad58f48f88b208aad5157305ac7e8ec5db030042aaec08ebd7f50e4c.

Solidity: event SlashCooldownUpdated(uint256 oldCooldown, uint256 newCooldown)

func (*AppRegistryFilterer) WatchSlashed

func (_AppRegistry *AppRegistryFilterer) WatchSlashed(opts *bind.WatchOpts, sink chan<- *AppRegistrySlashed, user []common.Address, recipient []common.Address) (event.Subscription, error)

WatchSlashed is a free log subscription operation binding the contract event 0xf204f6a8b6d1439051d5fbd742389d0f778d18d21016e81c8ad3d4558266454c.

Solidity: event Slashed(address indexed user, uint256 amount, address indexed recipient, bytes decision)

func (*AppRegistryFilterer) WatchUnlockInitiated

func (_AppRegistry *AppRegistryFilterer) WatchUnlockInitiated(opts *bind.WatchOpts, sink chan<- *AppRegistryUnlockInitiated, user []common.Address) (event.Subscription, error)

WatchUnlockInitiated is a free log subscription operation binding the contract event 0xd73fc4aafa5101b91e88b8c2fa75d8d6db73466773addb11c079d063c1e63c0c.

Solidity: event UnlockInitiated(address indexed user, uint256 balance, uint256 availableAt)

func (*AppRegistryFilterer) WatchWithdrawn

func (_AppRegistry *AppRegistryFilterer) WatchWithdrawn(opts *bind.WatchOpts, sink chan<- *AppRegistryWithdrawn, user []common.Address) (event.Subscription, error)

WatchWithdrawn is a free log subscription operation binding the contract event 0x7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5.

Solidity: event Withdrawn(address indexed user, uint256 balance)

type AppRegistryLocked

type AppRegistryLocked struct {
	User       common.Address
	Deposited  *big.Int
	NewBalance *big.Int
	Raw        types.Log // Blockchain specific contextual infos
}

AppRegistryLocked represents a Locked event raised by the AppRegistry contract.

type AppRegistryLockedIterator

type AppRegistryLockedIterator struct {
	Event *AppRegistryLocked // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

AppRegistryLockedIterator is returned from FilterLocked and is used to iterate over the raw logs and unpacked data for Locked events raised by the AppRegistry contract.

func (*AppRegistryLockedIterator) Close

func (it *AppRegistryLockedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*AppRegistryLockedIterator) Error

func (it *AppRegistryLockedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*AppRegistryLockedIterator) Next

func (it *AppRegistryLockedIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type AppRegistryRaw

type AppRegistryRaw struct {
	Contract *AppRegistry // Generic contract binding to access the raw methods on
}

AppRegistryRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*AppRegistryRaw) Call

func (_AppRegistry *AppRegistryRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*AppRegistryRaw) Transact

func (_AppRegistry *AppRegistryRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*AppRegistryRaw) Transfer

func (_AppRegistry *AppRegistryRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type AppRegistryRelocked

type AppRegistryRelocked struct {
	User    common.Address
	Balance *big.Int
	Raw     types.Log // Blockchain specific contextual infos
}

AppRegistryRelocked represents a Relocked event raised by the AppRegistry contract.

type AppRegistryRelockedIterator

type AppRegistryRelockedIterator struct {
	Event *AppRegistryRelocked // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

AppRegistryRelockedIterator is returned from FilterRelocked and is used to iterate over the raw logs and unpacked data for Relocked events raised by the AppRegistry contract.

func (*AppRegistryRelockedIterator) Close

func (it *AppRegistryRelockedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*AppRegistryRelockedIterator) Error

func (it *AppRegistryRelockedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*AppRegistryRelockedIterator) Next

func (it *AppRegistryRelockedIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type AppRegistryRoleAdminChanged

type AppRegistryRoleAdminChanged struct {
	Role              [32]byte
	PreviousAdminRole [32]byte
	NewAdminRole      [32]byte
	Raw               types.Log // Blockchain specific contextual infos
}

AppRegistryRoleAdminChanged represents a RoleAdminChanged event raised by the AppRegistry contract.

type AppRegistryRoleAdminChangedIterator

type AppRegistryRoleAdminChangedIterator struct {
	Event *AppRegistryRoleAdminChanged // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

AppRegistryRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the AppRegistry contract.

func (*AppRegistryRoleAdminChangedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*AppRegistryRoleAdminChangedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*AppRegistryRoleAdminChangedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type AppRegistryRoleGranted

type AppRegistryRoleGranted struct {
	Role    [32]byte
	Account common.Address
	Sender  common.Address
	Raw     types.Log // Blockchain specific contextual infos
}

AppRegistryRoleGranted represents a RoleGranted event raised by the AppRegistry contract.

type AppRegistryRoleGrantedIterator

type AppRegistryRoleGrantedIterator struct {
	Event *AppRegistryRoleGranted // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

AppRegistryRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the AppRegistry contract.

func (*AppRegistryRoleGrantedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*AppRegistryRoleGrantedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*AppRegistryRoleGrantedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type AppRegistryRoleRevoked

type AppRegistryRoleRevoked struct {
	Role    [32]byte
	Account common.Address
	Sender  common.Address
	Raw     types.Log // Blockchain specific contextual infos
}

AppRegistryRoleRevoked represents a RoleRevoked event raised by the AppRegistry contract.

type AppRegistryRoleRevokedIterator

type AppRegistryRoleRevokedIterator struct {
	Event *AppRegistryRoleRevoked // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

AppRegistryRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the AppRegistry contract.

func (*AppRegistryRoleRevokedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*AppRegistryRoleRevokedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*AppRegistryRoleRevokedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type AppRegistrySession

type AppRegistrySession struct {
	Contract     *AppRegistry      // Generic contract binding to set the session for
	CallOpts     bind.CallOpts     // Call options to use throughout this session
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

AppRegistrySession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*AppRegistrySession) ADJUDICATORROLE

func (_AppRegistry *AppRegistrySession) ADJUDICATORROLE() ([32]byte, error)

ADJUDICATORROLE is a free data retrieval call binding the contract method 0xf538f7dd.

Solidity: function ADJUDICATOR_ROLE() view returns(bytes32)

func (*AppRegistrySession) ASSET

func (_AppRegistry *AppRegistrySession) ASSET() (common.Address, error)

ASSET is a free data retrieval call binding the contract method 0x4800d97f.

Solidity: function ASSET() view returns(address)

func (*AppRegistrySession) Asset

func (_AppRegistry *AppRegistrySession) Asset() (common.Address, error)

Asset is a free data retrieval call binding the contract method 0x38d52e0f.

Solidity: function asset() view returns(address)

func (*AppRegistrySession) BalanceOf

func (_AppRegistry *AppRegistrySession) BalanceOf(user common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address user) view returns(uint256)

func (*AppRegistrySession) DEFAULTADMINROLE

func (_AppRegistry *AppRegistrySession) DEFAULTADMINROLE() ([32]byte, error)

DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf.

Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32)

func (*AppRegistrySession) GetRoleAdmin

func (_AppRegistry *AppRegistrySession) GetRoleAdmin(role [32]byte) ([32]byte, error)

GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3.

Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32)

func (*AppRegistrySession) GrantRole

func (_AppRegistry *AppRegistrySession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error)

GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.

Solidity: function grantRole(bytes32 role, address account) returns()

func (*AppRegistrySession) HasRole

func (_AppRegistry *AppRegistrySession) HasRole(role [32]byte, account common.Address) (bool, error)

HasRole is a free data retrieval call binding the contract method 0x91d14854.

Solidity: function hasRole(bytes32 role, address account) view returns(bool)

func (*AppRegistrySession) LastSlashTimestamp

func (_AppRegistry *AppRegistrySession) LastSlashTimestamp() (*big.Int, error)

LastSlashTimestamp is a free data retrieval call binding the contract method 0xc77f5062.

Solidity: function lastSlashTimestamp() view returns(uint256)

func (*AppRegistrySession) Lock

func (_AppRegistry *AppRegistrySession) Lock(target common.Address, amount *big.Int) (*types.Transaction, error)

Lock is a paid mutator transaction binding the contract method 0x282d3fdf.

Solidity: function lock(address target, uint256 amount) returns()

func (*AppRegistrySession) LockStateOf

func (_AppRegistry *AppRegistrySession) LockStateOf(user common.Address) (uint8, error)

LockStateOf is a free data retrieval call binding the contract method 0xa43e9cf4.

Solidity: function lockStateOf(address user) view returns(uint8)

func (*AppRegistrySession) Relock

func (_AppRegistry *AppRegistrySession) Relock() (*types.Transaction, error)

Relock is a paid mutator transaction binding the contract method 0xc53b573d.

Solidity: function relock() returns()

func (*AppRegistrySession) RenounceRole

func (_AppRegistry *AppRegistrySession) RenounceRole(role [32]byte, callerConfirmation common.Address) (*types.Transaction, error)

RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.

Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns()

func (*AppRegistrySession) RevokeRole

func (_AppRegistry *AppRegistrySession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error)

RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.

Solidity: function revokeRole(bytes32 role, address account) returns()

func (*AppRegistrySession) SetSlashCooldown

func (_AppRegistry *AppRegistrySession) SetSlashCooldown(newCooldown *big.Int) (*types.Transaction, error)

SetSlashCooldown is a paid mutator transaction binding the contract method 0x256f8f09.

Solidity: function setSlashCooldown(uint256 newCooldown) returns()

func (*AppRegistrySession) Slash

func (_AppRegistry *AppRegistrySession) Slash(user common.Address, amount *big.Int, recipient common.Address, decision []byte) (*types.Transaction, error)

Slash is a paid mutator transaction binding the contract method 0x010379b2.

Solidity: function slash(address user, uint256 amount, address recipient, bytes decision) returns()

func (*AppRegistrySession) SlashCooldown

func (_AppRegistry *AppRegistrySession) SlashCooldown() (*big.Int, error)

SlashCooldown is a free data retrieval call binding the contract method 0x5a6ca4ae.

Solidity: function slashCooldown() view returns(uint256)

func (*AppRegistrySession) SupportsInterface

func (_AppRegistry *AppRegistrySession) SupportsInterface(interfaceId [4]byte) (bool, error)

SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7.

Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool)

func (*AppRegistrySession) UNLOCKPERIOD

func (_AppRegistry *AppRegistrySession) UNLOCKPERIOD() (*big.Int, error)

UNLOCKPERIOD is a free data retrieval call binding the contract method 0x259a28cf.

Solidity: function UNLOCK_PERIOD() view returns(uint256)

func (*AppRegistrySession) Unlock

func (_AppRegistry *AppRegistrySession) Unlock() (*types.Transaction, error)

Unlock is a paid mutator transaction binding the contract method 0xa69df4b5.

Solidity: function unlock() returns()

func (*AppRegistrySession) UnlockTimestampOf

func (_AppRegistry *AppRegistrySession) UnlockTimestampOf(user common.Address) (*big.Int, error)

UnlockTimestampOf is a free data retrieval call binding the contract method 0x02f70fe6.

Solidity: function unlockTimestampOf(address user) view returns(uint256)

func (*AppRegistrySession) Withdraw

func (_AppRegistry *AppRegistrySession) Withdraw(destination common.Address) (*types.Transaction, error)

Withdraw is a paid mutator transaction binding the contract method 0x51cff8d9.

Solidity: function withdraw(address destination) returns()

type AppRegistrySlashCooldownUpdated

type AppRegistrySlashCooldownUpdated struct {
	OldCooldown *big.Int
	NewCooldown *big.Int
	Raw         types.Log // Blockchain specific contextual infos
}

AppRegistrySlashCooldownUpdated represents a SlashCooldownUpdated event raised by the AppRegistry contract.

type AppRegistrySlashCooldownUpdatedIterator

type AppRegistrySlashCooldownUpdatedIterator struct {
	Event *AppRegistrySlashCooldownUpdated // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

AppRegistrySlashCooldownUpdatedIterator is returned from FilterSlashCooldownUpdated and is used to iterate over the raw logs and unpacked data for SlashCooldownUpdated events raised by the AppRegistry contract.

func (*AppRegistrySlashCooldownUpdatedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*AppRegistrySlashCooldownUpdatedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*AppRegistrySlashCooldownUpdatedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type AppRegistrySlashed

type AppRegistrySlashed struct {
	User      common.Address
	Amount    *big.Int
	Recipient common.Address
	Decision  []byte
	Raw       types.Log // Blockchain specific contextual infos
}

AppRegistrySlashed represents a Slashed event raised by the AppRegistry contract.

type AppRegistrySlashedIterator

type AppRegistrySlashedIterator struct {
	Event *AppRegistrySlashed // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

AppRegistrySlashedIterator is returned from FilterSlashed and is used to iterate over the raw logs and unpacked data for Slashed events raised by the AppRegistry contract.

func (*AppRegistrySlashedIterator) Close

func (it *AppRegistrySlashedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*AppRegistrySlashedIterator) Error

func (it *AppRegistrySlashedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*AppRegistrySlashedIterator) Next

func (it *AppRegistrySlashedIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type AppRegistryTransactor

type AppRegistryTransactor struct {
	// contains filtered or unexported fields
}

AppRegistryTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewAppRegistryTransactor

func NewAppRegistryTransactor(address common.Address, transactor bind.ContractTransactor) (*AppRegistryTransactor, error)

NewAppRegistryTransactor creates a new write-only instance of AppRegistry, bound to a specific deployed contract.

func (*AppRegistryTransactor) GrantRole

func (_AppRegistry *AppRegistryTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error)

GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.

Solidity: function grantRole(bytes32 role, address account) returns()

func (*AppRegistryTransactor) Lock

func (_AppRegistry *AppRegistryTransactor) Lock(opts *bind.TransactOpts, target common.Address, amount *big.Int) (*types.Transaction, error)

Lock is a paid mutator transaction binding the contract method 0x282d3fdf.

Solidity: function lock(address target, uint256 amount) returns()

func (*AppRegistryTransactor) Relock

func (_AppRegistry *AppRegistryTransactor) Relock(opts *bind.TransactOpts) (*types.Transaction, error)

Relock is a paid mutator transaction binding the contract method 0xc53b573d.

Solidity: function relock() returns()

func (*AppRegistryTransactor) RenounceRole

func (_AppRegistry *AppRegistryTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, callerConfirmation common.Address) (*types.Transaction, error)

RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.

Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns()

func (*AppRegistryTransactor) RevokeRole

func (_AppRegistry *AppRegistryTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error)

RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.

Solidity: function revokeRole(bytes32 role, address account) returns()

func (*AppRegistryTransactor) SetSlashCooldown

func (_AppRegistry *AppRegistryTransactor) SetSlashCooldown(opts *bind.TransactOpts, newCooldown *big.Int) (*types.Transaction, error)

SetSlashCooldown is a paid mutator transaction binding the contract method 0x256f8f09.

Solidity: function setSlashCooldown(uint256 newCooldown) returns()

func (*AppRegistryTransactor) Slash

func (_AppRegistry *AppRegistryTransactor) Slash(opts *bind.TransactOpts, user common.Address, amount *big.Int, recipient common.Address, decision []byte) (*types.Transaction, error)

Slash is a paid mutator transaction binding the contract method 0x010379b2.

Solidity: function slash(address user, uint256 amount, address recipient, bytes decision) returns()

func (*AppRegistryTransactor) Unlock

func (_AppRegistry *AppRegistryTransactor) Unlock(opts *bind.TransactOpts) (*types.Transaction, error)

Unlock is a paid mutator transaction binding the contract method 0xa69df4b5.

Solidity: function unlock() returns()

func (*AppRegistryTransactor) Withdraw

func (_AppRegistry *AppRegistryTransactor) Withdraw(opts *bind.TransactOpts, destination common.Address) (*types.Transaction, error)

Withdraw is a paid mutator transaction binding the contract method 0x51cff8d9.

Solidity: function withdraw(address destination) returns()

type AppRegistryTransactorRaw

type AppRegistryTransactorRaw struct {
	Contract *AppRegistryTransactor // Generic write-only contract binding to access the raw methods on
}

AppRegistryTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*AppRegistryTransactorRaw) Transact

func (_AppRegistry *AppRegistryTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*AppRegistryTransactorRaw) Transfer

func (_AppRegistry *AppRegistryTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type AppRegistryTransactorSession

type AppRegistryTransactorSession struct {
	Contract     *AppRegistryTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts      // Transaction auth options to use throughout this session
}

AppRegistryTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*AppRegistryTransactorSession) GrantRole

func (_AppRegistry *AppRegistryTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error)

GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d.

Solidity: function grantRole(bytes32 role, address account) returns()

func (*AppRegistryTransactorSession) Lock

func (_AppRegistry *AppRegistryTransactorSession) Lock(target common.Address, amount *big.Int) (*types.Transaction, error)

Lock is a paid mutator transaction binding the contract method 0x282d3fdf.

Solidity: function lock(address target, uint256 amount) returns()

func (*AppRegistryTransactorSession) Relock

func (_AppRegistry *AppRegistryTransactorSession) Relock() (*types.Transaction, error)

Relock is a paid mutator transaction binding the contract method 0xc53b573d.

Solidity: function relock() returns()

func (*AppRegistryTransactorSession) RenounceRole

func (_AppRegistry *AppRegistryTransactorSession) RenounceRole(role [32]byte, callerConfirmation common.Address) (*types.Transaction, error)

RenounceRole is a paid mutator transaction binding the contract method 0x36568abe.

Solidity: function renounceRole(bytes32 role, address callerConfirmation) returns()

func (*AppRegistryTransactorSession) RevokeRole

func (_AppRegistry *AppRegistryTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error)

RevokeRole is a paid mutator transaction binding the contract method 0xd547741f.

Solidity: function revokeRole(bytes32 role, address account) returns()

func (*AppRegistryTransactorSession) SetSlashCooldown

func (_AppRegistry *AppRegistryTransactorSession) SetSlashCooldown(newCooldown *big.Int) (*types.Transaction, error)

SetSlashCooldown is a paid mutator transaction binding the contract method 0x256f8f09.

Solidity: function setSlashCooldown(uint256 newCooldown) returns()

func (*AppRegistryTransactorSession) Slash

func (_AppRegistry *AppRegistryTransactorSession) Slash(user common.Address, amount *big.Int, recipient common.Address, decision []byte) (*types.Transaction, error)

Slash is a paid mutator transaction binding the contract method 0x010379b2.

Solidity: function slash(address user, uint256 amount, address recipient, bytes decision) returns()

func (*AppRegistryTransactorSession) Unlock

func (_AppRegistry *AppRegistryTransactorSession) Unlock() (*types.Transaction, error)

Unlock is a paid mutator transaction binding the contract method 0xa69df4b5.

Solidity: function unlock() returns()

func (*AppRegistryTransactorSession) Withdraw

func (_AppRegistry *AppRegistryTransactorSession) Withdraw(destination common.Address) (*types.Transaction, error)

Withdraw is a paid mutator transaction binding the contract method 0x51cff8d9.

Solidity: function withdraw(address destination) returns()

type AppRegistryUnlockInitiated

type AppRegistryUnlockInitiated struct {
	User        common.Address
	Balance     *big.Int
	AvailableAt *big.Int
	Raw         types.Log // Blockchain specific contextual infos
}

AppRegistryUnlockInitiated represents a UnlockInitiated event raised by the AppRegistry contract.

type AppRegistryUnlockInitiatedIterator

type AppRegistryUnlockInitiatedIterator struct {
	Event *AppRegistryUnlockInitiated // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

AppRegistryUnlockInitiatedIterator is returned from FilterUnlockInitiated and is used to iterate over the raw logs and unpacked data for UnlockInitiated events raised by the AppRegistry contract.

func (*AppRegistryUnlockInitiatedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*AppRegistryUnlockInitiatedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*AppRegistryUnlockInitiatedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type AppRegistryWithdrawn

type AppRegistryWithdrawn struct {
	User    common.Address
	Balance *big.Int
	Raw     types.Log // Blockchain specific contextual infos
}

AppRegistryWithdrawn represents a Withdrawn event raised by the AppRegistry contract.

type AppRegistryWithdrawnIterator

type AppRegistryWithdrawnIterator struct {
	Event *AppRegistryWithdrawn // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

AppRegistryWithdrawnIterator is returned from FilterWithdrawn and is used to iterate over the raw logs and unpacked data for Withdrawn events raised by the AppRegistry contract.

func (*AppRegistryWithdrawnIterator) Close

func (it *AppRegistryWithdrawnIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*AppRegistryWithdrawnIterator) Error

func (it *AppRegistryWithdrawnIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*AppRegistryWithdrawnIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type AssetStore

type AssetStore interface {
	// GetAssetDecimals checks if an asset exists and returns its decimals in YN
	GetAssetDecimals(asset string) (uint8, error)

	// GetTokenDecimals returns the decimals for a token on a specific blockchain
	GetTokenDecimals(blockchainID uint64, tokenAddress string) (uint8, error)

	// GetTokenAddress returns the token address for a given asset on a specific blockchain
	GetTokenAddress(asset string, blockchainID uint64) (string, error)
}

type BaseClient

type BaseClient struct {
	// contains filtered or unexported fields
}

BaseClient holds the shared fields for all EVM-based clients.

type BlockchainClient

type BlockchainClient struct {
	BaseClient
	// contains filtered or unexported fields
}

func NewBlockchainClient

func NewBlockchainClient(
	contractAddress common.Address,
	evmClient EVMClient,
	txSigner sign.Signer,
	blockchainID uint64,
	nodeAddress string,
	assetStore AssetStore,
	opts ...ClientOption,
) (*BlockchainClient, error)

func (*BlockchainClient) Approve

func (c *BlockchainClient) Approve(asset string, amount decimal.Decimal) (string, error)

func (*BlockchainClient) Challenge

func (c *BlockchainClient) Challenge(candidate core.State, challengerSig []byte, challengerIdx core.ChannelParticipant) (string, error)

func (*BlockchainClient) ChallengeEscrowDeposit

func (c *BlockchainClient) ChallengeEscrowDeposit(candidate core.State, challengerSig []byte, challengerIdx core.ChannelParticipant) (string, error)

func (*BlockchainClient) ChallengeEscrowWithdrawal

func (c *BlockchainClient) ChallengeEscrowWithdrawal(candidate core.State, challengerSig []byte, challengerIdx core.ChannelParticipant) (string, error)

func (*BlockchainClient) Checkpoint

func (c *BlockchainClient) Checkpoint(candidate core.State) (string, error)

func (*BlockchainClient) Close

func (c *BlockchainClient) Close(candidate core.State) (string, error)

func (*BlockchainClient) Create

func (c *BlockchainClient) Create(def core.ChannelDefinition, initCCS core.State) (string, error)

func (*BlockchainClient) Deposit

func (c *BlockchainClient) Deposit(node, token string, amount decimal.Decimal) (string, error)

func (*BlockchainClient) EnsureSigValidatorRegistered

func (c *BlockchainClient) EnsureSigValidatorRegistered(validatorID uint8, validatorAddress string, checkOnly bool) error

func (*BlockchainClient) FinalizeEscrowDeposit

func (c *BlockchainClient) FinalizeEscrowDeposit(candidate core.State) (string, error)

func (*BlockchainClient) FinalizeEscrowWithdrawal

func (c *BlockchainClient) FinalizeEscrowWithdrawal(candidate core.State) (string, error)

func (*BlockchainClient) GetAccountsBalances

func (c *BlockchainClient) GetAccountsBalances(accounts []string, tokens []string) ([][]decimal.Decimal, error)

func (*BlockchainClient) GetEscrowDepositData

func (c *BlockchainClient) GetEscrowDepositData(escrowChannelID string) (core.EscrowDepositDataResponse, error)

func (*BlockchainClient) GetEscrowWithdrawalData

func (c *BlockchainClient) GetEscrowWithdrawalData(escrowChannelID string) (core.EscrowWithdrawalDataResponse, error)

func (*BlockchainClient) GetHomeChannelData

func (c *BlockchainClient) GetHomeChannelData(homeChannelID string) (core.HomeChannelDataResponse, error)

func (*BlockchainClient) GetNodeBalance

func (c *BlockchainClient) GetNodeBalance(token string) (decimal.Decimal, error)

func (*BlockchainClient) GetOpenChannels

func (c *BlockchainClient) GetOpenChannels(user string) ([]string, error)

func (*BlockchainClient) GetTokenBalance

func (c *BlockchainClient) GetTokenBalance(asset string, walletAddress string) (decimal.Decimal, error)

func (*BlockchainClient) InitiateEscrowDeposit

func (c *BlockchainClient) InitiateEscrowDeposit(def core.ChannelDefinition, initCCS core.State) (string, error)

func (*BlockchainClient) InitiateEscrowWithdrawal

func (c *BlockchainClient) InitiateEscrowWithdrawal(def core.ChannelDefinition, initCCS core.State) (string, error)

func (*BlockchainClient) MigrateChannelHere

func (c *BlockchainClient) MigrateChannelHere(def core.ChannelDefinition, candidate core.State) (string, error)

func (*BlockchainClient) Withdraw

func (c *BlockchainClient) Withdraw(node, token string, amount decimal.Decimal) (string, error)

type ChannelDefinition

type ChannelDefinition struct {
	ChallengeDuration           uint32
	User                        common.Address
	Node                        common.Address
	Nonce                       uint64
	ApprovedSignatureValidators *big.Int
	Metadata                    [32]byte
}

ChannelDefinition is an auto generated low-level Go binding around an user-defined struct.

type ChannelHub

type ChannelHub struct {
	ChannelHubCaller     // Read-only binding to the contract
	ChannelHubTransactor // Write-only binding to the contract
	ChannelHubFilterer   // Log filterer for contract events
}

ChannelHub is an auto generated Go binding around an Ethereum contract.

func DeployChannelHub

func DeployChannelHub(auth *bind.TransactOpts, backend bind.ContractBackend, _defaultSigValidator common.Address) (common.Address, *types.Transaction, *ChannelHub, error)

DeployChannelHub deploys a new Ethereum contract, binding an instance of ChannelHub to it.

func NewChannelHub

func NewChannelHub(address common.Address, backend bind.ContractBackend) (*ChannelHub, error)

NewChannelHub creates a new instance of ChannelHub, bound to a specific deployed contract.

type ChannelHubCaller

type ChannelHubCaller struct {
	// contains filtered or unexported fields
}

ChannelHubCaller is an auto generated read-only Go binding around an Ethereum contract.

func NewChannelHubCaller

func NewChannelHubCaller(address common.Address, caller bind.ContractCaller) (*ChannelHubCaller, error)

NewChannelHubCaller creates a new read-only instance of ChannelHub, bound to a specific deployed contract.

func (*ChannelHubCaller) DEFAULTSIGVALIDATOR

func (_ChannelHub *ChannelHubCaller) DEFAULTSIGVALIDATOR(opts *bind.CallOpts) (common.Address, error)

DEFAULTSIGVALIDATOR is a free data retrieval call binding the contract method 0x71a47141.

Solidity: function DEFAULT_SIG_VALIDATOR() view returns(address)

func (*ChannelHubCaller) ESCROWDEPOSITUNLOCKDELAY

func (_ChannelHub *ChannelHubCaller) ESCROWDEPOSITUNLOCKDELAY(opts *bind.CallOpts) (uint32, error)

ESCROWDEPOSITUNLOCKDELAY is a free data retrieval call binding the contract method 0x5a0745b4.

Solidity: function ESCROW_DEPOSIT_UNLOCK_DELAY() view returns(uint32)

func (*ChannelHubCaller) EscrowHead

func (_ChannelHub *ChannelHubCaller) EscrowHead(opts *bind.CallOpts) (*big.Int, error)

EscrowHead is a free data retrieval call binding the contract method 0x82d3e15d.

Solidity: function escrowHead() view returns(uint256)

func (*ChannelHubCaller) GetAccountBalance

func (_ChannelHub *ChannelHubCaller) GetAccountBalance(opts *bind.CallOpts, node common.Address, token common.Address) (*big.Int, error)

GetAccountBalance is a free data retrieval call binding the contract method 0x587675e8.

Solidity: function getAccountBalance(address node, address token) view returns(uint256)

func (*ChannelHubCaller) GetChannelData

func (_ChannelHub *ChannelHubCaller) GetChannelData(opts *bind.CallOpts, channelId [32]byte) (struct {
	Status          uint8
	Definition      ChannelDefinition
	LastState       State
	ChallengeExpiry *big.Int
	LockedFunds     *big.Int
}, error)

GetChannelData is a free data retrieval call binding the contract method 0xe617208c.

Solidity: function getChannelData(bytes32 channelId) view returns(uint8 status, (uint32,address,address,uint64,uint256,bytes32) definition, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) lastState, uint256 challengeExpiry, uint256 lockedFunds)

func (*ChannelHubCaller) GetChannelIds

func (_ChannelHub *ChannelHubCaller) GetChannelIds(opts *bind.CallOpts, user common.Address) ([][32]byte, error)

GetChannelIds is a free data retrieval call binding the contract method 0x187576d8.

Solidity: function getChannelIds(address user) view returns(bytes32[])

func (*ChannelHubCaller) GetEscrowDepositData

func (_ChannelHub *ChannelHubCaller) GetEscrowDepositData(opts *bind.CallOpts, escrowId [32]byte) (struct {
	ChannelId       [32]byte
	Status          uint8
	UnlockAt        uint64
	ChallengeExpiry uint64
	LockedAmount    *big.Int
	InitState       State
}, error)

GetEscrowDepositData is a free data retrieval call binding the contract method 0xd888ccae.

Solidity: function getEscrowDepositData(bytes32 escrowId) view returns(bytes32 channelId, uint8 status, uint64 unlockAt, uint64 challengeExpiry, uint256 lockedAmount, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) initState)

func (*ChannelHubCaller) GetEscrowDepositIds

func (_ChannelHub *ChannelHubCaller) GetEscrowDepositIds(opts *bind.CallOpts, page *big.Int, pageSize *big.Int) ([][32]byte, error)

GetEscrowDepositIds is a free data retrieval call binding the contract method 0x5b9acbf9.

Solidity: function getEscrowDepositIds(uint256 page, uint256 pageSize) view returns(bytes32[] ids)

func (*ChannelHubCaller) GetEscrowWithdrawalData

func (_ChannelHub *ChannelHubCaller) GetEscrowWithdrawalData(opts *bind.CallOpts, escrowId [32]byte) (struct {
	ChannelId       [32]byte
	Status          uint8
	ChallengeExpiry uint64
	LockedAmount    *big.Int
	InitState       State
}, error)

GetEscrowWithdrawalData is a free data retrieval call binding the contract method 0xdd73d494.

Solidity: function getEscrowWithdrawalData(bytes32 escrowId) view returns(bytes32 channelId, uint8 status, uint64 challengeExpiry, uint256 lockedAmount, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) initState)

func (*ChannelHubCaller) GetNodeValidator

func (_ChannelHub *ChannelHubCaller) GetNodeValidator(opts *bind.CallOpts, node common.Address, validatorId uint8) (common.Address, error)

GetNodeValidator is a free data retrieval call binding the contract method 0xb00b6fd6.

Solidity: function getNodeValidator(address node, uint8 validatorId) view returns(address)

func (*ChannelHubCaller) GetOpenChannels

func (_ChannelHub *ChannelHubCaller) GetOpenChannels(opts *bind.CallOpts, user common.Address) ([][32]byte, error)

GetOpenChannels is a free data retrieval call binding the contract method 0x6898234b.

Solidity: function getOpenChannels(address user) view returns(bytes32[] openChannels)

func (*ChannelHubCaller) GetReclaimBalance

func (_ChannelHub *ChannelHubCaller) GetReclaimBalance(opts *bind.CallOpts, account common.Address, token common.Address) (*big.Int, error)

GetReclaimBalance is a free data retrieval call binding the contract method 0x735181f0.

Solidity: function getReclaimBalance(address account, address token) view returns(uint256)

func (*ChannelHubCaller) MAXDEPOSITESCROWPURGE

func (_ChannelHub *ChannelHubCaller) MAXDEPOSITESCROWPURGE(opts *bind.CallOpts) (uint32, error)

MAXDEPOSITESCROWPURGE is a free data retrieval call binding the contract method 0x6af820bd.

Solidity: function MAX_DEPOSIT_ESCROW_PURGE() view returns(uint32)

func (*ChannelHubCaller) MINCHALLENGEDURATION

func (_ChannelHub *ChannelHubCaller) MINCHALLENGEDURATION(opts *bind.CallOpts) (uint32, error)

MINCHALLENGEDURATION is a free data retrieval call binding the contract method 0x94191051.

Solidity: function MIN_CHALLENGE_DURATION() view returns(uint32)

func (*ChannelHubCaller) TRANSFERGASLIMIT

func (_ChannelHub *ChannelHubCaller) TRANSFERGASLIMIT(opts *bind.CallOpts) (*big.Int, error)

TRANSFERGASLIMIT is a free data retrieval call binding the contract method 0x38a66be2.

Solidity: function TRANSFER_GAS_LIMIT() view returns(uint256)

func (*ChannelHubCaller) VERSION

func (_ChannelHub *ChannelHubCaller) VERSION(opts *bind.CallOpts) (uint8, error)

VERSION is a free data retrieval call binding the contract method 0xffa1ad74.

Solidity: function VERSION() view returns(uint8)

type ChannelHubCallerRaw

type ChannelHubCallerRaw struct {
	Contract *ChannelHubCaller // Generic read-only contract binding to access the raw methods on
}

ChannelHubCallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*ChannelHubCallerRaw) Call

func (_ChannelHub *ChannelHubCallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type ChannelHubCallerSession

type ChannelHubCallerSession struct {
	Contract *ChannelHubCaller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts     // Call options to use throughout this session
}

ChannelHubCallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*ChannelHubCallerSession) DEFAULTSIGVALIDATOR

func (_ChannelHub *ChannelHubCallerSession) DEFAULTSIGVALIDATOR() (common.Address, error)

DEFAULTSIGVALIDATOR is a free data retrieval call binding the contract method 0x71a47141.

Solidity: function DEFAULT_SIG_VALIDATOR() view returns(address)

func (*ChannelHubCallerSession) ESCROWDEPOSITUNLOCKDELAY

func (_ChannelHub *ChannelHubCallerSession) ESCROWDEPOSITUNLOCKDELAY() (uint32, error)

ESCROWDEPOSITUNLOCKDELAY is a free data retrieval call binding the contract method 0x5a0745b4.

Solidity: function ESCROW_DEPOSIT_UNLOCK_DELAY() view returns(uint32)

func (*ChannelHubCallerSession) EscrowHead

func (_ChannelHub *ChannelHubCallerSession) EscrowHead() (*big.Int, error)

EscrowHead is a free data retrieval call binding the contract method 0x82d3e15d.

Solidity: function escrowHead() view returns(uint256)

func (*ChannelHubCallerSession) GetAccountBalance

func (_ChannelHub *ChannelHubCallerSession) GetAccountBalance(node common.Address, token common.Address) (*big.Int, error)

GetAccountBalance is a free data retrieval call binding the contract method 0x587675e8.

Solidity: function getAccountBalance(address node, address token) view returns(uint256)

func (*ChannelHubCallerSession) GetChannelData

func (_ChannelHub *ChannelHubCallerSession) GetChannelData(channelId [32]byte) (struct {
	Status          uint8
	Definition      ChannelDefinition
	LastState       State
	ChallengeExpiry *big.Int
	LockedFunds     *big.Int
}, error)

GetChannelData is a free data retrieval call binding the contract method 0xe617208c.

Solidity: function getChannelData(bytes32 channelId) view returns(uint8 status, (uint32,address,address,uint64,uint256,bytes32) definition, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) lastState, uint256 challengeExpiry, uint256 lockedFunds)

func (*ChannelHubCallerSession) GetChannelIds

func (_ChannelHub *ChannelHubCallerSession) GetChannelIds(user common.Address) ([][32]byte, error)

GetChannelIds is a free data retrieval call binding the contract method 0x187576d8.

Solidity: function getChannelIds(address user) view returns(bytes32[])

func (*ChannelHubCallerSession) GetEscrowDepositData

func (_ChannelHub *ChannelHubCallerSession) GetEscrowDepositData(escrowId [32]byte) (struct {
	ChannelId       [32]byte
	Status          uint8
	UnlockAt        uint64
	ChallengeExpiry uint64
	LockedAmount    *big.Int
	InitState       State
}, error)

GetEscrowDepositData is a free data retrieval call binding the contract method 0xd888ccae.

Solidity: function getEscrowDepositData(bytes32 escrowId) view returns(bytes32 channelId, uint8 status, uint64 unlockAt, uint64 challengeExpiry, uint256 lockedAmount, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) initState)

func (*ChannelHubCallerSession) GetEscrowDepositIds

func (_ChannelHub *ChannelHubCallerSession) GetEscrowDepositIds(page *big.Int, pageSize *big.Int) ([][32]byte, error)

GetEscrowDepositIds is a free data retrieval call binding the contract method 0x5b9acbf9.

Solidity: function getEscrowDepositIds(uint256 page, uint256 pageSize) view returns(bytes32[] ids)

func (*ChannelHubCallerSession) GetEscrowWithdrawalData

func (_ChannelHub *ChannelHubCallerSession) GetEscrowWithdrawalData(escrowId [32]byte) (struct {
	ChannelId       [32]byte
	Status          uint8
	ChallengeExpiry uint64
	LockedAmount    *big.Int
	InitState       State
}, error)

GetEscrowWithdrawalData is a free data retrieval call binding the contract method 0xdd73d494.

Solidity: function getEscrowWithdrawalData(bytes32 escrowId) view returns(bytes32 channelId, uint8 status, uint64 challengeExpiry, uint256 lockedAmount, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) initState)

func (*ChannelHubCallerSession) GetNodeValidator

func (_ChannelHub *ChannelHubCallerSession) GetNodeValidator(node common.Address, validatorId uint8) (common.Address, error)

GetNodeValidator is a free data retrieval call binding the contract method 0xb00b6fd6.

Solidity: function getNodeValidator(address node, uint8 validatorId) view returns(address)

func (*ChannelHubCallerSession) GetOpenChannels

func (_ChannelHub *ChannelHubCallerSession) GetOpenChannels(user common.Address) ([][32]byte, error)

GetOpenChannels is a free data retrieval call binding the contract method 0x6898234b.

Solidity: function getOpenChannels(address user) view returns(bytes32[] openChannels)

func (*ChannelHubCallerSession) GetReclaimBalance

func (_ChannelHub *ChannelHubCallerSession) GetReclaimBalance(account common.Address, token common.Address) (*big.Int, error)

GetReclaimBalance is a free data retrieval call binding the contract method 0x735181f0.

Solidity: function getReclaimBalance(address account, address token) view returns(uint256)

func (*ChannelHubCallerSession) MAXDEPOSITESCROWPURGE

func (_ChannelHub *ChannelHubCallerSession) MAXDEPOSITESCROWPURGE() (uint32, error)

MAXDEPOSITESCROWPURGE is a free data retrieval call binding the contract method 0x6af820bd.

Solidity: function MAX_DEPOSIT_ESCROW_PURGE() view returns(uint32)

func (*ChannelHubCallerSession) MINCHALLENGEDURATION

func (_ChannelHub *ChannelHubCallerSession) MINCHALLENGEDURATION() (uint32, error)

MINCHALLENGEDURATION is a free data retrieval call binding the contract method 0x94191051.

Solidity: function MIN_CHALLENGE_DURATION() view returns(uint32)

func (*ChannelHubCallerSession) TRANSFERGASLIMIT

func (_ChannelHub *ChannelHubCallerSession) TRANSFERGASLIMIT() (*big.Int, error)

TRANSFERGASLIMIT is a free data retrieval call binding the contract method 0x38a66be2.

Solidity: function TRANSFER_GAS_LIMIT() view returns(uint256)

func (*ChannelHubCallerSession) VERSION

func (_ChannelHub *ChannelHubCallerSession) VERSION() (uint8, error)

VERSION is a free data retrieval call binding the contract method 0xffa1ad74.

Solidity: function VERSION() view returns(uint8)

type ChannelHubChannelChallenged

type ChannelHubChannelChallenged struct {
	ChannelId         [32]byte
	Candidate         State
	ChallengeExpireAt uint64
	Raw               types.Log // Blockchain specific contextual infos
}

ChannelHubChannelChallenged represents a ChannelChallenged event raised by the ChannelHub contract.

type ChannelHubChannelChallengedIterator

type ChannelHubChannelChallengedIterator struct {
	Event *ChannelHubChannelChallenged // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubChannelChallengedIterator is returned from FilterChannelChallenged and is used to iterate over the raw logs and unpacked data for ChannelChallenged events raised by the ChannelHub contract.

func (*ChannelHubChannelChallengedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubChannelChallengedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubChannelChallengedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubChannelCheckpointed

type ChannelHubChannelCheckpointed struct {
	ChannelId [32]byte
	Candidate State
	Raw       types.Log // Blockchain specific contextual infos
}

ChannelHubChannelCheckpointed represents a ChannelCheckpointed event raised by the ChannelHub contract.

type ChannelHubChannelCheckpointedIterator

type ChannelHubChannelCheckpointedIterator struct {
	Event *ChannelHubChannelCheckpointed // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubChannelCheckpointedIterator is returned from FilterChannelCheckpointed and is used to iterate over the raw logs and unpacked data for ChannelCheckpointed events raised by the ChannelHub contract.

func (*ChannelHubChannelCheckpointedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubChannelCheckpointedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubChannelCheckpointedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubChannelClosed

type ChannelHubChannelClosed struct {
	ChannelId  [32]byte
	FinalState State
	Raw        types.Log // Blockchain specific contextual infos
}

ChannelHubChannelClosed represents a ChannelClosed event raised by the ChannelHub contract.

type ChannelHubChannelClosedIterator

type ChannelHubChannelClosedIterator struct {
	Event *ChannelHubChannelClosed // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubChannelClosedIterator is returned from FilterChannelClosed and is used to iterate over the raw logs and unpacked data for ChannelClosed events raised by the ChannelHub contract.

func (*ChannelHubChannelClosedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubChannelClosedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubChannelClosedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubChannelCreated

type ChannelHubChannelCreated struct {
	ChannelId    [32]byte
	User         common.Address
	Node         common.Address
	Definition   ChannelDefinition
	InitialState State
	Raw          types.Log // Blockchain specific contextual infos
}

ChannelHubChannelCreated represents a ChannelCreated event raised by the ChannelHub contract.

type ChannelHubChannelCreatedIterator

type ChannelHubChannelCreatedIterator struct {
	Event *ChannelHubChannelCreated // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubChannelCreatedIterator is returned from FilterChannelCreated and is used to iterate over the raw logs and unpacked data for ChannelCreated events raised by the ChannelHub contract.

func (*ChannelHubChannelCreatedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubChannelCreatedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubChannelCreatedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubChannelDeposited

type ChannelHubChannelDeposited struct {
	ChannelId [32]byte
	Candidate State
	Raw       types.Log // Blockchain specific contextual infos
}

ChannelHubChannelDeposited represents a ChannelDeposited event raised by the ChannelHub contract.

type ChannelHubChannelDepositedIterator

type ChannelHubChannelDepositedIterator struct {
	Event *ChannelHubChannelDeposited // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubChannelDepositedIterator is returned from FilterChannelDeposited and is used to iterate over the raw logs and unpacked data for ChannelDeposited events raised by the ChannelHub contract.

func (*ChannelHubChannelDepositedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubChannelDepositedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubChannelDepositedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubChannelWithdrawn

type ChannelHubChannelWithdrawn struct {
	ChannelId [32]byte
	Candidate State
	Raw       types.Log // Blockchain specific contextual infos
}

ChannelHubChannelWithdrawn represents a ChannelWithdrawn event raised by the ChannelHub contract.

type ChannelHubChannelWithdrawnIterator

type ChannelHubChannelWithdrawnIterator struct {
	Event *ChannelHubChannelWithdrawn // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubChannelWithdrawnIterator is returned from FilterChannelWithdrawn and is used to iterate over the raw logs and unpacked data for ChannelWithdrawn events raised by the ChannelHub contract.

func (*ChannelHubChannelWithdrawnIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubChannelWithdrawnIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubChannelWithdrawnIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubDeposited

type ChannelHubDeposited struct {
	Wallet common.Address
	Token  common.Address
	Amount *big.Int
	Raw    types.Log // Blockchain specific contextual infos
}

ChannelHubDeposited represents a Deposited event raised by the ChannelHub contract.

type ChannelHubDepositedIterator

type ChannelHubDepositedIterator struct {
	Event *ChannelHubDeposited // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubDepositedIterator is returned from FilterDeposited and is used to iterate over the raw logs and unpacked data for Deposited events raised by the ChannelHub contract.

func (*ChannelHubDepositedIterator) Close

func (it *ChannelHubDepositedIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubDepositedIterator) Error

func (it *ChannelHubDepositedIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubDepositedIterator) Next

func (it *ChannelHubDepositedIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubEscrowDepositChallenged

type ChannelHubEscrowDepositChallenged struct {
	EscrowId          [32]byte
	State             State
	ChallengeExpireAt uint64
	Raw               types.Log // Blockchain specific contextual infos
}

ChannelHubEscrowDepositChallenged represents a EscrowDepositChallenged event raised by the ChannelHub contract.

type ChannelHubEscrowDepositChallengedIterator

type ChannelHubEscrowDepositChallengedIterator struct {
	Event *ChannelHubEscrowDepositChallenged // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubEscrowDepositChallengedIterator is returned from FilterEscrowDepositChallenged and is used to iterate over the raw logs and unpacked data for EscrowDepositChallenged events raised by the ChannelHub contract.

func (*ChannelHubEscrowDepositChallengedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubEscrowDepositChallengedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubEscrowDepositChallengedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubEscrowDepositFinalized

type ChannelHubEscrowDepositFinalized struct {
	EscrowId  [32]byte
	ChannelId [32]byte
	State     State
	Raw       types.Log // Blockchain specific contextual infos
}

ChannelHubEscrowDepositFinalized represents a EscrowDepositFinalized event raised by the ChannelHub contract.

type ChannelHubEscrowDepositFinalizedIterator

type ChannelHubEscrowDepositFinalizedIterator struct {
	Event *ChannelHubEscrowDepositFinalized // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubEscrowDepositFinalizedIterator is returned from FilterEscrowDepositFinalized and is used to iterate over the raw logs and unpacked data for EscrowDepositFinalized events raised by the ChannelHub contract.

func (*ChannelHubEscrowDepositFinalizedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubEscrowDepositFinalizedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubEscrowDepositFinalizedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubEscrowDepositFinalizedOnHome

type ChannelHubEscrowDepositFinalizedOnHome struct {
	EscrowId  [32]byte
	ChannelId [32]byte
	State     State
	Raw       types.Log // Blockchain specific contextual infos
}

ChannelHubEscrowDepositFinalizedOnHome represents a EscrowDepositFinalizedOnHome event raised by the ChannelHub contract.

type ChannelHubEscrowDepositFinalizedOnHomeIterator

type ChannelHubEscrowDepositFinalizedOnHomeIterator struct {
	Event *ChannelHubEscrowDepositFinalizedOnHome // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubEscrowDepositFinalizedOnHomeIterator is returned from FilterEscrowDepositFinalizedOnHome and is used to iterate over the raw logs and unpacked data for EscrowDepositFinalizedOnHome events raised by the ChannelHub contract.

func (*ChannelHubEscrowDepositFinalizedOnHomeIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubEscrowDepositFinalizedOnHomeIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubEscrowDepositFinalizedOnHomeIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubEscrowDepositInitiated

type ChannelHubEscrowDepositInitiated struct {
	EscrowId  [32]byte
	ChannelId [32]byte
	State     State
	Raw       types.Log // Blockchain specific contextual infos
}

ChannelHubEscrowDepositInitiated represents a EscrowDepositInitiated event raised by the ChannelHub contract.

type ChannelHubEscrowDepositInitiatedIterator

type ChannelHubEscrowDepositInitiatedIterator struct {
	Event *ChannelHubEscrowDepositInitiated // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubEscrowDepositInitiatedIterator is returned from FilterEscrowDepositInitiated and is used to iterate over the raw logs and unpacked data for EscrowDepositInitiated events raised by the ChannelHub contract.

func (*ChannelHubEscrowDepositInitiatedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubEscrowDepositInitiatedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubEscrowDepositInitiatedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubEscrowDepositInitiatedOnHome

type ChannelHubEscrowDepositInitiatedOnHome struct {
	EscrowId  [32]byte
	ChannelId [32]byte
	State     State
	Raw       types.Log // Blockchain specific contextual infos
}

ChannelHubEscrowDepositInitiatedOnHome represents a EscrowDepositInitiatedOnHome event raised by the ChannelHub contract.

type ChannelHubEscrowDepositInitiatedOnHomeIterator

type ChannelHubEscrowDepositInitiatedOnHomeIterator struct {
	Event *ChannelHubEscrowDepositInitiatedOnHome // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubEscrowDepositInitiatedOnHomeIterator is returned from FilterEscrowDepositInitiatedOnHome and is used to iterate over the raw logs and unpacked data for EscrowDepositInitiatedOnHome events raised by the ChannelHub contract.

func (*ChannelHubEscrowDepositInitiatedOnHomeIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubEscrowDepositInitiatedOnHomeIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubEscrowDepositInitiatedOnHomeIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubEscrowDepositsPurged

type ChannelHubEscrowDepositsPurged struct {
	PurgedCount *big.Int
	Raw         types.Log // Blockchain specific contextual infos
}

ChannelHubEscrowDepositsPurged represents a EscrowDepositsPurged event raised by the ChannelHub contract.

type ChannelHubEscrowDepositsPurgedIterator

type ChannelHubEscrowDepositsPurgedIterator struct {
	Event *ChannelHubEscrowDepositsPurged // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubEscrowDepositsPurgedIterator is returned from FilterEscrowDepositsPurged and is used to iterate over the raw logs and unpacked data for EscrowDepositsPurged events raised by the ChannelHub contract.

func (*ChannelHubEscrowDepositsPurgedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubEscrowDepositsPurgedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubEscrowDepositsPurgedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubEscrowWithdrawalChallenged

type ChannelHubEscrowWithdrawalChallenged struct {
	EscrowId          [32]byte
	State             State
	ChallengeExpireAt uint64
	Raw               types.Log // Blockchain specific contextual infos
}

ChannelHubEscrowWithdrawalChallenged represents a EscrowWithdrawalChallenged event raised by the ChannelHub contract.

type ChannelHubEscrowWithdrawalChallengedIterator

type ChannelHubEscrowWithdrawalChallengedIterator struct {
	Event *ChannelHubEscrowWithdrawalChallenged // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubEscrowWithdrawalChallengedIterator is returned from FilterEscrowWithdrawalChallenged and is used to iterate over the raw logs and unpacked data for EscrowWithdrawalChallenged events raised by the ChannelHub contract.

func (*ChannelHubEscrowWithdrawalChallengedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubEscrowWithdrawalChallengedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubEscrowWithdrawalChallengedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubEscrowWithdrawalFinalized

type ChannelHubEscrowWithdrawalFinalized struct {
	EscrowId  [32]byte
	ChannelId [32]byte
	State     State
	Raw       types.Log // Blockchain specific contextual infos
}

ChannelHubEscrowWithdrawalFinalized represents a EscrowWithdrawalFinalized event raised by the ChannelHub contract.

type ChannelHubEscrowWithdrawalFinalizedIterator

type ChannelHubEscrowWithdrawalFinalizedIterator struct {
	Event *ChannelHubEscrowWithdrawalFinalized // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubEscrowWithdrawalFinalizedIterator is returned from FilterEscrowWithdrawalFinalized and is used to iterate over the raw logs and unpacked data for EscrowWithdrawalFinalized events raised by the ChannelHub contract.

func (*ChannelHubEscrowWithdrawalFinalizedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubEscrowWithdrawalFinalizedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubEscrowWithdrawalFinalizedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubEscrowWithdrawalFinalizedOnHome

type ChannelHubEscrowWithdrawalFinalizedOnHome struct {
	EscrowId  [32]byte
	ChannelId [32]byte
	State     State
	Raw       types.Log // Blockchain specific contextual infos
}

ChannelHubEscrowWithdrawalFinalizedOnHome represents a EscrowWithdrawalFinalizedOnHome event raised by the ChannelHub contract.

type ChannelHubEscrowWithdrawalFinalizedOnHomeIterator

type ChannelHubEscrowWithdrawalFinalizedOnHomeIterator struct {
	Event *ChannelHubEscrowWithdrawalFinalizedOnHome // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubEscrowWithdrawalFinalizedOnHomeIterator is returned from FilterEscrowWithdrawalFinalizedOnHome and is used to iterate over the raw logs and unpacked data for EscrowWithdrawalFinalizedOnHome events raised by the ChannelHub contract.

func (*ChannelHubEscrowWithdrawalFinalizedOnHomeIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubEscrowWithdrawalFinalizedOnHomeIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubEscrowWithdrawalFinalizedOnHomeIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubEscrowWithdrawalInitiated

type ChannelHubEscrowWithdrawalInitiated struct {
	EscrowId  [32]byte
	ChannelId [32]byte
	State     State
	Raw       types.Log // Blockchain specific contextual infos
}

ChannelHubEscrowWithdrawalInitiated represents a EscrowWithdrawalInitiated event raised by the ChannelHub contract.

type ChannelHubEscrowWithdrawalInitiatedIterator

type ChannelHubEscrowWithdrawalInitiatedIterator struct {
	Event *ChannelHubEscrowWithdrawalInitiated // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubEscrowWithdrawalInitiatedIterator is returned from FilterEscrowWithdrawalInitiated and is used to iterate over the raw logs and unpacked data for EscrowWithdrawalInitiated events raised by the ChannelHub contract.

func (*ChannelHubEscrowWithdrawalInitiatedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubEscrowWithdrawalInitiatedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubEscrowWithdrawalInitiatedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubEscrowWithdrawalInitiatedOnHome

type ChannelHubEscrowWithdrawalInitiatedOnHome struct {
	EscrowId  [32]byte
	ChannelId [32]byte
	State     State
	Raw       types.Log // Blockchain specific contextual infos
}

ChannelHubEscrowWithdrawalInitiatedOnHome represents a EscrowWithdrawalInitiatedOnHome event raised by the ChannelHub contract.

type ChannelHubEscrowWithdrawalInitiatedOnHomeIterator

type ChannelHubEscrowWithdrawalInitiatedOnHomeIterator struct {
	Event *ChannelHubEscrowWithdrawalInitiatedOnHome // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubEscrowWithdrawalInitiatedOnHomeIterator is returned from FilterEscrowWithdrawalInitiatedOnHome and is used to iterate over the raw logs and unpacked data for EscrowWithdrawalInitiatedOnHome events raised by the ChannelHub contract.

func (*ChannelHubEscrowWithdrawalInitiatedOnHomeIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubEscrowWithdrawalInitiatedOnHomeIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubEscrowWithdrawalInitiatedOnHomeIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubFilterer

type ChannelHubFilterer struct {
	// contains filtered or unexported fields
}

ChannelHubFilterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewChannelHubFilterer

func NewChannelHubFilterer(address common.Address, filterer bind.ContractFilterer) (*ChannelHubFilterer, error)

NewChannelHubFilterer creates a new log filterer instance of ChannelHub, bound to a specific deployed contract.

func (*ChannelHubFilterer) FilterChannelChallenged

func (_ChannelHub *ChannelHubFilterer) FilterChannelChallenged(opts *bind.FilterOpts, channelId [][32]byte) (*ChannelHubChannelChallengedIterator, error)

FilterChannelChallenged is a free log retrieval operation binding the contract event 0x07b9206d5a6026d3bd2a8f9a9b79f6fa4bfbd6a016975829fbaf07488019f28a.

Solidity: event ChannelChallenged(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate, uint64 challengeExpireAt)

func (*ChannelHubFilterer) FilterChannelCheckpointed

func (_ChannelHub *ChannelHubFilterer) FilterChannelCheckpointed(opts *bind.FilterOpts, channelId [][32]byte) (*ChannelHubChannelCheckpointedIterator, error)

FilterChannelCheckpointed is a free log retrieval operation binding the contract event 0x567044ba1cdd4671ac3979c114241e1e3b56c9e9051f63f2f234f7a2795019cc.

Solidity: event ChannelCheckpointed(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate)

func (*ChannelHubFilterer) FilterChannelClosed

func (_ChannelHub *ChannelHubFilterer) FilterChannelClosed(opts *bind.FilterOpts, channelId [][32]byte) (*ChannelHubChannelClosedIterator, error)

FilterChannelClosed is a free log retrieval operation binding the contract event 0x04cd8c68bf83e7bc531ca5a5d75c34e36513c2acf81e07e6470ba79e29da13a8.

Solidity: event ChannelClosed(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) finalState)

func (*ChannelHubFilterer) FilterChannelCreated

func (_ChannelHub *ChannelHubFilterer) FilterChannelCreated(opts *bind.FilterOpts, channelId [][32]byte, user []common.Address, node []common.Address) (*ChannelHubChannelCreatedIterator, error)

FilterChannelCreated is a free log retrieval operation binding the contract event 0xb00e209e275d0e1892f1982b34d3f545d1628aebd95322d7ce3585c558f638b4.

Solidity: event ChannelCreated(bytes32 indexed channelId, address indexed user, address indexed node, (uint32,address,address,uint64,uint256,bytes32) definition, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) initialState)

func (*ChannelHubFilterer) FilterChannelDeposited

func (_ChannelHub *ChannelHubFilterer) FilterChannelDeposited(opts *bind.FilterOpts, channelId [][32]byte) (*ChannelHubChannelDepositedIterator, error)

FilterChannelDeposited is a free log retrieval operation binding the contract event 0x6085f5128b19e0d3cc37524413de47259383f0f75265d5d66f41778696206696.

Solidity: event ChannelDeposited(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate)

func (*ChannelHubFilterer) FilterChannelWithdrawn

func (_ChannelHub *ChannelHubFilterer) FilterChannelWithdrawn(opts *bind.FilterOpts, channelId [][32]byte) (*ChannelHubChannelWithdrawnIterator, error)

FilterChannelWithdrawn is a free log retrieval operation binding the contract event 0x188e0ade7d115cc397426774adb960ae3e8c83e72f0a6cad4b7085e1d60bf986.

Solidity: event ChannelWithdrawn(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate)

func (*ChannelHubFilterer) FilterDeposited

func (_ChannelHub *ChannelHubFilterer) FilterDeposited(opts *bind.FilterOpts, wallet []common.Address, token []common.Address) (*ChannelHubDepositedIterator, error)

FilterDeposited is a free log retrieval operation binding the contract event 0x8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a7.

Solidity: event Deposited(address indexed wallet, address indexed token, uint256 amount)

func (*ChannelHubFilterer) FilterEscrowDepositChallenged

func (_ChannelHub *ChannelHubFilterer) FilterEscrowDepositChallenged(opts *bind.FilterOpts, escrowId [][32]byte) (*ChannelHubEscrowDepositChallengedIterator, error)

FilterEscrowDepositChallenged is a free log retrieval operation binding the contract event 0xba075bd445233f7cad862c72f0343b3503aad9c8e704a2295f122b82abf8e801.

Solidity: event EscrowDepositChallenged(bytes32 indexed escrowId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state, uint64 challengeExpireAt)

func (*ChannelHubFilterer) FilterEscrowDepositFinalized

func (_ChannelHub *ChannelHubFilterer) FilterEscrowDepositFinalized(opts *bind.FilterOpts, escrowId [][32]byte, channelId [][32]byte) (*ChannelHubEscrowDepositFinalizedIterator, error)

FilterEscrowDepositFinalized is a free log retrieval operation binding the contract event 0x1b92e8ef67d8a7c0d29c99efcd180a5e0d98d60ac41d52abbbb5950882c78e4e.

Solidity: event EscrowDepositFinalized(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) FilterEscrowDepositFinalizedOnHome

func (_ChannelHub *ChannelHubFilterer) FilterEscrowDepositFinalizedOnHome(opts *bind.FilterOpts, escrowId [][32]byte, channelId [][32]byte) (*ChannelHubEscrowDepositFinalizedOnHomeIterator, error)

FilterEscrowDepositFinalizedOnHome is a free log retrieval operation binding the contract event 0x32e24720f56fd5a7f4cb219d7ff3278ae95196e79c85b5801395894a6f53466c.

Solidity: event EscrowDepositFinalizedOnHome(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) FilterEscrowDepositInitiated

func (_ChannelHub *ChannelHubFilterer) FilterEscrowDepositInitiated(opts *bind.FilterOpts, escrowId [][32]byte, channelId [][32]byte) (*ChannelHubEscrowDepositInitiatedIterator, error)

FilterEscrowDepositInitiated is a free log retrieval operation binding the contract event 0xede7867afa7cdb9c443667efd8244d98bf9df1dce68e60dc94dca6605125ca76.

Solidity: event EscrowDepositInitiated(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) FilterEscrowDepositInitiatedOnHome

func (_ChannelHub *ChannelHubFilterer) FilterEscrowDepositInitiatedOnHome(opts *bind.FilterOpts, escrowId [][32]byte, channelId [][32]byte) (*ChannelHubEscrowDepositInitiatedOnHomeIterator, error)

FilterEscrowDepositInitiatedOnHome is a free log retrieval operation binding the contract event 0x471c4ebe4e57d25ef7117e141caac31c6b98f067b8098a7a7bbd38f637c2f980.

Solidity: event EscrowDepositInitiatedOnHome(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) FilterEscrowDepositsPurged

func (_ChannelHub *ChannelHubFilterer) FilterEscrowDepositsPurged(opts *bind.FilterOpts) (*ChannelHubEscrowDepositsPurgedIterator, error)

FilterEscrowDepositsPurged is a free log retrieval operation binding the contract event 0x61815f4b11c6ea4e14a2e448a010bed8efdc3e53a15efbf183d16a31085cd145.

Solidity: event EscrowDepositsPurged(uint256 purgedCount)

func (*ChannelHubFilterer) FilterEscrowWithdrawalChallenged

func (_ChannelHub *ChannelHubFilterer) FilterEscrowWithdrawalChallenged(opts *bind.FilterOpts, escrowId [][32]byte) (*ChannelHubEscrowWithdrawalChallengedIterator, error)

FilterEscrowWithdrawalChallenged is a free log retrieval operation binding the contract event 0xb8568a1f475f3c76759a620e08a653d28348c5c09e2e0bc91d533339801fefd8.

Solidity: event EscrowWithdrawalChallenged(bytes32 indexed escrowId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state, uint64 challengeExpireAt)

func (*ChannelHubFilterer) FilterEscrowWithdrawalFinalized

func (_ChannelHub *ChannelHubFilterer) FilterEscrowWithdrawalFinalized(opts *bind.FilterOpts, escrowId [][32]byte, channelId [][32]byte) (*ChannelHubEscrowWithdrawalFinalizedIterator, error)

FilterEscrowWithdrawalFinalized is a free log retrieval operation binding the contract event 0x2fdac1380dbe23ae259b6871582b7f33e34461547f400bdd20d74991250317d1.

Solidity: event EscrowWithdrawalFinalized(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) FilterEscrowWithdrawalFinalizedOnHome

func (_ChannelHub *ChannelHubFilterer) FilterEscrowWithdrawalFinalizedOnHome(opts *bind.FilterOpts, escrowId [][32]byte, channelId [][32]byte) (*ChannelHubEscrowWithdrawalFinalizedOnHomeIterator, error)

FilterEscrowWithdrawalFinalizedOnHome is a free log retrieval operation binding the contract event 0x6d0cf3d243d63f08f50db493a8af34b27d4e3bc9ec4098e82700abfeffe2d498.

Solidity: event EscrowWithdrawalFinalizedOnHome(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) FilterEscrowWithdrawalInitiated

func (_ChannelHub *ChannelHubFilterer) FilterEscrowWithdrawalInitiated(opts *bind.FilterOpts, escrowId [][32]byte, channelId [][32]byte) (*ChannelHubEscrowWithdrawalInitiatedIterator, error)

FilterEscrowWithdrawalInitiated is a free log retrieval operation binding the contract event 0x17eb0a6bd5a0de45d1029ce3444941070e149df35b22176fc439f930f73c09f7.

Solidity: event EscrowWithdrawalInitiated(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) FilterEscrowWithdrawalInitiatedOnHome

func (_ChannelHub *ChannelHubFilterer) FilterEscrowWithdrawalInitiatedOnHome(opts *bind.FilterOpts, escrowId [][32]byte, channelId [][32]byte) (*ChannelHubEscrowWithdrawalInitiatedOnHomeIterator, error)

FilterEscrowWithdrawalInitiatedOnHome is a free log retrieval operation binding the contract event 0x587faad1bcd589ce902468251883e1976a645af8563c773eed7356d78433210c.

Solidity: event EscrowWithdrawalInitiatedOnHome(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) FilterFundsClaimed

func (_ChannelHub *ChannelHubFilterer) FilterFundsClaimed(opts *bind.FilterOpts, account []common.Address, token []common.Address, destination []common.Address) (*ChannelHubFundsClaimedIterator, error)

FilterFundsClaimed is a free log retrieval operation binding the contract event 0x7b8d70738154be94a9a068a6d2f5dd8cfc65c52855859dc8f47de1ff185f8b55.

Solidity: event FundsClaimed(address indexed account, address indexed token, address indexed destination, uint256 amount)

func (*ChannelHubFilterer) FilterMigrationInFinalized

func (_ChannelHub *ChannelHubFilterer) FilterMigrationInFinalized(opts *bind.FilterOpts, channelId [][32]byte) (*ChannelHubMigrationInFinalizedIterator, error)

FilterMigrationInFinalized is a free log retrieval operation binding the contract event 0x7b20773c41402791c5f18914dbbeacad38b1ebcc4c55d8eb3bfe0a4cde26c826.

Solidity: event MigrationInFinalized(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) FilterMigrationInInitiated

func (_ChannelHub *ChannelHubFilterer) FilterMigrationInInitiated(opts *bind.FilterOpts, channelId [][32]byte) (*ChannelHubMigrationInInitiatedIterator, error)

FilterMigrationInInitiated is a free log retrieval operation binding the contract event 0x26afbcb9eb52c21f42eb9cfe8f263718ffb65afbf84abe8ad8cce2acfb2242b8.

Solidity: event MigrationInInitiated(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) FilterMigrationOutFinalized

func (_ChannelHub *ChannelHubFilterer) FilterMigrationOutFinalized(opts *bind.FilterOpts, channelId [][32]byte) (*ChannelHubMigrationOutFinalizedIterator, error)

FilterMigrationOutFinalized is a free log retrieval operation binding the contract event 0x9a6f675cc94b83b55f1ecc0876affd4332a30c92e6faa2aca0199b1b6df922c3.

Solidity: event MigrationOutFinalized(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) FilterMigrationOutInitiated

func (_ChannelHub *ChannelHubFilterer) FilterMigrationOutInitiated(opts *bind.FilterOpts, channelId [][32]byte) (*ChannelHubMigrationOutInitiatedIterator, error)

FilterMigrationOutInitiated is a free log retrieval operation binding the contract event 0x3142fb397e715d80415dff7b527bf1c451def4675da6e1199ee1b4588e3f630a.

Solidity: event MigrationOutInitiated(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) FilterTransferFailed

func (_ChannelHub *ChannelHubFilterer) FilterTransferFailed(opts *bind.FilterOpts, recipient []common.Address, token []common.Address) (*ChannelHubTransferFailedIterator, error)

FilterTransferFailed is a free log retrieval operation binding the contract event 0xbf182be802245e8ed88e4b8d3e4344c0863dd2a70334f089fd07265389306fcf.

Solidity: event TransferFailed(address indexed recipient, address indexed token, uint256 amount)

func (*ChannelHubFilterer) FilterValidatorRegistered

func (_ChannelHub *ChannelHubFilterer) FilterValidatorRegistered(opts *bind.FilterOpts, node []common.Address, validatorId []uint8, validator []common.Address) (*ChannelHubValidatorRegisteredIterator, error)

FilterValidatorRegistered is a free log retrieval operation binding the contract event 0x2366b94a706a0cfc2dca2fe8be9410b6fba2db75e3e9d3f03b3c2fb0b051efad.

Solidity: event ValidatorRegistered(address indexed node, uint8 indexed validatorId, address indexed validator)

func (*ChannelHubFilterer) FilterWithdrawn

func (_ChannelHub *ChannelHubFilterer) FilterWithdrawn(opts *bind.FilterOpts, wallet []common.Address, token []common.Address) (*ChannelHubWithdrawnIterator, error)

FilterWithdrawn is a free log retrieval operation binding the contract event 0xd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb.

Solidity: event Withdrawn(address indexed wallet, address indexed token, uint256 amount)

func (*ChannelHubFilterer) ParseChannelChallenged

func (_ChannelHub *ChannelHubFilterer) ParseChannelChallenged(log types.Log) (*ChannelHubChannelChallenged, error)

ParseChannelChallenged is a log parse operation binding the contract event 0x07b9206d5a6026d3bd2a8f9a9b79f6fa4bfbd6a016975829fbaf07488019f28a.

Solidity: event ChannelChallenged(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate, uint64 challengeExpireAt)

func (*ChannelHubFilterer) ParseChannelCheckpointed

func (_ChannelHub *ChannelHubFilterer) ParseChannelCheckpointed(log types.Log) (*ChannelHubChannelCheckpointed, error)

ParseChannelCheckpointed is a log parse operation binding the contract event 0x567044ba1cdd4671ac3979c114241e1e3b56c9e9051f63f2f234f7a2795019cc.

Solidity: event ChannelCheckpointed(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate)

func (*ChannelHubFilterer) ParseChannelClosed

func (_ChannelHub *ChannelHubFilterer) ParseChannelClosed(log types.Log) (*ChannelHubChannelClosed, error)

ParseChannelClosed is a log parse operation binding the contract event 0x04cd8c68bf83e7bc531ca5a5d75c34e36513c2acf81e07e6470ba79e29da13a8.

Solidity: event ChannelClosed(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) finalState)

func (*ChannelHubFilterer) ParseChannelCreated

func (_ChannelHub *ChannelHubFilterer) ParseChannelCreated(log types.Log) (*ChannelHubChannelCreated, error)

ParseChannelCreated is a log parse operation binding the contract event 0xb00e209e275d0e1892f1982b34d3f545d1628aebd95322d7ce3585c558f638b4.

Solidity: event ChannelCreated(bytes32 indexed channelId, address indexed user, address indexed node, (uint32,address,address,uint64,uint256,bytes32) definition, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) initialState)

func (*ChannelHubFilterer) ParseChannelDeposited

func (_ChannelHub *ChannelHubFilterer) ParseChannelDeposited(log types.Log) (*ChannelHubChannelDeposited, error)

ParseChannelDeposited is a log parse operation binding the contract event 0x6085f5128b19e0d3cc37524413de47259383f0f75265d5d66f41778696206696.

Solidity: event ChannelDeposited(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate)

func (*ChannelHubFilterer) ParseChannelWithdrawn

func (_ChannelHub *ChannelHubFilterer) ParseChannelWithdrawn(log types.Log) (*ChannelHubChannelWithdrawn, error)

ParseChannelWithdrawn is a log parse operation binding the contract event 0x188e0ade7d115cc397426774adb960ae3e8c83e72f0a6cad4b7085e1d60bf986.

Solidity: event ChannelWithdrawn(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate)

func (*ChannelHubFilterer) ParseDeposited

func (_ChannelHub *ChannelHubFilterer) ParseDeposited(log types.Log) (*ChannelHubDeposited, error)

ParseDeposited is a log parse operation binding the contract event 0x8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a7.

Solidity: event Deposited(address indexed wallet, address indexed token, uint256 amount)

func (*ChannelHubFilterer) ParseEscrowDepositChallenged

func (_ChannelHub *ChannelHubFilterer) ParseEscrowDepositChallenged(log types.Log) (*ChannelHubEscrowDepositChallenged, error)

ParseEscrowDepositChallenged is a log parse operation binding the contract event 0xba075bd445233f7cad862c72f0343b3503aad9c8e704a2295f122b82abf8e801.

Solidity: event EscrowDepositChallenged(bytes32 indexed escrowId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state, uint64 challengeExpireAt)

func (*ChannelHubFilterer) ParseEscrowDepositFinalized

func (_ChannelHub *ChannelHubFilterer) ParseEscrowDepositFinalized(log types.Log) (*ChannelHubEscrowDepositFinalized, error)

ParseEscrowDepositFinalized is a log parse operation binding the contract event 0x1b92e8ef67d8a7c0d29c99efcd180a5e0d98d60ac41d52abbbb5950882c78e4e.

Solidity: event EscrowDepositFinalized(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) ParseEscrowDepositFinalizedOnHome

func (_ChannelHub *ChannelHubFilterer) ParseEscrowDepositFinalizedOnHome(log types.Log) (*ChannelHubEscrowDepositFinalizedOnHome, error)

ParseEscrowDepositFinalizedOnHome is a log parse operation binding the contract event 0x32e24720f56fd5a7f4cb219d7ff3278ae95196e79c85b5801395894a6f53466c.

Solidity: event EscrowDepositFinalizedOnHome(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) ParseEscrowDepositInitiated

func (_ChannelHub *ChannelHubFilterer) ParseEscrowDepositInitiated(log types.Log) (*ChannelHubEscrowDepositInitiated, error)

ParseEscrowDepositInitiated is a log parse operation binding the contract event 0xede7867afa7cdb9c443667efd8244d98bf9df1dce68e60dc94dca6605125ca76.

Solidity: event EscrowDepositInitiated(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) ParseEscrowDepositInitiatedOnHome

func (_ChannelHub *ChannelHubFilterer) ParseEscrowDepositInitiatedOnHome(log types.Log) (*ChannelHubEscrowDepositInitiatedOnHome, error)

ParseEscrowDepositInitiatedOnHome is a log parse operation binding the contract event 0x471c4ebe4e57d25ef7117e141caac31c6b98f067b8098a7a7bbd38f637c2f980.

Solidity: event EscrowDepositInitiatedOnHome(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) ParseEscrowDepositsPurged

func (_ChannelHub *ChannelHubFilterer) ParseEscrowDepositsPurged(log types.Log) (*ChannelHubEscrowDepositsPurged, error)

ParseEscrowDepositsPurged is a log parse operation binding the contract event 0x61815f4b11c6ea4e14a2e448a010bed8efdc3e53a15efbf183d16a31085cd145.

Solidity: event EscrowDepositsPurged(uint256 purgedCount)

func (*ChannelHubFilterer) ParseEscrowWithdrawalChallenged

func (_ChannelHub *ChannelHubFilterer) ParseEscrowWithdrawalChallenged(log types.Log) (*ChannelHubEscrowWithdrawalChallenged, error)

ParseEscrowWithdrawalChallenged is a log parse operation binding the contract event 0xb8568a1f475f3c76759a620e08a653d28348c5c09e2e0bc91d533339801fefd8.

Solidity: event EscrowWithdrawalChallenged(bytes32 indexed escrowId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state, uint64 challengeExpireAt)

func (*ChannelHubFilterer) ParseEscrowWithdrawalFinalized

func (_ChannelHub *ChannelHubFilterer) ParseEscrowWithdrawalFinalized(log types.Log) (*ChannelHubEscrowWithdrawalFinalized, error)

ParseEscrowWithdrawalFinalized is a log parse operation binding the contract event 0x2fdac1380dbe23ae259b6871582b7f33e34461547f400bdd20d74991250317d1.

Solidity: event EscrowWithdrawalFinalized(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) ParseEscrowWithdrawalFinalizedOnHome

func (_ChannelHub *ChannelHubFilterer) ParseEscrowWithdrawalFinalizedOnHome(log types.Log) (*ChannelHubEscrowWithdrawalFinalizedOnHome, error)

ParseEscrowWithdrawalFinalizedOnHome is a log parse operation binding the contract event 0x6d0cf3d243d63f08f50db493a8af34b27d4e3bc9ec4098e82700abfeffe2d498.

Solidity: event EscrowWithdrawalFinalizedOnHome(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) ParseEscrowWithdrawalInitiated

func (_ChannelHub *ChannelHubFilterer) ParseEscrowWithdrawalInitiated(log types.Log) (*ChannelHubEscrowWithdrawalInitiated, error)

ParseEscrowWithdrawalInitiated is a log parse operation binding the contract event 0x17eb0a6bd5a0de45d1029ce3444941070e149df35b22176fc439f930f73c09f7.

Solidity: event EscrowWithdrawalInitiated(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) ParseEscrowWithdrawalInitiatedOnHome

func (_ChannelHub *ChannelHubFilterer) ParseEscrowWithdrawalInitiatedOnHome(log types.Log) (*ChannelHubEscrowWithdrawalInitiatedOnHome, error)

ParseEscrowWithdrawalInitiatedOnHome is a log parse operation binding the contract event 0x587faad1bcd589ce902468251883e1976a645af8563c773eed7356d78433210c.

Solidity: event EscrowWithdrawalInitiatedOnHome(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) ParseFundsClaimed

func (_ChannelHub *ChannelHubFilterer) ParseFundsClaimed(log types.Log) (*ChannelHubFundsClaimed, error)

ParseFundsClaimed is a log parse operation binding the contract event 0x7b8d70738154be94a9a068a6d2f5dd8cfc65c52855859dc8f47de1ff185f8b55.

Solidity: event FundsClaimed(address indexed account, address indexed token, address indexed destination, uint256 amount)

func (*ChannelHubFilterer) ParseMigrationInFinalized

func (_ChannelHub *ChannelHubFilterer) ParseMigrationInFinalized(log types.Log) (*ChannelHubMigrationInFinalized, error)

ParseMigrationInFinalized is a log parse operation binding the contract event 0x7b20773c41402791c5f18914dbbeacad38b1ebcc4c55d8eb3bfe0a4cde26c826.

Solidity: event MigrationInFinalized(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) ParseMigrationInInitiated

func (_ChannelHub *ChannelHubFilterer) ParseMigrationInInitiated(log types.Log) (*ChannelHubMigrationInInitiated, error)

ParseMigrationInInitiated is a log parse operation binding the contract event 0x26afbcb9eb52c21f42eb9cfe8f263718ffb65afbf84abe8ad8cce2acfb2242b8.

Solidity: event MigrationInInitiated(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) ParseMigrationOutFinalized

func (_ChannelHub *ChannelHubFilterer) ParseMigrationOutFinalized(log types.Log) (*ChannelHubMigrationOutFinalized, error)

ParseMigrationOutFinalized is a log parse operation binding the contract event 0x9a6f675cc94b83b55f1ecc0876affd4332a30c92e6faa2aca0199b1b6df922c3.

Solidity: event MigrationOutFinalized(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) ParseMigrationOutInitiated

func (_ChannelHub *ChannelHubFilterer) ParseMigrationOutInitiated(log types.Log) (*ChannelHubMigrationOutInitiated, error)

ParseMigrationOutInitiated is a log parse operation binding the contract event 0x3142fb397e715d80415dff7b527bf1c451def4675da6e1199ee1b4588e3f630a.

Solidity: event MigrationOutInitiated(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) ParseTransferFailed

func (_ChannelHub *ChannelHubFilterer) ParseTransferFailed(log types.Log) (*ChannelHubTransferFailed, error)

ParseTransferFailed is a log parse operation binding the contract event 0xbf182be802245e8ed88e4b8d3e4344c0863dd2a70334f089fd07265389306fcf.

Solidity: event TransferFailed(address indexed recipient, address indexed token, uint256 amount)

func (*ChannelHubFilterer) ParseValidatorRegistered

func (_ChannelHub *ChannelHubFilterer) ParseValidatorRegistered(log types.Log) (*ChannelHubValidatorRegistered, error)

ParseValidatorRegistered is a log parse operation binding the contract event 0x2366b94a706a0cfc2dca2fe8be9410b6fba2db75e3e9d3f03b3c2fb0b051efad.

Solidity: event ValidatorRegistered(address indexed node, uint8 indexed validatorId, address indexed validator)

func (*ChannelHubFilterer) ParseWithdrawn

func (_ChannelHub *ChannelHubFilterer) ParseWithdrawn(log types.Log) (*ChannelHubWithdrawn, error)

ParseWithdrawn is a log parse operation binding the contract event 0xd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb.

Solidity: event Withdrawn(address indexed wallet, address indexed token, uint256 amount)

func (*ChannelHubFilterer) WatchChannelChallenged

func (_ChannelHub *ChannelHubFilterer) WatchChannelChallenged(opts *bind.WatchOpts, sink chan<- *ChannelHubChannelChallenged, channelId [][32]byte) (event.Subscription, error)

WatchChannelChallenged is a free log subscription operation binding the contract event 0x07b9206d5a6026d3bd2a8f9a9b79f6fa4bfbd6a016975829fbaf07488019f28a.

Solidity: event ChannelChallenged(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate, uint64 challengeExpireAt)

func (*ChannelHubFilterer) WatchChannelCheckpointed

func (_ChannelHub *ChannelHubFilterer) WatchChannelCheckpointed(opts *bind.WatchOpts, sink chan<- *ChannelHubChannelCheckpointed, channelId [][32]byte) (event.Subscription, error)

WatchChannelCheckpointed is a free log subscription operation binding the contract event 0x567044ba1cdd4671ac3979c114241e1e3b56c9e9051f63f2f234f7a2795019cc.

Solidity: event ChannelCheckpointed(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate)

func (*ChannelHubFilterer) WatchChannelClosed

func (_ChannelHub *ChannelHubFilterer) WatchChannelClosed(opts *bind.WatchOpts, sink chan<- *ChannelHubChannelClosed, channelId [][32]byte) (event.Subscription, error)

WatchChannelClosed is a free log subscription operation binding the contract event 0x04cd8c68bf83e7bc531ca5a5d75c34e36513c2acf81e07e6470ba79e29da13a8.

Solidity: event ChannelClosed(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) finalState)

func (*ChannelHubFilterer) WatchChannelCreated

func (_ChannelHub *ChannelHubFilterer) WatchChannelCreated(opts *bind.WatchOpts, sink chan<- *ChannelHubChannelCreated, channelId [][32]byte, user []common.Address, node []common.Address) (event.Subscription, error)

WatchChannelCreated is a free log subscription operation binding the contract event 0xb00e209e275d0e1892f1982b34d3f545d1628aebd95322d7ce3585c558f638b4.

Solidity: event ChannelCreated(bytes32 indexed channelId, address indexed user, address indexed node, (uint32,address,address,uint64,uint256,bytes32) definition, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) initialState)

func (*ChannelHubFilterer) WatchChannelDeposited

func (_ChannelHub *ChannelHubFilterer) WatchChannelDeposited(opts *bind.WatchOpts, sink chan<- *ChannelHubChannelDeposited, channelId [][32]byte) (event.Subscription, error)

WatchChannelDeposited is a free log subscription operation binding the contract event 0x6085f5128b19e0d3cc37524413de47259383f0f75265d5d66f41778696206696.

Solidity: event ChannelDeposited(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate)

func (*ChannelHubFilterer) WatchChannelWithdrawn

func (_ChannelHub *ChannelHubFilterer) WatchChannelWithdrawn(opts *bind.WatchOpts, sink chan<- *ChannelHubChannelWithdrawn, channelId [][32]byte) (event.Subscription, error)

WatchChannelWithdrawn is a free log subscription operation binding the contract event 0x188e0ade7d115cc397426774adb960ae3e8c83e72f0a6cad4b7085e1d60bf986.

Solidity: event ChannelWithdrawn(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate)

func (*ChannelHubFilterer) WatchDeposited

func (_ChannelHub *ChannelHubFilterer) WatchDeposited(opts *bind.WatchOpts, sink chan<- *ChannelHubDeposited, wallet []common.Address, token []common.Address) (event.Subscription, error)

WatchDeposited is a free log subscription operation binding the contract event 0x8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a7.

Solidity: event Deposited(address indexed wallet, address indexed token, uint256 amount)

func (*ChannelHubFilterer) WatchEscrowDepositChallenged

func (_ChannelHub *ChannelHubFilterer) WatchEscrowDepositChallenged(opts *bind.WatchOpts, sink chan<- *ChannelHubEscrowDepositChallenged, escrowId [][32]byte) (event.Subscription, error)

WatchEscrowDepositChallenged is a free log subscription operation binding the contract event 0xba075bd445233f7cad862c72f0343b3503aad9c8e704a2295f122b82abf8e801.

Solidity: event EscrowDepositChallenged(bytes32 indexed escrowId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state, uint64 challengeExpireAt)

func (*ChannelHubFilterer) WatchEscrowDepositFinalized

func (_ChannelHub *ChannelHubFilterer) WatchEscrowDepositFinalized(opts *bind.WatchOpts, sink chan<- *ChannelHubEscrowDepositFinalized, escrowId [][32]byte, channelId [][32]byte) (event.Subscription, error)

WatchEscrowDepositFinalized is a free log subscription operation binding the contract event 0x1b92e8ef67d8a7c0d29c99efcd180a5e0d98d60ac41d52abbbb5950882c78e4e.

Solidity: event EscrowDepositFinalized(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) WatchEscrowDepositFinalizedOnHome

func (_ChannelHub *ChannelHubFilterer) WatchEscrowDepositFinalizedOnHome(opts *bind.WatchOpts, sink chan<- *ChannelHubEscrowDepositFinalizedOnHome, escrowId [][32]byte, channelId [][32]byte) (event.Subscription, error)

WatchEscrowDepositFinalizedOnHome is a free log subscription operation binding the contract event 0x32e24720f56fd5a7f4cb219d7ff3278ae95196e79c85b5801395894a6f53466c.

Solidity: event EscrowDepositFinalizedOnHome(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) WatchEscrowDepositInitiated

func (_ChannelHub *ChannelHubFilterer) WatchEscrowDepositInitiated(opts *bind.WatchOpts, sink chan<- *ChannelHubEscrowDepositInitiated, escrowId [][32]byte, channelId [][32]byte) (event.Subscription, error)

WatchEscrowDepositInitiated is a free log subscription operation binding the contract event 0xede7867afa7cdb9c443667efd8244d98bf9df1dce68e60dc94dca6605125ca76.

Solidity: event EscrowDepositInitiated(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) WatchEscrowDepositInitiatedOnHome

func (_ChannelHub *ChannelHubFilterer) WatchEscrowDepositInitiatedOnHome(opts *bind.WatchOpts, sink chan<- *ChannelHubEscrowDepositInitiatedOnHome, escrowId [][32]byte, channelId [][32]byte) (event.Subscription, error)

WatchEscrowDepositInitiatedOnHome is a free log subscription operation binding the contract event 0x471c4ebe4e57d25ef7117e141caac31c6b98f067b8098a7a7bbd38f637c2f980.

Solidity: event EscrowDepositInitiatedOnHome(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) WatchEscrowDepositsPurged

func (_ChannelHub *ChannelHubFilterer) WatchEscrowDepositsPurged(opts *bind.WatchOpts, sink chan<- *ChannelHubEscrowDepositsPurged) (event.Subscription, error)

WatchEscrowDepositsPurged is a free log subscription operation binding the contract event 0x61815f4b11c6ea4e14a2e448a010bed8efdc3e53a15efbf183d16a31085cd145.

Solidity: event EscrowDepositsPurged(uint256 purgedCount)

func (*ChannelHubFilterer) WatchEscrowWithdrawalChallenged

func (_ChannelHub *ChannelHubFilterer) WatchEscrowWithdrawalChallenged(opts *bind.WatchOpts, sink chan<- *ChannelHubEscrowWithdrawalChallenged, escrowId [][32]byte) (event.Subscription, error)

WatchEscrowWithdrawalChallenged is a free log subscription operation binding the contract event 0xb8568a1f475f3c76759a620e08a653d28348c5c09e2e0bc91d533339801fefd8.

Solidity: event EscrowWithdrawalChallenged(bytes32 indexed escrowId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state, uint64 challengeExpireAt)

func (*ChannelHubFilterer) WatchEscrowWithdrawalFinalized

func (_ChannelHub *ChannelHubFilterer) WatchEscrowWithdrawalFinalized(opts *bind.WatchOpts, sink chan<- *ChannelHubEscrowWithdrawalFinalized, escrowId [][32]byte, channelId [][32]byte) (event.Subscription, error)

WatchEscrowWithdrawalFinalized is a free log subscription operation binding the contract event 0x2fdac1380dbe23ae259b6871582b7f33e34461547f400bdd20d74991250317d1.

Solidity: event EscrowWithdrawalFinalized(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) WatchEscrowWithdrawalFinalizedOnHome

func (_ChannelHub *ChannelHubFilterer) WatchEscrowWithdrawalFinalizedOnHome(opts *bind.WatchOpts, sink chan<- *ChannelHubEscrowWithdrawalFinalizedOnHome, escrowId [][32]byte, channelId [][32]byte) (event.Subscription, error)

WatchEscrowWithdrawalFinalizedOnHome is a free log subscription operation binding the contract event 0x6d0cf3d243d63f08f50db493a8af34b27d4e3bc9ec4098e82700abfeffe2d498.

Solidity: event EscrowWithdrawalFinalizedOnHome(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) WatchEscrowWithdrawalInitiated

func (_ChannelHub *ChannelHubFilterer) WatchEscrowWithdrawalInitiated(opts *bind.WatchOpts, sink chan<- *ChannelHubEscrowWithdrawalInitiated, escrowId [][32]byte, channelId [][32]byte) (event.Subscription, error)

WatchEscrowWithdrawalInitiated is a free log subscription operation binding the contract event 0x17eb0a6bd5a0de45d1029ce3444941070e149df35b22176fc439f930f73c09f7.

Solidity: event EscrowWithdrawalInitiated(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) WatchEscrowWithdrawalInitiatedOnHome

func (_ChannelHub *ChannelHubFilterer) WatchEscrowWithdrawalInitiatedOnHome(opts *bind.WatchOpts, sink chan<- *ChannelHubEscrowWithdrawalInitiatedOnHome, escrowId [][32]byte, channelId [][32]byte) (event.Subscription, error)

WatchEscrowWithdrawalInitiatedOnHome is a free log subscription operation binding the contract event 0x587faad1bcd589ce902468251883e1976a645af8563c773eed7356d78433210c.

Solidity: event EscrowWithdrawalInitiatedOnHome(bytes32 indexed escrowId, bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) WatchFundsClaimed

func (_ChannelHub *ChannelHubFilterer) WatchFundsClaimed(opts *bind.WatchOpts, sink chan<- *ChannelHubFundsClaimed, account []common.Address, token []common.Address, destination []common.Address) (event.Subscription, error)

WatchFundsClaimed is a free log subscription operation binding the contract event 0x7b8d70738154be94a9a068a6d2f5dd8cfc65c52855859dc8f47de1ff185f8b55.

Solidity: event FundsClaimed(address indexed account, address indexed token, address indexed destination, uint256 amount)

func (*ChannelHubFilterer) WatchMigrationInFinalized

func (_ChannelHub *ChannelHubFilterer) WatchMigrationInFinalized(opts *bind.WatchOpts, sink chan<- *ChannelHubMigrationInFinalized, channelId [][32]byte) (event.Subscription, error)

WatchMigrationInFinalized is a free log subscription operation binding the contract event 0x7b20773c41402791c5f18914dbbeacad38b1ebcc4c55d8eb3bfe0a4cde26c826.

Solidity: event MigrationInFinalized(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) WatchMigrationInInitiated

func (_ChannelHub *ChannelHubFilterer) WatchMigrationInInitiated(opts *bind.WatchOpts, sink chan<- *ChannelHubMigrationInInitiated, channelId [][32]byte) (event.Subscription, error)

WatchMigrationInInitiated is a free log subscription operation binding the contract event 0x26afbcb9eb52c21f42eb9cfe8f263718ffb65afbf84abe8ad8cce2acfb2242b8.

Solidity: event MigrationInInitiated(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) WatchMigrationOutFinalized

func (_ChannelHub *ChannelHubFilterer) WatchMigrationOutFinalized(opts *bind.WatchOpts, sink chan<- *ChannelHubMigrationOutFinalized, channelId [][32]byte) (event.Subscription, error)

WatchMigrationOutFinalized is a free log subscription operation binding the contract event 0x9a6f675cc94b83b55f1ecc0876affd4332a30c92e6faa2aca0199b1b6df922c3.

Solidity: event MigrationOutFinalized(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) WatchMigrationOutInitiated

func (_ChannelHub *ChannelHubFilterer) WatchMigrationOutInitiated(opts *bind.WatchOpts, sink chan<- *ChannelHubMigrationOutInitiated, channelId [][32]byte) (event.Subscription, error)

WatchMigrationOutInitiated is a free log subscription operation binding the contract event 0x3142fb397e715d80415dff7b527bf1c451def4675da6e1199ee1b4588e3f630a.

Solidity: event MigrationOutInitiated(bytes32 indexed channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) state)

func (*ChannelHubFilterer) WatchTransferFailed

func (_ChannelHub *ChannelHubFilterer) WatchTransferFailed(opts *bind.WatchOpts, sink chan<- *ChannelHubTransferFailed, recipient []common.Address, token []common.Address) (event.Subscription, error)

WatchTransferFailed is a free log subscription operation binding the contract event 0xbf182be802245e8ed88e4b8d3e4344c0863dd2a70334f089fd07265389306fcf.

Solidity: event TransferFailed(address indexed recipient, address indexed token, uint256 amount)

func (*ChannelHubFilterer) WatchValidatorRegistered

func (_ChannelHub *ChannelHubFilterer) WatchValidatorRegistered(opts *bind.WatchOpts, sink chan<- *ChannelHubValidatorRegistered, node []common.Address, validatorId []uint8, validator []common.Address) (event.Subscription, error)

WatchValidatorRegistered is a free log subscription operation binding the contract event 0x2366b94a706a0cfc2dca2fe8be9410b6fba2db75e3e9d3f03b3c2fb0b051efad.

Solidity: event ValidatorRegistered(address indexed node, uint8 indexed validatorId, address indexed validator)

func (*ChannelHubFilterer) WatchWithdrawn

func (_ChannelHub *ChannelHubFilterer) WatchWithdrawn(opts *bind.WatchOpts, sink chan<- *ChannelHubWithdrawn, wallet []common.Address, token []common.Address) (event.Subscription, error)

WatchWithdrawn is a free log subscription operation binding the contract event 0xd1c19fbcd4551a5edfb66d43d2e337c04837afda3482b42bdf569a8fccdae5fb.

Solidity: event Withdrawn(address indexed wallet, address indexed token, uint256 amount)

type ChannelHubFundsClaimed

type ChannelHubFundsClaimed struct {
	Account     common.Address
	Token       common.Address
	Destination common.Address
	Amount      *big.Int
	Raw         types.Log // Blockchain specific contextual infos
}

ChannelHubFundsClaimed represents a FundsClaimed event raised by the ChannelHub contract.

type ChannelHubFundsClaimedIterator

type ChannelHubFundsClaimedIterator struct {
	Event *ChannelHubFundsClaimed // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubFundsClaimedIterator is returned from FilterFundsClaimed and is used to iterate over the raw logs and unpacked data for FundsClaimed events raised by the ChannelHub contract.

func (*ChannelHubFundsClaimedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubFundsClaimedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubFundsClaimedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubMigrationInFinalized

type ChannelHubMigrationInFinalized struct {
	ChannelId [32]byte
	State     State
	Raw       types.Log // Blockchain specific contextual infos
}

ChannelHubMigrationInFinalized represents a MigrationInFinalized event raised by the ChannelHub contract.

type ChannelHubMigrationInFinalizedIterator

type ChannelHubMigrationInFinalizedIterator struct {
	Event *ChannelHubMigrationInFinalized // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubMigrationInFinalizedIterator is returned from FilterMigrationInFinalized and is used to iterate over the raw logs and unpacked data for MigrationInFinalized events raised by the ChannelHub contract.

func (*ChannelHubMigrationInFinalizedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubMigrationInFinalizedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubMigrationInFinalizedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubMigrationInInitiated

type ChannelHubMigrationInInitiated struct {
	ChannelId [32]byte
	State     State
	Raw       types.Log // Blockchain specific contextual infos
}

ChannelHubMigrationInInitiated represents a MigrationInInitiated event raised by the ChannelHub contract.

type ChannelHubMigrationInInitiatedIterator

type ChannelHubMigrationInInitiatedIterator struct {
	Event *ChannelHubMigrationInInitiated // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubMigrationInInitiatedIterator is returned from FilterMigrationInInitiated and is used to iterate over the raw logs and unpacked data for MigrationInInitiated events raised by the ChannelHub contract.

func (*ChannelHubMigrationInInitiatedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubMigrationInInitiatedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubMigrationInInitiatedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubMigrationOutFinalized

type ChannelHubMigrationOutFinalized struct {
	ChannelId [32]byte
	State     State
	Raw       types.Log // Blockchain specific contextual infos
}

ChannelHubMigrationOutFinalized represents a MigrationOutFinalized event raised by the ChannelHub contract.

type ChannelHubMigrationOutFinalizedIterator

type ChannelHubMigrationOutFinalizedIterator struct {
	Event *ChannelHubMigrationOutFinalized // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubMigrationOutFinalizedIterator is returned from FilterMigrationOutFinalized and is used to iterate over the raw logs and unpacked data for MigrationOutFinalized events raised by the ChannelHub contract.

func (*ChannelHubMigrationOutFinalizedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubMigrationOutFinalizedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubMigrationOutFinalizedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubMigrationOutInitiated

type ChannelHubMigrationOutInitiated struct {
	ChannelId [32]byte
	State     State
	Raw       types.Log // Blockchain specific contextual infos
}

ChannelHubMigrationOutInitiated represents a MigrationOutInitiated event raised by the ChannelHub contract.

type ChannelHubMigrationOutInitiatedIterator

type ChannelHubMigrationOutInitiatedIterator struct {
	Event *ChannelHubMigrationOutInitiated // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubMigrationOutInitiatedIterator is returned from FilterMigrationOutInitiated and is used to iterate over the raw logs and unpacked data for MigrationOutInitiated events raised by the ChannelHub contract.

func (*ChannelHubMigrationOutInitiatedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubMigrationOutInitiatedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubMigrationOutInitiatedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubRaw

type ChannelHubRaw struct {
	Contract *ChannelHub // Generic contract binding to access the raw methods on
}

ChannelHubRaw is an auto generated low-level Go binding around an Ethereum contract.

func (*ChannelHubRaw) Call

func (_ChannelHub *ChannelHubRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*ChannelHubRaw) Transact

func (_ChannelHub *ChannelHubRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*ChannelHubRaw) Transfer

func (_ChannelHub *ChannelHubRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type ChannelHubReactor

type ChannelHubReactor struct {
	// contains filtered or unexported fields
}

func NewChannelHubReactor

func NewChannelHubReactor(blockchainID uint64, eventHandler core.ChannelHubEventHandler, storeContractEvent StoreContractEvent) *ChannelHubReactor

func (*ChannelHubReactor) HandleEvent

func (r *ChannelHubReactor) HandleEvent(ctx context.Context, l types.Log) error

func (*ChannelHubReactor) SetOnEventProcessed

func (r *ChannelHubReactor) SetOnEventProcessed(fn func(blockchainID uint64, success bool))

SetOnEventProcessed sets an optional callback invoked after each event is processed.

type ChannelHubSession

type ChannelHubSession struct {
	Contract     *ChannelHub       // Generic contract binding to set the session for
	CallOpts     bind.CallOpts     // Call options to use throughout this session
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

ChannelHubSession is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*ChannelHubSession) ChallengeChannel

func (_ChannelHub *ChannelHubSession) ChallengeChannel(channelId [32]byte, candidate State, challengerSig []byte, challengerIdx uint8) (*types.Transaction, error)

ChallengeChannel is a paid mutator transaction binding the contract method 0xb25a1d38.

Solidity: function challengeChannel(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate, bytes challengerSig, uint8 challengerIdx) payable returns()

func (*ChannelHubSession) ChallengeEscrowDeposit

func (_ChannelHub *ChannelHubSession) ChallengeEscrowDeposit(escrowId [32]byte, challengerSig []byte, challengerIdx uint8) (*types.Transaction, error)

ChallengeEscrowDeposit is a paid mutator transaction binding the contract method 0x16b390b1.

Solidity: function challengeEscrowDeposit(bytes32 escrowId, bytes challengerSig, uint8 challengerIdx) returns()

func (*ChannelHubSession) ChallengeEscrowWithdrawal

func (_ChannelHub *ChannelHubSession) ChallengeEscrowWithdrawal(escrowId [32]byte, challengerSig []byte, challengerIdx uint8) (*types.Transaction, error)

ChallengeEscrowWithdrawal is a paid mutator transaction binding the contract method 0x8d0b12a5.

Solidity: function challengeEscrowWithdrawal(bytes32 escrowId, bytes challengerSig, uint8 challengerIdx) returns()

func (*ChannelHubSession) CheckpointChannel

func (_ChannelHub *ChannelHubSession) CheckpointChannel(channelId [32]byte, candidate State) (*types.Transaction, error)

CheckpointChannel is a paid mutator transaction binding the contract method 0x9691b468.

Solidity: function checkpointChannel(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) payable returns()

func (*ChannelHubSession) ClaimFunds

func (_ChannelHub *ChannelHubSession) ClaimFunds(token common.Address, destination common.Address) (*types.Transaction, error)

ClaimFunds is a paid mutator transaction binding the contract method 0xf766f8d6.

Solidity: function claimFunds(address token, address destination) returns()

func (*ChannelHubSession) CloseChannel

func (_ChannelHub *ChannelHubSession) CloseChannel(channelId [32]byte, candidate State) (*types.Transaction, error)

CloseChannel is a paid mutator transaction binding the contract method 0x5dc46a74.

Solidity: function closeChannel(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) payable returns()

func (*ChannelHubSession) CreateChannel

func (_ChannelHub *ChannelHubSession) CreateChannel(def ChannelDefinition, initState State) (*types.Transaction, error)

CreateChannel is a paid mutator transaction binding the contract method 0x41b660ef.

Solidity: function createChannel((uint32,address,address,uint64,uint256,bytes32) def, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) initState) payable returns()

func (*ChannelHubSession) DEFAULTSIGVALIDATOR

func (_ChannelHub *ChannelHubSession) DEFAULTSIGVALIDATOR() (common.Address, error)

DEFAULTSIGVALIDATOR is a free data retrieval call binding the contract method 0x71a47141.

Solidity: function DEFAULT_SIG_VALIDATOR() view returns(address)

func (*ChannelHubSession) DepositToChannel

func (_ChannelHub *ChannelHubSession) DepositToChannel(channelId [32]byte, candidate State) (*types.Transaction, error)

DepositToChannel is a paid mutator transaction binding the contract method 0xf4ac51f5.

Solidity: function depositToChannel(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) payable returns()

func (*ChannelHubSession) DepositToVault

func (_ChannelHub *ChannelHubSession) DepositToVault(node common.Address, token common.Address, amount *big.Int) (*types.Transaction, error)

DepositToVault is a paid mutator transaction binding the contract method 0x17536c06.

Solidity: function depositToVault(address node, address token, uint256 amount) payable returns()

func (*ChannelHubSession) ESCROWDEPOSITUNLOCKDELAY

func (_ChannelHub *ChannelHubSession) ESCROWDEPOSITUNLOCKDELAY() (uint32, error)

ESCROWDEPOSITUNLOCKDELAY is a free data retrieval call binding the contract method 0x5a0745b4.

Solidity: function ESCROW_DEPOSIT_UNLOCK_DELAY() view returns(uint32)

func (*ChannelHubSession) EscrowHead

func (_ChannelHub *ChannelHubSession) EscrowHead() (*big.Int, error)

EscrowHead is a free data retrieval call binding the contract method 0x82d3e15d.

Solidity: function escrowHead() view returns(uint256)

func (*ChannelHubSession) FinalizeEscrowDeposit

func (_ChannelHub *ChannelHubSession) FinalizeEscrowDeposit(escrowId [32]byte, candidate State) (*types.Transaction, error)

FinalizeEscrowDeposit is a paid mutator transaction binding the contract method 0x13c380ed.

Solidity: function finalizeEscrowDeposit(bytes32 escrowId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) returns()

func (*ChannelHubSession) FinalizeEscrowWithdrawal

func (_ChannelHub *ChannelHubSession) FinalizeEscrowWithdrawal(escrowId [32]byte, candidate State) (*types.Transaction, error)

FinalizeEscrowWithdrawal is a paid mutator transaction binding the contract method 0x7e7985f9.

Solidity: function finalizeEscrowWithdrawal(bytes32 escrowId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) returns()

func (*ChannelHubSession) FinalizeMigration

func (_ChannelHub *ChannelHubSession) FinalizeMigration(channelId [32]byte, candidate State) (*types.Transaction, error)

FinalizeMigration is a paid mutator transaction binding the contract method 0x53269198.

Solidity: function finalizeMigration(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) returns()

func (*ChannelHubSession) GetAccountBalance

func (_ChannelHub *ChannelHubSession) GetAccountBalance(node common.Address, token common.Address) (*big.Int, error)

GetAccountBalance is a free data retrieval call binding the contract method 0x587675e8.

Solidity: function getAccountBalance(address node, address token) view returns(uint256)

func (*ChannelHubSession) GetChannelData

func (_ChannelHub *ChannelHubSession) GetChannelData(channelId [32]byte) (struct {
	Status          uint8
	Definition      ChannelDefinition
	LastState       State
	ChallengeExpiry *big.Int
	LockedFunds     *big.Int
}, error)

GetChannelData is a free data retrieval call binding the contract method 0xe617208c.

Solidity: function getChannelData(bytes32 channelId) view returns(uint8 status, (uint32,address,address,uint64,uint256,bytes32) definition, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) lastState, uint256 challengeExpiry, uint256 lockedFunds)

func (*ChannelHubSession) GetChannelIds

func (_ChannelHub *ChannelHubSession) GetChannelIds(user common.Address) ([][32]byte, error)

GetChannelIds is a free data retrieval call binding the contract method 0x187576d8.

Solidity: function getChannelIds(address user) view returns(bytes32[])

func (*ChannelHubSession) GetEscrowDepositData

func (_ChannelHub *ChannelHubSession) GetEscrowDepositData(escrowId [32]byte) (struct {
	ChannelId       [32]byte
	Status          uint8
	UnlockAt        uint64
	ChallengeExpiry uint64
	LockedAmount    *big.Int
	InitState       State
}, error)

GetEscrowDepositData is a free data retrieval call binding the contract method 0xd888ccae.

Solidity: function getEscrowDepositData(bytes32 escrowId) view returns(bytes32 channelId, uint8 status, uint64 unlockAt, uint64 challengeExpiry, uint256 lockedAmount, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) initState)

func (*ChannelHubSession) GetEscrowDepositIds

func (_ChannelHub *ChannelHubSession) GetEscrowDepositIds(page *big.Int, pageSize *big.Int) ([][32]byte, error)

GetEscrowDepositIds is a free data retrieval call binding the contract method 0x5b9acbf9.

Solidity: function getEscrowDepositIds(uint256 page, uint256 pageSize) view returns(bytes32[] ids)

func (*ChannelHubSession) GetEscrowWithdrawalData

func (_ChannelHub *ChannelHubSession) GetEscrowWithdrawalData(escrowId [32]byte) (struct {
	ChannelId       [32]byte
	Status          uint8
	ChallengeExpiry uint64
	LockedAmount    *big.Int
	InitState       State
}, error)

GetEscrowWithdrawalData is a free data retrieval call binding the contract method 0xdd73d494.

Solidity: function getEscrowWithdrawalData(bytes32 escrowId) view returns(bytes32 channelId, uint8 status, uint64 challengeExpiry, uint256 lockedAmount, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) initState)

func (*ChannelHubSession) GetNodeValidator

func (_ChannelHub *ChannelHubSession) GetNodeValidator(node common.Address, validatorId uint8) (common.Address, error)

GetNodeValidator is a free data retrieval call binding the contract method 0xb00b6fd6.

Solidity: function getNodeValidator(address node, uint8 validatorId) view returns(address)

func (*ChannelHubSession) GetOpenChannels

func (_ChannelHub *ChannelHubSession) GetOpenChannels(user common.Address) ([][32]byte, error)

GetOpenChannels is a free data retrieval call binding the contract method 0x6898234b.

Solidity: function getOpenChannels(address user) view returns(bytes32[] openChannels)

func (*ChannelHubSession) GetReclaimBalance

func (_ChannelHub *ChannelHubSession) GetReclaimBalance(account common.Address, token common.Address) (*big.Int, error)

GetReclaimBalance is a free data retrieval call binding the contract method 0x735181f0.

Solidity: function getReclaimBalance(address account, address token) view returns(uint256)

func (*ChannelHubSession) InitiateEscrowDeposit

func (_ChannelHub *ChannelHubSession) InitiateEscrowDeposit(def ChannelDefinition, candidate State) (*types.Transaction, error)

InitiateEscrowDeposit is a paid mutator transaction binding the contract method 0x47de477a.

Solidity: function initiateEscrowDeposit((uint32,address,address,uint64,uint256,bytes32) def, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) payable returns()

func (*ChannelHubSession) InitiateEscrowWithdrawal

func (_ChannelHub *ChannelHubSession) InitiateEscrowWithdrawal(def ChannelDefinition, candidate State) (*types.Transaction, error)

InitiateEscrowWithdrawal is a paid mutator transaction binding the contract method 0xa5c82680.

Solidity: function initiateEscrowWithdrawal((uint32,address,address,uint64,uint256,bytes32) def, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) returns()

func (*ChannelHubSession) InitiateMigration

func (_ChannelHub *ChannelHubSession) InitiateMigration(def ChannelDefinition, candidate State) (*types.Transaction, error)

InitiateMigration is a paid mutator transaction binding the contract method 0xdc23f29e.

Solidity: function initiateMigration((uint32,address,address,uint64,uint256,bytes32) def, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) returns()

func (*ChannelHubSession) MAXDEPOSITESCROWPURGE

func (_ChannelHub *ChannelHubSession) MAXDEPOSITESCROWPURGE() (uint32, error)

MAXDEPOSITESCROWPURGE is a free data retrieval call binding the contract method 0x6af820bd.

Solidity: function MAX_DEPOSIT_ESCROW_PURGE() view returns(uint32)

func (*ChannelHubSession) MINCHALLENGEDURATION

func (_ChannelHub *ChannelHubSession) MINCHALLENGEDURATION() (uint32, error)

MINCHALLENGEDURATION is a free data retrieval call binding the contract method 0x94191051.

Solidity: function MIN_CHALLENGE_DURATION() view returns(uint32)

func (*ChannelHubSession) PurgeEscrowDeposits

func (_ChannelHub *ChannelHubSession) PurgeEscrowDeposits(maxToPurge *big.Int) (*types.Transaction, error)

PurgeEscrowDeposits is a paid mutator transaction binding the contract method 0x3115f630.

Solidity: function purgeEscrowDeposits(uint256 maxToPurge) returns()

func (*ChannelHubSession) RegisterNodeValidator

func (_ChannelHub *ChannelHubSession) RegisterNodeValidator(node common.Address, validatorId uint8, validator common.Address, signature []byte) (*types.Transaction, error)

RegisterNodeValidator is a paid mutator transaction binding the contract method 0xbeed9d5f.

Solidity: function registerNodeValidator(address node, uint8 validatorId, address validator, bytes signature) returns()

func (*ChannelHubSession) TRANSFERGASLIMIT

func (_ChannelHub *ChannelHubSession) TRANSFERGASLIMIT() (*big.Int, error)

TRANSFERGASLIMIT is a free data retrieval call binding the contract method 0x38a66be2.

Solidity: function TRANSFER_GAS_LIMIT() view returns(uint256)

func (*ChannelHubSession) VERSION

func (_ChannelHub *ChannelHubSession) VERSION() (uint8, error)

VERSION is a free data retrieval call binding the contract method 0xffa1ad74.

Solidity: function VERSION() view returns(uint8)

func (*ChannelHubSession) WithdrawFromChannel

func (_ChannelHub *ChannelHubSession) WithdrawFromChannel(channelId [32]byte, candidate State) (*types.Transaction, error)

WithdrawFromChannel is a paid mutator transaction binding the contract method 0xc74a2d10.

Solidity: function withdrawFromChannel(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) payable returns()

func (*ChannelHubSession) WithdrawFromVault

func (_ChannelHub *ChannelHubSession) WithdrawFromVault(to common.Address, token common.Address, amount *big.Int) (*types.Transaction, error)

WithdrawFromVault is a paid mutator transaction binding the contract method 0xecf3d7e8.

Solidity: function withdrawFromVault(address to, address token, uint256 amount) returns()

type ChannelHubTransactor

type ChannelHubTransactor struct {
	// contains filtered or unexported fields
}

ChannelHubTransactor is an auto generated write-only Go binding around an Ethereum contract.

func NewChannelHubTransactor

func NewChannelHubTransactor(address common.Address, transactor bind.ContractTransactor) (*ChannelHubTransactor, error)

NewChannelHubTransactor creates a new write-only instance of ChannelHub, bound to a specific deployed contract.

func (*ChannelHubTransactor) ChallengeChannel

func (_ChannelHub *ChannelHubTransactor) ChallengeChannel(opts *bind.TransactOpts, channelId [32]byte, candidate State, challengerSig []byte, challengerIdx uint8) (*types.Transaction, error)

ChallengeChannel is a paid mutator transaction binding the contract method 0xb25a1d38.

Solidity: function challengeChannel(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate, bytes challengerSig, uint8 challengerIdx) payable returns()

func (*ChannelHubTransactor) ChallengeEscrowDeposit

func (_ChannelHub *ChannelHubTransactor) ChallengeEscrowDeposit(opts *bind.TransactOpts, escrowId [32]byte, challengerSig []byte, challengerIdx uint8) (*types.Transaction, error)

ChallengeEscrowDeposit is a paid mutator transaction binding the contract method 0x16b390b1.

Solidity: function challengeEscrowDeposit(bytes32 escrowId, bytes challengerSig, uint8 challengerIdx) returns()

func (*ChannelHubTransactor) ChallengeEscrowWithdrawal

func (_ChannelHub *ChannelHubTransactor) ChallengeEscrowWithdrawal(opts *bind.TransactOpts, escrowId [32]byte, challengerSig []byte, challengerIdx uint8) (*types.Transaction, error)

ChallengeEscrowWithdrawal is a paid mutator transaction binding the contract method 0x8d0b12a5.

Solidity: function challengeEscrowWithdrawal(bytes32 escrowId, bytes challengerSig, uint8 challengerIdx) returns()

func (*ChannelHubTransactor) CheckpointChannel

func (_ChannelHub *ChannelHubTransactor) CheckpointChannel(opts *bind.TransactOpts, channelId [32]byte, candidate State) (*types.Transaction, error)

CheckpointChannel is a paid mutator transaction binding the contract method 0x9691b468.

Solidity: function checkpointChannel(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) payable returns()

func (*ChannelHubTransactor) ClaimFunds

func (_ChannelHub *ChannelHubTransactor) ClaimFunds(opts *bind.TransactOpts, token common.Address, destination common.Address) (*types.Transaction, error)

ClaimFunds is a paid mutator transaction binding the contract method 0xf766f8d6.

Solidity: function claimFunds(address token, address destination) returns()

func (*ChannelHubTransactor) CloseChannel

func (_ChannelHub *ChannelHubTransactor) CloseChannel(opts *bind.TransactOpts, channelId [32]byte, candidate State) (*types.Transaction, error)

CloseChannel is a paid mutator transaction binding the contract method 0x5dc46a74.

Solidity: function closeChannel(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) payable returns()

func (*ChannelHubTransactor) CreateChannel

func (_ChannelHub *ChannelHubTransactor) CreateChannel(opts *bind.TransactOpts, def ChannelDefinition, initState State) (*types.Transaction, error)

CreateChannel is a paid mutator transaction binding the contract method 0x41b660ef.

Solidity: function createChannel((uint32,address,address,uint64,uint256,bytes32) def, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) initState) payable returns()

func (*ChannelHubTransactor) DepositToChannel

func (_ChannelHub *ChannelHubTransactor) DepositToChannel(opts *bind.TransactOpts, channelId [32]byte, candidate State) (*types.Transaction, error)

DepositToChannel is a paid mutator transaction binding the contract method 0xf4ac51f5.

Solidity: function depositToChannel(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) payable returns()

func (*ChannelHubTransactor) DepositToVault

func (_ChannelHub *ChannelHubTransactor) DepositToVault(opts *bind.TransactOpts, node common.Address, token common.Address, amount *big.Int) (*types.Transaction, error)

DepositToVault is a paid mutator transaction binding the contract method 0x17536c06.

Solidity: function depositToVault(address node, address token, uint256 amount) payable returns()

func (*ChannelHubTransactor) FinalizeEscrowDeposit

func (_ChannelHub *ChannelHubTransactor) FinalizeEscrowDeposit(opts *bind.TransactOpts, escrowId [32]byte, candidate State) (*types.Transaction, error)

FinalizeEscrowDeposit is a paid mutator transaction binding the contract method 0x13c380ed.

Solidity: function finalizeEscrowDeposit(bytes32 escrowId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) returns()

func (*ChannelHubTransactor) FinalizeEscrowWithdrawal

func (_ChannelHub *ChannelHubTransactor) FinalizeEscrowWithdrawal(opts *bind.TransactOpts, escrowId [32]byte, candidate State) (*types.Transaction, error)

FinalizeEscrowWithdrawal is a paid mutator transaction binding the contract method 0x7e7985f9.

Solidity: function finalizeEscrowWithdrawal(bytes32 escrowId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) returns()

func (*ChannelHubTransactor) FinalizeMigration

func (_ChannelHub *ChannelHubTransactor) FinalizeMigration(opts *bind.TransactOpts, channelId [32]byte, candidate State) (*types.Transaction, error)

FinalizeMigration is a paid mutator transaction binding the contract method 0x53269198.

Solidity: function finalizeMigration(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) returns()

func (*ChannelHubTransactor) InitiateEscrowDeposit

func (_ChannelHub *ChannelHubTransactor) InitiateEscrowDeposit(opts *bind.TransactOpts, def ChannelDefinition, candidate State) (*types.Transaction, error)

InitiateEscrowDeposit is a paid mutator transaction binding the contract method 0x47de477a.

Solidity: function initiateEscrowDeposit((uint32,address,address,uint64,uint256,bytes32) def, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) payable returns()

func (*ChannelHubTransactor) InitiateEscrowWithdrawal

func (_ChannelHub *ChannelHubTransactor) InitiateEscrowWithdrawal(opts *bind.TransactOpts, def ChannelDefinition, candidate State) (*types.Transaction, error)

InitiateEscrowWithdrawal is a paid mutator transaction binding the contract method 0xa5c82680.

Solidity: function initiateEscrowWithdrawal((uint32,address,address,uint64,uint256,bytes32) def, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) returns()

func (*ChannelHubTransactor) InitiateMigration

func (_ChannelHub *ChannelHubTransactor) InitiateMigration(opts *bind.TransactOpts, def ChannelDefinition, candidate State) (*types.Transaction, error)

InitiateMigration is a paid mutator transaction binding the contract method 0xdc23f29e.

Solidity: function initiateMigration((uint32,address,address,uint64,uint256,bytes32) def, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) returns()

func (*ChannelHubTransactor) PurgeEscrowDeposits

func (_ChannelHub *ChannelHubTransactor) PurgeEscrowDeposits(opts *bind.TransactOpts, maxToPurge *big.Int) (*types.Transaction, error)

PurgeEscrowDeposits is a paid mutator transaction binding the contract method 0x3115f630.

Solidity: function purgeEscrowDeposits(uint256 maxToPurge) returns()

func (*ChannelHubTransactor) RegisterNodeValidator

func (_ChannelHub *ChannelHubTransactor) RegisterNodeValidator(opts *bind.TransactOpts, node common.Address, validatorId uint8, validator common.Address, signature []byte) (*types.Transaction, error)

RegisterNodeValidator is a paid mutator transaction binding the contract method 0xbeed9d5f.

Solidity: function registerNodeValidator(address node, uint8 validatorId, address validator, bytes signature) returns()

func (*ChannelHubTransactor) WithdrawFromChannel

func (_ChannelHub *ChannelHubTransactor) WithdrawFromChannel(opts *bind.TransactOpts, channelId [32]byte, candidate State) (*types.Transaction, error)

WithdrawFromChannel is a paid mutator transaction binding the contract method 0xc74a2d10.

Solidity: function withdrawFromChannel(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) payable returns()

func (*ChannelHubTransactor) WithdrawFromVault

func (_ChannelHub *ChannelHubTransactor) WithdrawFromVault(opts *bind.TransactOpts, to common.Address, token common.Address, amount *big.Int) (*types.Transaction, error)

WithdrawFromVault is a paid mutator transaction binding the contract method 0xecf3d7e8.

Solidity: function withdrawFromVault(address to, address token, uint256 amount) returns()

type ChannelHubTransactorRaw

type ChannelHubTransactorRaw struct {
	Contract *ChannelHubTransactor // Generic write-only contract binding to access the raw methods on
}

ChannelHubTransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*ChannelHubTransactorRaw) Transact

func (_ChannelHub *ChannelHubTransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*ChannelHubTransactorRaw) Transfer

func (_ChannelHub *ChannelHubTransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type ChannelHubTransactorSession

type ChannelHubTransactorSession struct {
	Contract     *ChannelHubTransactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts     // Transaction auth options to use throughout this session
}

ChannelHubTransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*ChannelHubTransactorSession) ChallengeChannel

func (_ChannelHub *ChannelHubTransactorSession) ChallengeChannel(channelId [32]byte, candidate State, challengerSig []byte, challengerIdx uint8) (*types.Transaction, error)

ChallengeChannel is a paid mutator transaction binding the contract method 0xb25a1d38.

Solidity: function challengeChannel(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate, bytes challengerSig, uint8 challengerIdx) payable returns()

func (*ChannelHubTransactorSession) ChallengeEscrowDeposit

func (_ChannelHub *ChannelHubTransactorSession) ChallengeEscrowDeposit(escrowId [32]byte, challengerSig []byte, challengerIdx uint8) (*types.Transaction, error)

ChallengeEscrowDeposit is a paid mutator transaction binding the contract method 0x16b390b1.

Solidity: function challengeEscrowDeposit(bytes32 escrowId, bytes challengerSig, uint8 challengerIdx) returns()

func (*ChannelHubTransactorSession) ChallengeEscrowWithdrawal

func (_ChannelHub *ChannelHubTransactorSession) ChallengeEscrowWithdrawal(escrowId [32]byte, challengerSig []byte, challengerIdx uint8) (*types.Transaction, error)

ChallengeEscrowWithdrawal is a paid mutator transaction binding the contract method 0x8d0b12a5.

Solidity: function challengeEscrowWithdrawal(bytes32 escrowId, bytes challengerSig, uint8 challengerIdx) returns()

func (*ChannelHubTransactorSession) CheckpointChannel

func (_ChannelHub *ChannelHubTransactorSession) CheckpointChannel(channelId [32]byte, candidate State) (*types.Transaction, error)

CheckpointChannel is a paid mutator transaction binding the contract method 0x9691b468.

Solidity: function checkpointChannel(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) payable returns()

func (*ChannelHubTransactorSession) ClaimFunds

func (_ChannelHub *ChannelHubTransactorSession) ClaimFunds(token common.Address, destination common.Address) (*types.Transaction, error)

ClaimFunds is a paid mutator transaction binding the contract method 0xf766f8d6.

Solidity: function claimFunds(address token, address destination) returns()

func (*ChannelHubTransactorSession) CloseChannel

func (_ChannelHub *ChannelHubTransactorSession) CloseChannel(channelId [32]byte, candidate State) (*types.Transaction, error)

CloseChannel is a paid mutator transaction binding the contract method 0x5dc46a74.

Solidity: function closeChannel(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) payable returns()

func (*ChannelHubTransactorSession) CreateChannel

func (_ChannelHub *ChannelHubTransactorSession) CreateChannel(def ChannelDefinition, initState State) (*types.Transaction, error)

CreateChannel is a paid mutator transaction binding the contract method 0x41b660ef.

Solidity: function createChannel((uint32,address,address,uint64,uint256,bytes32) def, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) initState) payable returns()

func (*ChannelHubTransactorSession) DepositToChannel

func (_ChannelHub *ChannelHubTransactorSession) DepositToChannel(channelId [32]byte, candidate State) (*types.Transaction, error)

DepositToChannel is a paid mutator transaction binding the contract method 0xf4ac51f5.

Solidity: function depositToChannel(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) payable returns()

func (*ChannelHubTransactorSession) DepositToVault

func (_ChannelHub *ChannelHubTransactorSession) DepositToVault(node common.Address, token common.Address, amount *big.Int) (*types.Transaction, error)

DepositToVault is a paid mutator transaction binding the contract method 0x17536c06.

Solidity: function depositToVault(address node, address token, uint256 amount) payable returns()

func (*ChannelHubTransactorSession) FinalizeEscrowDeposit

func (_ChannelHub *ChannelHubTransactorSession) FinalizeEscrowDeposit(escrowId [32]byte, candidate State) (*types.Transaction, error)

FinalizeEscrowDeposit is a paid mutator transaction binding the contract method 0x13c380ed.

Solidity: function finalizeEscrowDeposit(bytes32 escrowId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) returns()

func (*ChannelHubTransactorSession) FinalizeEscrowWithdrawal

func (_ChannelHub *ChannelHubTransactorSession) FinalizeEscrowWithdrawal(escrowId [32]byte, candidate State) (*types.Transaction, error)

FinalizeEscrowWithdrawal is a paid mutator transaction binding the contract method 0x7e7985f9.

Solidity: function finalizeEscrowWithdrawal(bytes32 escrowId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) returns()

func (*ChannelHubTransactorSession) FinalizeMigration

func (_ChannelHub *ChannelHubTransactorSession) FinalizeMigration(channelId [32]byte, candidate State) (*types.Transaction, error)

FinalizeMigration is a paid mutator transaction binding the contract method 0x53269198.

Solidity: function finalizeMigration(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) returns()

func (*ChannelHubTransactorSession) InitiateEscrowDeposit

func (_ChannelHub *ChannelHubTransactorSession) InitiateEscrowDeposit(def ChannelDefinition, candidate State) (*types.Transaction, error)

InitiateEscrowDeposit is a paid mutator transaction binding the contract method 0x47de477a.

Solidity: function initiateEscrowDeposit((uint32,address,address,uint64,uint256,bytes32) def, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) payable returns()

func (*ChannelHubTransactorSession) InitiateEscrowWithdrawal

func (_ChannelHub *ChannelHubTransactorSession) InitiateEscrowWithdrawal(def ChannelDefinition, candidate State) (*types.Transaction, error)

InitiateEscrowWithdrawal is a paid mutator transaction binding the contract method 0xa5c82680.

Solidity: function initiateEscrowWithdrawal((uint32,address,address,uint64,uint256,bytes32) def, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) returns()

func (*ChannelHubTransactorSession) InitiateMigration

func (_ChannelHub *ChannelHubTransactorSession) InitiateMigration(def ChannelDefinition, candidate State) (*types.Transaction, error)

InitiateMigration is a paid mutator transaction binding the contract method 0xdc23f29e.

Solidity: function initiateMigration((uint32,address,address,uint64,uint256,bytes32) def, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) returns()

func (*ChannelHubTransactorSession) PurgeEscrowDeposits

func (_ChannelHub *ChannelHubTransactorSession) PurgeEscrowDeposits(maxToPurge *big.Int) (*types.Transaction, error)

PurgeEscrowDeposits is a paid mutator transaction binding the contract method 0x3115f630.

Solidity: function purgeEscrowDeposits(uint256 maxToPurge) returns()

func (*ChannelHubTransactorSession) RegisterNodeValidator

func (_ChannelHub *ChannelHubTransactorSession) RegisterNodeValidator(node common.Address, validatorId uint8, validator common.Address, signature []byte) (*types.Transaction, error)

RegisterNodeValidator is a paid mutator transaction binding the contract method 0xbeed9d5f.

Solidity: function registerNodeValidator(address node, uint8 validatorId, address validator, bytes signature) returns()

func (*ChannelHubTransactorSession) WithdrawFromChannel

func (_ChannelHub *ChannelHubTransactorSession) WithdrawFromChannel(channelId [32]byte, candidate State) (*types.Transaction, error)

WithdrawFromChannel is a paid mutator transaction binding the contract method 0xc74a2d10.

Solidity: function withdrawFromChannel(bytes32 channelId, (uint64,uint8,bytes32,(uint64,address,uint8,uint256,int256,uint256,int256),(uint64,address,uint8,uint256,int256,uint256,int256),bytes,bytes) candidate) payable returns()

func (*ChannelHubTransactorSession) WithdrawFromVault

func (_ChannelHub *ChannelHubTransactorSession) WithdrawFromVault(to common.Address, token common.Address, amount *big.Int) (*types.Transaction, error)

WithdrawFromVault is a paid mutator transaction binding the contract method 0xecf3d7e8.

Solidity: function withdrawFromVault(address to, address token, uint256 amount) returns()

type ChannelHubTransferFailed

type ChannelHubTransferFailed struct {
	Recipient common.Address
	Token     common.Address
	Amount    *big.Int
	Raw       types.Log // Blockchain specific contextual infos
}

ChannelHubTransferFailed represents a TransferFailed event raised by the ChannelHub contract.

type ChannelHubTransferFailedIterator

type ChannelHubTransferFailedIterator struct {
	Event *ChannelHubTransferFailed // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubTransferFailedIterator is returned from FilterTransferFailed and is used to iterate over the raw logs and unpacked data for TransferFailed events raised by the ChannelHub contract.

func (*ChannelHubTransferFailedIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubTransferFailedIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubTransferFailedIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubValidatorRegistered

type ChannelHubValidatorRegistered struct {
	Node        common.Address
	ValidatorId uint8
	Validator   common.Address
	Raw         types.Log // Blockchain specific contextual infos
}

ChannelHubValidatorRegistered represents a ValidatorRegistered event raised by the ChannelHub contract.

type ChannelHubValidatorRegisteredIterator

type ChannelHubValidatorRegisteredIterator struct {
	Event *ChannelHubValidatorRegistered // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubValidatorRegisteredIterator is returned from FilterValidatorRegistered and is used to iterate over the raw logs and unpacked data for ValidatorRegistered events raised by the ChannelHub contract.

func (*ChannelHubValidatorRegisteredIterator) Close

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubValidatorRegisteredIterator) Error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubValidatorRegisteredIterator) Next

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ChannelHubWithdrawn

type ChannelHubWithdrawn struct {
	Wallet common.Address
	Token  common.Address
	Amount *big.Int
	Raw    types.Log // Blockchain specific contextual infos
}

ChannelHubWithdrawn represents a Withdrawn event raised by the ChannelHub contract.

type ChannelHubWithdrawnIterator

type ChannelHubWithdrawnIterator struct {
	Event *ChannelHubWithdrawn // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

ChannelHubWithdrawnIterator is returned from FilterWithdrawn and is used to iterate over the raw logs and unpacked data for Withdrawn events raised by the ChannelHub contract.

func (*ChannelHubWithdrawnIterator) Close

func (it *ChannelHubWithdrawnIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*ChannelHubWithdrawnIterator) Error

func (it *ChannelHubWithdrawnIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*ChannelHubWithdrawnIterator) Next

func (it *ChannelHubWithdrawnIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type ClientAllowanceCheck

type ClientAllowanceCheck struct {
	RequireAllowanceCheck bool
}

type ClientBalanceCheck

type ClientBalanceCheck struct {
	RequireBalanceCheck bool
}

type ClientFeeCheck

type ClientFeeCheck struct {
	RequirePositiveNativeBalance bool
}

type ClientOption

type ClientOption interface {
	// contains filtered or unexported methods
}

type EVMClient

type EVMClient interface {
	ethereum.ChainStateReader
	bind.ContractBackend
}

type HandleEvent

type HandleEvent func(ctx context.Context, eventLog types.Log) error

type IERC20

type IERC20 struct {
	IERC20Caller     // Read-only binding to the contract
	IERC20Transactor // Write-only binding to the contract
	IERC20Filterer   // Log filterer for contract events
}

IERC20 is an auto generated Go binding around an Ethereum contract.

func NewIERC20

func NewIERC20(address common.Address, backend bind.ContractBackend) (*IERC20, error)

NewIERC20 creates a new instance of IERC20, bound to a specific deployed contract.

type IERC20Approval

type IERC20Approval struct {
	Owner   common.Address
	Spender common.Address
	Value   *big.Int
	Raw     types.Log // Blockchain specific contextual infos
}

IERC20Approval represents a Approval event raised by the IERC20 contract.

type IERC20ApprovalIterator

type IERC20ApprovalIterator struct {
	Event *IERC20Approval // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

IERC20ApprovalIterator is returned from FilterApproval and is used to iterate over the raw logs and unpacked data for Approval events raised by the IERC20 contract.

func (*IERC20ApprovalIterator) Close

func (it *IERC20ApprovalIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*IERC20ApprovalIterator) Error

func (it *IERC20ApprovalIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*IERC20ApprovalIterator) Next

func (it *IERC20ApprovalIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type IERC20Caller

type IERC20Caller struct {
	// contains filtered or unexported fields
}

IERC20Caller is an auto generated read-only Go binding around an Ethereum contract.

func NewIERC20Caller

func NewIERC20Caller(address common.Address, caller bind.ContractCaller) (*IERC20Caller, error)

NewIERC20Caller creates a new read-only instance of IERC20, bound to a specific deployed contract.

func (*IERC20Caller) Allowance

func (_IERC20 *IERC20Caller) Allowance(opts *bind.CallOpts, owner common.Address, spender common.Address) (*big.Int, error)

Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.

Solidity: function allowance(address owner, address spender) view returns(uint256)

func (*IERC20Caller) BalanceOf

func (_IERC20 *IERC20Caller) BalanceOf(opts *bind.CallOpts, account common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address account) view returns(uint256)

func (*IERC20Caller) Decimals

func (_IERC20 *IERC20Caller) Decimals(opts *bind.CallOpts) (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*IERC20Caller) Name

func (_IERC20 *IERC20Caller) Name(opts *bind.CallOpts) (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*IERC20Caller) Symbol

func (_IERC20 *IERC20Caller) Symbol(opts *bind.CallOpts) (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*IERC20Caller) TotalSupply

func (_IERC20 *IERC20Caller) TotalSupply(opts *bind.CallOpts) (*big.Int, error)

TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.

Solidity: function totalSupply() view returns(uint256)

type IERC20CallerRaw

type IERC20CallerRaw struct {
	Contract *IERC20Caller // Generic read-only contract binding to access the raw methods on
}

IERC20CallerRaw is an auto generated low-level read-only Go binding around an Ethereum contract.

func (*IERC20CallerRaw) Call

func (_IERC20 *IERC20CallerRaw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

type IERC20CallerSession

type IERC20CallerSession struct {
	Contract *IERC20Caller // Generic contract caller binding to set the session for
	CallOpts bind.CallOpts // Call options to use throughout this session
}

IERC20CallerSession is an auto generated read-only Go binding around an Ethereum contract, with pre-set call options.

func (*IERC20CallerSession) Allowance

func (_IERC20 *IERC20CallerSession) Allowance(owner common.Address, spender common.Address) (*big.Int, error)

Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.

Solidity: function allowance(address owner, address spender) view returns(uint256)

func (*IERC20CallerSession) BalanceOf

func (_IERC20 *IERC20CallerSession) BalanceOf(account common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address account) view returns(uint256)

func (*IERC20CallerSession) Decimals

func (_IERC20 *IERC20CallerSession) Decimals() (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*IERC20CallerSession) Name

func (_IERC20 *IERC20CallerSession) Name() (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*IERC20CallerSession) Symbol

func (_IERC20 *IERC20CallerSession) Symbol() (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*IERC20CallerSession) TotalSupply

func (_IERC20 *IERC20CallerSession) TotalSupply() (*big.Int, error)

TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.

Solidity: function totalSupply() view returns(uint256)

type IERC20Filterer

type IERC20Filterer struct {
	// contains filtered or unexported fields
}

IERC20Filterer is an auto generated log filtering Go binding around an Ethereum contract events.

func NewIERC20Filterer

func NewIERC20Filterer(address common.Address, filterer bind.ContractFilterer) (*IERC20Filterer, error)

NewIERC20Filterer creates a new log filterer instance of IERC20, bound to a specific deployed contract.

func (*IERC20Filterer) FilterApproval

func (_IERC20 *IERC20Filterer) FilterApproval(opts *bind.FilterOpts, owner []common.Address, spender []common.Address) (*IERC20ApprovalIterator, error)

FilterApproval is a free log retrieval operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)

func (*IERC20Filterer) FilterTransfer

func (_IERC20 *IERC20Filterer) FilterTransfer(opts *bind.FilterOpts, from []common.Address, to []common.Address) (*IERC20TransferIterator, error)

FilterTransfer is a free log retrieval operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 value)

func (*IERC20Filterer) ParseApproval

func (_IERC20 *IERC20Filterer) ParseApproval(log types.Log) (*IERC20Approval, error)

ParseApproval is a log parse operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)

func (*IERC20Filterer) ParseTransfer

func (_IERC20 *IERC20Filterer) ParseTransfer(log types.Log) (*IERC20Transfer, error)

ParseTransfer is a log parse operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 value)

func (*IERC20Filterer) WatchApproval

func (_IERC20 *IERC20Filterer) WatchApproval(opts *bind.WatchOpts, sink chan<- *IERC20Approval, owner []common.Address, spender []common.Address) (event.Subscription, error)

WatchApproval is a free log subscription operation binding the contract event 0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925.

Solidity: event Approval(address indexed owner, address indexed spender, uint256 value)

func (*IERC20Filterer) WatchTransfer

func (_IERC20 *IERC20Filterer) WatchTransfer(opts *bind.WatchOpts, sink chan<- *IERC20Transfer, from []common.Address, to []common.Address) (event.Subscription, error)

WatchTransfer is a free log subscription operation binding the contract event 0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef.

Solidity: event Transfer(address indexed from, address indexed to, uint256 value)

type IERC20Raw

type IERC20Raw struct {
	Contract *IERC20 // Generic contract binding to access the raw methods on
}

IERC20Raw is an auto generated low-level Go binding around an Ethereum contract.

func (*IERC20Raw) Call

func (_IERC20 *IERC20Raw) Call(opts *bind.CallOpts, result *[]interface{}, method string, params ...interface{}) error

Call invokes the (constant) contract method with params as input values and sets the output to result. The result type might be a single field for simple returns, a slice of interfaces for anonymous returns and a struct for named returns.

func (*IERC20Raw) Transact

func (_IERC20 *IERC20Raw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*IERC20Raw) Transfer

func (_IERC20 *IERC20Raw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type IERC20Session

type IERC20Session struct {
	Contract     *IERC20           // Generic contract binding to set the session for
	CallOpts     bind.CallOpts     // Call options to use throughout this session
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

IERC20Session is an auto generated Go binding around an Ethereum contract, with pre-set call and transact options.

func (*IERC20Session) Allowance

func (_IERC20 *IERC20Session) Allowance(owner common.Address, spender common.Address) (*big.Int, error)

Allowance is a free data retrieval call binding the contract method 0xdd62ed3e.

Solidity: function allowance(address owner, address spender) view returns(uint256)

func (*IERC20Session) Approve

func (_IERC20 *IERC20Session) Approve(spender common.Address, value *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address spender, uint256 value) returns(bool)

func (*IERC20Session) BalanceOf

func (_IERC20 *IERC20Session) BalanceOf(account common.Address) (*big.Int, error)

BalanceOf is a free data retrieval call binding the contract method 0x70a08231.

Solidity: function balanceOf(address account) view returns(uint256)

func (*IERC20Session) Decimals

func (_IERC20 *IERC20Session) Decimals() (uint8, error)

Decimals is a free data retrieval call binding the contract method 0x313ce567.

Solidity: function decimals() view returns(uint8)

func (*IERC20Session) Name

func (_IERC20 *IERC20Session) Name() (string, error)

Name is a free data retrieval call binding the contract method 0x06fdde03.

Solidity: function name() view returns(string)

func (*IERC20Session) Symbol

func (_IERC20 *IERC20Session) Symbol() (string, error)

Symbol is a free data retrieval call binding the contract method 0x95d89b41.

Solidity: function symbol() view returns(string)

func (*IERC20Session) TotalSupply

func (_IERC20 *IERC20Session) TotalSupply() (*big.Int, error)

TotalSupply is a free data retrieval call binding the contract method 0x18160ddd.

Solidity: function totalSupply() view returns(uint256)

func (*IERC20Session) Transfer

func (_IERC20 *IERC20Session) Transfer(to common.Address, value *big.Int) (*types.Transaction, error)

Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.

Solidity: function transfer(address to, uint256 value) returns(bool)

func (*IERC20Session) TransferFrom

func (_IERC20 *IERC20Session) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 value) returns(bool)

type IERC20Transactor

type IERC20Transactor struct {
	// contains filtered or unexported fields
}

IERC20Transactor is an auto generated write-only Go binding around an Ethereum contract.

func NewIERC20Transactor

func NewIERC20Transactor(address common.Address, transactor bind.ContractTransactor) (*IERC20Transactor, error)

NewIERC20Transactor creates a new write-only instance of IERC20, bound to a specific deployed contract.

func (*IERC20Transactor) Approve

func (_IERC20 *IERC20Transactor) Approve(opts *bind.TransactOpts, spender common.Address, value *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address spender, uint256 value) returns(bool)

func (*IERC20Transactor) Transfer

func (_IERC20 *IERC20Transactor) Transfer(opts *bind.TransactOpts, to common.Address, value *big.Int) (*types.Transaction, error)

Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.

Solidity: function transfer(address to, uint256 value) returns(bool)

func (*IERC20Transactor) TransferFrom

func (_IERC20 *IERC20Transactor) TransferFrom(opts *bind.TransactOpts, from common.Address, to common.Address, value *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 value) returns(bool)

type IERC20TransactorRaw

type IERC20TransactorRaw struct {
	Contract *IERC20Transactor // Generic write-only contract binding to access the raw methods on
}

IERC20TransactorRaw is an auto generated low-level write-only Go binding around an Ethereum contract.

func (*IERC20TransactorRaw) Transact

func (_IERC20 *IERC20TransactorRaw) Transact(opts *bind.TransactOpts, method string, params ...interface{}) (*types.Transaction, error)

Transact invokes the (paid) contract method with params as input values.

func (*IERC20TransactorRaw) Transfer

func (_IERC20 *IERC20TransactorRaw) Transfer(opts *bind.TransactOpts) (*types.Transaction, error)

Transfer initiates a plain transaction to move funds to the contract, calling its default method if one is available.

type IERC20TransactorSession

type IERC20TransactorSession struct {
	Contract     *IERC20Transactor // Generic contract transactor binding to set the session for
	TransactOpts bind.TransactOpts // Transaction auth options to use throughout this session
}

IERC20TransactorSession is an auto generated write-only Go binding around an Ethereum contract, with pre-set transact options.

func (*IERC20TransactorSession) Approve

func (_IERC20 *IERC20TransactorSession) Approve(spender common.Address, value *big.Int) (*types.Transaction, error)

Approve is a paid mutator transaction binding the contract method 0x095ea7b3.

Solidity: function approve(address spender, uint256 value) returns(bool)

func (*IERC20TransactorSession) Transfer

func (_IERC20 *IERC20TransactorSession) Transfer(to common.Address, value *big.Int) (*types.Transaction, error)

Transfer is a paid mutator transaction binding the contract method 0xa9059cbb.

Solidity: function transfer(address to, uint256 value) returns(bool)

func (*IERC20TransactorSession) TransferFrom

func (_IERC20 *IERC20TransactorSession) TransferFrom(from common.Address, to common.Address, value *big.Int) (*types.Transaction, error)

TransferFrom is a paid mutator transaction binding the contract method 0x23b872dd.

Solidity: function transferFrom(address from, address to, uint256 value) returns(bool)

type IERC20Transfer

type IERC20Transfer struct {
	From  common.Address
	To    common.Address
	Value *big.Int
	Raw   types.Log // Blockchain specific contextual infos
}

IERC20Transfer represents a Transfer event raised by the IERC20 contract.

type IERC20TransferIterator

type IERC20TransferIterator struct {
	Event *IERC20Transfer // Event containing the contract specifics and raw log
	// contains filtered or unexported fields
}

IERC20TransferIterator is returned from FilterTransfer and is used to iterate over the raw logs and unpacked data for Transfer events raised by the IERC20 contract.

func (*IERC20TransferIterator) Close

func (it *IERC20TransferIterator) Close() error

Close terminates the iteration process, releasing any pending underlying resources.

func (*IERC20TransferIterator) Error

func (it *IERC20TransferIterator) Error() error

Error returns any retrieval or parsing error occurred during filtering.

func (*IERC20TransferIterator) Next

func (it *IERC20TransferIterator) Next() bool

Next advances the iterator to the subsequent event, returning whether there are any more events found. In case of a retrieval or parsing error, false is returned and Error() can be queried for the exact failure.

type LatestEventGetter

type LatestEventGetter func(contractAddress string, blockchainID uint64) (ev core.BlockchainEvent, err error)

type Ledger

type Ledger struct {
	ChainId        uint64
	Token          common.Address
	Decimals       uint8
	UserAllocation *big.Int
	UserNetFlow    *big.Int
	NodeAllocation *big.Int
	NodeNetFlow    *big.Int
}

Ledger is an auto generated low-level Go binding around an user-defined struct.

type Listener

type Listener struct {
	// contains filtered or unexported fields
}

func NewListener

func NewListener(contractAddress common.Address, client bind.ContractBackend, blockchainID uint64, blockStep uint64, logger log.Logger, eventHandler HandleEvent, getLatestEvent LatestEventGetter) *Listener

func (*Listener) Listen

func (l *Listener) Listen(ctx context.Context, handleClosure func(err error))

Listen starts the event listener in a background goroutine. The handleClosure callback is invoked when the listener exits, with an error if any.

type LockingClient

type LockingClient struct {
	BaseClient
	// contains filtered or unexported fields
}

LockingClient provides access to a Locking contract.

func NewLockingClient

func NewLockingClient(lockingContractAddress common.Address, evmClient EVMClient, blockchainID uint64, txSigner ...sign.Signer) (*LockingClient, error)

NewLockingClient creates a new LockingClient. If txSigner is provided, the client can perform write operations (lock, relock, unlock, withdraw).

func (*LockingClient) ApproveToken

func (c *LockingClient) ApproveToken(amount decimal.Decimal) (string, error)

ApproveToken approves the Locking contract to spend the specified amount of tokens. This must be called before Lock.

func (*LockingClient) GetBalance

func (c *LockingClient) GetBalance(user string) (decimal.Decimal, error)

GetBalance returns the locked balance of a user in the Locking contraсt.

func (*LockingClient) GetTokenDecimals

func (c *LockingClient) GetTokenDecimals() (uint8, error)

GetTokenDecimals returns the number of decimals for the token used in the AppRegistry. This is needed to convert between human-readable amounts and the raw integer amounts used in transactions.

func (*LockingClient) Lock

func (c *LockingClient) Lock(targetWalletAddress string, amount decimal.Decimal) (string, error)

Lock locks tokens into the Locking contract for the specified target address. The caller must have approved the Locking contract to spend the token beforehand.

func (*LockingClient) Relock

func (c *LockingClient) Relock() (string, error)

Relock re-locks tokens that are in the unlocking state back to the locked state.

func (*LockingClient) Unlock

func (c *LockingClient) Unlock() (string, error)

Unlock initiates the unlock process for the caller's locked tokens. After the unlock period elapses, Withdraw can be called.

func (*LockingClient) Withdraw

func (c *LockingClient) Withdraw(destination string) (string, error)

Withdraw withdraws unlocked tokens to the specified destination address. Can only be called after the unlock period has elapsed.

type LockingContractReactor

type LockingContractReactor struct {
	// contains filtered or unexported fields
}

func NewLockingContractReactor

func NewLockingContractReactor(blockchainID uint64, eventHandler core.LockingContractEventHandler, getTokenDecimals func() (uint8, error), storeContractEvent StoreContractEvent) (*LockingContractReactor, error)

func (*LockingContractReactor) HandleEvent

func (r *LockingContractReactor) HandleEvent(ctx context.Context, l types.Log) error

func (*LockingContractReactor) SetOnEventProcessed

func (r *LockingContractReactor) SetOnEventProcessed(fn func(blockchainID uint64, success bool))

SetOnEventProcessed sets an optional callback invoked after each event is processed.

type State

type State struct {
	Version       uint64
	Intent        uint8
	Metadata      [32]byte
	HomeLedger    Ledger
	NonHomeLedger Ledger
	UserSig       []byte
	NodeSig       []byte
}

State is an auto generated low-level Go binding around an user-defined struct.

type StoreContractEvent

type StoreContractEvent func(ev core.BlockchainEvent) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL