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 = "0x60c06040523480156200001157600080fd5b5060405162003c9b38038062003c9b833981016040819052620000349162000487565b60208301518051608052816101004311620000965760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e7420626c6f636b206865696768740000000000000060448201526064015b60405180910390fd5b81516000908155602083015160015560408301516002805460ff191660ff9092169190911790556060830151839190600390620000d4908262000627565b5050600480546001600160a01b0319166001600160a01b0393841617905550831660a05250825151606460ff9091161115620001535760405162461bcd60e51b815260206004820152601560248201527f4d757374206265206c657373207468616e20313030000000000000000000000060448201526064016200008d565b606483600001516060015160ff161115620001b15760405162461bcd60e51b815260206004820152601560248201527f4d757374206265206c657373207468616e20313030000000000000000000000060448201526064016200008d565b82516060810151602090910151606491620001cc91620006f3565b60ff1611156200021f5760405162461bcd60e51b815260206004820152601d60248201527f4d6178696d756d20736c617368696e672065786365656473203130302500000060448201526064016200008d565b82518051600c805460208085015160408087015160609788015160ff9081166401000000000260ff60201b1961ffff90931662010000029290921664ffffff0000199482166101000261ffff1990971698821698909817959095179290921695909517178355808801518051600d90815591810151600e5593840151600f80549190931660ff19919091161790915592820151869391929190601090620002c7908262000627565b50505090505050505062000725565b634e487b7160e01b600052604160045260246000fd5b604051608081016001600160401b0381118282101715620003115762000311620002d6565b60405290565b604080519081016001600160401b0381118282101715620003115762000311620002d6565b604051601f8201601f191681016001600160401b0381118282101715620003675762000367620002d6565b604052919050565b805160ff811681146200038157600080fd5b919050565b6000608082840312156200039957600080fd5b620003a3620002ec565b90508151815260208083015181830152620003c1604084016200036f565b604083015260608301516001600160401b0380821115620003e157600080fd5b818501915085601f830112620003f657600080fd5b8151818111156200040b576200040b620002d6565b6200041f601f8201601f191685016200033c565b915080825286848285010111156200043657600080fd5b60005b818110156200045657838101850151838201860152840162000439565b5060008482840101525080606085015250505092915050565b80516001600160a01b03811681146200038157600080fd5b6000806000606084860312156200049d57600080fd5b83516001600160401b0380821115620004b557600080fd5b9085019081870360a0811215620004cb57600080fd5b620004d562000317565b6080821215620004e457600080fd5b620004ee620002ec565b9150620004fb846200036f565b82526200050b602085016200036f565b6020830152604084015161ffff811681146200052657600080fd5b604083015262000539606085016200036f565b6060830152908152608083015190828211156200055557600080fd5b620005638983860162000386565b6020820152809650505050506200057d602085016200046f565b91506200058d604085016200046f565b90509250925092565b600181811c90821680620005ab57607f821691505b602082108103620005cc57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000622576000816000526020600020601f850160051c81016020861015620005fd5750805b601f850160051c820191505b818110156200061e5782815560010162000609565b5050505b505050565b81516001600160401b03811115620006435762000643620002d6565b6200065b8162000654845462000596565b84620005d2565b602080601f8311600181146200069357600084156200067a5750858301515b600019600386901b1c1916600185901b1785556200061e565b600085815260208120601f198616915b82811015620006c457888601518255948401946001909101908401620006a3565b5085821015620006e35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60ff81811683821602908116908181146200071e57634e487b7160e01b600052601160045260246000fd5b5092915050565b60805160a05161352d6200076e600039600081816103ca01528181610bc001528181611d59015281816120de015261224a0152600081816126670152612806015261352d6000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c80639777b72c116100d8578063be5cdc481161008c578063f752196b11610066578063f752196b14610388578063fb1e61ca146103a8578063fc0c546a146103c857600080fd5b8063be5cdc4814610342578063c0cc4add14610362578063e8aa0a071461037557600080fd5b8063a3a0807e116100bd578063a3a0807e146102ec578063a6af384b1461030f578063b396dc791461032257600080fd5b80639777b72c146102d1578063a29c29a4146102d957600080fd5b80634641dce61161013a5780636b00c8cf116101145780636b00c8cf146102655780636e2b54ee146102a957806379502c55146102bc57600080fd5b80634641dce61461021857806359cc89ed1461023d5780635da738351461025057600080fd5b806308695fcd1161016b57806308695fcd146101cd578063329b5a0b146101e2578063458d2bf11461020557600080fd5b806302fa8e651461018757806305b90773146101ad575b600080fd5b61019a610195366004612a3c565b6103ee565b6040519081526020015b60405180910390f35b6101c06101bb366004612a3c565b610465565b6040516101a49190612a6b565b6101e06101db366004612a85565b610557565b005b61019a6101f0366004612a3c565b60009081526012602052604090206005015490565b61019a610213366004612a3c565b6106ad565b61022b610226366004612a3c565b6106c6565b60405160ff90911681526020016101a4565b6101e061024b366004612aba565b6106d9565b6102586109dd565b6040516101a49190612af1565b610291610273366004612a3c565b6000908152601360205260409020600501546001600160a01b031690565b6040516001600160a01b0390911681526020016101a4565b6101e06102b7366004612a3c565b610a04565b6102c4610c41565b6040516101a49190612b7b565b610258610db2565b6101e06102e7366004612a3c565b610dd1565b6102ff6102fa366004612a3c565b610fa2565b60405190151581526020016101a4565b6101e061031d366004612bfd565b610fd7565b610335610330366004612a3c565b611240565b6040516101a49190612d06565b610355610350366004612a3c565b611429565b6040516101a49190612d38565b6102ff610370366004612a3c565b6114f7565b6101e0610383366004612d4c565b61150a565b61019a610396366004612a3c565b60009081526007602052604090205490565b6103bb6103b6366004612a3c565b611647565b6040516101a49190612d7a565b7f0000000000000000000000000000000000000000000000000000000000000000610291565b6000818152601260205260408120600401548161040a84610465565b9050600081600481111561042057610420612a55565b148061043d5750600181600481111561043b5761043b612a55565b145b15610449575092915050565b61045d82610458600142612da3565b6117fe565b949350505050565b60008181526011602052604081205482906001600160a01b03166104c25760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b60448201526064015b60405180910390fd5b600083815260126020526040812090815460ff1660048111156104e7576104e7612a55565b148015610504575060008481526012602052604090206005015442115b15610513576002925050610551565b6001815460ff16600481111561052b5761052b612a55565b14801561053b5750806004015442115b1561054a576003925050610551565b5460ff1691505b50919050565b600161056283611429565b600581111561057357610573612a55565b146105c05760405162461bcd60e51b815260206004820152601960248201527f536c6f74206e6f7420616363657074696e672070726f6f66730000000000000060448201526064016104b9565b6105ca8282611816565b6000828152601360209081526040808320600181015484526011909252909120600c5461ffff620100009091041661060e8560009081526007602052604090205490565b6106189190612dcc565b6000036106a757600c54600682015460009160649161064291640100000000900460ff1690612de0565b61064c9190612df7565b9050808360040160008282546106629190612da3565b9091555050600c54600086815260076020526040902054610100820460ff169162010000900461ffff16906106979190612df7565b106106a5576106a585611a43565b505b50505050565b60006106c0826106bb611be9565b611bf4565b92915050565b60006106c0826106d4611be9565b611c08565b60008381526011602052604090205483906001600160a01b03166107315760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b60448201526064016104b9565b6000848152601160205260409020600181015467ffffffffffffffff16841061079c5760405162461bcd60e51b815260206004820152600c60248201527f496e76616c696420736c6f74000000000000000000000000000000000000000060448201526064016104b9565b60408051602080820188905281830187905282518083038401815260609092019092528051910120600090600081815260136020526040812060018101899055600381018890559192506107ef83611429565b600581111561080057610800612a55565b1461084d5760405162461bcd60e51b815260206004820152601060248201527f536c6f74206973206e6f7420667265650000000000000000000000000000000060448201526064016104b9565b600483015460008381526005602090815260408083204290556006909152902055610878828661150a565b60058101805473ffffffffffffffffffffffffffffffffffffffff191633179055805460ff1916600190811782554260028301556000888152601260205260408120808301805491939290916108cf908490612e0b565b909155506108df90508842611c74565b8160020160008282546108f29190612da3565b909155505060068401546109063382611d11565b806014600001600082825461091b9190612e0b565b909155505060048301819055600583015461093f906001600160a01b031685611e19565b887ff530852268993f91008f1a1e0b09b5c813acd4188481f1fa83c33c7182e814b48960405161097191815260200190565b60405180910390a26001808601549083015467ffffffffffffffff90911690036109d257815460ff1916600117825542600383015560405189907f85e1543bf2f84fe80c6badbce3648c8539ad1df4d2b3d822938ca0538be727e690600090a25b505050505050505050565b336000908152600b602052604090206060906109ff906109fc90611e3b565b90565b905090565b60008181526011602090815260408083206012909252909120600501544211610a6f5760405162461bcd60e51b815260206004820152601960248201527f52657175657374206e6f74207965742074696d6564206f75740000000000000060448201526064016104b9565b80546001600160a01b03163314610ac85760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420636c69656e7420616464726573730000000000000000000060448201526064016104b9565b600082815260126020526040812090815460ff166004811115610aed57610aed612a55565b14610b3a5760405162461bcd60e51b815260206004820152600d60248201527f496e76616c69642073746174650000000000000000000000000000000000000060448201526064016104b9565b805460ff191660021781558154610b5a906001600160a01b031684611e48565b60405183907ff903f4774c7bd27355f9d7fcbc382b079b164a697a44ac5d95267a4c3cb3bb2290600090a2600281015460158054829190600090610b9f908490612e0b565b909155505060405163a9059cbb60e01b8152336004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063a9059cbb906044016020604051808303816000875af1158015610c11573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c359190612e1e565b6106a7576106a7612e40565b610c986040805160c0810182526000918101828152606082018390526080820183905260a0820192909252908190815260408051608081018252600080825260208281018290529282015260608082015291015290565b6040805160c081018252600c805460ff8082168486019081526101008304821660608087019190915261ffff62010000850416608080880191909152640100000000909404831660a087015290855285519283018652600d80548452600e54602085810191909152600f54909316968401969096526010805495969495928701949291840191610d2790612e56565b80601f0160208091040260200160405190810160405280929190818152602001828054610d5390612e56565b8015610da05780601f10610d7557610100808354040283529160200191610da0565b820191906000526020600020905b815481529060010190602001808311610d8357829003601f168201915b50505050508152505081525050905090565b336000908152600a602052604090206060906109ff906109fc90611e3b565b806000808281526013602052604090205460ff166005811115610df657610df6612a55565b03610e325760405162461bcd60e51b815260206004820152600c60248201526b536c6f74206973206672656560a01b60448201526064016104b9565b600082815260136020526040902060058101546001600160a01b03163314610e9c5760405162461bcd60e51b815260206004820152601960248201527f536c6f742066696c6c6564206279206f7468657220686f73740000000000000060448201526064016104b9565b6000610ea784611429565b90506004816005811115610ebd57610ebd612a55565b03610f0a5760405162461bcd60e51b815260206004820152600c60248201527f416c72656164792070616964000000000000000000000000000000000000000060448201526064016104b9565b6002816005811115610f1e57610f1e612a55565b03610f3657610f31826001015485611e6a565b6106a7565b6005816005811115610f4a57610f4a612a55565b03610f5d57610f31826001015485612157565b6003816005811115610f7157610f71612a55565b03610f8057610f3133856122c3565b6001816005811115610f9457610f94612a55565b036106a7576106a784611a43565b6000806000610fb884610fb3611be9565b6122e5565b909250905081801561045d575060025460ff9081169116109392505050565b33610fe56020830183612ea2565b6001600160a01b03161461103b5760405162461bcd60e51b815260206004820152601660248201527f496e76616c696420636c69656e7420616464726573730000000000000000000060448201526064016104b9565b600061104e61104983613034565b6123c8565b6000818152601160205260409020549091506001600160a01b0316156110b65760405162461bcd60e51b815260206004820152601660248201527f5265717565737420616c7265616479206578697374730000000000000000000060448201526064016104b9565b60008261012001351180156110d357506060820135610120830135105b61111f5760405162461bcd60e51b815260206004820152601360248201527f457870697279206e6f7420696e2072616e67650000000000000000000000000060448201526064016104b9565b600081815260116020526040902082906111398282613291565b5061114a9050606083013542612e0b565b60008281526012602052604090206004015561116b61012083013542612e0b565b6000828152601260209081526040909120600501919091556111999061119390840184612ea2565b826123f8565b60006111ac6111a784613034565b61241a565b60008381526012602052604081206002018290556014805492935083929091906111d7908490612e0b565b909155506111e790503382611d11565b7f5fdb86c365a247a4d97dcbcc5c3abde9d6e3e2de26273f3fda8eef5073b9a96c8284602001601260008681526020019081526020016000206005015460405161123393929190613389565b60405180910390a1505050565b611248612974565b816000808281526013602052604090205460ff16600581111561126d5761126d612a55565b036112a95760405162461bcd60e51b815260206004820152600c60248201526b536c6f74206973206672656560a01b60448201526064016104b9565b60008381526013602052604090206112bf612974565b600180830154600090815260116020908152604091829020825160a0808201855282546001600160a01b03168252845160e0810186529583015467ffffffffffffffff9081168752600284015487860152600384015487870152600484015460608801526005840154608088015260068401549187019190915260078301541660c086015291820193909352815180830183526008840180549294938501928290829061136b90612e56565b80601f016020809104026020016040519081016040528092919081815260200182805461139790612e56565b80156113e45780601f106113b9576101008083540402835291602001916113e4565b820191906000526020600020905b8154815290600101906020018083116113c757829003601f168201915b505050918352505060019190910154602091820152908252600a83015482820152600b9092015460409091015290825260039092015491810191909152915050919050565b60008181526013602052604081206001810154820361144b5750600092915050565b600061145a8260010154610465565b90506004825460ff16600581111561147457611474612a55565b03611483575060049392505050565b600281600481111561149757611497612a55565b036114a6575060059392505050565b60038160048111156114ba576114ba612a55565b036114c9575060029392505050565b60048160048111156114dd576114dd612a55565b036114ec575060039392505050565b505460ff1692915050565b60006106c082611505611be9565b61243f565b6000828152601360209081526040808320600101548084526011909252909120546001600160a01b03166115725760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b60448201526064016104b9565b6000838152601360209081526040808320600181015484526011835281842082516003808252608082019094529194909390929082016060803683370190505090506115c56115c0876106ad565b612472565b816000815181106115d8576115d8613405565b602090810291909101015260098201546115f190612483565b8160018151811061160457611604613405565b60200260200101818152505082600301548160028151811061162857611628613405565b60200260200101818152505061163f86868361248f565b505050505050565b61164f612994565b60008281526011602052604090205482906001600160a01b03166116a75760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b60448201526064016104b9565b600083815260116020908152604091829020825160a0808201855282546001600160a01b03168252845160e081018652600184015467ffffffffffffffff90811682526002850154828701526003850154828801526004850154606083015260058501546080830152600685015492820192909252600784015490911660c0820152928101929092528251808401845260088201805493949293928501928290829061175290612e56565b80601f016020809104026020016040519081016040528092919081815260200182805461177e90612e56565b80156117cb5780601f106117a0576101008083540402835291602001916117cb565b820191906000526020600020905b8154815290600101906020018083116117ae57829003601f168201915b505050505081526020016001820154815250508152602001600a8201548152602001600b82015481525050915050919050565b600081831061180d578161180f565b825b9392505050565b60006118218261264d565b90504281106118725760405162461bcd60e51b815260206004820152601860248201527f506572696f6420686173206e6f7420656e64656420796574000000000000000060448201526064016104b9565b60015461187f9082612e0b565b42106118cd5760405162461bcd60e51b815260206004820152601460248201527f56616c69646174696f6e2074696d6564206f757400000000000000000000000060448201526064016104b9565b600083815260086020908152604080832085845290915290205460ff16156119375760405162461bcd60e51b815260206004820181905260248201527f50726f6f6620776173207375626d69747465642c206e6f74206d697373696e6760448201526064016104b9565b611941838361243f565b61198d5760405162461bcd60e51b815260206004820152601660248201527f50726f6f6620776173206e6f742072657175697265640000000000000000000060448201526064016104b9565b600083815260096020908152604080832085845290915290205460ff16156119f75760405162461bcd60e51b815260206004820152601f60248201527f50726f6f6620616c7265616479206d61726b6564206173206d697373696e670060448201526064016104b9565b60008381526009602090815260408083208584528252808320805460ff1916600190811790915586845260079092528220805491929091611a39908490612e0b565b9091555050505050565b60008181526013602090815260408083206001810154808552601290935292206005830154611a7b906001600160a01b0316856122c3565b6003808401546000868152601360205260408120805460ff1916815560018082018390556002820183905593810182905560048101829055600501805473ffffffffffffffffffffffffffffffffffffffff191690558383018054929392909190611ae7908490612da3565b909155505060405181815283907f1d31c9f8dea6e179f6a050db117595feea8937029ea51f5168a4780be7e8f5529060200160405180910390a2600085815260076020526040812055600083815260116020526040812060018085015490820154919291611b5f919067ffffffffffffffff16612da3565b600783015490915067ffffffffffffffff1681118015611b9457506001845460ff166004811115611b9257611b92612a55565b145b15611be057835460ff19166004178455611baf600142612da3565b600485015560405185907f4769361a442504ecaf038f35e119bcccdd5e42096b24c09e3c17fd17c6684c0290600090a25b50505050505050565b60006109ff42612660565b600061180f611c038484611c08565b61268c565b600080611c1761010043612dcc565b90506000610100611c29856043612de0565b611c339190612dcc565b90506000611c4361010087612dcc565b9050600061010082611c558587612e0b565b611c5f9190612e0b565b611c699190612dcc565b979650505050505050565b600082815260116020908152604080832060129092528220600501548310611cde5760405162461bcd60e51b815260206004820152601760248201527f5374617274206e6f74206265666f72652065787069727900000000000000000060448201526064016104b9565b600581015483611cfd8660009081526012602052604090206005015490565b611d079190612da3565b61045d9190612de0565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b038381166004830152306024830181905260448301849052917f0000000000000000000000000000000000000000000000000000000000000000909116906323b872dd906064016020604051808303816000875af1158015611da4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dc89190612e1e565b611e145760405162461bcd60e51b815260206004820152600f60248201527f5472616e73666572206661696c6564000000000000000000000000000000000060448201526064016104b9565b505050565b6001600160a01b0382166000908152600b60205260409020611e1490826126e6565b6060600061180f836126f2565b6001600160a01b0382166000908152600a60205260409020611e14908261274e565b60008281526011602052604090205482906001600160a01b0316611ec25760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b60448201526064016104b9565b60008381526012602090815260408083206011909252909120815460ff191660031782558054611efb906001600160a01b031686611e48565b60008481526013602052604090206005810154611f21906001600160a01b0316866122c3565b6004808201546000888152601160209081526040808320815160a0808201845282546001600160a01b03168252835160e081018552600184015467ffffffffffffffff908116825260028501548288015260038501548287015298840154606082015260058401546080820152600684015491810191909152600783015490971660c08801529283019590955280518082018252600886018054949661207e959093850192919082908290611fd590612e56565b80601f016020809104026020016040519081016040528092919081815260200182805461200190612e56565b801561204e5780601f106120235761010080835404028352916020019161204e565b820191906000526020600020905b81548152906001019060200180831161203157829003601f168201915b505050505081526020016001820154815250508152602001600a8201548152602001600b8201548152505061275a565b6120889190612e0b565b9050806014600101600082825461209f9190612e0b565b9091555050815460ff191660049081178355600583015460405163a9059cbb60e01b81526001600160a01b0391821692810192909252602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015612127573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061214b9190612e1e565b611be057611be0612e40565b60008281526011602052604090205482906001600160a01b03166121af5760405162461bcd60e51b815260206004820152600f60248201526e155b9adb9bdddb881c995c5d595cdd608a1b60448201526064016104b9565b600082815260136020526040902060058101546121d5906001600160a01b0316846122c3565b600081600401546121ea868460020154611c74565b6121f49190612e0b565b9050806014600101600082825461220b9190612e0b565b9091555050815460ff191660049081178355600583015460405163a9059cbb60e01b81526001600160a01b0391821692810192909252602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906044016020604051808303816000875af1158015612293573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122b79190612e1e565b6106a5576106a5612e40565b6001600160a01b0382166000908152600b60205260409020611e14908261274e565b60008060006122f385611429565b6000868152600560205260408120549192509061230f90612660565b9050600182600581111561232557612325612a55565b14158061233957506123378582612776565b155b1561234c576000809350935050506123c1565b6123568686611c08565b925060006123638461268c565b6002549091506000906101009061237d9060ff168261341b565b60008a81526006602052604090205461239a9161ffff1690612de0565b6123a49190612df7565b90508015806123ba57506123b88183612dcc565b155b9550505050505b9250929050565b6000816040516020016123db9190612d7a565b604051602081830303815290604052805190602001209050919050565b6001600160a01b0382166000908152600a60205260409020611e1490826126e6565b60006124258261275a565b6020830151516106c0919067ffffffffffffffff16612de0565b600080600061244e85856122e5565b9092509050818015612469575060025460ff90811690821610155b95945050505050565b600060ff1982168161045d82612780565b60008061180f83612780565b6000838152600860205260408120906124a6611be9565b815260208101919091526040016000205460ff16156125075760405162461bcd60e51b815260206004820152601760248201527f50726f6f6620616c7265616479207375626d697474656400000000000000000060448201526064016104b9565b600480546040517f94c8919d0000000000000000000000000000000000000000000000000000000081526001600160a01b03909116916394c8919d91612551918691869101613436565b602060405180830381865afa15801561256e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125929190612e1e565b6125de5760405162461bcd60e51b815260206004820152600d60248201527f496e76616c69642070726f6f660000000000000000000000000000000000000060448201526064016104b9565b60008381526008602052604081206001916125f7611be9565b815260200190815260200160002060006101000a81548160ff0219169083151502179055507f3b989d183b84b02259d7c14b34a9c9eb0fccb4c355a920d25e581e25aef4993d8360405161123391815260200190565b60006106c061265b836127f2565b6127ff565b60006106c07f000000000000000000000000000000000000000000000000000000000000000083612df7565b60008060ff831661269e600143612da3565b6126a89190612da3565b40905060008190036126bc576126bc612e40565b60408051602081018390520160405160208183030381529060405280519060200120915050919050565b600061180f838361282b565b60608160000180548060200260200160405190810160405280929190818152602001828054801561274257602002820191906000526020600020905b81548152602001906001019080831161272e575b50505050509050919050565b600061180f838361287a565b602081015160808101516040909101516000916106c091612de0565b600081831161180f565b7fff00000000000000000000000000000000000000000000000000000000000000811660015b602081101561055157600891821c916127c0908290612de0565b83901b7fff000000000000000000000000000000000000000000000000000000000000001691909117906001016127a6565b60006106c0826001612e0b565b60006106c07f000000000000000000000000000000000000000000000000000000000000000083612de0565b6000818152600183016020526040812054612872575081546001818101845560008481526020808220909301849055845484825282860190935260409020919091556106c0565b5060006106c0565b6000818152600183016020526040812054801561296357600061289e600183612da3565b85549091506000906128b290600190612da3565b90508181146129175760008660000182815481106128d2576128d2613405565b90600052602060002001549050808760000184815481106128f5576128f5613405565b6000918252602080832090910192909255918252600188019052604090208390555b8554869080612928576129286134e1565b6001900381819060005260206000200160009055905585600101600086815260200190815260200160002060009055600193505050506106c0565b60009150506106c0565b5092915050565b6040518060400160405280612987612994565b8152602001600081525090565b6040518060a0016040528060006001600160a01b03168152602001612a036040518060e00160405280600067ffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600067ffffffffffffffff1681525090565b8152602001612a28604051806040016040528060608152602001600080191681525090565b815260006020820181905260409091015290565b600060208284031215612a4e57600080fd5b5035919050565b634e487b7160e01b600052602160045260246000fd5b6020810160058310612a7f57612a7f612a55565b91905290565b60008060408385031215612a9857600080fd5b50508035926020909101359150565b6000610100828403121561055157600080fd5b60008060006101408486031215612ad057600080fd5b8335925060208401359150612ae88560408601612aa7565b90509250925092565b6020808252825182820181905260009190848201906040850190845b81811015612b2957835183529284019291840191600101612b0d565b50909695505050505050565b6000815180845260005b81811015612b5b57602081850181015186830182015201612b3f565b506000602082860101526020601f19601f83011685010191505092915050565b602081526000825160ff815116602084015260ff602082015116604084015261ffff604082015116606084015260ff606082015116608084015250602083015160a080840152805160c0840152602081015160e084015260ff60408201511661010084015260608101519050608061012084015261045d610140840182612b35565b600060208284031215612c0f57600080fd5b813567ffffffffffffffff811115612c2657600080fd5b8201610160818503121561180f57600080fd5b6000815160408452612c4e6040850182612b35565b602093840151949093019390935250919050565b60006101606001600160a01b038351168452602083015167ffffffffffffffff808251166020870152602082015160408701526040820151606087015260608201516080870152608082015160a087015260a082015160c08701528060c08301511660e08701525050604083015181610100860152612ce382860182612c39565b915050606083015161012085015260808301516101408501528091505092915050565b602081526000825160406020840152612d226060840182612c62565b9050602084015160408401528091505092915050565b6020810160068310612a7f57612a7f612a55565b6000806101208385031215612d6057600080fd5b82359150612d718460208501612aa7565b90509250929050565b60208152600061180f6020830184612c62565b634e487b7160e01b600052601160045260246000fd5b818103818111156106c0576106c0612d8d565b634e487b7160e01b600052601260045260246000fd5b600082612ddb57612ddb612db6565b500690565b80820281158282048414176106c0576106c0612d8d565b600082612e0657612e06612db6565b500490565b808201808211156106c0576106c0612d8d565b600060208284031215612e3057600080fd5b8151801515811461180f57600080fd5b634e487b7160e01b600052600160045260246000fd5b600181811c90821680612e6a57607f821691505b60208210810361055157634e487b7160e01b600052602260045260246000fd5b6001600160a01b0381168114612e9f57600080fd5b50565b600060208284031215612eb457600080fd5b813561180f81612e8a565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff81118282101715612ef857612ef8612ebf565b60405290565b60405160a0810167ffffffffffffffff81118282101715612ef857612ef8612ebf565b60405160e0810167ffffffffffffffff81118282101715612ef857612ef8612ebf565b604051601f8201601f1916810167ffffffffffffffff81118282101715612f6d57612f6d612ebf565b604052919050565b67ffffffffffffffff81168114612e9f57600080fd5b600060408284031215612f9d57600080fd5b612fa5612ed5565b9050813567ffffffffffffffff80821115612fbf57600080fd5b818401915084601f830112612fd357600080fd5b8135602082821115612fe757612fe7612ebf565b612ff9601f8301601f19168201612f44565b9250818352868183860101111561300f57600080fd5b8181850182850137600081838501015282855280860135818601525050505092915050565b600081360361016081121561304857600080fd5b613050612efe565b833561305b81612e8a565b815260e0601f198301121561306f57600080fd5b613077612f21565b9150602084013561308781612f75565b8083525060408401356020830152606084013560408301526080840135606083015260a0840135608083015260c084013560a083015260e08401356130cb81612f75565b60c083015260208101919091526101008301359067ffffffffffffffff8211156130f457600080fd5b61310036838601612f8b565b604082015261012084013560608201526101409093013560808401525090919050565b600081356106c081612f75565b60008235603e1983360301811261314657600080fd5b9190910192915050565b601f821115611e14576000816000526020600020601f850160051c810160208610156131795750805b601f850160051c820191505b8181101561163f57828155600101613185565b8135601e198336030181126131ac57600080fd5b8201803567ffffffffffffffff8111156131c557600080fd5b602081360381840113156131d857600080fd5b6131ec826131e68654612e56565b86613150565b6000601f831160018114613222576000841561320a57508482018301355b600019600386901b1c1916600185901b17865561327f565b600086815260209020601f19851690835b82811015613254578785018601358255938501936001909101908501613233565b50858210156132735760001960f88760031b161c198585890101351681555b505060018460011b0186555b50508085013560018501555050505050565b813561329c81612e8a565b6001600160a01b03811673ffffffffffffffffffffffffffffffffffffffff198354161782555060208201356132d181612f75565b60018201805467ffffffffffffffff191667ffffffffffffffff83161790555060408201356002820155606082013560038201556080820135600482015560a0820135600582015560c0820135600682015561335561333260e08401613123565b6007830167ffffffffffffffff821667ffffffffffffffff198254161781555050565b61336f613366610100840184613130565b60088301613198565b610120820135600a820155610140820135600b8201555050565b8381526101208101833561339c81612f75565b67ffffffffffffffff8082166020850152602086013560408501526040860135606085015260608601356080850152608086013560a085015260a086013560c085015260c086013591506133ef82612f75565b1660e08301526101009091019190915292915050565b634e487b7160e01b600052603260045260246000fd5b61ffff82811682821603908082111561296d5761296d612d8d565b82358152602080840135908201526000610120828101613466604085016040880180358252602090810135910152565b613480608085016080880180358252602090810135910152565b61349a60c0850160c0880180358252602090810135910152565b61010084019190915283519081905261014083019060209081860160005b828110156134d4578151855293830193908301906001016134b8565b5092979650505050505050565b634e487b7160e01b600052603160045260246000fdfea264697066735822122018af34de337780d47ca891540a9390f1b4ef028567fed32e08410582d7c9120564736f6c63430008170033"; 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 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 FreeSlotFunction : FreeSlotFunctionBase { } [Function("freeSlot")] public class FreeSlotFunctionBase : FunctionMessage { [Parameter("bytes32", "slotId", 1)] public virtual byte[] SlotId { 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 GetChallengeFunction : GetChallengeFunctionBase { } [Function("getChallenge", "bytes32")] public class GetChallengeFunctionBase : FunctionMessage { [Parameter("bytes32", "id", 1)] public virtual byte[] Id { 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 GetPointerFunction : GetPointerFunctionBase { } [Function("getPointer", "uint8")] public class GetPointerFunctionBase : FunctionMessage { [Parameter("bytes32", "id", 1)] public virtual byte[] Id { 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 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 MissingProofsFunction : MissingProofsFunctionBase { } [Function("missingProofs", "uint256")] public class MissingProofsFunctionBase : FunctionMessage { [Parameter("bytes32", "slotId", 1)] public virtual byte[] SlotId { get; set; } } public partial class MyRequestsFunction : MyRequestsFunctionBase { } [Function("myRequests", "bytes32[]")] public class MyRequestsFunctionBase : FunctionMessage { } public partial class MySlotsFunction : MySlotsFunctionBase { } [Function("mySlots", "bytes32[]")] public class MySlotsFunctionBase : FunctionMessage { } 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 RequestExpiryFunction : RequestExpiryFunctionBase { } [Function("requestExpiry", "uint256")] public class RequestExpiryFunctionBase : FunctionMessage { [Parameter("bytes32", "requestId", 1)] public virtual byte[] RequestId { 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 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 TokenFunction : TokenFunctionBase { } [Function("token", "address")] public class TokenFunctionBase : FunctionMessage { } 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 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 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 ConfigOutputDTO : ConfigOutputDTOBase { } [FunctionOutput] public class ConfigOutputDTOBase : IFunctionOutputDTO { [Parameter("tuple", "", 1)] public virtual MarketplaceConfig ReturnValue1 { get; set; } } public partial class GetActiveSlotOutputDTO : GetActiveSlotOutputDTOBase { } [FunctionOutput] public class GetActiveSlotOutputDTOBase : IFunctionOutputDTO { [Parameter("tuple", "", 1)] public virtual ActiveSlot ReturnValue1 { get; set; } } public partial class GetChallengeOutputDTO : GetChallengeOutputDTOBase { } [FunctionOutput] public class GetChallengeOutputDTOBase : IFunctionOutputDTO { [Parameter("bytes32", "", 1)] public virtual byte[] ReturnValue1 { get; set; } } public partial class GetHostOutputDTO : GetHostOutputDTOBase { } [FunctionOutput] public class GetHostOutputDTOBase : IFunctionOutputDTO { [Parameter("address", "", 1)] public virtual string ReturnValue1 { get; set; } } public partial class GetPointerOutputDTO : GetPointerOutputDTOBase { } [FunctionOutput] public class GetPointerOutputDTOBase : IFunctionOutputDTO { [Parameter("uint8", "", 1)] public virtual byte ReturnValue1 { get; set; } } public partial class GetRequestOutputDTO : GetRequestOutputDTOBase { } [FunctionOutput] public class GetRequestOutputDTOBase : IFunctionOutputDTO { [Parameter("tuple", "", 1)] public virtual Request ReturnValue1 { get; set; } } public partial class IsProofRequiredOutputDTO : IsProofRequiredOutputDTOBase { } [FunctionOutput] public class IsProofRequiredOutputDTOBase : IFunctionOutputDTO { [Parameter("bool", "", 1)] public virtual bool ReturnValue1 { get; set; } } public partial class MissingProofsOutputDTO : MissingProofsOutputDTOBase { } [FunctionOutput] public class MissingProofsOutputDTOBase : IFunctionOutputDTO { [Parameter("uint256", "", 1)] public virtual BigInteger ReturnValue1 { get; set; } } public partial class MyRequestsOutputDTO : MyRequestsOutputDTOBase { } [FunctionOutput] public class MyRequestsOutputDTOBase : IFunctionOutputDTO { [Parameter("bytes32[]", "", 1)] public virtual List ReturnValue1 { get; set; } } public partial class MySlotsOutputDTO : MySlotsOutputDTOBase { } [FunctionOutput] public class MySlotsOutputDTOBase : IFunctionOutputDTO { [Parameter("bytes32[]", "", 1)] public virtual List ReturnValue1 { get; set; } } public partial class RequestEndOutputDTO : RequestEndOutputDTOBase { } [FunctionOutput] public class RequestEndOutputDTOBase : IFunctionOutputDTO { [Parameter("uint256", "", 1)] public virtual BigInteger ReturnValue1 { get; set; } } public partial class RequestExpiryOutputDTO : RequestExpiryOutputDTOBase { } [FunctionOutput] public class RequestExpiryOutputDTOBase : IFunctionOutputDTO { [Parameter("uint256", "", 1)] public virtual BigInteger ReturnValue1 { get; set; } } public partial class RequestStateOutputDTO : RequestStateOutputDTOBase { } [FunctionOutput] public class RequestStateOutputDTOBase : IFunctionOutputDTO { [Parameter("uint8", "", 1)] public virtual byte ReturnValue1 { get; set; } } public partial class SlotStateOutputDTO : SlotStateOutputDTOBase { } [FunctionOutput] public class SlotStateOutputDTOBase : IFunctionOutputDTO { [Parameter("uint8", "", 1)] public virtual byte ReturnValue1 { get; set; } } public partial class TokenOutputDTO : TokenOutputDTOBase { } [FunctionOutput] public class TokenOutputDTOBase : IFunctionOutputDTO { [Parameter("address", "", 1)] public virtual string ReturnValue1 { get; set; } } public partial class WillProofBeRequiredOutputDTO : WillProofBeRequiredOutputDTOBase { } [FunctionOutput] public class WillProofBeRequiredOutputDTOBase : IFunctionOutputDTO { [Parameter("bool", "", 1)] public virtual bool ReturnValue1 { 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; } } 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; } } 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.