@rep3/rep3-sdk
Version:
`rep3-sdk` is the ts package for projects to integrate rep3-protocol and services in their projects. This documentation will provide various ways and code snippets for the same. To know more about the protocol head over to our [docs](https://docs.rep3.gg/
1 lines • 246 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var b,e=(b=require("web3"))&&"object"==typeof b&&"default"in b?b.default:b,a=require("ethers"),f=require("urql");function t(b,e,a,f,t,n,d){try{var c=b[n](d),r=c.value}catch(b){return void a(b)}c.done?e(r):Promise.resolve(r).then(f,t)}function n(b){return function(){var e=this,a=arguments;return new Promise((function(f,n){var d=b.apply(e,a);function c(b){t(d,f,n,c,r,"next",b)}function r(b){t(d,f,n,c,r,"throw",b)}c(void 0)}))}}function d(){return(d=Object.assign||function(b){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var f in a)Object.prototype.hasOwnProperty.call(a,f)&&(b[f]=a[f])}return b}).apply(this,arguments)}var c,r=(function(b){var e=function(b){var e=Object.prototype,a=e.hasOwnProperty,f="function"==typeof Symbol?Symbol:{},t=f.iterator||"@@iterator",n=f.asyncIterator||"@@asyncIterator",d=f.toStringTag||"@@toStringTag";function c(b,e,a){return Object.defineProperty(b,e,{value:a,enumerable:!0,configurable:!0,writable:!0}),b[e]}try{c({},"")}catch(b){c=function(b,e,a){return b[e]=a}}function r(b,e,a,f){var t=Object.create((e&&e.prototype instanceof o?e:o).prototype),n=new k(f||[]);return t._invoke=function(b,e,a){var f="suspendedStart";return function(t,n){if("executing"===f)throw new Error("Generator is already running");if("completed"===f){if("throw"===t)throw n;return{value:void 0,done:!0}}for(a.method=t,a.arg=n;;){var d=a.delegate;if(d){var c=g(d,a);if(c){if(c===s)continue;return c}}if("next"===a.method)a.sent=a._sent=a.arg;else if("throw"===a.method){if("suspendedStart"===f)throw f="completed",a.arg;a.dispatchException(a.arg)}else"return"===a.method&&a.abrupt("return",a.arg);f="executing";var r=i(b,e,a);if("normal"===r.type){if(f=a.done?"completed":"suspendedYield",r.arg===s)continue;return{value:r.arg,done:a.done}}"throw"===r.type&&(f="completed",a.method="throw",a.arg=r.arg)}}}(b,a,n),t}function i(b,e,a){try{return{type:"normal",arg:b.call(e,a)}}catch(b){return{type:"throw",arg:b}}}b.wrap=r;var s={};function o(){}function p(){}function u(){}var y={};c(y,t,(function(){return this}));var l=Object.getPrototypeOf,m=l&&l(l(I([])));m&&m!==e&&a.call(m,t)&&(y=m);var T=u.prototype=o.prototype=Object.create(y);function v(b){["next","throw","return"].forEach((function(e){c(b,e,(function(b){return this._invoke(e,b)}))}))}function h(b,e){var f;this._invoke=function(t,n){function d(){return new e((function(f,d){!function f(t,n,d,c){var r=i(b[t],b,n);if("throw"!==r.type){var s=r.arg,o=s.value;return o&&"object"==typeof o&&a.call(o,"__await")?e.resolve(o.__await).then((function(b){f("next",b,d,c)}),(function(b){f("throw",b,d,c)})):e.resolve(o).then((function(b){s.value=b,d(s)}),(function(b){return f("throw",b,d,c)}))}c(r.arg)}(t,n,f,d)}))}return f=f?f.then(d,d):d()}}function g(b,e){var a=b.iterator[e.method];if(void 0===a){if(e.delegate=null,"throw"===e.method){if(b.iterator.return&&(e.method="return",e.arg=void 0,g(b,e),"throw"===e.method))return s;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var f=i(a,b.iterator,e.arg);if("throw"===f.type)return e.method="throw",e.arg=f.arg,e.delegate=null,s;var t=f.arg;return t?t.done?(e[b.resultName]=t.value,e.next=b.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,s):t:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,s)}function w(b){var e={tryLoc:b[0]};1 in b&&(e.catchLoc=b[1]),2 in b&&(e.finallyLoc=b[2],e.afterLoc=b[3]),this.tryEntries.push(e)}function x(b){var e=b.completion||{};e.type="normal",delete e.arg,b.completion=e}function k(b){this.tryEntries=[{tryLoc:"root"}],b.forEach(w,this),this.reset(!0)}function I(b){if(b){var e=b[t];if(e)return e.call(b);if("function"==typeof b.next)return b;if(!isNaN(b.length)){var f=-1,n=function e(){for(;++f<b.length;)if(a.call(b,f))return e.value=b[f],e.done=!1,e;return e.value=void 0,e.done=!0,e};return n.next=n}}return{next:M}}function M(){return{value:void 0,done:!0}}return p.prototype=u,c(T,"constructor",u),c(u,"constructor",p),p.displayName=c(u,d,"GeneratorFunction"),b.isGeneratorFunction=function(b){var e="function"==typeof b&&b.constructor;return!!e&&(e===p||"GeneratorFunction"===(e.displayName||e.name))},b.mark=function(b){return Object.setPrototypeOf?Object.setPrototypeOf(b,u):(b.__proto__=u,c(b,d,"GeneratorFunction")),b.prototype=Object.create(T),b},b.awrap=function(b){return{__await:b}},v(h.prototype),c(h.prototype,n,(function(){return this})),b.AsyncIterator=h,b.async=function(e,a,f,t,n){void 0===n&&(n=Promise);var d=new h(r(e,a,f,t),n);return b.isGeneratorFunction(a)?d:d.next().then((function(b){return b.done?b.value:d.next()}))},v(T),c(T,d,"Generator"),c(T,t,(function(){return this})),c(T,"toString",(function(){return"[object Generator]"})),b.keys=function(b){var e=[];for(var a in b)e.push(a);return e.reverse(),function a(){for(;e.length;){var f=e.pop();if(f in b)return a.value=f,a.done=!1,a}return a.done=!0,a}},b.values=I,k.prototype={constructor:k,reset:function(b){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!b)for(var e in this)"t"===e.charAt(0)&&a.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var b=this.tryEntries[0].completion;if("throw"===b.type)throw b.arg;return this.rval},dispatchException:function(b){if(this.done)throw b;var e=this;function f(a,f){return d.type="throw",d.arg=b,e.next=a,f&&(e.method="next",e.arg=void 0),!!f}for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t],d=n.completion;if("root"===n.tryLoc)return f("end");if(n.tryLoc<=this.prev){var c=a.call(n,"catchLoc"),r=a.call(n,"finallyLoc");if(c&&r){if(this.prev<n.catchLoc)return f(n.catchLoc,!0);if(this.prev<n.finallyLoc)return f(n.finallyLoc)}else if(c){if(this.prev<n.catchLoc)return f(n.catchLoc,!0)}else{if(!r)throw new Error("try statement without catch or finally");if(this.prev<n.finallyLoc)return f(n.finallyLoc)}}}},abrupt:function(b,e){for(var f=this.tryEntries.length-1;f>=0;--f){var t=this.tryEntries[f];if(t.tryLoc<=this.prev&&a.call(t,"finallyLoc")&&this.prev<t.finallyLoc){var n=t;break}}n&&("break"===b||"continue"===b)&&n.tryLoc<=e&&e<=n.finallyLoc&&(n=null);var d=n?n.completion:{};return d.type=b,d.arg=e,n?(this.method="next",this.next=n.finallyLoc,s):this.complete(d)},complete:function(b,e){if("throw"===b.type)throw b.arg;return"break"===b.type||"continue"===b.type?this.next=b.arg:"return"===b.type?(this.rval=this.arg=b.arg,this.method="return",this.next="end"):"normal"===b.type&&e&&(this.next=e),s},finish:function(b){for(var e=this.tryEntries.length-1;e>=0;--e){var a=this.tryEntries[e];if(a.finallyLoc===b)return this.complete(a.completion,a.afterLoc),x(a),s}},catch:function(b){for(var e=this.tryEntries.length-1;e>=0;--e){var a=this.tryEntries[e];if(a.tryLoc===b){var f=a.completion;if("throw"===f.type){var t=f.arg;x(a)}return t}}throw new Error("illegal catch attempt")},delegateYield:function(b,e,a){return this.delegate={iterator:I(b),resultName:e,nextLoc:a},"next"===this.method&&(this.arg=void 0),s}},b}(b.exports);try{regeneratorRuntime=e}catch(b){"object"==typeof globalThis?globalThis.regeneratorRuntime=e:Function("r","regeneratorRuntime = r")(e)}}(c={exports:{}}),c.exports),i={_format:"hh-sol-artifact-1",contractName:"Manager",sourceName:"contracts/Manager.sol",abi:[{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"userAddress",type:"address"},{indexed:!1,internalType:"address payable",name:"relayerAddress",type:"address"},{indexed:!1,internalType:"bytes",name:"functionSignature",type:"bytes"}],name:"MetaTransactionExecuted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"previousOwner",type:"address"},{indexed:!0,internalType:"address",name:"newOwner",type:"address"}],name:"OwnershipTransferred",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"contractAddress",type:"address"},{indexed:!0,internalType:"string",name:"communityName",type:"string"}],name:"ProxyDeployed",type:"event"},{inputs:[{internalType:"string",name:"_name",type:"string"},{internalType:"string",name:"_symbol",type:"string"},{internalType:"address[]",name:"_approvers",type:"address[]"},{internalType:"address",name:"upgradeableBeacon",type:"address"},{internalType:"address",name:"_trustedForwarder",type:"address"}],name:"deployREP3TokenProxy",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"userAddress",type:"address"},{internalType:"bytes",name:"functionSignature",type:"bytes"},{internalType:"bytes32",name:"sigR",type:"bytes32"},{internalType:"bytes32",name:"sigS",type:"bytes32"},{internalType:"uint8",name:"sigV",type:"uint8"}],name:"executeMetaTransaction",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getNonce",outputs:[{internalType:"uint256",name:"nonce",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"proxyAddress",type:"address"}],name:"isInitialized",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"owner",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"renounceOwnership",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newOwner",type:"address"}],name:"transferOwnership",outputs:[],stateMutability:"nonpayable",type:"function"}],bytecode:"0x608060405234801561001057600080fd5b506040518060400160405280600781526020016626b0b730b3b2b960c91b815250604051806040016040528060018152602001603160f81b815250818161006361005e6100f760201b60201c565b6100fb565b6040518060800160405280604f8152602001611902604f91398051906020012082805190602001208280519060200120306100a261014b60201b60201c565b60408051602081019690965285019390935260608401919091526001600160a01b0316608083015260a082015260c001604051602081830303815290604052805190602001206001819055505050505061014f565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b4690565b6117a48061015e6000396000f3fe608060405260043610620000795760003560e01c80638da5cb5b11620000545780638da5cb5b1462000110578063c4f6e5a8146200013a578063d60b347f146200015f578063f2fde38b14620001ad57600080fd5b80630c53c51c146200007e5780632d0335ab14620000ad578063715018a614620000f6575b600080fd5b620000956200008f36600462000997565b620001d2565b604051620000a4919062000c42565b60405180910390f35b348015620000ba57600080fd5b50620000e7620000cc3660046200097a565b6001600160a01b031660009081526002602052604090205490565b604051908152602001620000a4565b3480156200010357600080fd5b506200010e62000461565b005b3480156200011d57600080fd5b506000546040516001600160a01b039091168152602001620000a4565b3480156200014757600080fd5b506200010e6200015936600462000a2b565b620004cb565b3480156200016c57600080fd5b506200019c6200017e3660046200097a565b6001600160a01b031660009081526003602052604090205460ff1690565b6040519015158152602001620000a4565b348015620001ba57600080fd5b506200010e620001cc3660046200097a565b620005e8565b60606000620001e186620006b9565b90506000356001600160e01b031990811690821614156200026f5760405162461bcd60e51b815260206004820152603d60248201527f66756e6374696f6e5369676e61747572652063616e206e6f74206265206f662060448201527f657865637574654d6574615472616e73616374696f6e206d6574686f6400000060648201526084015b60405180910390fd5b604080516060810182526001600160a01b03891660008181526002602090815290849020548352820152908101879052620002ae8882888888620006d6565b620003065760405162461bcd60e51b815260206004820152602160248201527f5369676e657220616e64207369676e617475726520646f206e6f74206d6174636044820152600d60fb1b606482015260840162000266565b6001600160a01b0388166000908152600260205260409020546200032c906001620007b9565b6001600160a01b038916600090815260026020908152604080832093909355915190918291309162000363918c918e910162000ba4565b60408051601f19818403018152908290526200037f9162000b86565b6000604051808303816000865af19150503d8060008114620003be576040519150601f19603f3d011682016040523d82523d6000602084013e620003c3565b606091505b509150915081620004175760405162461bcd60e51b815260206004820152601c60248201527f46756e6374696f6e2063616c6c206e6f74207375636365737366756c00000000604482015260640162000266565b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b8a338b6040516200044c9392919062000bdd565b60405180910390a19998505050505050505050565b6000546001600160a01b03163314620004bd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000266565b620004c96000620007ce565b565b606060008382604051620004df90620008cf565b620004ec92919062000c14565b604051809103906000f08015801562000509573d6000803e3d6000fd5b506001600160a01b03811660008181526003602052604090819020805460ff1916600117905551631206923b60e21b8152919250829182919063481a48ec906200055e908c908c908c908b9060040162000c57565b600060405180830381600087803b1580156200057957600080fd5b505af11580156200058e573d6000803e3d6000fd5b5050505088604051620005a2919062000b86565b604051908190038120906001600160a01b038416907fb7af501e8f874efc383147b429cbdd12eede18d7b97ee2681982acad27d9736090600090a3505050505050505050565b6000546001600160a01b03163314620006445760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000266565b6001600160a01b038116620006ab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000266565b620006b681620007ce565b50565b6000815160001415620006ce57506000919050565b506020015190565b6000806001620006f0620006ea886200081e565b6200089d565b6040805160008152602081018083529290925260ff861690820152606081018790526080810186905260a0016020604051602081039080840390855afa1580156200073f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116620007985760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b604482015260640162000266565b866001600160a01b0316816001600160a01b03161491505095945050505050565b6000620007c7828462000d17565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006040518060800160405280604381526020016200172c604391398051602091820120835184830151604080870151805190860120905162000880950193845260208401929092526001600160a01b03166040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6000620008a960015490565b60405161190160f01b602082015260228101919091526042810183905260620162000880565b6109a68062000d8683390190565b600067ffffffffffffffff831115620008fa57620008fa62000d6f565b6200090f601f8401601f191660200162000ce3565b90508281528383830111156200092457600080fd5b828260208301376000602084830101529392505050565b80356001600160a01b03811681146200095357600080fd5b919050565b600082601f83011262000969578081fd5b620007c783833560208501620008dd565b6000602082840312156200098c578081fd5b620007c7826200093b565b600080600080600060a08688031215620009af578081fd5b620009ba866200093b565b9450602086013567ffffffffffffffff811115620009d6578182fd5b8601601f81018813620009e7578182fd5b620009f888823560208401620008dd565b9450506040860135925060608601359150608086013560ff8116811462000a1d578182fd5b809150509295509295909350565b600080600080600060a0868803121562000a43578081fd5b853567ffffffffffffffff8082111562000a5b578283fd5b62000a6989838a0162000958565b965060209150818801358181111562000a80578384fd5b62000a8e8a828b0162000958565b96505060408801358181111562000aa3578384fd5b8801601f81018a1362000ab4578384fd5b80358281111562000ac95762000ac962000d6f565b8060051b925062000adc84840162000ce3565b8181528481019083860185850187018e101562000af7578788fd5b8795505b8386101562000b245762000b0f816200093b565b83526001959095019491860191860162000afb565b5080985050505050505062000b3c606087016200093b565b915062000b4c608087016200093b565b90509295509295909350565b6000815180845262000b7281602086016020860162000d3c565b601f01601f19169290920160200192915050565b6000825162000b9a81846020870162000d3c565b9190910192915050565b6000835162000bb881846020880162000d3c565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b6001600160a01b0384811682528316602082015260606040820181905260009062000c0b9083018462000b58565b95945050505050565b6001600160a01b038316815260406020820181905260009062000c3a9083018462000b58565b949350505050565b602081526000620007c7602083018462000b58565b60808152600062000c6c608083018762000b58565b60208382038185015262000c81828862000b58565b84810360408601528651808252828801935090820190845b8181101562000cc05784516001600160a01b03168352938301939183019160010162000c99565b50506001600160a01b039590951660609490940193909352509195945050505050565b604051601f8201601f1916810167ffffffffffffffff8111828210171562000d0f5762000d0f62000d6f565b604052919050565b6000821982111562000d3757634e487b7160e01b81526011600452602481fd5b500190565b60005b8381101562000d5957818101518382015260200162000d3f565b8381111562000d69576000848401525b50505050565b634e487b7160e01b600052604160045260246000fdfe60806040526040516109a63803806109a68339810160408190526100229161048f565b61004d60017fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5161059a565b60008051602061095f8339815191521461007757634e487b7160e01b600052600160045260246000fd5b6100838282600061008a565b50506105ff565b61009383610164565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a26000825111806100d45750805b1561015f5761015d836001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561011557600080fd5b505afa158015610129573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014d9190610475565b8361030460201b6100291760201c565b505b505050565b6101778161033060201b6100551760201c565b6101d65760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b610259816001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561021257600080fd5b505afa158015610226573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024a9190610475565b61033060201b6100551760201c565b6102be5760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b60648201526084016101cd565b806102e360008051602061095f83398151915260001b61033f60201b6100641760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060610329838360405180606001604052806027815260200161097f60279139610342565b9392505050565b6001600160a01b03163b151590565b90565b60606001600160a01b0384163b6103aa5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016101cd565b600080856001600160a01b0316856040516103c5919061054b565b600060405180830381855af49150503d8060008114610400576040519150601f19603f3d011682016040523d82523d6000602084013e610405565b606091505b509092509050610416828286610420565b9695505050505050565b6060831561042f575081610329565b82511561043f5782518084602001fd5b8160405162461bcd60e51b81526004016101cd9190610567565b80516001600160a01b038116811461047057600080fd5b919050565b600060208284031215610486578081fd5b61032982610459565b600080604083850312156104a1578081fd5b6104aa83610459565b60208401519092506001600160401b03808211156104c6578283fd5b818501915085601f8301126104d9578283fd5b8151818111156104eb576104eb6105e9565b604051601f8201601f19908116603f01168101908382118183101715610513576105136105e9565b8160405282815288602084870101111561052b578586fd5b61053c8360208301602088016105bd565b80955050505050509250929050565b6000825161055d8184602087016105bd565b9190910192915050565b60208152600082518060208401526105868160408501602087016105bd565b601f01601f19169190910160400192915050565b6000828210156105b857634e487b7160e01b81526011600452602481fd5b500390565b60005b838110156105d85781810151838201526020016105c0565b8381111561015d5750506000910152565b634e487b7160e01b600052604160045260246000fd5b6103518061060e6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610067565b61010f565b565b606061004e83836040518060600160405280602781526020016102f560279139610133565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100d257600080fd5b505afa1580156100e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010a919061024e565b905090565b3660008037600080366000845af43d6000803e80801561012e573d6000f35b3d6000fd5b60606001600160a01b0384163b6101a05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101bb9190610275565b600060405180830381855af49150503d80600081146101f6576040519150601f19603f3d011682016040523d82523d6000602084013e6101fb565b606091505b509150915061020b828286610215565b9695505050505050565b6060831561022457508161004e565b8251156102345782518084602001fd5b8160405162461bcd60e51b81526004016101979190610291565b60006020828403121561025f578081fd5b81516001600160a01b038116811461004e578182fd5b600082516102878184602087016102c4565b9190910192915050565b60208152600082518060208401526102b08160408501602087016102c4565b601f01601f19169190910160400192915050565b60005b838110156102df5781810151838201526020016102c7565b838111156102ee576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200fb25613b67898fc11c748d90582c0c37f8037c32127bdd34cd90dbed6cb085764736f6c63430008040033a3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65644d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529a2646970667358221220cbe5aaa872d8395df0bf639e650a5471e46bd66e676657fa8fb9206a47e8bdd264736f6c63430008040033454950373132446f6d61696e28737472696e67206e616d652c737472696e672076657273696f6e2c6164647265737320766572696679696e67436f6e74726163742c627974657333322073616c7429",deployedBytecode:"0x608060405260043610620000795760003560e01c80638da5cb5b11620000545780638da5cb5b1462000110578063c4f6e5a8146200013a578063d60b347f146200015f578063f2fde38b14620001ad57600080fd5b80630c53c51c146200007e5780632d0335ab14620000ad578063715018a614620000f6575b600080fd5b620000956200008f36600462000997565b620001d2565b604051620000a4919062000c42565b60405180910390f35b348015620000ba57600080fd5b50620000e7620000cc3660046200097a565b6001600160a01b031660009081526002602052604090205490565b604051908152602001620000a4565b3480156200010357600080fd5b506200010e62000461565b005b3480156200011d57600080fd5b506000546040516001600160a01b039091168152602001620000a4565b3480156200014757600080fd5b506200010e6200015936600462000a2b565b620004cb565b3480156200016c57600080fd5b506200019c6200017e3660046200097a565b6001600160a01b031660009081526003602052604090205460ff1690565b6040519015158152602001620000a4565b348015620001ba57600080fd5b506200010e620001cc3660046200097a565b620005e8565b60606000620001e186620006b9565b90506000356001600160e01b031990811690821614156200026f5760405162461bcd60e51b815260206004820152603d60248201527f66756e6374696f6e5369676e61747572652063616e206e6f74206265206f662060448201527f657865637574654d6574615472616e73616374696f6e206d6574686f6400000060648201526084015b60405180910390fd5b604080516060810182526001600160a01b03891660008181526002602090815290849020548352820152908101879052620002ae8882888888620006d6565b620003065760405162461bcd60e51b815260206004820152602160248201527f5369676e657220616e64207369676e617475726520646f206e6f74206d6174636044820152600d60fb1b606482015260840162000266565b6001600160a01b0388166000908152600260205260409020546200032c906001620007b9565b6001600160a01b038916600090815260026020908152604080832093909355915190918291309162000363918c918e910162000ba4565b60408051601f19818403018152908290526200037f9162000b86565b6000604051808303816000865af19150503d8060008114620003be576040519150601f19603f3d011682016040523d82523d6000602084013e620003c3565b606091505b509150915081620004175760405162461bcd60e51b815260206004820152601c60248201527f46756e6374696f6e2063616c6c206e6f74207375636365737366756c00000000604482015260640162000266565b7f5845892132946850460bff5a0083f71031bc5bf9aadcd40f1de79423eac9b10b8a338b6040516200044c9392919062000bdd565b60405180910390a19998505050505050505050565b6000546001600160a01b03163314620004bd5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000266565b620004c96000620007ce565b565b606060008382604051620004df90620008cf565b620004ec92919062000c14565b604051809103906000f08015801562000509573d6000803e3d6000fd5b506001600160a01b03811660008181526003602052604090819020805460ff1916600117905551631206923b60e21b8152919250829182919063481a48ec906200055e908c908c908c908b9060040162000c57565b600060405180830381600087803b1580156200057957600080fd5b505af11580156200058e573d6000803e3d6000fd5b5050505088604051620005a2919062000b86565b604051908190038120906001600160a01b038416907fb7af501e8f874efc383147b429cbdd12eede18d7b97ee2681982acad27d9736090600090a3505050505050505050565b6000546001600160a01b03163314620006445760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640162000266565b6001600160a01b038116620006ab5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840162000266565b620006b681620007ce565b50565b6000815160001415620006ce57506000919050565b506020015190565b6000806001620006f0620006ea886200081e565b6200089d565b6040805160008152602081018083529290925260ff861690820152606081018790526080810186905260a0016020604051602081039080840390855afa1580156200073f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116620007985760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964207369676e617475726560781b604482015260640162000266565b866001600160a01b0316816001600160a01b03161491505095945050505050565b6000620007c7828462000d17565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006040518060800160405280604381526020016200172c604391398051602091820120835184830151604080870151805190860120905162000880950193845260208401929092526001600160a01b03166040830152606082015260800190565b604051602081830303815290604052805190602001209050919050565b6000620008a960015490565b60405161190160f01b602082015260228101919091526042810183905260620162000880565b6109a68062000d8683390190565b600067ffffffffffffffff831115620008fa57620008fa62000d6f565b6200090f601f8401601f191660200162000ce3565b90508281528383830111156200092457600080fd5b828260208301376000602084830101529392505050565b80356001600160a01b03811681146200095357600080fd5b919050565b600082601f83011262000969578081fd5b620007c783833560208501620008dd565b6000602082840312156200098c578081fd5b620007c7826200093b565b600080600080600060a08688031215620009af578081fd5b620009ba866200093b565b9450602086013567ffffffffffffffff811115620009d6578182fd5b8601601f81018813620009e7578182fd5b620009f888823560208401620008dd565b9450506040860135925060608601359150608086013560ff8116811462000a1d578182fd5b809150509295509295909350565b600080600080600060a0868803121562000a43578081fd5b853567ffffffffffffffff8082111562000a5b578283fd5b62000a6989838a0162000958565b965060209150818801358181111562000a80578384fd5b62000a8e8a828b0162000958565b96505060408801358181111562000aa3578384fd5b8801601f81018a1362000ab4578384fd5b80358281111562000ac95762000ac962000d6f565b8060051b925062000adc84840162000ce3565b8181528481019083860185850187018e101562000af7578788fd5b8795505b8386101562000b245762000b0f816200093b565b83526001959095019491860191860162000afb565b5080985050505050505062000b3c606087016200093b565b915062000b4c608087016200093b565b90509295509295909350565b6000815180845262000b7281602086016020860162000d3c565b601f01601f19169290920160200192915050565b6000825162000b9a81846020870162000d3c565b9190910192915050565b6000835162000bb881846020880162000d3c565b60609390931b6bffffffffffffffffffffffff19169190920190815260140192915050565b6001600160a01b0384811682528316602082015260606040820181905260009062000c0b9083018462000b58565b95945050505050565b6001600160a01b038316815260406020820181905260009062000c3a9083018462000b58565b949350505050565b602081526000620007c7602083018462000b58565b60808152600062000c6c608083018762000b58565b60208382038185015262000c81828862000b58565b84810360408601528651808252828801935090820190845b8181101562000cc05784516001600160a01b03168352938301939183019160010162000c99565b50506001600160a01b039590951660609490940193909352509195945050505050565b604051601f8201601f1916810167ffffffffffffffff8111828210171562000d0f5762000d0f62000d6f565b604052919050565b6000821982111562000d3757634e487b7160e01b81526011600452602481fd5b500190565b60005b8381101562000d5957818101518382015260200162000d3f565b8381111562000d69576000848401525b50505050565b634e487b7160e01b600052604160045260246000fdfe60806040526040516109a63803806109a68339810160408190526100229161048f565b61004d60017fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d5161059a565b60008051602061095f8339815191521461007757634e487b7160e01b600052600160045260246000fd5b6100838282600061008a565b50506105ff565b61009383610164565b6040516001600160a01b038416907f1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e90600090a26000825111806100d45750805b1561015f5761015d836001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561011557600080fd5b505afa158015610129573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014d9190610475565b8361030460201b6100291760201c565b505b505050565b6101778161033060201b6100551760201c565b6101d65760405162461bcd60e51b815260206004820152602560248201527f455243313936373a206e657720626561636f6e206973206e6f74206120636f6e6044820152641d1c9858dd60da1b60648201526084015b60405180910390fd5b610259816001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561021257600080fd5b505afa158015610226573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061024a9190610475565b61033060201b6100551760201c565b6102be5760405162461bcd60e51b815260206004820152603060248201527f455243313936373a20626561636f6e20696d706c656d656e746174696f6e206960448201526f1cc81b9bdd08184818dbdb9d1c9858dd60821b60648201526084016101cd565b806102e360008051602061095f83398151915260001b61033f60201b6100641760201c565b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060610329838360405180606001604052806027815260200161097f60279139610342565b9392505050565b6001600160a01b03163b151590565b90565b60606001600160a01b0384163b6103aa5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084016101cd565b600080856001600160a01b0316856040516103c5919061054b565b600060405180830381855af49150503d8060008114610400576040519150601f19603f3d011682016040523d82523d6000602084013e610405565b606091505b509092509050610416828286610420565b9695505050505050565b6060831561042f575081610329565b82511561043f5782518084602001fd5b8160405162461bcd60e51b81526004016101cd9190610567565b80516001600160a01b038116811461047057600080fd5b919050565b600060208284031215610486578081fd5b61032982610459565b600080604083850312156104a1578081fd5b6104aa83610459565b60208401519092506001600160401b03808211156104c6578283fd5b818501915085601f8301126104d9578283fd5b8151818111156104eb576104eb6105e9565b604051601f8201601f19908116603f01168101908382118183101715610513576105136105e9565b8160405282815288602084870101111561052b578586fd5b61053c8360208301602088016105bd565b80955050505050509250929050565b6000825161055d8184602087016105bd565b9190910192915050565b60208152600082518060208401526105868160408501602087016105bd565b601f01601f19169190910160400192915050565b6000828210156105b857634e487b7160e01b81526011600452602481fd5b500390565b60005b838110156105d85781810151838201526020016105c0565b8381111561015d5750506000910152565b634e487b7160e01b600052604160045260246000fd5b6103518061060e6000396000f3fe60806040523661001357610011610017565b005b6100115b610027610022610067565b61010f565b565b606061004e83836040518060600160405280602781526020016102f560279139610133565b9392505050565b6001600160a01b03163b151590565b90565b600061009a7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50546001600160a01b031690565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156100d257600080fd5b505afa1580156100e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061010a919061024e565b905090565b3660008037600080366000845af43d6000803e80801561012e573d6000f35b3d6000fd5b60606001600160a01b0384163b6101a05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b60648201526084015b60405180910390fd5b600080856001600160a01b0316856040516101bb9190610275565b600060405180830381855af49150503d80600081146101f6576040519150601f19603f3d011682016040523d82523d6000602084013e6101fb565b606091505b509150915061020b828286610215565b9695505050505050565b6060831561022457508161004e565b8251156102345782518084602001fd5b8160405162461bcd60e51b81526004016101979190610291565b60006020828403121561025f578081fd5b81516001600160a01b038116811461004e578182fd5b600082516102878184602087016102c4565b9190910192915050565b60208152600082518060208401526102b08160408501602087016102c4565b601f01601f19169190910160400192915050565b60005b838110156102df5781810151838201526020016102c7565b838111156102ee576000848401525b5050505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212200fb25613b67898fc11c748d90582c0c37f8037c32127bdd34cd90dbed6cb085764736f6c63430008040033a3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65644d6574615472616e73616374696f6e2875696e74323536206e6f6e63652c616464726573732066726f6d2c62797465732066756e6374696f6e5369676e617475726529a2646970667358221220cbe5aaa872d8395df0bf639e650a5471e46bd66e676657fa8fb9206a47e8bdd264736f6c63430008040033",linkReferences:{},deployedLinkReferences:{}},s={_format:"hh-sol-artifact-1",contractName:"POCP",sourceName:"contracts/POCP.sol",abi:[{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"previousAdmin",type:"address"},{indexed:!1,internalType:"address",name:"newAdmin",type:"address"}],name:"AdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"approved",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"communityId",type:"uint256"},{indexed:!1,internalType:"string",name:"customIdentifier",type:"string"},{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ApprovedBadge",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"communityId",type:"uint256"},{indexed:!0,internalType:"address",name:"account",type:"address"}],name:"ApproverAdded",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"uint256",name:"communityId",type:"uint256"},{indexed:!0,internalType:"address",name:"account",type:"address"}],name:"ApproverRemoved",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"beacon",type:"address"}],name:"BeaconUpgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"tokenId",type:"uint256"},{indexed:!1,internalType:"uint256",name:"communityId",type:"uint256"}],name:"ClaimedBadge",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"communityId",type:"uint256"},{indexed:!1,internalType:"string",name:"communityName",type:"string"},{indexed:!1,internalType:"address",name:"txSigner",type:"address"}],name:"CommunityRegistered",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"userAddress",type:"address"},{indexed:!1,internalType:"address",name:"relayerAddress",type:"address"},{indexed:!1,internalType:"bytes",name:"functionSignature",type:"bytes"}],name:"MetaTransactionExecuted",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Paused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!0,internalType:"uint256",name:"tokenId",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"account",type:"address"}],name:"Unpaused",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"approvedFor",type:"uint256"}],name:"Voucher",type:"event"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"PAUSER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"UPGRADER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"communityId",type:"uint256"},{internalType:"address",name:"account",type:"address"}],name:"addApprover",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"communityId",type:"uint256"},{internalType:"address[]",name:"approvedFor",type:"address[]"},{internalType:"string[]",name:"uri",type:"string[]"},{internalType:"string[]",name:"customIdentifier",type:"string[]"}],name:"approveBadge",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256[]",name:"tokenIds",type:"uint256[]"}],name:"claim",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"community_id",type:"uint256"}],name:"community",outputs:[{components:[{internalType:"string",name:"name",type:"string"},{internalType:"bool",name:"initiated",type:"bool"}],internalType:"struct POCP.Community",name:"",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"communityId",type:"uint256"}],name:"communityTokens",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"daos",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"userAddress",type:"address"},{internalType:"bytes",name:"functionSignature",type:"bytes"},{internalType:"bytes32",name:"sigR",type:"bytes32"},{internalType:"bytes32",name:"sigS",type:"bytes32"},{internalType:"uint8",name:"sigV",type:"uint8"}],name:"executeMetaTransaction",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"getApproved",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"getNonce",outputs:[{internalType:"uint256",name:"nonce",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"communityId",type:"uint256"},{internalType:"address",name:"account",type:"address"}],name:"isApprover",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"lastId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"ownerOf",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"pause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"paused",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"communityName",type:"string"},{internalType:"address[]",name:"approvers",type:"address[]"}],name:"register",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"communityId",type:"uint256"},{internalType:"address",name:"account",type:"address"}],name:"removeApprover",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"},{internalType:"bytes",name:"_data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"index",type:"uint256"}],name:"tokenOfOwnerByIndex",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"tokenURI",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalCommunities",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"unpause",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"}],name:"upgradeTo",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",type:"function"},{inputs:[{internalType:"uint256",name:"tokenId",type:"uint256"}],name:"userBadge",outputs:[{components:[{internalType:"string",name:"uri",type:"string"},{internalType:"address",name:"approvedBy",type:"address"},{internalType:"bool",name:"claimed",type:"bool"},{internalType:"bool",name:"initiated",type:"bool"},{internalType:"uint256",name:"communityId",type:"uint256"}],internalType:"struct POCP.Badge",name:"badge",type:"tuple"}],stateMutability:"view",type:"function"},{inputs:[],name:"userBadgeIds",outputs:[{internalType:"uint256[]",name:"badgeIds",type:"uint256[]"}],stateMutability:"view",type:"function"}],bytecode:"0x60a06040523060805234801561001457600080fd5b5060805161442b610045600039600081816114f301528181611533015281816115dd015261161d015261442b6000f3fe60806040526004361061027d5760003560e01c80635c975abb1161014f578063b88d4fde116100c1578063d3e4047a1161007a578063d3e4047a1461077d578063d547741f1461079d578063e63ab1e9146107bd578063e985e9c5146107df578063f72c0d8b14610828578063fcb4d2061461085c57600080fd5b8063b88d4fde146106c9578063bb6c352c146106e4578063c1292cc314610704578063c3759eb81461071b578063c87b56dd1461073b578063c9ab9cf61461075b57600080fd5b80638456cb59116101135780638456cb591461062a57806391d148541461063f57806395d89b411461065f578063a144819414610674578063a217fddf14610694578063a22cb465146106a957600080fd5b80635c975abb1461059d5780636352211e146105b55780636ba4c138146105d557806370a08231146105f55780638129fc1c1461061557600080fd5b80632d0335ab116101f35780633659cfe6116101ac5780633659cfe6146105155780633f4ba83a1461053557806342842e0e146103df5780634f1ef2861461054a5780634f6ccce71461055d5780635317234e1461057d57600080fd5b80632d0335ab146104305780632f2ff15d146104675780632f745c59146104875780632fa2cc4e146104a75780632faf59d4146104d557806336568abe146104f557600080fd5b806314de72d41161024557806314de72d41461034657806318160ddd146103735780632070fea514610392578063211e34f7146103b257806323b872dd146103df578063248a9ca3146103ff57600080fd5b806301ffc9a71461028257806306fdde03146102b7578063081812fc146102d9578063095ea7b3146103115780630c53c51c14610333575b600080fd5b34801561028e57600080fd5b506102a261029d3660046137d4565b610873565b60405190151581526020015b60405180910390f35b3480156102c357600080fd5b506102cc610884565b6040516102ae9190613849565b3480156102e557600080fd5b506102f96102f436600461385c565b610916565b6040516001600160a01b0390911681526020016102ae565b34801561031d57600080fd5b5061033161032c366004613891565b6109b0565b005b6102cc61034136600461397a565b610ac6565b34801561035257600080fd5b5061036661036136600461385c565b610d40565b6040516102ae91906139f6565b34801561037f57600080fd5b506099545b6040519081526020016102ae565b34801561039e57600080fd5b506103316103ad366004613a76565b610e16565b3480156103be57600080fd5b506103d26103cd36600461385c565b61112c565b6040516102ae9190613b1a565b3480156103eb57600080fd5b506103316103fa366004613b76565b611279565b34801561040b57600080fd5b5061038461041a36600461385c565b6000908152610192602052604090206001015490565b34801561043c57600080fd5b5061038461044b366004613bb2565b6001600160a01b031660009081526101f8602052604090205490565b34801561047357600080fd5b50610331610482366004613bcd565b6112b8565b34801561049357600080fd5b506103846104a2366004613891565b6112df565b3480156104b357600080fd5b50610384610