using Nethereum.ABI.FunctionEncoding.Attributes; using Nethereum.Contracts; using System.Numerics; // Generated code, do not modify. #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. namespace CodexContractsPlugin.Marketplace { public partial class MarketplaceDeployment : MarketplaceDeploymentBase { public MarketplaceDeployment() : base(BYTECODE) { } public MarketplaceDeployment(string byteCode) : base(byteCode) { } } public class MarketplaceDeploymentBase : ContractDeploymentMessage { public static string BYTECODE = "0x60c06040523480156200001157600080fd5b50604051620043a8380380620043a8833981016040819052620000349162000571565b602083015180516040850151516001805460ff191660ff909216919091179055608052816101004311620000af5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420626c6f636b206865696768740000000000000060448201526064015b60405180910390fd5b81516002908155602083015160035560408301516004805460ff191660ff9092169190911790556060830151839190600590620000ed908262000724565b50608091909101516004909101805460ff191660ff928316179055600780546001600160a01b0319166001600160a01b0393841617905590841660a0528451516064911611159050620001835760405162461bcd60e51b815260206004820152601560248201527f4d757374206265206c657373207468616e2031303000000000000000000000006044820152606401620000a6565b606483600001516060015160ff161115620001e15760405162461bcd60e51b815260206004820152601560248201527f4d757374206265206c657373207468616e2031303000000000000000000000006044820152606401620000a6565b82516060810151602090910151606491620001fc91620007f0565b60ff1611156200024f5760405162461bcd60e51b815260206004820152601d60248201527f4d6178696d756d20736c617368696e67206578636565647320313030250000006044820152606401620000a6565b82518051600f805460208085015160408087015160609788015160ff9081166401000000000260ff60201b1961ffff90931662010000029290921664ffffff0000199482166101000261ffff199097169882169890981795909517929092169590951717835580880151805160109081559181015160115593840151601280549190931660ff19919091161790915592820151869391929190601390620002f7908262000724565b50608091909101516004909101805460ff1990811660ff938416179091556040939093015151600692909201805490931691161790555062000822915050565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b038111828210171562000372576200037262000337565b60405290565b604051606081016001600160401b038111828210171562000372576200037262000337565b604051608081016001600160401b038111828210171562000372576200037262000337565b604051601f8201601f191681016001600160401b0381118282101715620003ed57620003ed62000337565b604052919050565b805160ff811681146200040757600080fd5b919050565b600060a082840312156200041f57600080fd5b620004296200034d565b905081518152602080830151818301526200044760408401620003f5565b604083015260608301516001600160401b03808211156200046757600080fd5b818501915085601f8301126200047c57600080fd5b81518181111562000491576200049162000337565b620004a5601f8201601f19168501620003c2565b91508082528684828501011115620004bc57600080fd5b60005b81811015620004dc578381018501518382018601528401620004bf565b50600084828401015250806060850152505050620004fd60808301620003f5565b608082015292915050565b6000602082840312156200051b57600080fd5b604051602081016001600160401b038111828210171562000540576200054062000337565b6040529050806200055183620003f5565b905292915050565b80516001600160a01b03811681146200040757600080fd5b6000806000606084860312156200058757600080fd5b83516001600160401b03808211156200059f57600080fd5b9085019081870360c0811215620005b557600080fd5b620005bf62000378565b6080821215620005ce57600080fd5b620005d86200039d565b9150620005e584620003f5565b8252620005f560208501620003f5565b6020830152604084015161ffff811681146200061057600080fd5b60408301526200062360608501620003f5565b6060830152908152608083015190828211156200063f57600080fd5b6200064d898386016200040c565b6020820152620006618960a0860162000508565b604082015295506200067a925050506020850162000559565b91506200068a6040850162000559565b90509250925092565b600181811c90821680620006a857607f821691505b602082108103620006c957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200071f576000816000526020600020601f850160051c81016020861015620006fa5750805b601f850160051c820191505b818110156200071b5782815560010162000706565b5050505b505050565b81516001600160401b0381111562000740576200074062000337565b620007588162000751845462000693565b84620006cf565b602080601f831160018114620007905760008415620007775750858301515b600019600386901b1c1916600185901b1785556200071b565b600085815260208120601f198616915b82811015620007c157888601518255948401946001909101908401620007a0565b5085821015620007e05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60ff81811683821602908116908181146200081b57634e487b7160e01b600052601160045260246000fd5b5092915050565b60805160a051613b2f62000879600039600081816104420152818161185b01528181612219015281816122b80152818161242d015281816124cc0152612715015260008181612bde0152612da40152613b2f6000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c806379502c55116100ee578063be5cdc4811610097578063e8aa0a0711610071578063e8aa0a07146103ed578063f752196b14610400578063fb1e61ca14610420578063fc0c546a1461044057600080fd5b8063be5cdc48146103a7578063c0cc4add146103c7578063c5d43351146103da57600080fd5b8063a3a0807e116100c8578063a3a0807e14610361578063a6af384b14610374578063b396dc791461038757600080fd5b806379502c55146103315780639777b72c14610346578063a29c29a41461034e57600080fd5b80634641dce61161015b5780635da73835116101355780635da73835146102b257806362d48e13146102c75780636b00c8cf146102da5780636e2b54ee1461031e57600080fd5b80634641dce6146102575780634802f44b1461027c57806359cc89ed1461029f57600080fd5b80630aefaabe1161018c5780630aefaabe1461020e578063329b5a0b14610221578063458d2bf11461024457600080fd5b806302fa8e65146101b357806305b90773146101d957806308695fcd146101f9575b600080fd5b6101c66101c1366004612f8b565b610466565b6040519081526020015b60405180910390f35b6101ec6101e7366004612f8b565b6104dd565b6040516101d09190612fba565b61020c610207366004612fd4565b6105ef565b005b61020c61021c36600461300b565b610745565b6101c661022f366004612f8b565b60009081526017602052604090206005015490565b6101c6610252366004612f8b565b610922565b61026a610265366004612f8b565b61093b565b60405160ff90911681526020016101d0565b61028f61028a366004612fd4565b61094e565b60405190151581526020016101d0565b61020c6102ad366004613060565b6109c9565b6102ba610ccd565b6040516101d09190613097565b61020c6102d5366004612fd4565b610cf4565b6103066102e8366004612f8b565b6000908152601860205260409020600501546001600160a01b031690565b6040516001600160a01b0390911681526020016101d0565b61020c61032c366004612f8b565b610df1565b610339610dfe565b6040516101d09190613121565b6102ba610fb2565b61020c61035c366004612f8b565b610fd1565b61028f61036f366004612f8b565b611041565b61020c6103823660046131ca565b611076565b61039a610395366004612f8b565b6113cb565b6040516101d091906132d3565b6103ba6103b5366004612f8b565b6115b4565b6040516101d09190613305565b61028f6103d5366004612f8b565b611682565b61020c6103e8366004613319565b611695565b61020c6103fb366004613349565b6118d4565b6101c661040e366004612f8b565b6000908152600a602052604090205490565b61043361042e366004612f8b565b611a09565b6040516101d09190613377565b7f0000000000000000000000000000000000000000000000000000000000000000610306565b60008181526017602052604081206004015481610482846104dd565b9050600081600481111561049857610498612fa4565b14806104b5575060018160048111156104b3576104b3612fa4565b145b156104c1575092915050565b6104d5826104d06001426133a0565b611bc0565b949350505050565b60008181526016602052604081205482906001600160a01b031661053a5760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b60448201526064015b60405180910390fd5b600083815260176020526040812090815460ff16600481111561055f5761055f612fa4565b14801561057c575060008481526017602052604090206005015442115b1561058b5760029250506105e9565b6001815460ff1660048111156105a3576105a3612fa4565b14806105c457506000815460ff1660048111156105c2576105c2612fa4565b145b80156105d35750806004015442115b156105e25760039250506105e9565b5460ff1691505b50919050565b60016105fa836115b4565b600581111561060b5761060b612fa4565b146106585760405162461bcd60e51b815260206004820152601960248201527f536c6f74206e6f7420616363657074696e672070726f6f6673000000000000006044820152606401610531565b6106628282611bd8565b6000828152601860209081526040808320600181015484526016909252909120600f5461ffff62010000909104166106a6856000908152600a602052604090205490565b6106b091906133c9565b60000361073f57600f5460068201546000916064916106da91640100000000900460ff16906133dd565b6106e491906133f4565b9050808360040160008282546106fa91906133a0565b9091555050600f546000868152600a6020526040902054610100820460ff169162010000900461ffff169061072f91906133f4565b1061073d5761073d85611e05565b505b50505050565b826000808281526018602052604090205460ff16600581111561076a5761076a612fa4565b036107a65760405162461bcd60e51b815260206004820152600c60248201526b536c6f74206973206672656560a01b6044820152606401610531565b600084815260186020526040902060058101546001600160a01b031633146108105760405162461bcd60e51b815260206004820152601960248201527f536c6f742066696c6c6564206279206f7468657220686f7374000000000000006044820152606401610531565b600061081b866115b4565b9050600481600581111561083157610831612fa4565b0361087e5760405162461bcd60e51b815260206004820152600c60248201527f416c7265616479207061696400000000000000000000000000000000000000006044820152606401610531565b600281600581111561089257610892612fa4565b036108ac576108a78260010154878787611fab565b61091a565b60058160058111156108c0576108c0612fa4565b036108d5576108a7826001015487878761233d565b60038160058111156108e9576108e9612fa4565b036108f8576108a7338761254f565b600181600581111561090c5761090c612fa4565b0361091a5761091a86611e05565b505050505050565b600061093582610930612571565b61257c565b92915050565b600061093582610949612571565b612590565b6040805160208082018590528183018490528251808303840181526060909201909252805191012060009033908290600154600082815260208190526040902091925060ff169061099e90612604565b1080156109c0575060008181526020819052604090206109be908361260e565b155b95945050505050565b60008381526016602052604090205483906001600160a01b0316610a215760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b6044820152606401610531565b6000848152601660205260409020600181015467ffffffffffffffff168410610a8c5760405162461bcd60e51b815260206004820152600c60248201527f496e76616c696420736c6f7400000000000000000000000000000000000000006044820152606401610531565b6040805160208082018890528183018790528251808303840181526060909201909252805191012060009060008181526018602052604081206001810189905560038101889055919250610adf836115b4565b6005811115610af057610af0612fa4565b14610b3d5760405162461bcd60e51b815260206004820152601060248201527f536c6f74206973206e6f742066726565000000000000000000000000000000006044820152606401610531565b600483015460008381526008602090815260408083204290556009909152902055610b6882866118d4565b60058101805473ffffffffffffffffffffffffffffffffffffffff191633179055805460ff191660019081178255426002830155600088815260176020526040812080830180549193929091610bbf908490613408565b90915550610bcf90508842612630565b816002016000828254610be291906133a0565b90915550506006840154610bf633826126cd565b8060196000016000828254610c0b9190613408565b9091555050600483018190556005830154610c2f906001600160a01b0316856127d0565b887ff530852268993f91008f1a1e0b09b5c813acd4188481f1fa83c33c7182e814b489604051610c6191815260200190565b60405180910390a26001808601549083015467ffffffffffffffff9091169003610cc257815460ff1916600117825542600383015560405189907f85e1543bf2f84fe80c6badbce3648c8539ad1df4d2b3d822938ca0538be727e690600090a25b505050505050505050565b336000908152600e60205260409020606090610cef90610cec906127f2565b90565b905090565b610cfe828261094e565b610d4a5760405162461bcd60e51b815260206004820152601760248201527f5265736572766174696f6e206e6f7420616c6c6f7765640000000000000000006044820152606401610531565b60408051602080820185905281830184905282518083038401815260609092018352815191810191909120600081815291829052919020610d8b90336127ff565b50600154600082815260208190526040902060ff90911690610dac90612604565b03610dec57827f3bef2ebab8cc92e0edda5decf18232f0606a18405ef674b51ea9d1e0e3839b4183604051610de391815260200190565b60405180910390a25b505050565b610dfb8133611695565b50565b610e726040805160e081019091526000606082018181526080830182905260a0830182905260c0830191909152819081526040805160a08101825260008082526020828101829052928201819052606080830152608082015291019081526040805160208181019092526000815291015290565b6040805160e081018252600f805460ff808216606080860191825261010084048316608087015261ffff6201000085041660a080880191909152640100000000909404831660c087015290855285519283018652601080548452601154602085810191909152601254909316968401969096526013805495969495928701949291840191610eff9061341b565b80601f0160208091040260200160405190810160405280929190818152602001828054610f2b9061341b565b8015610f785780601f10610f4d57610100808354040283529160200191610f78565b820191906000526020600020905b815481529060010190602001808311610f5b57829003601f168201915b50505091835250506004919091015460ff908116602092830152918352604080518083019091526006949094015490911683520152919050565b336000908152600d60205260409020606090610cef90610cec906127f2565b806000808281526018602052604090205460ff166005811115610ff657610ff6612fa4565b036110325760405162461bcd60e51b815260206004820152600c60248201526b536c6f74206973206672656560a01b6044820152606401610531565b61103d823333610745565b5050565b600080600061105784611052612571565b612814565b90925090508180156104d5575060045460ff9081169116109392505050565b33611084602083018361344f565b6001600160a01b0316146110da5760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420636c69656e742061646472657373000000000000000000006044820152606401610531565b60006110ed6110e8836135e1565b6128f7565b6000818152601660205260409020549091506001600160a01b0316156111555760405162461bcd60e51b815260206004820152601660248201527f5265717565737420616c726561647920657869737473000000000000000000006044820152606401610531565b600082610120013511801561117257506060820135610120830135105b6111be5760405162461bcd60e51b815260206004820152601360248201527f457870697279206e6f7420696e2072616e6765000000000000000000000000006044820152606401610531565b60006111d060408401602085016136d0565b67ffffffffffffffff16116112275760405162461bcd60e51b815260206004820152601260248201527f496e73756666696369656e7420736c6f747300000000000000000000000000006044820152606401610531565b61123760408301602084016136d0565b67ffffffffffffffff16611252610100840160e085016136d0565b67ffffffffffffffff1611156112aa5760405162461bcd60e51b815260206004820152601960248201527f6d6178536c6f744c6f7373206578636565647320736c6f7473000000000000006044820152606401610531565b600081815260166020526040902082906112c4828261385b565b506112d59050606083013542613408565b6000828152601760205260409020600401556112f661012083013542613408565b6000828152601760209081526040909120600501919091556113249061131e9084018461344f565b82612927565b6000611337611332846135e1565b612949565b6000838152601760205260408120600201829055601980549293508392909190611362908490613408565b90915550611372905033826126cd565b7f5fdb86c365a247a4d97dcbcc5c3abde9d6e3e2de26273f3fda8eef5073b9a96c828460200160176000868152602001908152602001600020600501546040516113be93929190613953565b60405180910390a1505050565b6113d3612ec3565b816000808281526018602052604090205460ff1660058111156113f8576113f8612fa4565b036114345760405162461bcd60e51b815260206004820152600c60248201526b536c6f74206973206672656560a01b6044820152606401610531565b600083815260186020526040902061144a612ec3565b600180830154600090815260166020908152604091829020825160a0808201855282546001600160a01b03168252845160e0810186529583015467ffffffffffffffff9081168752600284015487860152600384015487870152600484015460608801526005840154608088015260068401549187019190915260078301541660c08601529182019390935281518083018352600884018054929493850192829082906114f69061341b565b80601f01602080910402602001604051908101604052809291908181526020018280546115229061341b565b801561156f5780601f106115445761010080835404028352916020019161156f565b820191906000526020600020905b81548152906001019060200180831161155257829003601f168201915b505050918352505060019190910154602091820152908252600a83015482820152600b9092015460409091015290825260039092015491810191909152915050919050565b6000818152601860205260408120600181015482036115d65750600092915050565b60006115e582600101546104dd565b90506004825460ff1660058111156115ff576115ff612fa4565b0361160e575060049392505050565b600281600481111561162257611622612fa4565b03611631575060059392505050565b600381600481111561164557611645612fa4565b03611654575060029392505050565b600481600481111561166857611668612fa4565b03611677575060039392505050565b505460ff1692915050565b600061093582611690612571565b61296e565b600082815260166020908152604080832060179092529091206005015442116117005760405162461bcd60e51b815260206004820152601960248201527f52657175657374206e6f74207965742074696d6564206f7574000000000000006044820152606401610531565b80546001600160a01b031633146117595760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420636c69656e742061646472657373000000000000000000006044820152606401610531565b600083815260176020526040812090815460ff16600481111561177e5761177e612fa4565b146117cb5760405162461bcd60e51b815260206004820152600d60248201527f496e76616c6964207374617465000000000000000000000000000000000000006044820152606401610531565b805460ff1916600217815581546117eb906001600160a01b03168561299e565b60405184907ff903f4774c7bd27355f9d7fcbc382b079b164a697a44ac5d95267a4c3cb3bb2290600090a26002810154601a8054829190600090611830908490613408565b909155505060405163a9059cbb60e01b81526001600160a01b038581166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af11580156118a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c891906139cf565b61073d5761073d6139f1565b6000828152601860209081526040808320600101548084526016909252909120546001600160a01b031661193c5760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b6044820152606401610531565b60008381526018602090815260408083206001810154845260168352818420825160038082526080820190945291949093909290820160608036833701905050905061198f61198a87610922565b6129c0565b816000815181106119a2576119a2613a07565b602090810291909101015260098201546119bb906129d1565b816001815181106119ce576119ce613a07565b6020026020010181815250508260030154816002815181106119f2576119f2613a07565b60200260200101818152505061091a8686836129dd565b611a11612ee3565b60008281526016602052604090205482906001600160a01b0316611a695760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b6044820152606401610531565b600083815260166020908152604091829020825160a0808201855282546001600160a01b03168252845160e081018652600184015467ffffffffffffffff90811682526002850154828701526003850154828801526004850154606083015260058501546080830152600685015492820192909252600784015490911660c08201529281019290925282518084018452600882018054939492939285019282908290611b149061341b565b80601f0160208091040260200160405190810160405280929190818152602001828054611b409061341b565b8015611b8d5780601f10611b6257610100808354040283529160200191611b8d565b820191906000526020600020905b815481529060010190602001808311611b7057829003601f168201915b505050505081526020016001820154815250508152602001600a8201548152602001600b82015481525050915050919050565b6000818310611bcf5781611bd1565b825b9392505050565b6000611be382612b9c565b9050428110611c345760405162461bcd60e51b815260206004820152601860248201527f506572696f6420686173206e6f7420656e6465642079657400000000000000006044820152606401610531565b600354611c419082613408565b4210611c8f5760405162461bcd60e51b815260206004820152601460248201527f56616c69646174696f6e2074696d6564206f75740000000000000000000000006044820152606401610531565b6000838152600b6020908152604080832085845290915290205460ff1615611cf95760405162461bcd60e51b815260206004820181905260248201527f50726f6f6620776173207375626d69747465642c206e6f74206d697373696e676044820152606401610531565b611d03838361296e565b611d4f5760405162461bcd60e51b815260206004820152601660248201527f50726f6f6620776173206e6f74207265717569726564000000000000000000006044820152606401610531565b6000838152600c6020908152604080832085845290915290205460ff1615611db95760405162461bcd60e51b815260206004820152601f60248201527f50726f6f6620616c7265616479206d61726b6564206173206d697373696e67006044820152606401610531565b6000838152600c602090815260408083208584528252808320805460ff19166001908117909155868452600a9092528220805491929091611dfb908490613408565b9091555050505050565b60008181526018602090815260408083206001810154808552601790935292206005830154611e3d906001600160a01b03168561254f565b6003808401546000868152601860205260408120805460ff1916815560018082018390556002820183905593810182905560048101829055600501805473ffffffffffffffffffffffffffffffffffffffff191690558383018054929392909190611ea99084906133a0565b909155505060405181815283907f1d31c9f8dea6e179f6a050db117595feea8937029ea51f5168a4780be7e8f5529060200160405180910390a26000858152600a6020526040812055600083815260166020526040812060018085015490820154919291611f21919067ffffffffffffffff166133a0565b600783015490915067ffffffffffffffff1681118015611f5657506001845460ff166004811115611f5457611f54612fa4565b145b15611fa257835460ff19166004178455611f716001426133a0565b600485015560405185907f4769361a442504ecaf038f35e119bcccdd5e42096b24c09e3c17fd17c6684c0290600090a25b50505050505050565b60008481526016602052604090205484906001600160a01b03166120035760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b6044820152606401610531565b60008581526017602090815260408083206016909252909120815460ff19166003178255805461203c906001600160a01b03168861299e565b60008681526018602052604090206005810154612062906001600160a01b03168861254f565b6000888152601660209081526040808320815160a0808201845282546001600160a01b03168252835160e081018552600184015467ffffffffffffffff90811682526002850154828801526003850154828701526004850154606083015260058501546080830152600685015492820192909252600784015490911660c082015293810193909352815180830183526008820180546121b7959485019291908290829061210e9061341b565b80601f016020809104026020016040519081016040528092919081815260200182805461213a9061341b565b80156121875780601f1061215c57610100808354040283529160200191612187565b820191906000526020600020905b81548152906001019060200180831161216a57829003601f168201915b505050505081526020016001820154815250508152602001600a8201548152602001600b82015481525050612baf565b60048301549091506121c98183613408565b601a80546000906121db908490613408565b90915550508254600490849060ff1916600183021790555060405163a9059cbb60e01b81526001600160a01b038981166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015612262573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228691906139cf565b612292576122926139f1565b60405163a9059cbb60e01b81526001600160a01b038881166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015612301573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061232591906139cf565b612331576123316139f1565b50505050505050505050565b60008481526016602052604090205484906001600160a01b03166123955760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b6044820152606401610531565b600084815260186020526040902060058101546123bb906001600160a01b03168661254f565b60006123cb878360020154612630565b60048301549091506123dd8183613408565b601a80546000906123ef908490613408565b90915550508254600490849060ff1916600183021790555060405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015612476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249a91906139cf565b6124a6576124a66139f1565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015612515573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061253991906139cf565b612545576125456139f1565b5050505050505050565b6001600160a01b0382166000908152600e60205260409020610dec9082612bcb565b6000610cef42612bd7565b6000611bd161258b8484612590565b612c03565b60008061259f610100436133c9565b600654909150600090610100906125b99060ff16866133dd565b6125c391906133c9565b905060006125d3610100876133c9565b90506000610100826125e58587613408565b6125ef9190613408565b6125f991906133c9565b979650505050505050565b6000610935825490565b6001600160a01b03811660009081526001830160205260408120541515611bd1565b60008281526016602090815260408083206017909252822060050154831061269a5760405162461bcd60e51b815260206004820152601760248201527f5374617274206e6f74206265666f7265206578706972790000000000000000006044820152606401610531565b6005810154836126b98660009081526017602052604090206005015490565b6126c391906133a0565b6104d591906133dd565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830181905260448301849052917f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd906064016020604051808303816000875af1158015612760573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061278491906139cf565b610dec5760405162461bcd60e51b815260206004820152600f60248201527f5472616e73666572206661696c656400000000000000000000000000000000006044820152606401610531565b6001600160a01b0382166000908152600e60205260409020610dec9082612c5d565b60606000611bd183612c69565b6000611bd1836001600160a01b038416612cc5565b6000806000612822856115b4565b6000868152600860205260408120549192509061283e90612bd7565b9050600182600581111561285457612854612fa4565b14158061286857506128668582612d14565b155b1561287b576000809350935050506128f0565b6128858686612590565b9250600061289284612c03565b600454909150600090610100906128ac9060ff1682613a1d565b60008a8152600960205260409020546128c99161ffff16906133dd565b6128d391906133f4565b90508015806128e957506128e781836133c9565b155b9550505050505b9250929050565b60008160405160200161290a9190613377565b604051602081830303815290604052805190602001209050919050565b6001600160a01b0382166000908152600d60205260409020610dec9082612c5d565b600061295482612baf565b602083015151610935919067ffffffffffffffff166133dd565b600080600061297d8585612814565b90925090508180156109c0575060045460ff90811691161015949350505050565b6001600160a01b0382166000908152600d60205260409020610dec9082612bcb565b600060ff198216816104d582612d1e565b600080611bd183612d1e565b6000838152600b60205260408120906129f4612571565b815260208101919091526040016000205460ff1615612a555760405162461bcd60e51b815260206004820152601760248201527f50726f6f6620616c7265616479207375626d69747465640000000000000000006044820152606401610531565b6007546040517f94c8919d0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906394c8919d90612aa09085908590600401613a38565b602060405180830381865afa158015612abd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ae191906139cf565b612b2d5760405162461bcd60e51b815260206004820152600d60248201527f496e76616c69642070726f6f66000000000000000000000000000000000000006044820152606401610531565b6000838152600b60205260408120600191612b46612571565b815260200190815260200160002060006101000a81548160ff0219169083151502179055507f3b989d183b84b02259d7c14b34a9c9eb0fccb4c355a920d25e581e25aef4993d836040516113be91815260200190565b6000610935612baa83612d90565b612d9d565b60208101516080810151604090910151600091610935916133dd565b6000611bd18383612dc9565b60006109357f0000000000000000000000000000000000000000000000000000000000000000836133f4565b60008060ff8316612c156001436133a0565b612c1f91906133a0565b4090506000819003612c3357612c336139f1565b60408051602081018390520160405160208183030381529060405280519060200120915050919050565b6000611bd18383612cc5565b606081600001805480602002602001604051908101604052809291908181526020018280548015612cb957602002820191906000526020600020905b815481526020019060010190808311612ca5575b50505050509050919050565b6000818152600183016020526040812054612d0c57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610935565b506000610935565b6000818311611bd1565b7fff00000000000000000000000000000000000000000000000000000000000000811660015b60208110156105e957600891821c91612d5e9082906133dd565b83901b7fff00000000000000000000000000000000000000000000000000000000000000169190911790600101612d44565b6000610935826001613408565b60006109357f0000000000000000000000000000000000000000000000000000000000000000836133dd565b60008181526001830160205260408120548015612eb2576000612ded6001836133a0565b8554909150600090612e01906001906133a0565b9050818114612e66576000866000018281548110612e2157612e21613a07565b9060005260206000200154905080876000018481548110612e4457612e44613a07565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612e7757612e77613ae3565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610935565b6000915050610935565b5092915050565b6040518060400160405280612ed6612ee3565b8152602001600081525090565b6040518060a0016040528060006001600160a01b03168152602001612f526040518060e00160405280600067ffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600067ffffffffffffffff1681525090565b8152602001612f77604051806040016040528060608152602001600080191681525090565b815260006020820181905260409091015290565b600060208284031215612f9d57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6020810160058310612fce57612fce612fa4565b91905290565b60008060408385031215612fe757600080fd5b50508035926020909101359150565b6001600160a01b0381168114610dfb57600080fd5b60008060006060848603121561302057600080fd5b83359250602084013561303281612ff6565b9150604084013561304281612ff6565b809150509250925092565b600061010082840312156105e957600080fd5b6000806000610140848603121561307657600080fd5b833592506020840135915061308e856040860161304d565b90509250925092565b6020808252825182820181905260009190848201906040850190845b818110156130cf578351835292840192918401916001016130b3565b50909695505050505050565b6000815180845260005b81811015613101576020818501810151868301820152016130e5565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000825160ff815116602084015260ff602082015116604084015261ffff604082015116606084015260ff606082015116608084015250602083015160c060a0840152805160e0840152602081015161010084015260ff604082015116610120840152606081015160a06101408501526131a36101808501826130db565b905060ff608083015116610160850152604085015191506104d560c08501835160ff169052565b6000602082840312156131dc57600080fd5b813567ffffffffffffffff8111156131f357600080fd5b82016101608185031215611bd157600080fd5b600081516040845261321b60408501826130db565b602093840151949093019390935250919050565b60006101606001600160a01b038351168452602083015167ffffffffffffffff808251166020870152602082015160408701526040820151606087015260608201516080870152608082015160a087015260a082015160c08701528060c08301511660e087015250506040830151816101008601526132b082860182613206565b915050606083015161012085015260808301516101408501528091505092915050565b6020815260008251604060208401526132ef606084018261322f565b9050602084015160408401528091505092915050565b6020810160068310612fce57612fce612fa4565b6000806040838503121561332c57600080fd5b82359150602083013561333e81612ff6565b809150509250929050565b600080610120838503121561335d57600080fd5b8235915061336e846020850161304d565b90509250929050565b602081526000611bd1602083018461322f565b634e487b7160e01b600052601160045260246000fd5b818103818111156109355761093561338a565b634e487b7160e01b600052601260045260246000fd5b6000826133d8576133d86133b3565b500690565b80820281158282048414176109355761093561338a565b600082613403576134036133b3565b500490565b808201808211156109355761093561338a565b600181811c9082168061342f57607f821691505b6020821081036105e957634e487b7160e01b600052602260045260246000fd5b60006020828403121561346157600080fd5b8135611bd181612ff6565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156134a5576134a561346c565b60405290565b60405160a0810167ffffffffffffffff811182821017156134a5576134a561346c565b60405160e0810167ffffffffffffffff811182821017156134a5576134a561346c565b604051601f8201601f1916810167ffffffffffffffff8111828210171561351a5761351a61346c565b604052919050565b67ffffffffffffffff81168114610dfb57600080fd5b60006040828403121561354a57600080fd5b613552613482565b9050813567ffffffffffffffff8082111561356c57600080fd5b818401915084601f83011261358057600080fd5b81356020828211156135945761359461346c565b6135a6601f8301601f191682016134f1565b925081835286818386010111156135bc57600080fd5b8181850182850137600081838501015282855280860135818601525050505092915050565b60008136036101608112156135f557600080fd5b6135fd6134ab565b833561360881612ff6565b815260e0601f198301121561361c57600080fd5b6136246134ce565b9150602084013561363481613522565b8083525060408401356020830152606084013560408301526080840135606083015260a0840135608083015260c084013560a083015260e084013561367881613522565b60c083015260208101919091526101008301359067ffffffffffffffff8211156136a157600080fd5b6136ad36838601613538565b604082015261012084013560608201526101409093013560808401525090919050565b6000602082840312156136e257600080fd5b8135611bd181613522565b6000813561093581613522565b60008235603e1983360301811261371057600080fd5b9190910192915050565b601f821115610dec576000816000526020600020601f850160051c810160208610156137435750805b601f850160051c820191505b8181101561091a5782815560010161374f565b8135601e1983360301811261377657600080fd5b8201803567ffffffffffffffff81111561378f57600080fd5b602081360381840113156137a257600080fd5b6137b6826137b0865461341b565b8661371a565b6000601f8311600181146137ec57600084156137d457508482018301355b600019600386901b1c1916600185901b178655613849565b600086815260209020601f19851690835b8281101561381e5787850186013582559385019360019091019085016137fd565b508582101561383d5760001960f88760031b161c198585890101351681555b505060018460011b0186555b50508085013560018501555050505050565b813561386681612ff6565b6001600160a01b03811673ffffffffffffffffffffffffffffffffffffffff1983541617825550602082013561389b81613522565b60018201805467ffffffffffffffff191667ffffffffffffffff83161790555060408201356002820155606082013560038201556080820135600482015560a0820135600582015560c0820135600682015561391f6138fc60e084016136ed565b6007830167ffffffffffffffff821667ffffffffffffffff198254161781555050565b6139396139306101008401846136fa565b60088301613762565b610120820135600a820155610140820135600b8201555050565b8381526101208101833561396681613522565b67ffffffffffffffff8082166020850152602086013560408501526040860135606085015260608601356080850152608086013560a085015260a086013560c085015260c086013591506139b982613522565b1660e08301526101009091019190915292915050565b6000602082840312156139e157600080fd5b81518015158114611bd157600080fd5b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b61ffff828116828216039080821115612ebc57612ebc61338a565b82358152602080840135908201526000610120828101613a68604085016040880180358252602090810135910152565b613a82608085016080880180358252602090810135910152565b613a9c60c0850160c0880180358252602090810135910152565b61010084019190915283519081905261014083019060209081860160005b82811015613ad657815185529383019390830190600101613aba565b5092979650505050505050565b634e487b7160e01b600052603160045260246000fdfea26469706673582212201ba21efda4fce1ed7b3990b94dd29e667ca238fbd4d0f83d310d1cdd9ff5dd1a64736f6c63430008170033"; public MarketplaceDeploymentBase() : base(BYTECODE) { } public MarketplaceDeploymentBase(string byteCode) : base(byteCode) { } [Parameter("tuple", "configuration", 1)] public virtual MarketplaceConfig Configuration { get; set; } [Parameter("address", "token_", 2)] public virtual string Token { get; set; } [Parameter("address", "verifier", 3)] public virtual string Verifier { get; set; } } public partial class ProofSubmittedEventDTO : ProofSubmittedEventDTOBase { } [Event("ProofSubmitted")] public class ProofSubmittedEventDTOBase : IEventDTO { [Parameter("bytes32", "id", 1, false )] public virtual byte[] Id { get; set; } } public partial class RequestCancelledEventDTO : RequestCancelledEventDTOBase { } [Event("RequestCancelled")] public class RequestCancelledEventDTOBase : IEventDTO { [Parameter("bytes32", "requestId", 1, true )] public virtual byte[] RequestId { get; set; } } public partial class RequestFailedEventDTO : RequestFailedEventDTOBase { } [Event("RequestFailed")] public class RequestFailedEventDTOBase : IEventDTO { [Parameter("bytes32", "requestId", 1, true )] public virtual byte[] RequestId { get; set; } } public partial class RequestFulfilledEventDTO : RequestFulfilledEventDTOBase { } [Event("RequestFulfilled")] public class RequestFulfilledEventDTOBase : IEventDTO { [Parameter("bytes32", "requestId", 1, true )] public virtual byte[] RequestId { get; set; } } public partial class SlotFilledEventDTO : SlotFilledEventDTOBase { } [Event("SlotFilled")] public class SlotFilledEventDTOBase : IEventDTO { [Parameter("bytes32", "requestId", 1, true )] public virtual byte[] RequestId { get; set; } [Parameter("uint256", "slotIndex", 2, false )] public virtual BigInteger SlotIndex { get; set; } } public partial class SlotFreedEventDTO : SlotFreedEventDTOBase { } [Event("SlotFreed")] public class SlotFreedEventDTOBase : IEventDTO { [Parameter("bytes32", "requestId", 1, true )] public virtual byte[] RequestId { get; set; } [Parameter("uint256", "slotIndex", 2, false )] public virtual BigInteger SlotIndex { get; set; } } public partial class SlotReservationsFullEventDTO : SlotReservationsFullEventDTOBase { } [Event("SlotReservationsFull")] public class SlotReservationsFullEventDTOBase : IEventDTO { [Parameter("bytes32", "requestId", 1, true )] public virtual byte[] RequestId { get; set; } [Parameter("uint256", "slotIndex", 2, false )] public virtual BigInteger SlotIndex { get; set; } } public partial class StorageRequestedEventDTO : StorageRequestedEventDTOBase { } [Event("StorageRequested")] public class StorageRequestedEventDTOBase : IEventDTO { [Parameter("bytes32", "requestId", 1, false )] public virtual byte[] RequestId { get; set; } [Parameter("tuple", "ask", 2, false )] public virtual Ask Ask { get; set; } [Parameter("uint256", "expiry", 3, false )] public virtual BigInteger Expiry { get; set; } } public partial class CanReserveSlotOutputDTO : CanReserveSlotOutputDTOBase { } [FunctionOutput] public class CanReserveSlotOutputDTOBase : IFunctionOutputDTO { [Parameter("bool", "", 1)] public virtual bool ReturnValue1 { get; set; } } public partial class CanReserveSlotFunction : CanReserveSlotFunctionBase { } [Function("canReserveSlot", "bool")] public class CanReserveSlotFunctionBase : FunctionMessage { [Parameter("bytes32", "requestId", 1)] public virtual byte[] RequestId { get; set; } [Parameter("uint256", "slotIndex", 2)] public virtual BigInteger SlotIndex { get; set; } } public partial class ConfigOutputDTO : ConfigOutputDTOBase { } [FunctionOutput] public class ConfigOutputDTOBase : IFunctionOutputDTO { [Parameter("tuple", "", 1)] public virtual MarketplaceConfig ReturnValue1 { get; set; } } public partial class ConfigFunction : ConfigFunctionBase { } [Function("config", typeof(ConfigOutputDTO))] public class ConfigFunctionBase : FunctionMessage { } public partial class FillSlotFunction : FillSlotFunctionBase { } [Function("fillSlot")] public class FillSlotFunctionBase : FunctionMessage { [Parameter("bytes32", "requestId", 1)] public virtual byte[] RequestId { get; set; } [Parameter("uint256", "slotIndex", 2)] public virtual BigInteger SlotIndex { get; set; } [Parameter("tuple", "proof", 3)] public virtual Groth16Proof Proof { get; set; } } public partial class FreeSlot1Function : FreeSlot1FunctionBase { } [Function("freeSlot")] public class FreeSlot1FunctionBase : FunctionMessage { [Parameter("bytes32", "slotId", 1)] public virtual byte[] SlotId { get; set; } [Parameter("address", "rewardRecipient", 2)] public virtual string RewardRecipient { get; set; } [Parameter("address", "collateralRecipient", 3)] public virtual string CollateralRecipient { get; set; } } public partial class FreeSlotFunction : FreeSlotFunctionBase { } [Function("freeSlot")] public class FreeSlotFunctionBase : FunctionMessage { [Parameter("bytes32", "slotId", 1)] public virtual byte[] SlotId { get; set; } } public partial class GetActiveSlotOutputDTO : GetActiveSlotOutputDTOBase { } [FunctionOutput] public class GetActiveSlotOutputDTOBase : IFunctionOutputDTO { [Parameter("tuple", "", 1)] public virtual ActiveSlot ReturnValue1 { get; set; } } public partial class GetActiveSlotFunction : GetActiveSlotFunctionBase { } [Function("getActiveSlot", typeof(GetActiveSlotOutputDTO))] public class GetActiveSlotFunctionBase : FunctionMessage { [Parameter("bytes32", "slotId", 1)] public virtual byte[] SlotId { get; set; } } public partial class GetChallengeOutputDTO : GetChallengeOutputDTOBase { } [FunctionOutput] public class GetChallengeOutputDTOBase : IFunctionOutputDTO { [Parameter("bytes32", "", 1)] public virtual byte[] ReturnValue1 { get; set; } } public partial class GetChallengeFunction : GetChallengeFunctionBase { } [Function("getChallenge", "bytes32")] public class GetChallengeFunctionBase : FunctionMessage { [Parameter("bytes32", "id", 1)] public virtual byte[] Id { get; set; } } public partial class GetHostOutputDTO : GetHostOutputDTOBase { } [FunctionOutput] public class GetHostOutputDTOBase : IFunctionOutputDTO { [Parameter("address", "", 1)] public virtual string ReturnValue1 { get; set; } } public partial class GetHostFunction : GetHostFunctionBase { } [Function("getHost", "address")] public class GetHostFunctionBase : FunctionMessage { [Parameter("bytes32", "slotId", 1)] public virtual byte[] SlotId { get; set; } } public partial class GetPointerOutputDTO : GetPointerOutputDTOBase { } [FunctionOutput] public class GetPointerOutputDTOBase : IFunctionOutputDTO { [Parameter("uint8", "", 1)] public virtual byte ReturnValue1 { get; set; } } public partial class GetPointerFunction : GetPointerFunctionBase { } [Function("getPointer", "uint8")] public class GetPointerFunctionBase : FunctionMessage { [Parameter("bytes32", "id", 1)] public virtual byte[] Id { get; set; } } public partial class GetRequestOutputDTO : GetRequestOutputDTOBase { } [FunctionOutput] public class GetRequestOutputDTOBase : IFunctionOutputDTO { [Parameter("tuple", "", 1)] public virtual Request ReturnValue1 { get; set; } } public partial class GetRequestFunction : GetRequestFunctionBase { } [Function("getRequest", typeof(GetRequestOutputDTO))] public class GetRequestFunctionBase : FunctionMessage { [Parameter("bytes32", "requestId", 1)] public virtual byte[] RequestId { get; set; } } public partial class IsProofRequiredOutputDTO : IsProofRequiredOutputDTOBase { } [FunctionOutput] public class IsProofRequiredOutputDTOBase : IFunctionOutputDTO { [Parameter("bool", "", 1)] public virtual bool ReturnValue1 { get; set; } } public partial class IsProofRequiredFunction : IsProofRequiredFunctionBase { } [Function("isProofRequired", "bool")] public class IsProofRequiredFunctionBase : FunctionMessage { [Parameter("bytes32", "id", 1)] public virtual byte[] Id { get; set; } } public partial class MarkProofAsMissingFunction : MarkProofAsMissingFunctionBase { } [Function("markProofAsMissing")] public class MarkProofAsMissingFunctionBase : FunctionMessage { [Parameter("bytes32", "slotId", 1)] public virtual byte[] SlotId { get; set; } [Parameter("uint256", "period", 2)] public virtual BigInteger Period { get; set; } } public partial class MissingProofsOutputDTO : MissingProofsOutputDTOBase { } [FunctionOutput] public class MissingProofsOutputDTOBase : IFunctionOutputDTO { [Parameter("uint256", "", 1)] public virtual BigInteger ReturnValue1 { get; set; } } public partial class MissingProofsFunction : MissingProofsFunctionBase { } [Function("missingProofs", "uint256")] public class MissingProofsFunctionBase : FunctionMessage { [Parameter("bytes32", "slotId", 1)] public virtual byte[] SlotId { get; set; } } public partial class MyRequestsOutputDTO : MyRequestsOutputDTOBase { } [FunctionOutput] public class MyRequestsOutputDTOBase : IFunctionOutputDTO { [Parameter("bytes32[]", "", 1)] public virtual List ReturnValue1 { get; set; } } public partial class MyRequestsFunction : MyRequestsFunctionBase { } [Function("myRequests", "bytes32[]")] public class MyRequestsFunctionBase : FunctionMessage { } public partial class MySlotsOutputDTO : MySlotsOutputDTOBase { } [FunctionOutput] public class MySlotsOutputDTOBase : IFunctionOutputDTO { [Parameter("bytes32[]", "", 1)] public virtual List ReturnValue1 { get; set; } } public partial class MySlotsFunction : MySlotsFunctionBase { } [Function("mySlots", "bytes32[]")] public class MySlotsFunctionBase : FunctionMessage { } public partial class RequestEndOutputDTO : RequestEndOutputDTOBase { } [FunctionOutput] public class RequestEndOutputDTOBase : IFunctionOutputDTO { [Parameter("uint256", "", 1)] public virtual BigInteger ReturnValue1 { get; set; } } public partial class RequestEndFunction : RequestEndFunctionBase { } [Function("requestEnd", "uint256")] public class RequestEndFunctionBase : FunctionMessage { [Parameter("bytes32", "requestId", 1)] public virtual byte[] RequestId { get; set; } } public partial class RequestExpiryOutputDTO : RequestExpiryOutputDTOBase { } [FunctionOutput] public class RequestExpiryOutputDTOBase : IFunctionOutputDTO { [Parameter("uint256", "", 1)] public virtual BigInteger ReturnValue1 { get; set; } } public partial class RequestExpiryFunction : RequestExpiryFunctionBase { } [Function("requestExpiry", "uint256")] public class RequestExpiryFunctionBase : FunctionMessage { [Parameter("bytes32", "requestId", 1)] public virtual byte[] RequestId { get; set; } } public partial class RequestStateOutputDTO : RequestStateOutputDTOBase { } [FunctionOutput] public class RequestStateOutputDTOBase : IFunctionOutputDTO { [Parameter("uint8", "", 1)] public virtual byte ReturnValue1 { get; set; } } public partial class RequestStateFunction : RequestStateFunctionBase { } [Function("requestState", "uint8")] public class RequestStateFunctionBase : FunctionMessage { [Parameter("bytes32", "requestId", 1)] public virtual byte[] RequestId { get; set; } } public partial class RequestStorageFunction : RequestStorageFunctionBase { } [Function("requestStorage")] public class RequestStorageFunctionBase : FunctionMessage { [Parameter("tuple", "request", 1)] public virtual Request Request { get; set; } } public partial class ReserveSlotFunction : ReserveSlotFunctionBase { } [Function("reserveSlot")] public class ReserveSlotFunctionBase : FunctionMessage { [Parameter("bytes32", "requestId", 1)] public virtual byte[] RequestId { get; set; } [Parameter("uint256", "slotIndex", 2)] public virtual BigInteger SlotIndex { get; set; } } public partial class SlotStateOutputDTO : SlotStateOutputDTOBase { } [FunctionOutput] public class SlotStateOutputDTOBase : IFunctionOutputDTO { [Parameter("uint8", "", 1)] public virtual byte ReturnValue1 { get; set; } } public partial class SlotStateFunction : SlotStateFunctionBase { } [Function("slotState", "uint8")] public class SlotStateFunctionBase : FunctionMessage { [Parameter("bytes32", "slotId", 1)] public virtual byte[] SlotId { get; set; } } public partial class SubmitProofFunction : SubmitProofFunctionBase { } [Function("submitProof")] public class SubmitProofFunctionBase : FunctionMessage { [Parameter("bytes32", "id", 1)] public virtual byte[] Id { get; set; } [Parameter("tuple", "proof", 2)] public virtual Groth16Proof Proof { get; set; } } public partial class TokenOutputDTO : TokenOutputDTOBase { } [FunctionOutput] public class TokenOutputDTOBase : IFunctionOutputDTO { [Parameter("address", "", 1)] public virtual string ReturnValue1 { get; set; } } public partial class TokenFunction : TokenFunctionBase { } [Function("token", "address")] public class TokenFunctionBase : FunctionMessage { } public partial class WillProofBeRequiredOutputDTO : WillProofBeRequiredOutputDTOBase { } [FunctionOutput] public class WillProofBeRequiredOutputDTOBase : IFunctionOutputDTO { [Parameter("bool", "", 1)] public virtual bool ReturnValue1 { get; set; } } public partial class WillProofBeRequiredFunction : WillProofBeRequiredFunctionBase { } [Function("willProofBeRequired", "bool")] public class WillProofBeRequiredFunctionBase : FunctionMessage { [Parameter("bytes32", "id", 1)] public virtual byte[] Id { get; set; } } public partial class WithdrawFundsFunction : WithdrawFundsFunctionBase { } [Function("withdrawFunds")] public class WithdrawFundsFunctionBase : FunctionMessage { [Parameter("bytes32", "requestId", 1)] public virtual byte[] RequestId { get; set; } } public partial class WithdrawFunds1Function : WithdrawFunds1FunctionBase { } [Function("withdrawFunds")] public class WithdrawFunds1FunctionBase : FunctionMessage { [Parameter("bytes32", "requestId", 1)] public virtual byte[] RequestId { get; set; } [Parameter("address", "withdrawRecipient", 2)] public virtual string WithdrawRecipient { get; set; } } public partial class CollateralConfig : CollateralConfigBase { } public class CollateralConfigBase { [Parameter("uint8", "repairRewardPercentage", 1)] public virtual byte RepairRewardPercentage { get; set; } [Parameter("uint8", "maxNumberOfSlashes", 2)] public virtual byte MaxNumberOfSlashes { get; set; } [Parameter("uint16", "slashCriterion", 3)] public virtual ushort SlashCriterion { get; set; } [Parameter("uint8", "slashPercentage", 4)] public virtual byte SlashPercentage { get; set; } } public partial class ProofConfig : ProofConfigBase { } public class ProofConfigBase { [Parameter("uint256", "period", 1)] public virtual BigInteger Period { get; set; } [Parameter("uint256", "timeout", 2)] public virtual BigInteger Timeout { get; set; } [Parameter("uint8", "downtime", 3)] public virtual byte Downtime { get; set; } [Parameter("string", "zkeyHash", 4)] public virtual string ZkeyHash { get; set; } [Parameter("uint8", "downtimeProduct", 5)] public virtual byte DowntimeProduct { get; set; } } public partial class SlotReservationsConfig : SlotReservationsConfigBase { } public class SlotReservationsConfigBase { [Parameter("uint8", "maxReservations", 1)] public virtual byte MaxReservations { get; set; } } public partial class MarketplaceConfig : MarketplaceConfigBase { } public class MarketplaceConfigBase { [Parameter("tuple", "collateral", 1)] public virtual CollateralConfig Collateral { get; set; } [Parameter("tuple", "proofs", 2)] public virtual ProofConfig Proofs { get; set; } [Parameter("tuple", "reservations", 3)] public virtual SlotReservationsConfig Reservations { get; set; } } public partial class Ask : AskBase { } public class AskBase { [Parameter("uint64", "slots", 1)] public virtual ulong Slots { get; set; } [Parameter("uint256", "slotSize", 2)] public virtual BigInteger SlotSize { get; set; } [Parameter("uint256", "duration", 3)] public virtual BigInteger Duration { get; set; } [Parameter("uint256", "proofProbability", 4)] public virtual BigInteger ProofProbability { get; set; } [Parameter("uint256", "reward", 5)] public virtual BigInteger Reward { get; set; } [Parameter("uint256", "collateral", 6)] public virtual BigInteger Collateral { get; set; } [Parameter("uint64", "maxSlotLoss", 7)] public virtual ulong MaxSlotLoss { get; set; } } public partial class G1Point : G1PointBase { } public class G1PointBase { [Parameter("uint256", "x", 1)] public virtual BigInteger X { get; set; } [Parameter("uint256", "y", 2)] public virtual BigInteger Y { get; set; } } public partial class Fp2Element : Fp2ElementBase { } public class Fp2ElementBase { [Parameter("uint256", "real", 1)] public virtual BigInteger Real { get; set; } [Parameter("uint256", "imag", 2)] public virtual BigInteger Imag { get; set; } } public partial class G2Point : G2PointBase { } public class G2PointBase { [Parameter("tuple", "x", 1)] public virtual Fp2Element X { get; set; } [Parameter("tuple", "y", 2)] public virtual Fp2Element Y { get; set; } } public partial class Groth16Proof : Groth16ProofBase { } public class Groth16ProofBase { [Parameter("tuple", "a", 1)] public virtual G1Point A { get; set; } [Parameter("tuple", "b", 2)] public virtual G2Point B { get; set; } [Parameter("tuple", "c", 3)] public virtual G1Point C { get; set; } } public partial class Content : ContentBase { } public class ContentBase { [Parameter("string", "cid", 1)] public virtual string Cid { get; set; } [Parameter("bytes32", "merkleRoot", 2)] public virtual byte[] MerkleRoot { get; set; } } public partial class Request : RequestBase { } public class RequestBase { [Parameter("address", "client", 1)] public virtual string Client { get; set; } [Parameter("tuple", "ask", 2)] public virtual Ask Ask { get; set; } [Parameter("tuple", "content", 3)] public virtual Content Content { get; set; } [Parameter("uint256", "expiry", 4)] public virtual BigInteger Expiry { get; set; } [Parameter("bytes32", "nonce", 5)] public virtual byte[] Nonce { get; set; } } public partial class ActiveSlot : ActiveSlotBase { } public class ActiveSlotBase { [Parameter("tuple", "request", 1)] public virtual Request Request { get; set; } [Parameter("uint256", "slotIndex", 2)] public virtual BigInteger SlotIndex { get; set; } } } #pragma warning restore CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.