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 = "0x60c06040523480156200001157600080fd5b506040516200454b3803806200454b833981016040819052620000349162000571565b602083015180516040850151516001805460ff191660ff909216919091179055608052816101004311620000af5760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420626c6f636b206865696768740000000000000060448201526064015b60405180910390fd5b81516002908155602083015160035560408301516004805460ff191660ff9092169190911790556060830151839190600590620000ed908262000724565b50608091909101516004909101805460ff191660ff928316179055600780546001600160a01b0319166001600160a01b0393841617905590841660a0528451516064911611159050620001835760405162461bcd60e51b815260206004820152601560248201527f4d757374206265206c657373207468616e2031303000000000000000000000006044820152606401620000a6565b606483600001516060015160ff161115620001e15760405162461bcd60e51b815260206004820152601560248201527f4d757374206265206c657373207468616e2031303000000000000000000000006044820152606401620000a6565b82516060810151602090910151606491620001fc91620007f0565b60ff1611156200024f5760405162461bcd60e51b815260206004820152601d60248201527f4d6178696d756d20736c617368696e67206578636565647320313030250000006044820152606401620000a6565b82518051600f805460208085015160408087015160609788015160ff9081166401000000000260ff60201b1961ffff90931662010000029290921664ffffff0000199482166101000261ffff199097169882169890981795909517929092169590951717835580880151805160109081559181015160115593840151601280549190931660ff19919091161790915592820151869391929190601390620002f7908262000724565b50608091909101516004909101805460ff1990811660ff938416179091556040939093015151600692909201805490931691161790555062000822915050565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b038111828210171562000372576200037262000337565b60405290565b604051606081016001600160401b038111828210171562000372576200037262000337565b604051608081016001600160401b038111828210171562000372576200037262000337565b604051601f8201601f191681016001600160401b0381118282101715620003ed57620003ed62000337565b604052919050565b805160ff811681146200040757600080fd5b919050565b600060a082840312156200041f57600080fd5b620004296200034d565b905081518152602080830151818301526200044760408401620003f5565b604083015260608301516001600160401b03808211156200046757600080fd5b818501915085601f8301126200047c57600080fd5b81518181111562000491576200049162000337565b620004a5601f8201601f19168501620003c2565b91508082528684828501011115620004bc57600080fd5b60005b81811015620004dc578381018501518382018601528401620004bf565b50600084828401015250806060850152505050620004fd60808301620003f5565b608082015292915050565b6000602082840312156200051b57600080fd5b604051602081016001600160401b038111828210171562000540576200054062000337565b6040529050806200055183620003f5565b905292915050565b80516001600160a01b03811681146200040757600080fd5b6000806000606084860312156200058757600080fd5b83516001600160401b03808211156200059f57600080fd5b9085019081870360c0811215620005b557600080fd5b620005bf62000378565b6080821215620005ce57600080fd5b620005d86200039d565b9150620005e584620003f5565b8252620005f560208501620003f5565b6020830152604084015161ffff811681146200061057600080fd5b60408301526200062360608501620003f5565b6060830152908152608083015190828211156200063f57600080fd5b6200064d898386016200040c565b6020820152620006618960a0860162000508565b604082015295506200067a925050506020850162000559565b91506200068a6040850162000559565b90509250925092565b600181811c90821680620006a857607f821691505b602082108103620006c957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200071f576000816000526020600020601f850160051c81016020861015620006fa5750805b601f850160051c820191505b818110156200071b5782815560010162000706565b5050505b505050565b81516001600160401b0381111562000740576200074062000337565b620007588162000751845462000693565b84620006cf565b602080601f831160018114620007905760008415620007775750858301515b600019600386901b1c1916600185901b1785556200071b565b600085815260208120601f198616915b82811015620007c157888601518255948401946001909101908401620007a0565b5085821015620007e05787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60ff81811683821602908116908181146200081b57634e487b7160e01b600052601160045260246000fd5b5092915050565b60805160a051613cd2620008796000396000818161044201528181611ae30152818161238e0152818161242d015281816125bb0152818161265a0152612852015260008181612d810152612f470152613cd26000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c80636e2b54ee116100ee578063be5cdc4811610097578063e8aa0a0711610071578063e8aa0a07146103ed578063f752196b14610400578063fb1e61ca14610420578063fc0c546a1461044057600080fd5b8063be5cdc48146103a7578063c0cc4add146103c7578063c5d43351146103da57600080fd5b8063a3a0807e116100c8578063a3a0807e14610361578063a6af384b14610374578063b396dc791461038757600080fd5b80636e2b54ee146103335780639777b72c14610346578063a29c29a41461034e57600080fd5b80634641dce61161015b5780635da73835116101355780635da73835146102b257806362d48e13146102c75780636b00c8cf146102da5780636c70bee91461031e57600080fd5b80634641dce6146102575780634802f44b1461027c57806359cc89ed1461029f57600080fd5b80630aefaabe1161018c5780630aefaabe1461020e578063329b5a0b14610221578063458d2bf11461024457600080fd5b806302fa8e65146101b357806305b90773146101d957806308695fcd146101f9575b600080fd5b6101c66101c136600461312e565b610466565b6040519081526020015b60405180910390f35b6101ec6101e736600461312e565b6104dd565b6040516101d0919061315d565b61020c610207366004613177565b6105ef565b005b61020c61021c3660046131ae565b610745565b6101c661022f36600461312e565b60009081526017602052604090206005015490565b6101c661025236600461312e565b610922565b61026a61026536600461312e565b61093b565b60405160ff90911681526020016101d0565b61028f61028a366004613177565b61094e565b60405190151581526020016101d0565b61020c6102ad366004613203565b6109d7565b6102ba610d3e565b6040516101d0919061323a565b61020c6102d5366004613177565b610d65565b6103066102e836600461312e565b6000908152601860205260409020600501546001600160a01b031690565b6040516001600160a01b0390911681526020016101d0565b610326610e62565b6040516101d091906132c4565b61020c61034136600461312e565b611016565b6102ba611023565b61020c61035c36600461312e565b611042565b61028f61036f36600461312e565b6110b2565b61020c61038236600461336d565b6110e7565b61039a61039536600461312e565b61143c565b6040516101d09190613476565b6103ba6103b536600461312e565b611625565b6040516101d091906134a8565b61028f6103d536600461312e565b6116f3565b61020c6103e83660046134bc565b611706565b61020c6103fb3660046134ec565b611b6b565b6101c661040e36600461312e565b6000908152600a602052604090205490565b61043361042e36600461312e565b611ca0565b6040516101d0919061351a565b7f0000000000000000000000000000000000000000000000000000000000000000610306565b60008181526017602052604081206004015481610482846104dd565b9050600081600481111561049857610498613147565b14806104b5575060018160048111156104b3576104b3613147565b145b156104c1575092915050565b6104d5826104d0600142613543565b611e57565b949350505050565b60008181526016602052604081205482906001600160a01b031661053a5760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b60448201526064015b60405180910390fd5b600083815260176020526040812090815460ff16600481111561055f5761055f613147565b14801561057c575060008481526017602052604090206005015442115b1561058b5760029250506105e9565b6001815460ff1660048111156105a3576105a3613147565b14806105c457506000815460ff1660048111156105c2576105c2613147565b145b80156105d35750806004015442115b156105e25760039250506105e9565b5460ff1691505b50919050565b60016105fa83611625565b600581111561060b5761060b613147565b146106585760405162461bcd60e51b815260206004820152601960248201527f536c6f74206e6f7420616363657074696e672070726f6f6673000000000000006044820152606401610531565b6106628282611e6f565b6000828152601860209081526040808320600181015484526016909252909120600f5461ffff62010000909104166106a6856000908152600a602052604090205490565b6106b0919061356c565b60000361073f57600f5460068201546000916064916106da91640100000000900460ff1690613580565b6106e49190613597565b9050808360040160008282546106fa9190613543565b9091555050600f546000868152600a6020526040902054610100820460ff169162010000900461ffff169061072f9190613597565b1061073d5761073d8561209c565b505b50505050565b826000808281526018602052604090205460ff16600581111561076a5761076a613147565b036107a65760405162461bcd60e51b815260206004820152600c60248201526b536c6f74206973206672656560a01b6044820152606401610531565b600084815260186020526040902060058101546001600160a01b031633146108105760405162461bcd60e51b815260206004820152601960248201527f536c6f742066696c6c6564206279206f7468657220686f7374000000000000006044820152606401610531565b600061081b86611625565b9050600481600581111561083157610831613147565b0361087e5760405162461bcd60e51b815260206004820152600c60248201527f416c7265616479207061696400000000000000000000000000000000000000006044820152606401610531565b600281600581111561089257610892613147565b036108ac576108a7826001015487878761226a565b61091a565b60058160058111156108c0576108c0613147565b036108d5576108a782600101548787876124b2565b60038160058111156108e9576108e9613147565b036108f8576108a733876126dd565b600181600581111561090c5761090c613147565b0361091a5761091a8661209c565b505050505050565b6000610935826109306126ff565b61270a565b92915050565b6000610935826109496126ff565b61271e565b60408051602080820185905281830184905282518083038401815260609092019092528051910120600090339061098481612792565b80156109ad5750600154600082815260208190526040902060ff909116906109ab906127bf565b105b80156109ce575060008181526020819052604090206109cc90836127c9565b155b95945050505050565b60008381526016602052604090205483906001600160a01b0316610a2f5760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b6044820152606401610531565b6000848152601660205260409020600181015467ffffffffffffffff168410610a9a5760405162461bcd60e51b815260206004820152600c60248201527f496e76616c696420736c6f7400000000000000000000000000000000000000006044820152606401610531565b60408051602080820188905281830187905282518083038401815260609092018352815191810191909120600081815291829052919020610adb90336127c9565b610b275760405162461bcd60e51b815260206004820152601460248201527f5265736572766174696f6e2072657175697265640000000000000000000000006044820152606401610531565b6000818152601860209081526040808320600181018a905560038101899055898452601790925282209091610b5b84611625565b6005811115610b6c57610b6c613147565b14610bb95760405162461bcd60e51b815260206004820152601060248201527f536c6f74206973206e6f742066726565000000000000000000000000000000006044820152606401610531565b600484015460008481526008602090815260408083204290556009909152902055610be48387611b6b565b60058201805473ffffffffffffffffffffffffffffffffffffffff191633179055815460ff1916600190811783554260028401558181018054600090610c2b9084906135ab565b92505081905550610c408883600201546127eb565b816002016000828254610c539190613543565b90915550506006840154610c67338261280a565b8060196000016000828254610c7c91906135ab565b9091555050600483018190556005830154610ca0906001600160a01b03168561290d565b887ff530852268993f91008f1a1e0b09b5c813acd4188481f1fa83c33c7182e814b489604051610cd291815260200190565b60405180910390a26001808601549083015467ffffffffffffffff9091169003610d3357815460ff1916600117825542600383015560405189907f85e1543bf2f84fe80c6badbce3648c8539ad1df4d2b3d822938ca0538be727e690600090a25b505050505050505050565b336000908152600e60205260409020606090610d6090610d5d9061292f565b90565b905090565b610d6f828261094e565b610dbb5760405162461bcd60e51b815260206004820152601760248201527f5265736572766174696f6e206e6f7420616c6c6f7765640000000000000000006044820152606401610531565b60408051602080820185905281830184905282518083038401815260609092018352815191810191909120600081815291829052919020610dfc903361293c565b50600154600082815260208190526040902060ff90911690610e1d906127bf565b03610e5d57827f3bef2ebab8cc92e0edda5decf18232f0606a18405ef674b51ea9d1e0e3839b4183604051610e5491815260200190565b60405180910390a25b505050565b610ed66040805160e081019091526000606082018181526080830182905260a0830182905260c0830191909152819081526040805160a08101825260008082526020828101829052928201819052606080830152608082015291019081526040805160208181019092526000815291015290565b6040805160e081018252600f805460ff808216606080860191825261010084048316608087015261ffff6201000085041660a080880191909152640100000000909404831660c087015290855285519283018652601080548452601154602085810191909152601254909316968401969096526013805495969495928701949291840191610f63906135be565b80601f0160208091040260200160405190810160405280929190818152602001828054610f8f906135be565b8015610fdc5780601f10610fb157610100808354040283529160200191610fdc565b820191906000526020600020905b815481529060010190602001808311610fbf57829003601f168201915b50505091835250506004919091015460ff908116602092830152918352604080518083019091526006949094015490911683520152919050565b6110208133611706565b50565b336000908152600d60205260409020606090610d6090610d5d9061292f565b806000808281526018602052604090205460ff16600581111561106757611067613147565b036110a35760405162461bcd60e51b815260206004820152600c60248201526b536c6f74206973206672656560a01b6044820152606401610531565b6110ae823333610745565b5050565b60008060006110c8846110c36126ff565b612951565b90925090508180156104d5575060045460ff9081169116109392505050565b336110f560208301836135f2565b6001600160a01b03161461114b5760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420636c69656e742061646472657373000000000000000000006044820152606401610531565b600061115e61115983613784565b612a34565b6000818152601660205260409020549091506001600160a01b0316156111c65760405162461bcd60e51b815260206004820152601660248201527f5265717565737420616c726561647920657869737473000000000000000000006044820152606401610531565b60008261012001351180156111e357506060820135610120830135105b61122f5760405162461bcd60e51b815260206004820152601360248201527f457870697279206e6f7420696e2072616e6765000000000000000000000000006044820152606401610531565b60006112416040840160208501613873565b67ffffffffffffffff16116112985760405162461bcd60e51b815260206004820152601260248201527f496e73756666696369656e7420736c6f747300000000000000000000000000006044820152606401610531565b6112a86040830160208401613873565b67ffffffffffffffff166112c3610100840160e08501613873565b67ffffffffffffffff16111561131b5760405162461bcd60e51b815260206004820152601960248201527f6d6178536c6f744c6f7373206578636565647320736c6f7473000000000000006044820152606401610531565b6000818152601660205260409020829061133582826139fe565b5061134690506060830135426135ab565b600082815260176020526040902060040155611367610120830135426135ab565b6000828152601760209081526040909120600501919091556113959061138f908401846135f2565b82612a64565b60006113a86113a384613784565b612a86565b60008381526017602052604081206002018290556019805492935083929091906113d39084906135ab565b909155506113e39050338261280a565b7f5fdb86c365a247a4d97dcbcc5c3abde9d6e3e2de26273f3fda8eef5073b9a96c8284602001601760008681526020019081526020016000206005015460405161142f93929190613af6565b60405180910390a1505050565b611444613066565b816000808281526018602052604090205460ff16600581111561146957611469613147565b036114a55760405162461bcd60e51b815260206004820152600c60248201526b536c6f74206973206672656560a01b6044820152606401610531565b60008381526018602052604090206114bb613066565b600180830154600090815260166020908152604091829020825160a0808201855282546001600160a01b03168252845160e0810186529583015467ffffffffffffffff9081168752600284015487860152600384015487870152600484015460608801526005840154608088015260068401549187019190915260078301541660c0860152918201939093528151808301835260088401805492949385019282908290611567906135be565b80601f0160208091040260200160405190810160405280929190818152602001828054611593906135be565b80156115e05780601f106115b5576101008083540402835291602001916115e0565b820191906000526020600020905b8154815290600101906020018083116115c357829003601f168201915b505050918352505060019190910154602091820152908252600a83015482820152600b9092015460409091015290825260039092015491810191909152915050919050565b6000818152601860205260408120600181015482036116475750600092915050565b600061165682600101546104dd565b90506004825460ff16600581111561167057611670613147565b0361167f575060049392505050565b600281600481111561169357611693613147565b036116a2575060059392505050565b60038160048111156116b6576116b6613147565b036116c5575060029392505050565b60048160048111156116d9576116d9613147565b036116e8575060039392505050565b505460ff1692915050565b6000610935826117016126ff565b612ab7565b600082815260166020526040902080546001600160a01b0316331461176d5760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420636c69656e742061646472657373000000000000000000006044820152606401610531565b600083815260176020526040812090611785856104dd565b9050600281600481111561179b5761179b613147565b14806117b8575060048160048111156117b6576117b6613147565b145b806117d4575060038160048111156117d2576117d2613147565b145b6118205760405162461bcd60e51b815260206004820152600d60248201527f496e76616c6964207374617465000000000000000000000000000000000000006044820152606401610531565b81600201546000036118745760405162461bcd60e51b815260206004820152601360248201527f4e6f7468696e6720746f207769746864726177000000000000000000000000006044820152606401610531565b600281600481111561188857611888613147565b0361191257815460ff1916600217825560405185907ff903f4774c7bd27355f9d7fcbc382b079b164a697a44ac5d95267a4c3cb3bb2290600090a26118e5856118e08760009081526017602052604090206005015490565b6127eb565b82600101546118f49190613580565b82600201600082825461190791906135ab565b90915550611a899050565b600481600481111561192657611926613147565b03611a7d576040805160a0808201835285546001600160a01b03168252825160e081018452600187015467ffffffffffffffff90811682526002880154602083810191909152600389015483870152600489015460608401526005890154608084015260068901549383019390935260078801541660c08201529082015281518083018352600886018054611a73948893908501929091829082906119ca906135be565b80601f01602080910402602001604051908101604052809291908181526020018280546119f6906135be565b8015611a435780601f10611a1857610100808354040283529160200191611a43565b820191906000526020600020905b815481529060010190602001808311611a2657829003601f168201915b505050505081526020016001820154815250508152602001600a8201548152602001600b82015481525050612a86565b6002830155611a89565b815460ff191660031782555b8254611a9e906001600160a01b031686612ae7565b6002820154601a8054829190600090611ab89084906135ab565b909155505060405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015611b2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b509190613b72565b611b5c57611b5c613b94565b50506000600290910155505050565b6000828152601860209081526040808320600101548084526016909252909120546001600160a01b0316611bd35760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b6044820152606401610531565b600083815260186020908152604080832060018101548452601683528184208251600380825260808201909452919490939092908201606080368337019050509050611c26611c2187610922565b612b09565b81600081518110611c3957611c39613baa565b60209081029190910101526009820154611c5290612b1a565b81600181518110611c6557611c65613baa565b602002602001018181525050826003015481600281518110611c8957611c89613baa565b60200260200101818152505061091a868683612b26565b611ca8613086565b60008281526016602052604090205482906001600160a01b0316611d005760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b6044820152606401610531565b600083815260166020908152604091829020825160a0808201855282546001600160a01b03168252845160e081018652600184015467ffffffffffffffff90811682526002850154828701526003850154828801526004850154606083015260058501546080830152600685015492820192909252600784015490911660c08201529281019290925282518084018452600882018054939492939285019282908290611dab906135be565b80601f0160208091040260200160405190810160405280929190818152602001828054611dd7906135be565b8015611e245780601f10611df957610100808354040283529160200191611e24565b820191906000526020600020905b815481529060010190602001808311611e0757829003601f168201915b505050505081526020016001820154815250508152602001600a8201548152602001600b82015481525050915050919050565b6000818310611e665781611e68565b825b9392505050565b6000611e7a82612ce5565b9050428110611ecb5760405162461bcd60e51b815260206004820152601860248201527f506572696f6420686173206e6f7420656e6465642079657400000000000000006044820152606401610531565b600354611ed890826135ab565b4210611f265760405162461bcd60e51b815260206004820152601460248201527f56616c69646174696f6e2074696d6564206f75740000000000000000000000006044820152606401610531565b6000838152600b6020908152604080832085845290915290205460ff1615611f905760405162461bcd60e51b815260206004820181905260248201527f50726f6f6620776173207375626d69747465642c206e6f74206d697373696e676044820152606401610531565b611f9a8383612ab7565b611fe65760405162461bcd60e51b815260206004820152601660248201527f50726f6f6620776173206e6f74207265717569726564000000000000000000006044820152606401610531565b6000838152600c6020908152604080832085845290915290205460ff16156120505760405162461bcd60e51b815260206004820152601f60248201527f50726f6f6620616c7265616479206d61726b6564206173206d697373696e67006044820152606401610531565b6000838152600c602090815260408083208584528252808320805460ff19166001908117909155868452600a90925282208054919290916120929084906135ab565b9091555050505050565b600081815260186020908152604080832060018101548085526017909352922060028301546120cc9083906127eb565b8160020160008282546120df91906135ab565b909155505060058301546120fc906001600160a01b0316856126dd565b6003808401546000868152601860205260408120805460ff1916815560018082018390556002820183905593810182905560048101829055600501805473ffffffffffffffffffffffffffffffffffffffff191690558383018054929392909190612168908490613543565b909155505060405181815283907f1d31c9f8dea6e179f6a050db117595feea8937029ea51f5168a4780be7e8f5529060200160405180910390a26000858152600a60205260408120556000838152601660205260408120600180850154908201549192916121e0919067ffffffffffffffff16613543565b600783015490915067ffffffffffffffff168111801561221557506001845460ff16600481111561221357612213613147565b145b1561226157835460ff19166004178455612230600142613543565b600485015560405185907f4769361a442504ecaf038f35e119bcccdd5e42096b24c09e3c17fd17c6684c0290600090a25b50505050505050565b60008481526016602052604090205484906001600160a01b03166122c25760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b6044820152606401610531565b600085815260176020908152604080832060168352818420815460ff19166003178255888552601890935292208154612304906001600160a01b031689612ae7565b600581015461231c906001600160a01b0316886126dd565b600061232c8983600201546127eb565b600483015490915061233e81836135ab565b601a80546000906123509084906135ab565b90915550508254600490849060ff1916600183021790555060405163a9059cbb60e01b81526001600160a01b038981166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af11580156123d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123fb9190613b72565b61240757612407613b94565b60405163a9059cbb60e01b81526001600160a01b038881166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015612476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061249a9190613b72565b6124a6576124a6613b94565b50505050505050505050565b60008481526016602052604090205484906001600160a01b031661250a5760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b6044820152606401610531565b60008481526018602052604090206005810154612530906001600160a01b0316866126dd565b60006125598783600201546125548a60009081526017602052604090206005015490565b612cf8565b600483015490915061256b81836135ab565b601a805460009061257d9084906135ab565b90915550508254600490849060ff1916600183021790555060405163a9059cbb60e01b81526001600160a01b038781166004830152602482018490527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015612604573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126289190613b72565b61263457612634613b94565b60405163a9059cbb60e01b81526001600160a01b038681166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af11580156126a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126c79190613b72565b6126d3576126d3613b94565b5050505050505050565b6001600160a01b0382166000908152600e60205260409020610e5d9082612d6e565b6000610d6042612d7a565b6000611e68612719848461271e565b612da6565b60008061272d6101004361356c565b600654909150600090610100906127479060ff1686613580565b612751919061356c565b905060006127616101008761356c565b905060006101008261277385876135ab565b61277d91906135ab565b612787919061356c565b979650505050505050565b60008060008381526018602052604090205460ff1660058111156127b8576127b8613147565b1492915050565b6000610935825490565b6001600160a01b03811660009081526001830160205260408120541515611e68565b600082815260176020526040812060040154611e689084908490612cf8565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830181905260448301849052917f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd906064016020604051808303816000875af115801561289d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128c19190613b72565b610e5d5760405162461bcd60e51b815260206004820152600f60248201527f5472616e73666572206661696c656400000000000000000000000000000000006044820152606401610531565b6001600160a01b0382166000908152600e60205260409020610e5d9082612e00565b60606000611e6883612e0c565b6000611e68836001600160a01b038416612e68565b600080600061295f85611625565b6000868152600860205260408120549192509061297b90612d7a565b9050600182600581111561299157612991613147565b1415806129a557506129a38582612eb7565b155b156129b857600080935093505050612a2d565b6129c2868661271e565b925060006129cf84612da6565b600454909150600090610100906129e99060ff1682613bc0565b60008a815260096020526040902054612a069161ffff1690613580565b612a109190613597565b9050801580612a265750612a24818361356c565b155b9550505050505b9250929050565b600081604051602001612a47919061351a565b604051602081830303815290604052805190602001209050919050565b6001600160a01b0382166000908152600d60205260409020610e5d9082612e00565b6020810151608081015160408201519151600092612aad9167ffffffffffffffff16613580565b6109359190613580565b6000806000612ac68585612951565b90925090508180156109ce575060045460ff90811691161015949350505050565b6001600160a01b0382166000908152600d60205260409020610e5d9082612d6e565b600060ff198216816104d582612ec1565b600080611e6883612ec1565b6000838152600b6020526040812090612b3d6126ff565b815260208101919091526040016000205460ff1615612b9e5760405162461bcd60e51b815260206004820152601760248201527f50726f6f6620616c7265616479207375626d69747465640000000000000000006044820152606401610531565b6007546040517f94c8919d0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116906394c8919d90612be99085908590600401613bdb565b602060405180830381865afa158015612c06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c2a9190613b72565b612c765760405162461bcd60e51b815260206004820152600d60248201527f496e76616c69642070726f6f66000000000000000000000000000000000000006044820152606401610531565b6000838152600b60205260408120600191612c8f6126ff565b815260200190815260200160002060006101000a81548160ff0219169083151502179055507f3b989d183b84b02259d7c14b34a9c9eb0fccb4c355a920d25e581e25aef4993d8360405161142f91815260200190565b6000610935612cf383612f33565b612f40565b6000838152601660205260408120828410612d555760405162461bcd60e51b815260206004820152601760248201527f5374617274206e6f74206265666f7265206578706972790000000000000000006044820152606401610531565b6005810154612d648585613543565b6109ce9190613580565b6000611e688383612f6c565b60006109357f000000000000000000000000000000000000000000000000000000000000000083613597565b60008060ff8316612db8600143613543565b612dc29190613543565b4090506000819003612dd657612dd6613b94565b60408051602081018390520160405160208183030381529060405280519060200120915050919050565b6000611e688383612e68565b606081600001805480602002602001604051908101604052809291908181526020018280548015612e5c57602002820191906000526020600020905b815481526020019060010190808311612e48575b50505050509050919050565b6000818152600183016020526040812054612eaf57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610935565b506000610935565b6000818311611e68565b7fff00000000000000000000000000000000000000000000000000000000000000811660015b60208110156105e957600891821c91612f01908290613580565b83901b7fff00000000000000000000000000000000000000000000000000000000000000169190911790600101612ee7565b60006109358260016135ab565b60006109357f000000000000000000000000000000000000000000000000000000000000000083613580565b60008181526001830160205260408120548015613055576000612f90600183613543565b8554909150600090612fa490600190613543565b9050818114613009576000866000018281548110612fc457612fc4613baa565b9060005260206000200154905080876000018481548110612fe757612fe7613baa565b6000918252602080832090910192909255918252600188019052604090208390555b855486908061301a5761301a613c86565b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050610935565b6000915050610935565b5092915050565b6040518060400160405280613079613086565b8152602001600081525090565b6040518060a0016040528060006001600160a01b031681526020016130f56040518060e00160405280600067ffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600067ffffffffffffffff1681525090565b815260200161311a604051806040016040528060608152602001600080191681525090565b815260006020820181905260409091015290565b60006020828403121561314057600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b602081016005831061317157613171613147565b91905290565b6000806040838503121561318a57600080fd5b50508035926020909101359150565b6001600160a01b038116811461102057600080fd5b6000806000606084860312156131c357600080fd5b8335925060208401356131d581613199565b915060408401356131e581613199565b809150509250925092565b600061010082840312156105e957600080fd5b6000806000610140848603121561321957600080fd5b833592506020840135915061323185604086016131f0565b90509250925092565b6020808252825182820181905260009190848201906040850190845b8181101561327257835183529284019291840191600101613256565b50909695505050505050565b6000815180845260005b818110156132a457602081850181015186830182015201613288565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000825160ff815116602084015260ff602082015116604084015261ffff604082015116606084015260ff606082015116608084015250602083015160c060a0840152805160e0840152602081015161010084015260ff604082015116610120840152606081015160a061014085015261334661018085018261327e565b905060ff608083015116610160850152604085015191506104d560c08501835160ff169052565b60006020828403121561337f57600080fd5b813567ffffffffffffffff81111561339657600080fd5b82016101608185031215611e6857600080fd5b60008151604084526133be604085018261327e565b602093840151949093019390935250919050565b60006101606001600160a01b038351168452602083015167ffffffffffffffff808251166020870152602082015160408701526040820151606087015260608201516080870152608082015160a087015260a082015160c08701528060c08301511660e08701525050604083015181610100860152613453828601826133a9565b915050606083015161012085015260808301516101408501528091505092915050565b60208152600082516040602084015261349260608401826133d2565b9050602084015160408401528091505092915050565b602081016006831061317157613171613147565b600080604083850312156134cf57600080fd5b8235915060208301356134e181613199565b809150509250929050565b600080610120838503121561350057600080fd5b8235915061351184602085016131f0565b90509250929050565b602081526000611e6860208301846133d2565b634e487b7160e01b600052601160045260246000fd5b818103818111156109355761093561352d565b634e487b7160e01b600052601260045260246000fd5b60008261357b5761357b613556565b500690565b80820281158282048414176109355761093561352d565b6000826135a6576135a6613556565b500490565b808201808211156109355761093561352d565b600181811c908216806135d257607f821691505b6020821081036105e957634e487b7160e01b600052602260045260246000fd5b60006020828403121561360457600080fd5b8135611e6881613199565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156136485761364861360f565b60405290565b60405160a0810167ffffffffffffffff811182821017156136485761364861360f565b60405160e0810167ffffffffffffffff811182821017156136485761364861360f565b604051601f8201601f1916810167ffffffffffffffff811182821017156136bd576136bd61360f565b604052919050565b67ffffffffffffffff8116811461102057600080fd5b6000604082840312156136ed57600080fd5b6136f5613625565b9050813567ffffffffffffffff8082111561370f57600080fd5b818401915084601f83011261372357600080fd5b81356020828211156137375761373761360f565b613749601f8301601f19168201613694565b9250818352868183860101111561375f57600080fd5b8181850182850137600081838501015282855280860135818601525050505092915050565b600081360361016081121561379857600080fd5b6137a061364e565b83356137ab81613199565b815260e0601f19830112156137bf57600080fd5b6137c7613671565b915060208401356137d7816136c5565b8083525060408401356020830152606084013560408301526080840135606083015260a0840135608083015260c084013560a083015260e084013561381b816136c5565b60c083015260208101919091526101008301359067ffffffffffffffff82111561384457600080fd5b613850368386016136db565b604082015261012084013560608201526101409093013560808401525090919050565b60006020828403121561388557600080fd5b8135611e68816136c5565b60008135610935816136c5565b60008235603e198336030181126138b357600080fd5b9190910192915050565b601f821115610e5d576000816000526020600020601f850160051c810160208610156138e65750805b601f850160051c820191505b8181101561091a578281556001016138f2565b8135601e1983360301811261391957600080fd5b8201803567ffffffffffffffff81111561393257600080fd5b6020813603818401131561394557600080fd5b6139598261395386546135be565b866138bd565b6000601f83116001811461398f576000841561397757508482018301355b600019600386901b1c1916600185901b1786556139ec565b600086815260209020601f19851690835b828110156139c15787850186013582559385019360019091019085016139a0565b50858210156139e05760001960f88760031b161c198585890101351681555b505060018460011b0186555b50508085013560018501555050505050565b8135613a0981613199565b6001600160a01b03811673ffffffffffffffffffffffffffffffffffffffff19835416178255506020820135613a3e816136c5565b60018201805467ffffffffffffffff191667ffffffffffffffff83161790555060408201356002820155606082013560038201556080820135600482015560a0820135600582015560c08201356006820155613ac2613a9f60e08401613890565b6007830167ffffffffffffffff821667ffffffffffffffff198254161781555050565b613adc613ad361010084018461389d565b60088301613905565b610120820135600a820155610140820135600b8201555050565b83815261012081018335613b09816136c5565b67ffffffffffffffff8082166020850152602086013560408501526040860135606085015260608601356080850152608086013560a085015260a086013560c085015260c08601359150613b5c826136c5565b1660e08301526101009091019190915292915050565b600060208284031215613b8457600080fd5b81518015158114611e6857600080fd5b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b61ffff82811682821603908082111561305f5761305f61352d565b82358152602080840135908201526000610120828101613c0b604085016040880180358252602090810135910152565b613c25608085016080880180358252602090810135910152565b613c3f60c0850160c0880180358252602090810135910152565b61010084019190915283519081905261014083019060209081860160005b82811015613c7957815185529383019390830190600101613c5d565b5092979650505050505050565b634e487b7160e01b600052603160045260246000fdfea2646970667358221220d51f0a13fcc86747a937b88d1b542ea77730e54117326a0d7340949f3dd1879864736f6c63430008170033"; 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 ConfigurationOutputDTO : ConfigurationOutputDTOBase { } [FunctionOutput] public class ConfigurationOutputDTOBase : IFunctionOutputDTO { [Parameter("tuple", "", 1)] public virtual MarketplaceConfig ReturnValue1 { get; set; } } public partial class ConfigurationFunction : ConfigurationFunctionBase { } [Function("configuration", typeof(ConfigurationOutputDTO))] public class ConfigurationFunctionBase : 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.