@dcl/linker-dapp 0.9.1-5654370940.commit-5142c60 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../node_modules/react-semantic-ui-datepickers/dist/locales sync /^/.//.*/.json$","modules/signature/actions.ts","modules/signature/reducer.ts","modules/authorization/actions.ts","modules/authorization/reducer.ts","modules/server/actions.ts","modules/server/reducer.ts","modules/acl/actions.ts","modules/acl/reducer.ts","reducer.ts","config/index.ts","modules/wallet/sagas.ts","modules/server/utils.ts","modules/signature/sagas.ts","modules/server/selectors.ts","contracts.ts","modules/authorization/utils.ts","modules/authorization/sagas.ts","modules/server/sagas.ts","modules/translation/sagas.ts","modules/nps/sagas.ts","modules/acl/utils.ts","modules/acl/sagas.ts","modules/signature/selectors.ts","components/Error.tsx","components/RenderWalletData/RenderWalletData.tsx","modules/land/utils.ts","components/IdentityPage/IdentityPage.container.tsx","components/IdentityPage/index.ts","components/IdentityPage/IdentityPage.tsx","modules/authorization/selectors.ts","components/Files/Files.tsx","components/Files/Files.container.tsx","components/Files/index.ts","components/Map/index.tsx","components/DeploySuccess/DeploySuccess.container.tsx","components/DeploySuccess/DeploySuccess.tsx","components/LinkerPage/LinkerPage.tsx","components/LinkerPage/LinkerPage.container.tsx","components/LinkerPage/index.ts","components/Root.tsx","components/WorldACLPage/ACLStatus/types.ts","modules/acl/selectors.ts","components/Chip/Chip.tsx","components/WorldACLPage/ACLStatus/ACLStatus.container.tsx","components/WorldACLPage/ACLStatus/index.ts","components/WorldACLPage/ACLStatus/ACLStatus.tsx","components/WorldACLPage/WorldACLPage.tsx","components/WorldACLPage/WorldACLPage.container.tsx","components/WorldACLPage/index.ts","index.tsx","store.ts","sagas.ts"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","SIGN_CONTENT_REQUEST","SIGN_CONTENT_SUCCESS","SIGN_CONTENT_FAILURE","signContentSuccess","signature","action","signContentFailure","error","CREATE_IDENTITY_REQUEST","CREATE_IDENTITY_SUCCESS","CREATE_IDENTITY_FAILURE","createIdentitySuccess","identity","createIdentityFailure","SIGN_WORLD_ACL_REQUEST","SIGN_WORLD_ACL_SUCCESS","SIGN_WORLD_ACL_FAILURE","signWorldACLSuccess","signWorldACLFailure","INITIAL_STATE","data","loading","FETCH_AUTHORIZATIONS_REQUEST","FETCH_AUTHORIZATIONS_SUCCESS","FETCH_AUTHORIZATIONS_FAILURE","fetchAuthorizationsRequest","owner","fetchAuthorizationsSuccess","authorizations","fetchAuthorizationsFailure","FETCH_FILES_REQUEST","FETCH_FILES_SUCCESS","FETCH_FILES_FAILURE","FETCH_INFO_REQUEST","FETCH_INFO_SUCCESS","FETCH_INFO_FAILURE","FETCH_CATALYST_REQUEST","FETCH_CATALYST_SUCCESS","FETCH_CATALYST_FAILURE","fetchFilesSuccess","files","fetchFilesFailure","fetchInfoSuccess","info","fetchInfoFailure","fetchCatalystRequest","fetchCatalystSuccess","payload","fetchCatalystFailure","DEPLOY_SUCCESS","deploySuccess","undefined","catalyst","parseCoords","query","c","_c$split","split","_c$split2","_slicedToArray","x","y","parseInt","FETCH_WORLD_ACL_REQUEST","FETCH_WORLD_ACL_SUCCESS","FETCH_WORLD_ACL_FAILURE","UPDATE_WORLD_ACL_REQUEST","UPDATE_WORLD_ACL_SUCCESS","UPDATE_WORLD_ACL_FAILURE","fetchWorldACLSuccess","acl","fetchWorldACLFailure","updateWorldACLRequest","updateWorldACLSuccess","updateWorldACLFailure","rootReducer","storageReducerWrapper","combineReducers","storage","wallet","transaction","translation","state","arguments","length","type","_objectSpread","loadingReducer","authorization","api","catalysts","baseParcel","parcels","rootCID","config","createConfig","dev","prod","walletSaga","_marked2","_regeneratorRuntime","mark","fullWalletSaga","_marked3","handleWallet","_marked4","handleConnectWalletSuccess","baseWalletSaga","wrap","_context","prev","next","createWalletSaga","CHAIN_ID","get","ChainId","ETHEREUM_MAINNET","toString","all","stop","_marked","_context2","takeEvery","CHANGE_NETWORK","CHANGE_ACCOUNT","CONNECT_WALLET_SUCCESS","_context3","call","window","location","reload","address","_context4","select","getAddress","sent","put","closeServer","_x","_x2","_closeServer","apply","_asyncToGenerator","_callee","ok","message","fetch","concat","JSON","stringify","postDeploy","_x3","_postDeploy","_callee2","response","method","headers","body","abrupt","json","getFilesRequest","_getFilesRequest","_callee3","getInfoRequest","_getInfoRequest","_callee4","getCatalystsPointer","_getCatalystsPointer","_callee5","_context5","signatureSaga","sign","handleSignContentRequest","handleSignContentSuccess","_marked5","handleCreateIdentityRequest","_marked6","handleCreateIdentitySuccess","_marked7","handleSignWorldACLRequest","_marked8","handleSignWorldACLSuccess","takeLatest","dataToSign","provider","web3provider","signer","addr","signedMessage","toUtf8Bytes","getConnectedProvider","Web3Provider","getSigner","send","hexlify","toLowerCase","t0","chainId","getChainId","_action","createIdentity","_context6","responseType","_context7","_context8","getFiles","getInfo","ContractName","contractsByChainId","_contractsByChainId","_defineProperty","LANDRegistry","_ContractName$LANDReg","abi","ETHEREUM_SEPOLIA","EstateRegistry","_ContractName$EstateR","getProvider","_getProvider","getContract","name","contract","getContractByName","_getContractByName","_yield$provider$getNe","getNetwork","getLandContract","_getLandContract","landRegistry","_yield$getContractByN","Contract","getEstateContract","_getEstateContract","estateRegistry","_yield$getContractByN2","t1","t2","t3","isAuthorized","_x4","_x5","_isAuthorized","land","landTokenId","isUpdateAuthorized","estate","estateTokenId","_isUpdateAuthorized","unlockRegeneratorRuntime","encodeTokenId","getLandEstateId","_unlockRegeneratorRuntime","m","_ref","n","_x6","authorizationSaga","handleFetchAuthorizationsRequest","qs","_parcels","promises","take","URLSearchParams","document","search","parcel","Promise","apiSaga","handleFetchFilesRequest","handleFetchInfoRequest","handleFetchCatalystRequest","value","translationSaga","createTranslationSaga","translations","npsSaga","windowWithNps","delightedNps4","survey","getWorldACL","_getWorldACL","targetContent","worldName","updateWorldACL","_updateWorldACL","aclSaga","handleFetchWorldACLRequest","handleUpdateWorldACLRequest","_action$payload","getState","getData","createSelector","isLoading","React","memo","children","_jsxs","style","color","RenderWalletData","isConnected","isConnecting","onConnectWallet","_Fragment","_jsx","Blockie","scale","seed","Address","tooltip","strong","filter","a","coordsToString","join","Button","primary","onClick","disabled","IdentityPage","connect","getWallet","signed","getSignature","isSigning","isSigningTx","dispatch","providerType","enableWalletRequest","onRequestIdentity","props","_useState","useState","_useState2","isModalOpen","setIsModalOpen","useEffect","className","Navbar","Header","preventDefault","LoginModal","onClose","onConnect","every","Filter","Files","Size","setFilter","useMemo","sort","b","size","Container","Table","basic","Row","HeaderCell","Dropdown","text","direction","Menu","values","f","Item","Body","_ref2","index","Cell","Number","toFixed","LinkScenePage","find","coords","s","Section","_find","Atlas","height","isDraggable","layers","_state$api$catalyst","_state$api$catalyst2","status","apiError","onFetchCatalyst","_ref$catalysts","deployedToAll","Set","entityId","isWorld","interval","setInterval","clearInterval","HeaderMenu","Badge","Color","SUNISH","url","timestamp","Date","toLocaleString","Tab","LinkerPage","getAuthorizations","isAuthorizationLoading","deployError","onSignContent","cid","signContentRequest","onFetchFiles","onFetchInfo","Map","tab","setTab","_useState3","_useState4","isTestNet","networkName","deployUrl","leftMenu","Page","Left","textAlign","title","description","_window$open","open","focus","SUMMER_RED","Icon","SHADOWS","Right","Toast","ToastType","ERROR","isPortableExperience","WARN","Tabs","isFullscreen","t","active","Loader","DeploySuccess","Footer","Root","has","ACLStatus","getACLStatus","getACL","resource","allowed","includes","UPDATED","UPDATING","Chip","icon","isActive","isDisabled","containerClass","classNames","clickeable","tabIndex","onKeyDown","evt","key","defaultProps","aclStatus","onFetchWorldACL","fetchWorldACLRequest","aclUpdated","Status","Allowed","addresses","WorldACLPage","signWorldACLRequest","_info$allowed","isPayloadExpired","setIsPayloadExpired","allowedDifference","oldAllowed","expiration","clearTimeout","getChainName","router","createBrowserRouter","path","element","ReactDOM","render","Provider","store","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","_createStorageMiddlew","createStorageMiddleware","storageKey","storageMiddleware","loadStorageMiddleware","sagasMiddleware","createSagasMiddleware","transactionMiddleware","createTransactionMiddleware","loggerMiddleware","createLogger","collapsed","predicate","_","enhancer","applyMiddleware","createStore","run","initStore","TranslationProvider","locales","WalletProvider","RouterProvider","getElementById"],"mappings":"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","file":"static/js/main.0367bff0.chunk.js","sourcesContent":["var map = {\n\t\"./bg-BG.json\": 2217,\n\t\"./ca-ES.json\": 2218,\n\t\"./cs-CZ.json\": 2219,\n\t\"./de-DE.json\": 2220,\n\t\"./el-GR.json\": 2221,\n\t\"./en-US.json\": 1083,\n\t\"./es-ES.json\": 2222,\n\t\"./et-EE.json\": 2223,\n\t\"./fi-FI.json\": 2224,\n\t\"./fr-FR.json\": 2225,\n\t\"./he-IL.json\": 2226,\n\t\"./it-IT.json\": 2227,\n\t\"./ja-JP.json\": 2228,\n\t\"./ko-KR.json\": 2229,\n\t\"./nb-NO.json\": 2230,\n\t\"./nl-NL.json\": 2231,\n\t\"./nn-NO.json\": 2232,\n\t\"./pl-PL.json\": 2233,\n\t\"./pt-BR.json\": 2234,\n\t\"./ro-RO.json\": 2235,\n\t\"./ru-RU.json\": 2236,\n\t\"./sk-SK.json\": 2237,\n\t\"./sv-SE.json\": 2238,\n\t\"./tr-TR.json\": 2239,\n\t\"./zh-CN.json\": 2240\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 2216;","import { AuthIdentity } from 'dcl-crypto'\nimport { action } from 'typesafe-actions'\n\nexport const SIGN_CONTENT_REQUEST = '[Request] Sign Content'\nexport const SIGN_CONTENT_SUCCESS = '[Success] Sign Content'\nexport const SIGN_CONTENT_FAILURE = '[Failure] Sign Content'\n\nexport const signContentRequest = (cid: string) =>\n action(SIGN_CONTENT_REQUEST, cid)\nexport const signContentSuccess = (signature: string) =>\n action(SIGN_CONTENT_SUCCESS, { signature })\nexport const signContentFailure = (error: string) =>\n action(SIGN_CONTENT_FAILURE, { error })\n\nexport type SignContentRequestAction = ReturnType<typeof signContentRequest>\nexport type SignContentSuccessAction = ReturnType<typeof signContentSuccess>\nexport type SignContentFailureAction = ReturnType<typeof signContentFailure>\n\nexport const CREATE_IDENTITY_REQUEST = '[Request] Create Identity'\nexport const CREATE_IDENTITY_SUCCESS = '[Success] Create Identity'\nexport const CREATE_IDENTITY_FAILURE = '[Failure] Create Identity'\n\nexport const createIdentityRequest = () => action(CREATE_IDENTITY_REQUEST, {})\nexport const createIdentitySuccess = (identity: AuthIdentity) =>\n action(CREATE_IDENTITY_SUCCESS, { identity })\nexport const createIdentityFailure = (error: string) =>\n action(CREATE_IDENTITY_FAILURE, { error })\n\nexport type CreateIdentityRequestAction = ReturnType<\n typeof createIdentityRequest\n>\nexport type CreateIdentitySuccessAction = ReturnType<\n typeof createIdentitySuccess\n>\nexport type CreateIdentityFailureAction = ReturnType<\n typeof createIdentityFailure\n>\n\nexport const SIGN_WORLD_ACL_REQUEST = '[Request] Sign World ACL'\nexport const SIGN_WORLD_ACL_SUCCESS = '[Success] Sign World ACL'\nexport const SIGN_WORLD_ACL_FAILURE = '[Failure] Sign World ACL'\n\nexport const signWorldACLRequest = (payload: string) =>\n action(SIGN_WORLD_ACL_REQUEST, payload)\nexport const signWorldACLSuccess = (signature: string) =>\n action(SIGN_WORLD_ACL_SUCCESS, { signature })\nexport const signWorldACLFailure = (error: string) =>\n action(SIGN_WORLD_ACL_FAILURE, { error })\n\nexport type SignWorldACLRequestAction = ReturnType<typeof signWorldACLRequest>\nexport type SignWorldACLSuccessAction = ReturnType<typeof signWorldACLSuccess>\nexport type SignWorldACLFailureAction = ReturnType<typeof signWorldACLFailure>\n","import { AuthIdentity } from 'dcl-crypto'\nimport {\n loadingReducer,\n LoadingState,\n} from 'decentraland-dapps/dist/modules/loading/reducer'\n\nimport {\n SignContentRequestAction,\n SignContentSuccessAction,\n SignContentFailureAction,\n SIGN_CONTENT_REQUEST,\n SIGN_CONTENT_SUCCESS,\n SIGN_CONTENT_FAILURE,\n CreateIdentityRequestAction,\n CreateIdentitySuccessAction,\n CreateIdentityFailureAction,\n CREATE_IDENTITY_REQUEST,\n CREATE_IDENTITY_SUCCESS,\n CREATE_IDENTITY_FAILURE,\n SignWorldACLRequestAction,\n SignWorldACLSuccessAction,\n SignWorldACLFailureAction,\n SIGN_WORLD_ACL_REQUEST,\n SIGN_WORLD_ACL_SUCCESS,\n SIGN_WORLD_ACL_FAILURE,\n} from './actions'\n\nexport type SignatureState = {\n data: any\n identity: AuthIdentity | null\n loading: LoadingState\n error: string | null\n}\n\nexport const INITIAL_STATE: SignatureState = {\n data: '',\n loading: [],\n identity: null,\n error: null,\n}\n\nexport type SignatureReducerAction =\n | SignContentRequestAction\n | SignContentSuccessAction\n | SignContentFailureAction\n | CreateIdentityRequestAction\n | CreateIdentitySuccessAction\n | CreateIdentityFailureAction\n | SignWorldACLRequestAction\n | SignWorldACLSuccessAction\n | SignWorldACLFailureAction\n\nexport const signatureReducer = (\n state = INITIAL_STATE,\n action: SignatureReducerAction\n): SignatureState => {\n switch (action.type) {\n case SIGN_CONTENT_REQUEST:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n }\n case SIGN_CONTENT_SUCCESS:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n data: action.payload.signature,\n error: null,\n }\n case SIGN_CONTENT_FAILURE:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n error: action.payload.error,\n }\n case CREATE_IDENTITY_REQUEST:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n }\n case CREATE_IDENTITY_SUCCESS:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n identity: action.payload.identity,\n error: null,\n }\n case CREATE_IDENTITY_FAILURE:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n error: action.payload.error,\n }\n case SIGN_WORLD_ACL_REQUEST:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n }\n case SIGN_WORLD_ACL_SUCCESS:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n data: action.payload.signature,\n error: null,\n }\n case SIGN_WORLD_ACL_FAILURE:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n error: action.payload.error,\n }\n default: {\n return state\n }\n }\n}\n","import { action } from 'typesafe-actions'\nimport { Authorization } from './types'\n\nexport const FETCH_AUTHORIZATIONS_REQUEST = '[Request] Fetch LAND Authorizations'\nexport const FETCH_AUTHORIZATIONS_SUCCESS = '[Success] Fetch LAND Authorizations'\nexport const FETCH_AUTHORIZATIONS_FAILURE = '[Failure] Fetch LAND Authorizations'\n\nexport const fetchAuthorizationsRequest = (owner: string) => action(FETCH_AUTHORIZATIONS_REQUEST, { owner })\n\nexport const fetchAuthorizationsSuccess = (authorizations: Authorization[]) =>\n action(FETCH_AUTHORIZATIONS_SUCCESS, { authorizations })\n\nexport const fetchAuthorizationsFailure = (error: string) => action(FETCH_AUTHORIZATIONS_FAILURE, { error })\n\nexport type FetchAuthorizationsRequestAction = ReturnType<typeof fetchAuthorizationsRequest>\nexport type FetchAuthorizationsSuccessAction = ReturnType<typeof fetchAuthorizationsSuccess>\nexport type FetchAuthorizationsFailureAction = ReturnType<typeof fetchAuthorizationsFailure>\n","import {\n loadingReducer,\n LoadingState,\n} from 'decentraland-dapps/dist/modules/loading/reducer'\n\nimport {\n FetchAuthorizationsRequestAction,\n FetchAuthorizationsSuccessAction,\n FetchAuthorizationsFailureAction,\n FETCH_AUTHORIZATIONS_REQUEST,\n FETCH_AUTHORIZATIONS_SUCCESS,\n FETCH_AUTHORIZATIONS_FAILURE,\n} from './actions'\n\nexport type AuthorizationState = {\n data: any\n loading: LoadingState\n error: string | null\n}\n\nexport const INITIAL_STATE: AuthorizationState = {\n data: [],\n loading: [],\n error: null,\n}\n\nexport type AuthorizationReducerAction =\n | FetchAuthorizationsRequestAction\n | FetchAuthorizationsSuccessAction\n | FetchAuthorizationsFailureAction\n\nexport const authorizationReducer = (\n state = INITIAL_STATE,\n action: AuthorizationReducerAction\n): AuthorizationState => {\n switch (action.type) {\n case FETCH_AUTHORIZATIONS_REQUEST:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n }\n case FETCH_AUTHORIZATIONS_SUCCESS:\n return {\n loading: loadingReducer(state.loading, action),\n data: action.payload.authorizations,\n error: null,\n }\n case FETCH_AUTHORIZATIONS_FAILURE:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n error: action.payload.error,\n }\n default: {\n return state\n }\n }\n}\n","import { action } from 'typesafe-actions'\nimport { CatalystResponse, FileSize } from './reducer'\nimport { InfoResponse } from './types'\n\nexport const FETCH_FILES_REQUEST = '[Request] Fetch Files'\nexport const FETCH_FILES_SUCCESS = '[Success] Fetch Files'\nexport const FETCH_FILES_FAILURE = '[Failure] Fetch Files'\n\nexport const FETCH_INFO_REQUEST = '[Request] Fetch info'\nexport const FETCH_INFO_SUCCESS = '[Success] Fetch info'\nexport const FETCH_INFO_FAILURE = '[Failure] Fetch info'\n\nexport const FETCH_CATALYST_REQUEST = '[Request] Fetch catalyst'\nexport const FETCH_CATALYST_SUCCESS = '[Success] Fetch catalyst'\nexport const FETCH_CATALYST_FAILURE = '[Failure] Fetch catalyst'\n\nexport const fetchFilesRequest = () => action(FETCH_FILES_REQUEST)\nexport const fetchFilesSuccess = (files: FileSize[]) =>\n action(FETCH_FILES_SUCCESS, { files })\nexport const fetchFilesFailure = (error: string) =>\n action(FETCH_FILES_FAILURE, { error })\n\nexport const fetchInfoRequest = () => action(FETCH_INFO_REQUEST)\nexport const fetchInfoSuccess = (info: InfoResponse) =>\n action(FETCH_INFO_SUCCESS, { info })\nexport const fetchInfoFailure = (error: string) =>\n action(FETCH_INFO_FAILURE, { error })\n\nexport const fetchCatalystRequest = () => action(FETCH_CATALYST_REQUEST)\nexport const fetchCatalystSuccess = (payload: CatalystResponse) =>\n action(FETCH_CATALYST_SUCCESS, payload)\nexport const fetchCatalystFailure = (error: string) =>\n action(FETCH_CATALYST_FAILURE, { error })\n\nexport type FetchFilesRequestAction = ReturnType<typeof fetchFilesRequest>\nexport type FetchFilesSuccessAction = ReturnType<typeof fetchFilesSuccess>\nexport type FetchFilesFailureAction = ReturnType<typeof fetchFilesFailure>\n\nexport type FetchInfoRequestAction = ReturnType<typeof fetchInfoRequest>\nexport type FetchInfoSuccessAction = ReturnType<typeof fetchInfoSuccess>\nexport type FetchInfoFailureAction = ReturnType<typeof fetchInfoFailure>\n\nexport type FetchCatalystRequest = ReturnType<typeof fetchCatalystRequest>\nexport type FetchCatalystSuccess = ReturnType<typeof fetchCatalystSuccess>\nexport type FetchCatalystFailure = ReturnType<typeof fetchCatalystFailure>\n\nexport const DEPLOY_SUCCESS = '[Success] Deploy content'\nexport const deploySuccess = () => action(DEPLOY_SUCCESS)\nexport type DeploySuccessAction = ReturnType<typeof deploySuccess>\n","import {\n loadingReducer,\n LoadingState,\n} from 'decentraland-dapps/dist/modules/loading/reducer'\nimport { Coords } from '../land/types'\n\nimport {\n FetchFilesRequestAction,\n FetchFilesSuccessAction,\n FetchFilesFailureAction,\n FETCH_FILES_REQUEST,\n FETCH_FILES_SUCCESS,\n FETCH_FILES_FAILURE,\n FETCH_INFO_REQUEST,\n FETCH_INFO_FAILURE,\n FETCH_INFO_SUCCESS,\n FetchInfoRequestAction,\n FetchInfoSuccessAction,\n FetchInfoFailureAction,\n FetchCatalystFailure,\n FetchCatalystRequest,\n FetchCatalystSuccess,\n FETCH_CATALYST_REQUEST,\n FETCH_CATALYST_SUCCESS,\n FETCH_CATALYST_FAILURE,\n DEPLOY_SUCCESS,\n DeploySuccessAction,\n} from './actions'\n\nexport type Info = {\n rootCID: string\n debug: boolean\n estateRegistry?: string\n landRegistry?: string\n title?: string\n description?: string\n baseParcel: Coords\n parcels: Coords[]\n isPortableExperience: boolean\n isWorld: boolean\n}\n\nexport type FileSize = {\n name: string\n size: string\n}\n\nexport type CatalystResponse = {\n catalysts: {\n url: string\n timestamp: number\n entityId: string\n }[]\n status: 'deploying' | 'success' | 'closed'\n}\n\nexport type ApiState = {\n files: FileSize[]\n loading: LoadingState\n error: string | null\n catalyst: CatalystResponse | undefined\n info: Info | undefined\n deploySuccess: boolean\n}\n\nexport const INITIAL_STATE: ApiState = {\n info: undefined,\n files: [],\n loading: [],\n error: null,\n catalyst: undefined,\n deploySuccess: false\n}\n\nexport type ApiReducerAction =\n | FetchFilesRequestAction\n | FetchFilesSuccessAction\n | FetchFilesFailureAction\n | FetchInfoRequestAction\n | FetchInfoSuccessAction\n | FetchInfoFailureAction\n | FetchCatalystFailure\n | FetchCatalystRequest\n | FetchCatalystSuccess\n | DeploySuccessAction\n\nexport const apiReducer = (\n state = INITIAL_STATE,\n action: ApiReducerAction\n): ApiState => {\n switch (action.type) {\n case DEPLOY_SUCCESS: {\n return {\n ...state,\n deploySuccess: true\n }\n }\n case FETCH_FILES_REQUEST:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n }\n case FETCH_FILES_SUCCESS:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n files: action.payload.files,\n error: null,\n }\n case FETCH_FILES_FAILURE:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n error: action.payload.error,\n files: [],\n }\n case FETCH_CATALYST_REQUEST:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n }\n case FETCH_CATALYST_SUCCESS:\n if (!action.payload.catalysts.length) {\n return state\n }\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n catalyst: action.payload,\n error: null,\n }\n case FETCH_CATALYST_FAILURE:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n error: action.payload.error\n }\n case FETCH_INFO_REQUEST:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n }\n case FETCH_INFO_SUCCESS:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n info: {\n ...action.payload.info,\n baseParcel: parseCoords(action.payload.info.baseParcel)[0],\n parcels: parseCoords(action.payload.info.parcels),\n rootCID:\n action.payload.info.rootCID ||\n 'QmPjpPyibbryTCi75zzcdeuPUBcujtEqj43shwKBAdMojy',\n },\n error: null,\n }\n case FETCH_INFO_FAILURE:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n error: action.payload.error,\n info: undefined,\n }\n default: {\n return state\n }\n }\n}\n\nfunction parseCoords(query: string | string[] | null): Coords[] {\n if (!query) return [{ x: 0, y: 0 }]\n const coords = typeof query === 'string' ? [query] : query\n return coords.map((c) => {\n const [x, y] = c.split(',')\n return { x: parseInt(x, 10), y: parseInt(y, 10) }\n })\n}\n","import { action } from 'typesafe-actions'\nimport { ACLResponse } from './reducer'\nimport { InfoResponse } from './types'\n\nexport const FETCH_INFO_REQUEST = '[Request] Fetch World ACL info'\nexport const FETCH_INFO_SUCCESS = '[Success] Fetch World ACL info'\nexport const FETCH_INFO_FAILURE = '[Failure] Fetch World ACL info'\n\nexport const FETCH_WORLD_ACL_REQUEST = '[Request] Fetch World ACL'\nexport const FETCH_WORLD_ACL_SUCCESS = '[Success] Fetch World ACL'\nexport const FETCH_WORLD_ACL_FAILURE = '[Failure] Fetch World ACL'\n\nexport const UPDATE_WORLD_ACL_REQUEST = '[Request] Update World ACL'\nexport const UPDATE_WORLD_ACL_SUCCESS = '[Success] Update World ACL'\nexport const UPDATE_WORLD_ACL_FAILURE = '[Failure] Update World ACL'\n\nexport const fetchInfoRequest = () => action(FETCH_INFO_REQUEST)\nexport const fetchInfoSuccess = (info: InfoResponse) =>\n action(FETCH_INFO_SUCCESS, { info })\nexport const fetchInfoFailure = (error: string) =>\n action(FETCH_INFO_FAILURE, { error })\n\nexport const fetchWorldACLRequest = (targetContent: string, worldName: string) =>\n action(FETCH_WORLD_ACL_REQUEST, { targetContent, worldName })\nexport const fetchWorldACLSuccess = (acl: ACLResponse) =>\n action(FETCH_WORLD_ACL_SUCCESS, { acl })\nexport const fetchWorldACLFailure = (error: string) =>\n action(FETCH_WORLD_ACL_FAILURE, { error })\n\nexport const updateWorldACLRequest = (signature: string) =>\n action(UPDATE_WORLD_ACL_REQUEST, { signature })\nexport const updateWorldACLSuccess = () => action(UPDATE_WORLD_ACL_SUCCESS)\nexport const updateWorldACLFailure = (error: string) =>\n action(UPDATE_WORLD_ACL_FAILURE, { error })\n\nexport type FetchInfoRequestAction = ReturnType<typeof fetchInfoRequest>\nexport type FetchInfoSuccessAction = ReturnType<typeof fetchInfoSuccess>\nexport type FetchInfoFailureAction = ReturnType<typeof fetchInfoFailure>\n\nexport type FetchWorldACLRequestAction = ReturnType<typeof fetchWorldACLRequest>\nexport type FetchWorldACLSuccessAction = ReturnType<typeof fetchWorldACLSuccess>\nexport type FetchWorldACLFailureAction = ReturnType<typeof fetchWorldACLFailure>\n\nexport type UpdateWorldACLRequestAction = ReturnType<\n typeof updateWorldACLRequest\n>\nexport type UpdateWorldACLSuccessAction = ReturnType<\n typeof updateWorldACLSuccess\n>\nexport type UpdateWorldACLFailureAction = ReturnType<\n typeof updateWorldACLFailure\n>\n","import {\n loadingReducer,\n LoadingState,\n} from 'decentraland-dapps/dist/modules/loading/reducer'\nimport {\n FETCH_INFO_REQUEST,\n FETCH_INFO_FAILURE,\n FETCH_INFO_SUCCESS,\n FetchInfoRequestAction,\n FetchInfoSuccessAction,\n FetchInfoFailureAction,\n FetchWorldACLFailureAction,\n FetchWorldACLRequestAction,\n FetchWorldACLSuccessAction,\n FETCH_WORLD_ACL_REQUEST,\n FETCH_WORLD_ACL_SUCCESS,\n FETCH_WORLD_ACL_FAILURE,\n UpdateWorldACLFailureAction,\n UpdateWorldACLRequestAction,\n UpdateWorldACLSuccessAction,\n UPDATE_WORLD_ACL_FAILURE,\n UPDATE_WORLD_ACL_REQUEST,\n UPDATE_WORLD_ACL_SUCCESS,\n} from './actions'\nimport { InfoResponse } from './types'\n\nexport type ACLResponse = {\n resource: string\n allowed: string[]\n}\n\nexport type ACLState = {\n loading: LoadingState\n error: string | null\n info: InfoResponse | undefined\n acl: ACLResponse | undefined\n}\n\nexport const INITIAL_STATE: ACLState = {\n info: undefined,\n acl: undefined,\n loading: [],\n error: null,\n}\n\nexport type ApiReducerAction =\n | FetchInfoRequestAction\n | FetchInfoSuccessAction\n | FetchInfoFailureAction\n | FetchWorldACLFailureAction\n | FetchWorldACLRequestAction\n | FetchWorldACLSuccessAction\n | UpdateWorldACLFailureAction\n | UpdateWorldACLRequestAction\n | UpdateWorldACLSuccessAction\n\nexport const aclReducer = (\n state = INITIAL_STATE,\n action: ApiReducerAction\n): ACLState => {\n switch (action.type) {\n case FETCH_INFO_REQUEST:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n }\n case FETCH_INFO_SUCCESS:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n info: action.payload.info,\n error: null,\n }\n case FETCH_INFO_FAILURE:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n error: action.payload.error,\n info: undefined,\n }\n case FETCH_WORLD_ACL_REQUEST:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n }\n case FETCH_WORLD_ACL_SUCCESS:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n acl: action.payload.acl,\n error: null,\n }\n case FETCH_WORLD_ACL_FAILURE:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n error: action.payload.error,\n acl: undefined,\n }\n case UPDATE_WORLD_ACL_REQUEST:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n }\n case UPDATE_WORLD_ACL_SUCCESS:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n error: null,\n }\n case UPDATE_WORLD_ACL_FAILURE:\n return {\n ...state,\n loading: loadingReducer(state.loading, action),\n error: action.payload.error,\n }\n default: {\n return state\n }\n }\n}\n","import { combineReducers } from 'redux'\nimport { walletReducer as wallet } from 'decentraland-dapps/dist/modules/wallet/reducer'\nimport { transactionReducer as transaction } from 'decentraland-dapps/dist/modules/transaction/reducer'\nimport { translationReducer as translation } from 'decentraland-dapps/dist/modules/translation/reducer'\nimport {\n storageReducer as storage,\n storageReducerWrapper,\n} from 'decentraland-dapps/dist/modules/storage/reducer'\n\nimport { signatureReducer as signature } from './modules/signature/reducer'\nimport { authorizationReducer as authorization } from './modules/authorization/reducer'\nimport { apiReducer as api } from './modules/server/reducer'\nimport { aclReducer as acl } from './modules/acl/reducer'\nimport { RootState } from './types'\n\nexport const rootReducer = storageReducerWrapper(\n combineReducers<RootState>({\n storage,\n wallet,\n transaction,\n translation,\n signature,\n authorization,\n api,\n acl,\n })\n)\n","import { createConfig } from '@dcl/ui-env'\nimport dev from './env/dev.json'\nimport prod from './env/prod.json'\n\nexport const config = createConfig({\n dev,\n prod\n})","import { takeEvery, all, call, select, put } from 'redux-saga/effects'\nimport { ChainId } from '@dcl/schemas'\nimport { createWalletSaga } from 'decentraland-dapps/dist/modules/wallet/sagas'\nimport {\n CHANGE_NETWORK,\n CHANGE_ACCOUNT,\n CONNECT_WALLET_SUCCESS,\n} from 'decentraland-dapps/dist/modules/wallet/actions'\nimport { getAddress } from 'decentraland-dapps/dist/modules/wallet/selectors'\nimport { config } from '../../config'\nimport { fetchAuthorizationsRequest } from '../authorization/actions'\n\nexport function* walletSaga() {\n const baseWalletSaga = createWalletSaga({\n CHAIN_ID: config.get('CHAIN_ID', ChainId.ETHEREUM_MAINNET.toString()),\n })\n yield all([baseWalletSaga(), fullWalletSaga()])\n}\n\nfunction* fullWalletSaga() {\n yield takeEvery(CHANGE_NETWORK, handleWallet)\n yield takeEvery(CHANGE_ACCOUNT, handleWallet)\n yield takeEvery(CONNECT_WALLET_SUCCESS, handleConnectWalletSuccess)\n}\n\nfunction* handleWallet() {\n yield call(() => window.location.reload())\n}\n\nfunction* handleConnectWalletSuccess() {\n const address: string = yield select(getAddress)\n yield put(fetchAuthorizationsRequest(address))\n}\n","import { ChainId } from '@dcl/schemas'\nimport { AuthIdentity } from 'dcl-crypto'\nimport { InfoResponse } from './types'\n\nexport type DeployScene =\n | {\n address: string\n signature: string\n chainId: ChainId\n }\n | Record<string, never>\n\nexport type LinkerResponseIdentity = {\n responseType: 'identity'\n payload: {\n address: string\n chainId: ChainId\n identity: AuthIdentity\n }\n}\n\nexport async function closeServer(\n ok: boolean,\n message: LinkerResponseIdentity\n): Promise<void> {\n await fetch(`/api/close?ok=${ok}&reason=${JSON.stringify(message)}`)\n}\n\nexport async function postDeploy(payload: DeployScene): Promise<void> {\n const response = await fetch(`/api/deploy`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(payload),\n })\n if (response.ok) {\n return\n }\n const error = (await response.json()).message as string\n throw new Error(error)\n}\n\nexport async function getFilesRequest(): Promise<void> {\n return (await fetch(`/api/files`)).json()\n}\n\nexport async function getInfoRequest(): Promise<InfoResponse> {\n return (await fetch(`/api/info`)).json()\n}\n\nexport async function getCatalystsPointer(): Promise<void> {\n return (await fetch(`/api/catalyst-pointers`)).json()\n}\n","import { call, put, takeLatest, takeEvery, select } from 'redux-saga/effects'\nimport { Web3Provider } from '@ethersproject/providers'\nimport { toUtf8Bytes } from '@ethersproject/strings'\nimport { hexlify } from '@ethersproject/bytes'\nimport { getConnectedProvider } from 'decentraland-dapps/dist/lib/eth'\nimport {\n getAddress,\n getChainId,\n} from 'decentraland-dapps/dist/modules/wallet/selectors'\nimport { Provider } from 'decentraland-connect/dist'\nimport { AuthIdentity } from 'dcl-crypto'\nimport { createIdentity } from '@dcl/builder-client'\nimport { ChainId } from '@dcl/schemas'\nimport { closeServer, postDeploy } from '../server/utils'\nimport { deploySuccess, fetchCatalystRequest } from '../server/actions'\nimport {\n SIGN_CONTENT_REQUEST,\n SIGN_CONTENT_SUCCESS,\n SignContentRequestAction,\n signContentSuccess,\n signContentFailure,\n SignContentSuccessAction,\n CREATE_IDENTITY_REQUEST,\n createIdentitySuccess,\n createIdentityFailure,\n CREATE_IDENTITY_SUCCESS,\n CreateIdentitySuccessAction,\n SignWorldACLRequestAction,\n SignWorldACLSuccessAction,\n SIGN_WORLD_ACL_REQUEST,\n SIGN_WORLD_ACL_SUCCESS,\n signWorldACLSuccess,\n signWorldACLFailure,\n CreateIdentityRequestAction,\n} from './actions'\nimport { updateWorldACLRequest } from '../acl/actions'\n\nexport function* signatureSaga() {\n yield takeLatest(SIGN_CONTENT_REQUEST, handleSignContentRequest)\n yield takeEvery(SIGN_CONTENT_SUCCESS, handleSignContentSuccess)\n\n yield takeLatest(CREATE_IDENTITY_REQUEST, handleCreateIdentityRequest)\n yield takeLatest(CREATE_IDENTITY_SUCCESS, handleCreateIdentitySuccess)\n\n yield takeLatest(SIGN_WORLD_ACL_REQUEST, handleSignWorldACLRequest)\n yield takeEvery(SIGN_WORLD_ACL_SUCCESS, handleSignWorldACLSuccess)\n}\n\nfunction* sign(action: SignContentRequestAction | SignWorldACLRequestAction) {\n const dataToSign = toUtf8Bytes(action.payload)\n\n const provider: Provider = yield call(() => getConnectedProvider())\n const web3provider = new Web3Provider(provider)\n const signer = web3provider.getSigner()\n\n const addr: string = yield call(() => signer.getAddress())\n\n const signedMessage: string = yield call(() =>\n provider.send('personal_sign', [hexlify(dataToSign), addr.toLowerCase()])\n )\n return signedMessage\n}\n\nfunction* handleSignContentRequest(action: SignContentRequestAction) {\n try {\n const signedMessage: string = yield call(sign, action)\n yield put(signContentSuccess(signedMessage))\n } catch (error) {\n yield put(signContentFailure((error as Error).message))\n }\n}\n\nfunction* handleSignContentSuccess(action: SignContentSuccessAction) {\n const address: string = yield select(getAddress)\n const chainId: ChainId = yield select(getChainId)\n const { signature } = action.payload\n\n try {\n yield call(postDeploy, { signature, address, chainId })\n yield put(deploySuccess())\n } catch (error) {\n yield put(signContentFailure((error as Error).message))\n }\n}\n\nfunction* handleCreateIdentityRequest(_action: CreateIdentityRequestAction) {\n try {\n const provider: Provider = yield call(() => getConnectedProvider())\n const web3provider = new Web3Provider(provider)\n const signer = web3provider.getSigner()\n const identity: AuthIdentity = yield call(() =>\n createIdentity(signer, 1000)\n )\n yield put(createIdentitySuccess(identity))\n yield put(fetchCatalystRequest())\n } catch (error) {\n yield put(createIdentityFailure((error as Error).message))\n }\n}\n\nfunction* handleCreateIdentitySuccess(action: CreateIdentitySuccessAction) {\n const { identity } = action.payload\n const address: string = yield select(getAddress)\n const chainId: ChainId = yield select(getChainId)\n\n try {\n yield call(closeServer, true, {\n responseType: 'identity',\n payload: { identity, address, chainId },\n })\n } catch (error) {\n yield put(createIdentityFailure((error as Error).message))\n }\n}\n\nfunction* handleSignWorldACLRequest(action: SignWorldACLRequestAction) {\n try {\n const signedMessage: string = yield call(sign, action)\n yield put(signWorldACLSuccess(signedMessage))\n } catch (error) {\n yield put(signWorldACLFailure((error as Error).message))\n }\n}\n\nfunction* handleSignWorldACLSuccess(action: SignWorldACLSuccessAction) {\n const { signature } = action.payload\n yield put(updateWorldACLRequest(signature))\n}\n","import { RootState } from '../../types'\n\nexport const getFiles = (state: RootState) => state.api.files\nexport const isLoading = (state: RootState) => !!state.api.loading.length\nexport const getError = (state: RootState) => state.api.error\nexport const getInfo = (state: RootState) => state.api.info\n","import { Contract } from '@ethersproject/contracts'\nimport { Web3Provider } from '@ethersproject/providers'\nimport { ChainId } from '@dcl/schemas'\nimport { getConnectedProvider } from 'decentraland-dapps/dist/lib/eth'\n\nimport * as EstateRegistry from './abis/EstateRegistry.json'\nimport * as LANDRegistry from './abis/LANDRegistry.json'\n\nexport enum ContractName {\n LANDRegistry = 'land',\n EstateRegistry = 'estate'\n}\n\nconst contractsByChainId: Record<ContractName, Partial<Record<ChainId, { abi: any[], address: string }>>> = {\n [ContractName.LANDRegistry]: {\n [ChainId.ETHEREUM_MAINNET]: {\n address: '0xf87e31492faf9a91b02ee0deaad50d51d56d5d4d',\n abi: LANDRegistry.abi\n },\n [ChainId.ETHEREUM_SEPOLIA]: {\n address: '0x42f4ba48791e2de32f5fbf553441c2672864bb33',\n abi: LANDRegistry.abi\n },\n },\n [ContractName.EstateRegistry]: {\n [ChainId.ETHEREUM_MAINNET]: {\n address: '0x959e104e1a4db6317fa58f8295f586e1a978c297',\n abi: EstateRegistry.abi\n },\n [ChainId.ETHEREUM_SEPOLIA]: {\n address: '0x369a7fbe718c870c79f99fb423882e8dd8b20486',\n abi: EstateRegistry.abi\n }\n }\n}\n\nexport async function getProvider() {\n const provider = await getConnectedProvider()\n if (!provider) {\n throw new Error('no provider')\n }\n return new Web3Provider(provider)\n}\n\nexport function getContract(name: ContractName, chainId: ChainId) {\n const contract = contractsByChainId[name][chainId]\n if (!contract) {\n throw new Error(`Contract \"${name}\" not found for chain id \"${chainId}\"`)\n }\n return contract\n}\n\nexport async function getContractByName(name: ContractName) {\n const provider = await getProvider()\n const { chainId } = await provider.getNetwork()\n return getContract(name, chainId)\n}\n\nexport async function getLandContract(landRegistry?: string) {\n const { address, abi } = await getContractByName(ContractName.LANDRegistry)\n const provider = await getProvider()\n const contract = new Contract(landRegistry || address, abi, provider)\n return contract\n}\n\nexport async function getEstateContract(estateRegistry?: string) {\n const { address, abi } = await getContractByName(ContractName.EstateRegistry)\n return new Contract(estateRegistry || address, abi, await getProvider())\n}\n","import { getEstateContract, getLandContract } from \"../../contracts\"\nimport { BigNumber } from \"ethers\"\n\nexport async function isAuthorized(x: number, y: number, address: string, landRegistry?: string, estateRegistry?: string) {\n // Do not delete me\n await unlockRegeneratorRuntime()\n\n const land = await getLandContract(landRegistry)\n const landTokenId: BigNumber = await land.encodeTokenId(x, y)\n const isUpdateAuthorized = await land.isUpdateAuthorized(address, landTokenId)\n \n if (!isUpdateAuthorized) {\n // check if estate is authorized\n const estate = await getEstateContract(estateRegistry)\n const estateTokenId = await estate.getLandEstateId(landTokenId)\n if (estateTokenId && estateTokenId > 0) {\n const isUpdateAuthorized = await estate.isUpdateAuthorized(address, estateTokenId)\n return { x, y, isUpdateAuthorized }\n } \n }\n return { x, y, isUpdateAuthorized }\n}\n\nasync function unlockRegeneratorRuntime() {\n // For some reason, without these awaits, the ones below never resolve. They don't throw either, they just get stuck...\n \n // BEGIN DRAGONS 🐉\n const m = async (n: number) => n\n await m(1)\n await m(2)\n await m(3)\n await m(4)\n // END DRAGONS 🐉\n}","import { call, put, takeEvery, select, take } from 'redux-saga/effects'\nimport { getAddress } from 'decentraland-dapps/dist/modules/wallet/selectors'\nimport {\n FETCH_AUTHORIZATIONS_REQUEST,\n fetchAuthorizationsFailure,\n fetchAuthorizationsSuccess,\n} from './actions'\nimport { Authorization } from './types'\nimport { Info } from '../server/reducer'\nimport { FETCH_INFO_SUCCESS } from '../server/actions'\nimport { getInfo } from '../server/selectors'\nimport { isAuthorized } from './utils'\n\nexport function* authorizationSaga() {\n yield takeEvery(\n FETCH_AUTHORIZATIONS_REQUEST,\n handleFetchAuthorizationsRequest\n )\n}\n\nfunction* handleFetchAuthorizationsRequest() {\n const info: Info = yield select(getInfo)\n\n if (!info) {\n yield take(FETCH_INFO_SUCCESS)\n }\n\n const qs = new URLSearchParams(document.location.search)\n\n const skipValidations = qs.get('skipValidations')\n if (skipValidations === 'true') {\n try {\n const { parcels } = info\n yield put(\n fetchAuthorizationsSuccess(\n parcels.map(({ x, y }) => ({\n x,\n y,\n isUpdateAuthorized: true,\n }))\n )\n )\n } catch (error) {\n yield put(fetchAuthorizationsFailure((error as Error).message))\n }\n } else {\n const { parcels, landRegistry, estateRegistry } = info\n\n try {\n const address: string = yield select(getAddress)\n const promises: Promise<Authorization>[] = parcels.map((parcel) =>\n isAuthorized(parcel.x, parcel.y, address, landRegistry, estateRegistry)\n )\n const authorizations: Authorization[] = yield call(() =>\n Promise.all(promises)\n )\n yield put(fetchAuthorizationsSuccess(authorizations))\n } catch (error) {\n yield put(fetchAuthorizationsFailure((error as Error).message))\n }\n }\n}\n","import { takeEvery, call, put } from 'redux-saga/effects'\n\nimport {\n fetchCatalystFailure,\n fetchCatalystSuccess,\n fetchFilesFailure,\n fetchFilesSuccess,\n fetchInfoFailure,\n fetchInfoSuccess,\n FETCH_CATALYST_REQUEST,\n FETCH_FILES_REQUEST,\n FETCH_INFO_REQUEST,\n} from './actions'\nimport { CatalystResponse, FileSize } from './reducer'\nimport { InfoResponse } from './types'\nimport { getCatalystsPointer, getFilesRequest, getInfoRequest } from './utils'\n\nexport function* apiSaga() {\n yield takeEvery(FETCH_FILES_REQUEST, handleFetchFilesRequest)\n yield takeEvery(FETCH_INFO_REQUEST, handleFetchInfoRequest)\n yield takeEvery(FETCH_CATALYST_REQUEST, handleFetchCatalystRequest)\n}\n\nfunction* handleFetchFilesRequest() {\n try {\n const files: FileSize[] = yield call(getFilesRequest)\n yield put(fetchFilesSuccess(files))\n } catch (e) {\n yield put(fetchFilesFailure((e as any).message))\n }\n}\n\nfunction* handleFetchInfoRequest() {\n try {\n const info: InfoResponse = yield call(getInfoRequest)\n yield put(fetchInfoSuccess(info))\n } catch (e) {\n yield put(fetchInfoFailure((e as any).message))\n }\n}\n\nfunction* handleFetchCatalystRequest() {\n try {\n const value: CatalystResponse = yield call(getCatalystsPointer)\n yield put(fetchCatalystSuccess(value))\n } catch (e) {\n yield put(fetchCatalystFailure((e as any).message))\n }\n}\n","import { createTranslationSaga } from 'decentraland-dapps/dist/modules/translation/sagas'\nimport * as translations from './locales'\n\nexport const translationSaga = createTranslationSaga({\n translations\n})\n","import { call, takeEvery } from 'redux-saga/effects'\nimport {\n SignContentSuccessAction,\n SIGN_CONTENT_SUCCESS,\n} from '../signature/actions'\nimport { WindowWithNps } from './types'\n\nexport function* npsSaga() {\n yield takeEvery(SIGN_CONTENT_SUCCESS, handleSignContentSuccess)\n}\n\nfunction* handleSignContentSuccess(_action: SignContentSuccessAction) {\n const windowWithNps = window as unknown as WindowWithNps\n if ('delightedNps4' in window) {\n yield call(windowWithNps.delightedNps4.survey)\n }\n}\n","import { ACLResponse } from './reducer'\nimport { InfoResponse, UpdatePayload } from './types'\n\nexport async function getInfoRequest(): Promise<InfoResponse> {\n return (await fetch('/api/acl')).json()\n}\n\nexport async function getWorldACL(\n targetContent: string,\n worldName: string\n): Promise<ACLResponse> {\n return (await fetch(`${targetContent}/acl/${worldName}`)).json()\n}\n\nexport async function updateWorldACL(payload: UpdatePayload): Promise<void> {\n await fetch(`/api/acl`, {\n method: 'post',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify(payload),\n })\n}\n","import { getAddress } from 'decentraland-dapps/dist/modules/wallet/selectors'\nimport { takeEvery, call, put, select } from 'redux-saga/effects'\n\nimport {\n fetchWorldACLSuccess,\n fetchInfoFailure,\n fetchInfoSuccess,\n FETCH_WORLD_ACL_REQUEST,\n FETCH_INFO_REQUEST,\n FetchWorldACLRequestAction,\n fetchWorldACLFailure,\n UpdateWorldACLRequestAction,\n UPDATE_WORLD_ACL_REQUEST,\n updateWorldACLFailure,\n updateWorldACLSuccess,\n} from './actions'\nimport { ACLResponse } from './reducer'\nimport { InfoResponse } from './types'\nimport { getWorldACL, getInfoRequest, updateWorldACL } from './utils'\n\nexport function* aclSaga() {\n yield takeEvery(FETCH_INFO_REQUEST, handleFetchInfoRequest)\n yield takeEvery(FETCH_WORLD_ACL_REQUEST, handleFetchWorldACLRequest)\n yield takeEvery(UPDATE_WORLD_ACL_REQUEST, handleUpdateWorldACLRequest)\n}\n\nfunction* handleFetchInfoRequest() {\n try {\n const info: InfoResponse = yield call(getInfoRequest)\n yield put(fetchInfoSuccess(info))\n } catch (e) {\n yield put(fetchInfoFailure((e as any).message))\n }\n}\n\nfunction* handleFetchWorldACLRequest(action: FetchWorldACLRequestAction) {\n const { targetContent, worldName } = action.payload\n try {\n const acl: ACLResponse = yield call(getWorldACL, targetContent, worldName)\n yield put(fetchWorldACLSuccess(acl))\n } catch (e) {\n yield put(fetchWorldACLFailure((e as any).message))\n }\n}\n\nfunction* handleUpdateWorldACLRequest(action: UpdateWorldACLRequestAction) {\n const { signature } = action.payload\n\n const address: string = yield select(getAddress)\n\n try {\n yield call(updateWorldACL, { signature, address })\n yield put(updateWorldACLSuccess())\n } catch (e) {\n yield put(updateWorldACLFailure((e as any).message))\n }\n}\n","import { createSelector } from 'reselect'\nimport { RootState } from '../../types'\n\nexport const getState = (state: RootState) => state.signature\nexport const getData = createSelector(getState, state => state.data)\nexport const isLoading = createSelector(getState, state => state.loading.length > 0)\nexport const getError = createSelector(getState, state => state.error)\n","import React from 'react'\n\nexport default React.memo(({ children }: { children: string }) => (\n <p style={{ color: 'var(--primary)' }}> Error: {children}</p>\n))\n","import { Props } from './types'\nimport { Blockie, Address, Button } from 'decentraland-ui'\nimport { coordsToString } from '../../modules/land/utils'\nimport Error from '../Error'\n\nexport default function RenderWalletData({\n isConnected,\n isConnecting,\n wallet,\n authorizations,\n isUpdateAuthorized,\n onConnectWallet\n}: Props) {\n function getFormattedUnauthorized() {\n return (authorizations || [])\n .filter(a => !a.isUpdateAuthorized)\n .map(a => `\"${coordsToString(a)}\"`)\n .join(', ')\n }\n\n if (isConnected && wallet.address) {\n return (\n <>\n <p>\n Using address: \n <Blockie scale={3} seed={wallet.address}>\n <Address tooltip strong value={wallet.address} />\n </Blockie>\n </p>\n {authorizations?.length && !isUpdateAuthorized ? (\n <Error>\n {`You don't have permissions to update The following LANDs that are part of the scene: ${getFormattedUnauthorized()}`}\n </Error>\n ) : null}\n </>\n )\n }\n\n return (\n <>\n {isConnecting ? null : <p>Could not find any wallet</p>}\n <p>\n <Button primary onClick={onConnectWallet} loading={isConnecting} disabled={isConnecting}>\n Reconnect \n </Button>\n </p>\n </>\n )\n}\n","import { Coords } from './types'\n\nexport function coordsToString({ x, y }: Coords): string {\n return `${x},${y}`\n}\n","import { AnyAction, Dispatch } from 'redux'\nimport { connect } from 'react-redux'\nimport { enableWalletRequest } from 'decentraland-dapps/dist/modules/wallet/actions'\nimport { getData as getWallet, isConnected, isConnecting } from 'decentraland-dapps/dist/modules/wallet/selectors'\n\nimport { getData as getSignature, isLoading as isSigningTx } from '../../modules/signature/selectors'\n\nimport { createIdentityRequest } from '../../modules/signature/actions'\nimport { RootState } from '../../types'\nimport { MapStateProps, MapDispatchProps } from './types'\n\nimport IdentityPage from './IdentityPage'\n\nconst mapState = (state: RootState): MapStateProps => {\n return {\n wallet: getWallet(state)!,\n isConnected: isConnected(state),\n isConnecting: isConnecting(state),\n signed: !!getSignature(state),\n isSigning: isSigningTx(state)\n }\n}\n\nconst mapDispatch = (dispatch: Dispatch<AnyAction>): MapDispatchProps => ({\n onConnectWallet: providerType => dispatch(enableWalletRequest(providerType)),\n onRequestIdentity: () => dispatch(createIdentityRequest())\n})\n\nexport default connect(mapState, mapDispatch)(IdentityPage)\n","import IdentityPage from './IdentityPage.container'\nexport default IdentityPage\n","import { BaseSyntheticEvent, useEffect, useState } from 'react'\nimport { ChainId } from '@dcl/schemas'\nimport { Header, Button, Navbar } from 'decentraland-ui'\nimport LoginModal from 'decentraland-dapps/dist/containers/LoginModal'\nimport RenderWalletData from '../RenderWalletData/RenderWalletData'\nimport { Props } from './types'\nimport './style.css'\n\nexport default function IdentityPage(props: Props) {\n const { isConnected, wallet, isConnecting, onConnectWallet, isSigning, onRequestIdentity } = props\n\n const [isModalOpen, setIsModalOpen] = useState(false)\n\n const handleSignature = (e: BaseSyntheticEvent) => {\n e.preventDefault()\n onRequestIdentity()\n }\n\n // Close modal once the wallet is connected\n useEffect(() => {\n if (isConnected && isModalOpen) {\n setIsModalOpen(false)\n }\n }, [isConnected, isModalOpen])\n\n return (\n <div className=\"LinkScenePage\">\n {wallet.chainId === ChainId.ETHEREUM_SEPOLIA && <div className=\"warning\">Using Sepolia test network</div>}\n <Navbar />\n <Header>Create an identity to sign deployments </Header>\n <RenderWalletData\n isUpdateAuthorized={true}\n isConnected={isConnected}\n isConnecting={isConnecting}\n wallet={wallet}\n onConnectWallet={() => setIsModalOpen(true)}\n />\n <form>\n <div>\n <Button primary onClick={handleSignature} disabled={!isConnected} loading={isSigning}>\n Sign ephemeral wallet\n </Button>\n </div>\n </form>\n {isModalOpen ? <LoginModal\n name='IdentityPageLoginModal'\n onClose={() => setIsModalOpen(false)}\n onConnect={onConnectWallet}\n isLoading={isConnecting}\n /> : null}\n </div>\n )\n}\n","import { createSelector } from 'reselect'\n\nimport { RootState } from '../../types'\nimport { Authorization } from './types'\n\nexport const getState = (state: RootState) => state.authorization\n\nexport const getData = createSelector(getState, state => state.data)\n\nexport const isLoading = createSelector(getState, state => state.loading.length > 0)\n\nexport const getError = createSelector(getState, state => state.error)\n\nexport const isUpdateAuthorized = createSelector(getData, authorizations => {\n if (!authorizations?.length) {\n return\n }\n\n return authorizations.every((a: Authorization) => a.isUpdateAuthorized)\n})\n","import './style.css'\nimport { Container, Dropdown, Table } from 'decentraland-ui'\nimport { Props } from './types'\nimport { useMemo, useState } from 'react'\nimport { FileSize } from '../../modules/server/reducer'\n\nenum Filter {\n Size = 'Size',\n Name = 'Name'\n}\n\nexport default function FilesPage({ files }: Props) {\n const [filter, setFilter] = useState<Filter>(Filter.Size)\n const value = useMemo<FileSize[]>(\n () =>\n files.sort((a, b) => {\n if (filter === Filter.Size) {\n return b.size < a.size ? -1 : 1\n }\n return a.name < b.name ? -1 : 1\n }),\n [files, filter]\n )\n\n return (\n <Container>\n <Table basic=\"very\">\n <Table.Header>\n <Table.Row>\n <Table.HeaderCell>File Name</Table.HeaderCell>\n <Table.HeaderCell>Size</Table.HeaderCell>\n <Table.HeaderCell>\n <Dropdown text={filter} direction=\"right\">\n <Dropdown.Menu>\n {Object.values(Filter).map(f => (\n <Dropdown.Item key={f} onClick={() => setFilter(f)} text={f} />\n ))}\n </Dropdown.Menu>\n </Dropdown>\n </Table.HeaderCell>\n </Table.Row>\n </Table.Header>\n\n <Table.Body>\n {value.map(({ name, size }, index) => (\n <Table.Row key={index}>\n <Table.Cell>{name}</Table.Cell>\n <Table.Cell>{(Number(size) * 1e-6).toFixed(2)} MB </Table.Cell>\n <Table.Cell />\n </Table.Row>\n ))}\n </Table.Body>\n </Table>\n </Container>\n )\n}\n","import { connect } from 'react-redux'\nimport { RootState } from '../../types'\nimport { MapStateProps } from './types'\n\nimport FilesPage from './Files'\nimport { getFiles } from '../../modules/server/selectors'\n\nconst mapState = (state: RootState): MapStateProps => {\n return { files: getFiles(state) }\n}\n\nexport default connect(mapState)(FilesPage)\n","import Files from './Files.container'\nexport default Files\n","import './style.css'\nimport { Atlas, Container, Coord, Layer, Section, Table } from 'decentraland-ui'\nimport { Props } from './types'\n\nexport default function LinkScenePage({ authorizations, parcels, baseParcel }: Props) {\n const find = <T extends Coord>(coords: T[]) => (x: number, y: number): T | undefined =>\n coords.find(s => s.x === x && s.y === y)\n\n const selectedFillLayer: Layer = (x: number, y: number) => {\n return find(parcels)(x, y) ? { color: '#ff99', scale: 1.2 } : null\n }\n\n const selectedStroke: Layer = (x: number, y: number) => {\n return find(parcels)(x, y) ? { color: '#ff0044', scale: 1.4 } : null\n }\n\n return (\n <Container>\n {!!parcels.length && (\n <Section size=\"large\" className=\"map-table\">\n <Table basic=\"very\">\n <Table.Header>\n <Table.Row>\n <Table.HeaderCell>Name</Table.HeaderCell>\n <Table.HeaderCell>Coordinates</Table.HeaderCell>\n <Table.HeaderCell>Permissions</Table.HeaderCell>\n </Table.Row>\n </Table.Header>\n\n <Table.Body>\n {parcels.map((coords, index) => {\n const isAuthorized = !!find(authorizations || [])(coords.x, coords.y)?.isUpdateAuthorized\n return (\n <Table.Row key={index}>\n <Table.Cell>Parcel {index}</Table.Cell>\n <Table.Cell>\n {coords.x}, {coords.y}\n </Table.Cell>\n <Table.Cell className={!isAuthorized ? 'permission-not-granted' : ''}>\n {authorizations.length ? (isAuthorized ? 'Granted' : 'Not granted') : ''}\n </Table.Cell>\n </Table.Row>\n )\n })}\n </Table.Body>\n </Table>\n </Section>\n )}\n <Container>\n <Section size=\"large\" className=\"map-canvas\">\n <Atlas\n height={300}\n x={baseParcel.x}\n y={baseParcel.y}\n isDraggable={false}\n layers={[selectedStroke, selectedFillLayer]}\n />\n </Section>\n </Container>\n </Container>\n )\n}\n","import { AnyAction, Dispatch } from 'redux'\nimport { connect } from 'react-redux'\nimport { RootState } from '../../types'\nimport { MapStateProps, MapDispatchProps } from './types'\n\nimport DeploySuccess from './DeploySuccess'\nimport { fetchCatalystRequest } from '../../modules/server/actions'\nimport { getInfo } from '../../modules/server/selectors'\n\nconst mapState = (state: RootState): MapStateProps => {\n return {\n status: state.api.catalyst?.status,\n catalysts: state.api.catalyst?.catalysts || [],\n info: getInfo(state),\n deploySuccess: state.api.deploySuccess,\n apiError: state.api.error\n }\n}\n\nconst mapDispatch = (dispatch: Dispatch<AnyAction>): MapDispatchProps => {\n return {\n onFetchCatalyst: () => dispatch(fetchCatalystRequest())\n }\n}\n\nexport default connect(mapState, mapDispatch)(DeploySuccess)\n","import { Badge, Color, Container, HeaderMenu, Table } from 'decentraland-ui'\nimport { Props } from './types'\nimport { useEffect } from 'react'\n\nimport './style.css'\n\nexport default function DeploySuccess({ onFetchCatalyst, catalysts = [], status, info, deploySuccess, apiError }: Props) {\n const entityIds = new Set(catalysts.map(c => c.entityId))\n const deployedToAll = (entityIds.size === 1) || (deploySuccess && info?.isWorld)\n\n useEffect(() => {\n if (deployedToAll || info?.isWorld || apiError) return\n const interval = setInterval(() => {\n onFetchCatalyst()\n }, 5_000)\n return () => clearInterval(interval)\n }, [onFetchCatalyst, deployedToAll, info, apiError])\n\n return (\n <Container>\n <HeaderMenu>\n <Badge color={deploySuccess ? '#20913e' : Color.SUNISH}>\n {deploySuccess ? 'Deployed successfully' : 'Deploying...'}\n </Badge>\n </HeaderMenu>\n { !info?.isWorld && <Table basic=\"very\">\n <Table.Header>\n <Table.Row>\n <Table.HeaderCell>Catalyst Server</Table.HeaderCell>\n <Table.HeaderCell>Time</Table.HeaderCell>\n <Table.HeaderCell>Entity Id</Table.HeaderCell>\n </Table.Row>\n </Table.Header>\n\n <Table.Body>\n {(catalysts || []).map(({ url, timestamp, entityId }) => (\n <Table.Row key={url}>\n <Table.Cell>{url}</Table.Cell>\n <Table.Cell>{new Date(timestamp).toLocaleString()}</Table.Cell>\n <Table.Cell>{entityId}</Table.Cell>\n </Table.Row>\n ))}\n </Table.Body>\n </Table>\n }\n </Container>\n )\n}\n","import {\n Navbar,\n Tabs,\n Footer,\n Page,\n Header,\n Icon,\n Button,\n Container,\n HeaderMenu,\n Color,\n Badge,\n Address,\n Blockie,\n Toast,\n ToastType,\n Loader,\n} from 'decentraland-ui'\nimport LoginModal from 'decentraland-dapps/dist/containers/LoginModal'\nimport { Props } from './types'\nimport { useEffect, useState } from 'react'\nimport Files from '../Files'\nimport Map from '../Map'\n\nimport './style.css'\nimport { ChainId } from '@dcl/schemas'\nimport DeploySuccess from '../DeploySuccess/DeploySuccess.container'\n\nenum Tab {\n Map = 'Map',\n Files = 'Files',\n}\n\nexport default function LinkScenePage(props: Props) {\n const [tab, setTab] = useState<Tab>(Tab.Map)\n const [isModalOpen, setIsModalOpen] = useState(false)\n const {\n isConnected,\n wallet,\n authorizations,\n isUpdateAuthorized,\n isConnecting,\n onConnectWallet,\n onSignContent,\n onFetchFiles,\n onFetchInfo,\n isSigning,\n isAuthorizationLoading,\n signed,\n info,\n deployError,\n } = props\n\n const { x, y } = info?.baseParcel || { x: 0, y: 0 }\n const isTestNet = wallet?.chainId !== ChainId.ETHEREUM_MAINNET\n const networkName = isTestNet && `&NETWORK=sepolia`\n const networkDomain = isTestNet ? 'zone' : 'org'\n const deployUrl = `https://play.decentraland.${networkDomain}/?position=${x},${y}${networkName}`\n\n useEffect(() => {\n onFetchInfo()\n onFetchFiles()\n }, [onFetchFiles, onFetchInfo])\n\n // Close modal once the wallet is connected\n useEffect(() => {\n if (isConnected && isModalOpen) {\n setIsModalOpen(false)\n }\n }, [isConnected, isModalOpen])\n\n return (\n <div className=\"Page-story-container\">\n <Navbar\n leftMenu={<></>}\n isConnected={isConnected}\n isConnecting={isConnecting}\n address={wallet?.address}\n />\n <Page>\n <Container>\n <HeaderMenu>\n <HeaderMenu.Left>\n <Container textAlign=\"center\">\n <Header size=\"large\">\n Deploying {info?.title || 'Untitled Scene'}\n </Header>\n {info?.description && (\n <Header size=\"medium\">\n {info?.description || 'Some description'}\n </Header>\n )}\n </Container>\n </HeaderMenu.Left>\n </HeaderMenu>\n <HeaderMenu>\n <HeaderMenu.Left>\n <div\n className=\"address-header url\"\n onClick={() =>\n deployUrl && window.open(deployUrl!, '_blank')?.focus()\n }\n >\n <Badge color={Color.SUMMER_RED}>\n <Icon name=\"point\" />\n {x}, {y}\n </Badge>\n </div>\n {!!isConnected && (\n <div className=\"address-header\">\n <Badge color={Color.SHADOWS}>\n {isTestNet ? 'Sepolia' : 'Mainnet'}\n </Badge>\n </div>\n )}\n <div className=\"address-header\">\n {!!wallet?.address && (\n <Blockie scale={3} seed={wallet.address}>\n <Address tooltip strong value={wallet.address} />\n </Blockie>\n )}\n </div>\n </HeaderMenu.Left>\n {!signed && (\n <HeaderMenu.Right>\n <Button\n primary\n size=\"medium\"\n loading={\n isConnecting ||\n isSigning ||\n (isConnected && isAuthorizationLoading)\n }\n disabled={isConnected && !isUpdateAuthorized}\n onClick={\n isConnected\n ? () => onSignContent(info!.rootCID)\n : () => setIsModalOpen(true)\n }\n >\n {isConnected ? 'Sign & Deploy' : 'Connect Wallet'}\n </Button>\n </HeaderMenu.Right>\n )}\n </HeaderMenu>\n </Container>\n {!!(authorizations?.length && !isUpdateAuthorized) && (\n <Toast\n type={ToastType.ERROR}\n title=\"Check LAND permissions\"\n body=\"You dont have permissions to update some of the coords\"\n />\n )}\n {info?.isPortableExperience && info?.isWorld && (\n <Toast\n type={ToastType.WARN}\n title=\"Scene override\"\n body=\"Deploying a Portable Experience might override your current Scene\"\n />\n )}\n {deployError && (\n <div className='toast-full-with'>\n <Toast\n type={ToastType.ERROR}\n title=\"Failed to deploy scene\"\n body={deployError ?? 'Look at the terminal for more info'}\n />\n </div>\n )}\n {!signed && (\n <Tabs isFullscreen>\n {Object.values(Tab).map((t) => (\n <Tabs.Tab key={t} onClick={() => setTab(t)} active={tab === t}>\n {t}\n </Tabs.Tab>\n ))}\n </Tabs>\n )}\n {!info && <Loader />}\n {signed && !deployError && <DeploySuccess />}\n {!signed && tab === Tab.Files && <Files />}\n {!signed && info && tab === Tab.Map && (\n <Map\n authorizations={authorizations}\n parcels={info!.parcels}\n baseParcel={info!.baseParcel}\n />\n )}\n {isModalOpen ? <LoginModal\n name='LinkerPageLoginModal'\n open={isModalOpen}\n onClose={() => setIsModalOpen(false)}\n onConnect={onConnectWallet}\n isLoading={isConnecting}\n /> : null}\n </Page>\n <Footer />\n </div>\n )\n}\n","import { AnyAction, Dispatch } from 'redux'\nimport { connect } from 'react-redux'\nimport { enableWalletRequest } from 'decentraland-dapps/dist/modules/wallet/actions'\nimport {\n getData as getWallet,\n isConnected,\n isConnecting,\n} from 'decentraland-dapps/dist/modules/wallet/selectors'\nimport {\n getData as getSignature,\n isLoading as isSigningTx,\n} from '../../modules/signature/selectors'\nimport {\n getData as getAuthorizations,\n isUpdateAuthorized,\n isLoading as isAuthorizationLoading,\n} from '../../modules/authorization/selectors'\nimport { signContentRequest } from '../../modules/signature/actions'\nimport { RootState } from '../../types'\nimport { MapStateProps, MapDispatchProps } from './types'\n\nimport LinkerPage from './LinkerPage'\nimport {\n fetchFilesRequest,\n fetchInfoRequest,\n} from '../../modules/server/actions'\nimport { getInfo } from '../../modules/server/selectors'\n\nconst mapState = (state: RootState): MapStateProps => {\n return {\n wallet: getWallet(state)!,\n isConnected: isConnected(state),\n isConnecting: isConnecting(state),\n signed: !!getSignature(state),\n isUpdateAuthorized: isUpdateAuthorized(state),\n authorizations: getAuthorizations(state),\n isAuthorizationLoading: isAuthorizationLoading(state),\n isSigning: isSigningTx(state),\n info: getInfo(state),\n deployError: state.signature.error\n }\n}\n\nconst mapDispatch = (dispatch: Dispatch<AnyAction>): MapDispatchProps => ({\n onConnectWallet: (providerType) =>\n dispatch(enableWalletRequest(providerType)),\n onSignContent: (cid: string) => dispatch(signContentRequest(cid)),\n onFetchFiles: () => dispatch(fetchFilesRequest()),\n onFetchInfo: () => dispatch(fetchInfoRequest()),\n})\n\nexport default connect(mapState, mapDispatch)(LinkerPage)\n","import LinkerPage from './LinkerPage.container'\nexport default LinkerPage\n","import IdentityPage from './IdentityPage'\nimport LinkerPage from './LinkerPage'\n\nconst Root = (props: any) => {\n const qs = new URLSearchParams(document.location.search)\n\n // TODO: I think we are not using this.\n if (qs.has('wearableId')) {\n return <IdentityPage {...props} />\n }\n\n return <LinkerPage {...props} />\n}\n\nexport default Root\n","import { fetchWorldACLRequest } from '../../../modules/acl/actions'\nimport { InfoResponse } from '../../../modules/acl/types'\n\nexport enum ACLStatus {\n UPDATING = 'updating',\n UPDATED = 'updated',\n}\n\nexport type Props = {\n aclStatus: ACLStatus\n info: InfoResponse\n onFetchWorldACL: typeof fetchWorldACLRequest\n}\n\nexport type MapStateProps = Pick<Props, 'aclStatus'>\nexport type MapDispatchProps = Pick<Props, 'onFetchWorldACL'>\n\nexport type OwnProps = Pick<Props, 'info'>\n","import { ACLStatus } from '../../components/WorldACLPage/ACLStatus/types'\nimport { RootState } from '../../types'\n\nexport const getState = (state: RootState) => state.acl\n\nexport const getInfo = (state: RootState) => getState(state).info\nexport const getACL = (state: RootState) => getState(state).acl\nexport const getError = (state: RootState) => getState(state).error\n\nexport const isLoading = (state: RootState) => !!getState(state).loading.length\n\nexport const getACLStatus = (state: RootState) => {\n const info = getInfo(state)\n const acl = getACL(state)\n\n return info &&\n acl &&\n info.worldName === acl.resource &&\n info.allowed.every((address) => acl.allowed.includes(address))\n ? ACLStatus.UPDATED\n : ACLStatus.UPDATING\n}\n","import * as React from 'react'\nimport { Icon } from 'decentraland-ui'\nimport classNames from 'classnames'\n\nimport { Props } from './Chip.types'\n\nimport './styles.css'\n\nconst Chip = (props: Props) => {\n const { type, text, icon, className, isActive, isDisabled, onClick } = props\n\n if (!text && !icon) {\n throw new Error('You need to provide at least one prop: text or icon')\n }\n\n const handleKeyDown = (evt: React.KeyboardEvent<HTMLDivElement>) => {\n if (evt.key === 'Enter' && onClick) {\n onClick(evt)\n }\n }\n\n const containerClass = classNames('Chip', type, className, {\n active: isActive,\n disabled: isDisabled,\n clickeable: onClick && !isDisabled,\n })\n\n return (\n <div\n className={containerClass}\n tabIndex={0}\n onClick={isActive || isDisabled ? undefined : onClick}\n onKeyDown={handleKeyDown}\n >\n {text ? (\n <span className=\"text\">{text}</span>\n ) : icon ? (\n <Icon name={icon} />\n ) : null}\n </div>\n )\n}\n\nChip.defaultProps = {\n text: '',\n icon: '',\n type: 'square',\n isDisabled: false,\n isActive: false,\n}\n\nexport default React.memo(Chip)\n","import { AnyAction, Dispatch } from 'redux'\nimport { connect } from 'react-redux'\nimport { RootState } from '../../../types'\nimport { fetchWorldACLRequest } from '../../../modules/acl/actions'\nimport { getACLStatus } from '../../../modules/acl/selectors'\nimport { MapStateProps, MapDispatchProps } from './types'\nimport ACLStatus from './ACLStatus'\n\nconst mapState = (state: RootState): MapStateProps => ({\n aclStatus: getACLStatus(state),\n})\n\nconst mapDispatch = (dispatch: Dispatch<AnyAction>): MapDispatchProps => {\n return {\n onFetchWorldACL: (targetContent: string, worldName: string) =>\n dispatch(fetchWorldACLRequest(targetContent, worldName)),\n }\n}\n\nexport default connect(mapState, mapDispatch)(ACLStatus)\n","import ACLStatus from './ACLStatus.container'\nexport default ACLStatus\n","import { useEffect } from 'react'\nimport { Badge, Color, Container, HeaderMenu } from 'decentraland-ui'\nimport { ACLStatus as Status, Props } from './types'\n\nimport './style.css'\n\nexport default function ACLStatus({ aclStatus, info, onFetchWorldACL }: Props) {\n const aclUpdated = aclStatus === Status.UPDATED\n\n useEffect(() => {\n if (aclUpdated || !info) return\n const interval = setInterval(() => {\n onFetchWorldACL(info.targetContent, info.worldName)\n }, 5_000)\n return () => clearInterval(interval)\n }, [aclUpdated, info, onFetchWorldACL])\n\n return (\n <Container>\n <HeaderMenu>\n <Badge color={aclUpdated ? '#20913e' : Color.SUNISH}>\n {aclUpdated\n ? `World ACL updated successfully to ${info?.targetContent}`\n : 'Updating ACL..'}\n </Badge>\n </HeaderMenu>\n </Container>\n )\n}\n","import React, { useEffect, useMemo, useState } from 'react'\nimport { getChainName } from '@dcl/schemas'\nimport {\n Navbar,\n Footer,\n Page,\n Header,\n Button,\n Container,\n HeaderMenu,\n Color,\n Badge,\n Address,\n Blockie,\n Loader,\n} from 'decentraland-ui'\nimport LoginModal from 'decentraland-dapps/dist/containers/LoginModal'\nimport { Chip } from '../Chip'\nimport { Props } from './types'\nimport ACLStatus from './ACLStatus'\nimport './style.css'\n\nfunction Allowed(props: {\n className: string\n description: string\n addresses: string[]\n}) {\n const { className, description, addresses } = props\n return (\n <div className={className}>\n <span className=\"description\">{description}</span>\n <div className=\"addresses\">\n {addresses.map((address) => (\n <Chip text={address} type=\"square\" />\n ))}\n </div>\n </div>\n )\n}\n\nexport default function WorldACLPage(props: Props) {\n const [isModalOpen, setIsModalOpen] = useState(false)\n const [isPayloadExpired, setIsPayloadExpired] = useState(false)\n\n const {\n isConnected,\n wallet,\n isConnecting,\n isSigning,\n signed,\n info,\n onConnectWallet,\n onSignContent,\n onFetchInfo,\n } = props\n\n const allowedDifference = useMemo(() => {\n if (!info) return []\n\n const { allowed, oldAllowed } = info\n\n return allowed.length > oldAllowed.length\n ? allowed.filter((address) => !oldAllowed.includes(address))\n : oldAllowed.filter((address) => !allowed.includes(address))\n }, [info])\n\n useEffect(() => {\n onFetchInfo()\n }, [onFetchInfo])\n\n // Close modal once the wallet is connected\n useEffect(() => {\n if (isConnected && isModalOpen) {\n setIsModalOpen(false)\n }\n }, [isConnected, isModalOpen])\n\n useEffect(() => {\n if (!info) return\n\n const interval = setInterval(() => {\n setIsPayloadExpired(true)\n }, info.expiration * 1000)\n\n return () => {\n clearTimeout(interval)\n }\n }, [info])\n\n return (\n <div className=\"Page-story-container\">\n <Navbar\n leftMenu={<></>}\n isConnected={isConnected}\n isConnecting={isConnecting}\n address={wallet?.address}\n />\n <Page>\n <Container>\n <HeaderMenu>\n <HeaderMenu.Left>\n <Container textAlign=\"center\">\n <Header size=\"large\">\n Updating {info?.worldName || 'Untitled World'} ACL\n </Header>\n </Container>\n </HeaderMenu.Left>\n </HeaderMenu>\n <HeaderMenu>\n <HeaderMenu.Left>\n {!isConnected && (\n <Button\n primary\n size=\"medium\"\n loading={isConnecting}\n onClick={() => setIsModalOpen(true)}\n >\n Connect Wallet\n </Button>\n )}\n {!!isConnected && wallet?.chainId && (\n <div className=\"address-header\">\n <Badge color={Color.SHADOWS}>\n {getChainName(wallet.chainId)}\n </Badge>\n </div>\n )}\n <div className=\"address-header\">\n {!!wallet?.address && (\n <Blockie scale={3} seed={wallet.address}>\n <Address tooltip strong value={wallet.address} />\n </Blockie>\n )}\n </div>\n </HeaderMenu.Left>\n </HeaderMenu>\n </Container>\n {!info && <Loader />}\n {info && signed && <ACLStatus info={info} />}\n {isConnected && !signed && info && !info.allowed?.length && (\n <p>\n After this change, only you will be able to deploy scenes into the\n world.\n </p>\n )}\n {isConnected &&\n wallet.address &&\n !signed &&\n info &&\n info.allowed.length > 0 && (\n <>\n <p>\n You are about to{' '}\n <span>\n <strong>\n {info.allowed.length > info.oldAllowed.length\n ? 'grant'\n : 'revoke'}\n </strong>\n </span>{' '}\n the permissions to deploy to your world to the following{' '}\n {allowedDifference.length > 1 ? 'addresses' : ' address'}:{' '}\n <ul className=\"changes\">\n {allowedDifference.map((address) => (\n <li>\n <Chip text={address} type=\"square\" />\n </li>\n ))}\n </ul>\n </p>\n <div className=\"allowed\">\n <h3>Access control list</h3>\n <Allowed\n className=\"owner\"\n description=\"Owner\"\n addresses={[wallet.address]}\n />\n <Allowed\n className=\"deployers\"\n description=\"Deployers\"\n addresses={info.allowed}\n />\n </div>\n </>\n )}\n {isConnected && !signed && info && (\n <Container className=\"sign-submit-container\">\n <div>\n <Button\n primary\n size=\"medium\"\n loading={isSigning}\n disabled={isPayloadExpired}\n onClick={() => onSignContent(info!.payload)}\n >\n Sign & Submit\n </Button>\n {isPayloadExpired ? (\n <p className=\"expired-message\">The payload has expired</p>\n ) : null}\n </div>\n </Container>\n )}\n {isModalOpen ? <LoginModal\n name='WorldACLPageLoginModal'\n onClose={() => setIsModalOpen(false)}\n onConnect={onConnectWallet}\n isLoading={isConnecting}\n /> : null}\n </Page>\n <Footer />\n </div>\n )\n}\n","import { AnyAction, Dispatch } from 'redux'\nimport { connect } from 'react-redux'\nimport { enableWalletRequest } from 'decentraland-dapps/dist/modules/wallet/actions'\nimport {\n getData as getWallet,\n isConnected,\n isConnecting,\n} from 'decentraland-dapps/dist/modules/wallet/selectors'\nimport {\n getData as getSignature,\n isLoading as isSigningTx,\n} from '../../modules/signature/selectors'\nimport { signWorldACLRequest } from '../../modules/signature/actions'\nimport { RootState } from '../../types'\nimport { fetchInfoRequest } from '../../modules/acl/actions'\nimport { getInfo } from '../../modules/acl/selectors'\nimport WorldACLPage from './WorldACLPage'\nimport { MapStateProps, MapDispatchProps } from './types'\n\nconst mapState = (state: RootState): MapStateProps => {\n return {\n wallet: getWallet(state)!,\n isConnected: isConnected(state),\n isConnecting: isConnecting(state),\n signed: !!getSignature(state),\n isSigning: isSigningTx(state),\n info: getInfo(state),\n }\n}\n\nconst mapDispatch = (dispatch: Dispatch<AnyAction>): MapDispatchProps => ({\n onConnectWallet: (providerType) =>\n dispatch(enableWalletRequest(providerType)),\n onSignContent: (payload: string) => dispatch(signWorldACLRequest(payload)),\n onFetchInfo: () => dispatch(fetchInfoRequest()),\n})\n\nexport default connect(mapState, mapDispatch)(WorldACLPage)\n","import WorldACLPage from './WorldACLPage.container'\nexport default WorldACLPage\n","import ReactDOM from 'react-dom'\nimport { Provider } from 'react-redux'\nimport { createBrowserRouter, RouterProvider } from 'react-router-dom'\nimport {\n TranslationProvider,\n WalletProvider,\n} from 'decentraland-dapps/dist/providers'\n\nimport { initStore } from './store'\n\nimport Root from './components/Root'\nimport WorldACLPage from './components/WorldACLPage'\n\nimport * as locales from './modules/translation/locales'\n\n// Do not move these before other imports\nimport 'decentraland-ui/lib/styles.css'\nimport 'decentraland-ui/lib/dark-theme.css'\n\nconst router = createBrowserRouter([\n {\n path: '/',\n element: <Root />,\n },\n {\n path: '/acl',\n element: <WorldACLPage />,\n },\n])\n\n// tslint:disable-next-line: no-floating-promises\nReactDOM.render(\n <Provider store={initStore()}>\n <TranslationProvider locales={Object.keys(locales)}>\n <WalletProvider>\n <RouterProvider router={router} />\n </WalletProvider>\n </TranslationProvider>\n </Provider>,\n document.getElementById('root')\n)\n","import { applyMiddleware, compose, createStore } from 'redux'\nimport createSagasMiddleware from 'redux-saga'\nimport { createLogger } from 'redux-logger'\nimport { createTransactionMiddleware } from 'decentraland-dapps/dist/modules/transaction/middleware'\nimport { createStorageMiddleware } from 'decentraland-dapps/dist/modules/storage/middleware'\n\nimport { rootReducer } from './reducer'\nimport { rootSaga } from './sagas'\n\nexport function initStore() {\n const composeEnhancers = (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose\n\n const { storageMiddleware, loadStorageMiddleware } = createStorageMiddleware({\n storageKey: 'decentraland-linker'\n })\n const sagasMiddleware = createSagasMiddleware()\n const transactionMiddleware = createTransactionMiddleware()\n const loggerMiddleware = createLogger({\n collapsed: () => true,\n predicate: (_, _action) => true\n })\n\n const middleware = applyMiddleware(sagasMiddleware, loggerMiddleware, storageMiddleware, transactionMiddleware)\n\n const enhancer = composeEnhancers(middleware)\n const store = createStore(rootReducer, enhancer)\n\n sagasMiddleware.run(rootSaga())\n loadStorageMiddleware(store)\n\n return store\n}\n","import { all } from 'redux-saga/effects'\n\nimport { walletSaga } from './modules/wallet/sagas'\nimport { signatureSaga } from './modules/signature/sagas'\nimport { authorizationSaga } from './modules/authorization/sagas'\nimport { apiSaga } from './modules/server/sagas'\nimport { translationSaga } from './modules/translation/sagas'\nimport { npsSaga } from './modules/nps/sagas'\nimport { aclSaga } from './modules/acl/sagas'\n\nexport function rootSaga() {\n return function* () {\n yield all([\n walletSaga(),\n signatureSaga(),\n authorizationSaga(),\n apiSaga(),\n translationSaga(),\n npsSaga(),\n aclSaga(),\n ])\n }\n}\n"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(this["webpackJsonp@dcl/linker-dapp"]=this["webpackJsonp@dcl/linker-dapp"]||[]).push([[0],{1060:function(e){e.exports=JSON.parse('{"global":{}}')},1061:function(e){e.exports=JSON.parse('{"global":{}}')},1062:function(e){e.exports=JSON.parse('{"global":{}}')},1223:function(e){e.exports=JSON.parse('{"CHAIN_ID":"5"}')},1224:function(e){e.exports=JSON.parse('{"CHAIN_ID":"1"}')},1226:function(e,t){},1564:function(e,t){},1568:function(e,t){},1570:function(e,t){},1596:function(e,t){},1598:function(e,t){},1608:function(e,t){},1616:function(e,t){},1617:function(e,t){},1624:function(e,t){},1626:function(e,t){},1639:function(e,t){},1640:function(e,t){},1660:function(e,t){},1662:function(e,t){},1668:function(e,t){},1670:function(e,t){},1728:function(e,t){},1736:function(e,t){},1766:function(e,t){},1989:function(e,t){},1991:function(e,t){},1997:function(e,t){},2009:function(e,t){},2012:function(e,t){},2216:function(e,t,n){var a={"./bg-BG.json":2217,"./ca-ES.json":2218,"./cs-CZ.json":2219,"./de-DE.json":2220,"./el-GR.json":2221,"./en-US.json":1083,"./es-ES.json":2222,"./et-EE.json":2223,"./fi-FI.json":2224,"./fr-FR.json":2225,"./he-IL.json":2226,"./it-IT.json":2227,"./ja-JP.json":2228,"./ko-KR.json":2229,"./nb-NO.json":2230,"./nl-NL.json":2231,"./nn-NO.json":2232,"./pl-PL.json":2233,"./pt-BR.json":2234,"./ro-RO.json":2235,"./ru-RU.json":2236,"./sk-SK.json":2237,"./sv-SE.json":2238,"./tr-TR.json":2239,"./zh-CN.json":2240};function r(e){var t=s(e);return n(t)}function s(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}r.keys=function(){return Object.keys(a)},r.resolve=s,e.exports=r,r.id=2216},2493:function(e,t,n){},2494:function(e,t,n){},2495:function(e,t,n){},2496:function(e,t,n){},2497:function(e,t,n){},2498:function(e,t,n){},2499:function(e,t,n){},2500:function(e,t,n){},2504:function(e,t,n){"use strict";n.r(t);var a={};n.r(a),n.d(a,"en",(function(){return pn})),n.d(a,"es",(function(){return yn})),n.d(a,"zh",(function(){return fn}));var r=n(140),s=n.n(r),i=n(115),c=n(1238),o=n(36),u=n(767),l=n(274),p=n(1240),d=n(1215),y=n(1216),b=n(1217),f=n(1218),j=n(1219),m=n(1220),O=n(776),x=n(28),g=n(73),v=n(65),h="[Request] Sign Content",w="[Success] Sign Content",M="[Failure] Sign Content",C=function(e){return Object(v.action)(w,{signature:e})},I=function(e){return Object(v.action)(M,{error:e})},k="[Request] Create Identity",A="[Success] Create Identity",_="[Failure] Create Identity",E=function(e){return Object(v.action)(A,{identity:e})},S=function(e){return Object(v.action)(_,{error:e})},R="[Request] Sign World ACL",T="[Success] Sign World ACL",N="[Failure] Sign World ACL",L=function(e){return Object(v.action)(T,{signature:e})},F=function(e){return Object(v.action)(N,{error:e})},D={data:"",loading:[],identity:null,error:null},z="[Request] Fetch LAND Authorizations",U="[Success] Fetch LAND Authorizations",H="[Failure] Fetch LAND Authorizations",P=function(e){return Object(v.action)(z,{owner:e})},W=function(e){return Object(v.action)(U,{authorizations:e})},B=function(e){return Object(v.action)(H,{error:e})},q={data:[],loading:[],error:null},J=n(47),G="[Request] Fetch Files",K="[Success] Fetch Files",Y="[Failure] Fetch Files",V="[Request] Fetch info",X="[Success] Fetch info",Q="[Failure] Fetch info",Z="[Request] Fetch catalyst",$="[Success] Fetch catalyst",ee="[Failure] Fetch catalyst",te=function(e){return Object(v.action)(K,{files:e})},ne=function(e){return Object(v.action)(Y,{error:e})},ae=function(e){return Object(v.action)(X,{info:e})},re=function(e){return Object(v.action)(Q,{error:e})},se=function(){return Object(v.action)(Z)},ie=function(e){return Object(v.action)($,e)},ce=function(e){return Object(v.action)(ee,{error:e})},oe="[Success] Deploy content",ue=function(){return Object(v.action)(oe)},le={info:void 0,files:[],loading:[],error:null,catalyst:void 0,deploySuccess:!1};function pe(e){return e?("string"===typeof e?[e]:e).map((function(e){var t=e.split(","),n=Object(J.a)(t,2),a=n[0],r=n[1];return{x:parseInt(a,10),y:parseInt(r,10)}})):[{x:0,y:0}]}var de="[Request] Fetch World ACL info",ye="[Success] Fetch World ACL info",be="[Failure] Fetch World ACL info",fe="[Request] Fetch World ACL",je="[Success] Fetch World ACL",me="[Failure] Fetch World ACL",Oe="[Request] Update World ACL",xe="[Success] Update World ACL",ge="[Failure] Update World ACL",ve=function(e){return Object(v.action)(ye,{info:e})},he=function(e){return Object(v.action)(be,{error:e})},we=function(e){return Object(v.action)(je,{acl:e})},Me=function(e){return Object(v.action)(me,{error:e})},Ce=function(e){return Object(v.action)(Oe,{signature:e})},Ie=function(){return Object(v.action)(xe)},ke=function(e){return Object(v.action)(ge,{error:e})},Ae={info:void 0,acl:void 0,loading:[],error:null},_e=Object(O.storageReducerWrapper)(Object(l.b)({storage:O.storageReducer,wallet:f.walletReducer,transaction:j.transactionReducer,translation:m.translationReducer,signature:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:D,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case h:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t)});case w:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),data:t.payload.signature,error:null});case M:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),error:t.payload.error});case k:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t)});case A:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),identity:t.payload.identity,error:null});case _:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),error:t.payload.error});case R:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t)});case T:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),data:t.payload.signature,error:null});case N:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),error:t.payload.error});default:return e}},authorization:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:q,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case z:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t)});case U:return{loading:Object(g.loadingReducer)(e.loading,t),data:t.payload.authorizations,error:null};case H:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),error:t.payload.error});default:return e}},api:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:le,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case oe:return Object(x.a)(Object(x.a)({},e),{},{deploySuccess:!0});case G:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t)});case K:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),files:t.payload.files,error:null});case Y:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),error:t.payload.error,files:[]});case Z:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t)});case $:return t.payload.catalysts.length?Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),catalyst:t.payload,error:null}):e;case ee:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),error:t.payload.error});case V:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t)});case X:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),info:Object(x.a)(Object(x.a)({},t.payload.info),{},{baseParcel:pe(t.payload.info.baseParcel)[0],parcels:pe(t.payload.info.parcels),rootCID:t.payload.info.rootCID||"QmPjpPyibbryTCi75zzcdeuPUBcujtEqj43shwKBAdMojy"}),error:null});case Q:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),error:t.payload.error,info:void 0});default:return e}},acl:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Ae,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case de:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t)});case ye:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),info:t.payload.info,error:null});case be:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),error:t.payload.error,info:void 0});case fe:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t)});case je:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),acl:t.payload.acl,error:null});case me:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),error:t.payload.error,acl:void 0});case Oe:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t)});case xe:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),error:null});case ge:return Object(x.a)(Object(x.a)({},e),{},{loading:Object(g.loadingReducer)(e.loading,t),error:t.payload.error});default:return e}}})),Ee=n(1),Se=n(33),Re=n(123),Te=n(1221),Ne=n(147),Le=n(93),Fe=n(1222),De=n(1223),ze=n(1224),Ue=Object(Fe.createConfig)({dev:De,prod:ze}),He=Object(Ee.a)().mark(qe),Pe=Object(Ee.a)().mark(Je),We=Object(Ee.a)().mark(Ge),Be=Object(Ee.a)().mark(Ke);function qe(){var e;return Object(Ee.a)().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=Object(Te.createWalletSaga)({CHAIN_ID:Ue.get("CHAIN_ID",Re.ChainId.ETHEREUM_MAINNET.toString())}),t.next=3,Object(Se.all)([e(),Je()]);case 3:case"end":return t.stop()}}),He)}function Je(){return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(Se.takeEvery)(Ne.CHANGE_NETWORK,Ge);case 2:return e.next=4,Object(Se.takeEvery)(Ne.CHANGE_ACCOUNT,Ge);case 4:return e.next=6,Object(Se.takeEvery)(Ne.CONNECT_WALLET_SUCCESS,Ke);case 6:case"end":return e.stop()}}),Pe)}function Ge(){return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(Se.call)((function(){return window.location.reload()}));case 2:case"end":return e.stop()}}),We)}function Ke(){var e;return Object(Ee.a)().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,Object(Se.select)(Le.getAddress);case 2:return e=t.sent,t.next=5,Object(Se.put)(P(e));case 5:case"end":return t.stop()}}),Be)}var Ye=n(764),Ve=n(114),Xe=n(3),Qe=n(169),Ze=n(1225),$e=n(4);function et(e,t){return tt.apply(this,arguments)}function tt(){return(tt=Object($e.a)(Object(Ee.a)().mark((function e(t,n){return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("/api/close?ok=".concat(t,"&reason=").concat(JSON.stringify(n)));case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function nt(e){return at.apply(this,arguments)}function at(){return(at=Object($e.a)(Object(Ee.a)().mark((function e(t){var n,a;return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("/api/deploy",{method:"post",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});case 2:if(!(n=e.sent).ok){e.next=5;break}return e.abrupt("return");case 5:return e.next=7,n.json();case 7:throw a=e.sent.message,new Error(a);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function rt(){return st.apply(this,arguments)}function st(){return(st=Object($e.a)(Object(Ee.a)().mark((function e(){return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("/api/files");case 2:return e.abrupt("return",e.sent.json());case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function it(){return ct.apply(this,arguments)}function ct(){return(ct=Object($e.a)(Object(Ee.a)().mark((function e(){return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("/api/info");case 2:return e.abrupt("return",e.sent.json());case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ot(){return ut.apply(this,arguments)}function ut(){return(ut=Object($e.a)(Object(Ee.a)().mark((function e(){return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("/api/catalyst-pointers");case 2:return e.abrupt("return",e.sent.json());case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var lt=Object(Ee.a)().mark(Ot),pt=Object(Ee.a)().mark(xt),dt=Object(Ee.a)().mark(gt),yt=Object(Ee.a)().mark(vt),bt=Object(Ee.a)().mark(ht),ft=Object(Ee.a)().mark(wt),jt=Object(Ee.a)().mark(Mt),mt=Object(Ee.a)().mark(Ct);function Ot(){return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(Se.takeLatest)(h,gt);case 2:return e.next=4,Object(Se.takeEvery)(w,vt);case 4:return e.next=6,Object(Se.takeLatest)(k,ht);case 6:return e.next=8,Object(Se.takeLatest)(A,wt);case 8:return e.next=10,Object(Se.takeLatest)(R,Mt);case 10:return e.next=12,Object(Se.takeEvery)(T,Ct);case 12:case"end":return e.stop()}}),lt)}function xt(e){var t,n,a,r,s,i;return Object(Ee.a)().wrap((function(c){for(;;)switch(c.prev=c.next){case 0:return t=Object(Ve.f)(e.payload),c.next=3,Object(Se.call)((function(){return Object(Qe.getConnectedProvider)()}));case 3:return n=c.sent,a=new Ye.a(n),r=a.getSigner(),c.next=8,Object(Se.call)((function(){return r.getAddress()}));case 8:return s=c.sent,c.next=11,Object(Se.call)((function(){return n.send("personal_sign",[Object(Xe.i)(t),s.toLowerCase()])}));case 11:return i=c.sent,c.abrupt("return",i);case 13:case"end":return c.stop()}}),pt)}function gt(e){var t;return Object(Ee.a)().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,Object(Se.call)(xt,e);case 3:return t=n.sent,n.next=6,Object(Se.put)(C(t));case 6:n.next=12;break;case 8:return n.prev=8,n.t0=n.catch(0),n.next=12,Object(Se.put)(I(n.t0.message));case 12:case"end":return n.stop()}}),dt,null,[[0,8]])}function vt(e){var t,n,a;return Object(Ee.a)().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,Object(Se.select)(Le.getAddress);case 2:return t=r.sent,r.next=5,Object(Se.select)(Le.getChainId);case 5:return n=r.sent,a=e.payload.signature,r.prev=7,r.next=10,Object(Se.call)(nt,{signature:a,address:t,chainId:n});case 10:return r.next=12,Object(Se.put)(ue());case 12:r.next=18;break;case 14:return r.prev=14,r.t0=r.catch(7),r.next=18,Object(Se.put)(I(r.t0.message));case 18:case"end":return r.stop()}}),yt,null,[[7,14]])}function ht(e){var t,n,a,r;return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Object(Se.call)((function(){return Object(Qe.getConnectedProvider)()}));case 3:return t=e.sent,n=new Ye.a(t),a=n.getSigner(),e.next=8,Object(Se.call)((function(){return Object(Ze.createIdentity)(a,1e3)}));case 8:return r=e.sent,e.next=11,Object(Se.put)(E(r));case 11:return e.next=13,Object(Se.put)(se());case 13:e.next=19;break;case 15:return e.prev=15,e.t0=e.catch(0),e.next=19,Object(Se.put)(S(e.t0.message));case 19:case"end":return e.stop()}}),bt,null,[[0,15]])}function wt(e){var t,n,a;return Object(Ee.a)().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return t=e.payload.identity,r.next=3,Object(Se.select)(Le.getAddress);case 3:return n=r.sent,r.next=6,Object(Se.select)(Le.getChainId);case 6:return a=r.sent,r.prev=7,r.next=10,Object(Se.call)(et,!0,{responseType:"identity",payload:{identity:t,address:n,chainId:a}});case 10:r.next=16;break;case 12:return r.prev=12,r.t0=r.catch(7),r.next=16,Object(Se.put)(S(r.t0.message));case 16:case"end":return r.stop()}}),ft,null,[[7,12]])}function Mt(e){var t;return Object(Ee.a)().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,Object(Se.call)(xt,e);case 3:return t=n.sent,n.next=6,Object(Se.put)(L(t));case 6:n.next=12;break;case 8:return n.prev=8,n.t0=n.catch(0),n.next=12,Object(Se.put)(F(n.t0.message));case 12:case"end":return n.stop()}}),jt,null,[[0,8]])}function Ct(e){var t;return Object(Ee.a)().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=e.payload.signature,n.next=3,Object(Se.put)(Ce(t));case 3:case"end":return n.stop()}}),mt)}var It,kt,At,_t=function(e){return e.api.files},Et=function(e){return e.api.info},St=n(63),Rt=n(258),Tt=n(777),Nt=n(778),Lt=function(e){return e.LANDRegistry="land",e.EstateRegistry="estate",e}({}),Ft=(At={},Object(St.a)(At,Lt.LANDRegistry,(It={},Object(St.a)(It,Re.ChainId.ETHEREUM_MAINNET,{address:"0xf87e31492faf9a91b02ee0deaad50d51d56d5d4d",abi:Nt.a}),Object(St.a)(It,Re.ChainId.ETHEREUM_SEPOLIA,{address:"0x42f4ba48791e2de32f5fbf553441c2672864bb33",abi:Nt.a}),It)),Object(St.a)(At,Lt.EstateRegistry,(kt={},Object(St.a)(kt,Re.ChainId.ETHEREUM_MAINNET,{address:"0x959e104e1a4db6317fa58f8295f586e1a978c297",abi:Tt.a}),Object(St.a)(kt,Re.ChainId.ETHEREUM_SEPOLIA,{address:"0x369a7fbe718c870c79f99fb423882e8dd8b20486",abi:Tt.a}),kt)),At);function Dt(){return zt.apply(this,arguments)}function zt(){return(zt=Object($e.a)(Object(Ee.a)().mark((function e(){var t;return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(Qe.getConnectedProvider)();case 2:if(t=e.sent){e.next=5;break}throw new Error("no provider");case 5:return e.abrupt("return",new Ye.a(t));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ut(e,t){var n=Ft[e][t];if(!n)throw new Error('Contract "'.concat(e,'" not found for chain id "').concat(t,'"'));return n}function Ht(e){return Pt.apply(this,arguments)}function Pt(){return(Pt=Object($e.a)(Object(Ee.a)().mark((function e(t){var n,a,r;return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Dt();case 2:return n=e.sent,e.next=5,n.getNetwork();case 5:return a=e.sent,r=a.chainId,e.abrupt("return",Ut(t,r));case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Wt(e){return Bt.apply(this,arguments)}function Bt(){return(Bt=Object($e.a)(Object(Ee.a)().mark((function e(t){var n,a,r,s,i;return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ht(Lt.LANDRegistry);case 2:return n=e.sent,a=n.address,r=n.abi,e.next=7,Dt();case 7:return s=e.sent,i=new Rt.Contract(t||a,r,s),e.abrupt("return",i);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qt(e){return Jt.apply(this,arguments)}function Jt(){return(Jt=Object($e.a)(Object(Ee.a)().mark((function e(t){var n,a,r;return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ht(Lt.EstateRegistry);case 2:return n=e.sent,a=n.address,r=n.abi,e.t0=Rt.Contract,e.t1=t||a,e.t2=r,e.next=10,Dt();case 10:return e.t3=e.sent,e.abrupt("return",new e.t0(e.t1,e.t2,e.t3));case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Gt(e,t,n,a,r){return Kt.apply(this,arguments)}function Kt(){return(Kt=Object($e.a)(Object(Ee.a)().mark((function e(t,n,a,r,s){var i,c,o,u,l,p;return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Yt();case 2:return e.next=4,Wt(r);case 4:return i=e.sent,e.next=7,i.encodeTokenId(t,n);case 7:return c=e.sent,e.next=10,i.isUpdateAuthorized(a,c);case 10:if(o=e.sent){e.next=23;break}return e.next=14,qt(s);case 14:return u=e.sent,e.next=17,u.getLandEstateId(c);case 17:if(!((l=e.sent)&&l>0)){e.next=23;break}return e.next=21,u.isUpdateAuthorized(a,l);case 21:return p=e.sent,e.abrupt("return",{x:t,y:n,isUpdateAuthorized:p});case 23:return e.abrupt("return",{x:t,y:n,isUpdateAuthorized:o});case 24:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Yt(){return Vt.apply(this,arguments)}function Vt(){return Vt=Object($e.a)(Object(Ee.a)().mark((function e(){var t;return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=function(){var e=Object($e.a)(Object(Ee.a)().mark((function e(t){return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",t);case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),e.next=3,t(1);case 3:return e.next=5,t(2);case 5:return e.next=7,t(3);case 7:return e.next=9,t(4);case 9:case"end":return e.stop()}}),e)}))),Vt.apply(this,arguments)}var Xt=Object(Ee.a)().mark(Zt),Qt=Object(Ee.a)().mark($t);function Zt(){return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(Se.takeEvery)(z,$t);case 2:case"end":return e.stop()}}),Xt)}function $t(){var e,t,n,a,r,s,i,c,o;return Object(Ee.a)().wrap((function(u){for(;;)switch(u.prev=u.next){case 0:return u.next=2,Object(Se.select)(Et);case 2:if(e=u.sent){u.next=6;break}return u.next=6,Object(Se.take)(X);case 6:if(t=new URLSearchParams(document.location.search),"true"!==t.get("skipValidations")){u.next=21;break}return u.prev=9,n=e.parcels,u.next=13,Object(Se.put)(W(n.map((function(e){return{x:e.x,y:e.y,isUpdateAuthorized:!0}}))));case 13:u.next=19;break;case 15:return u.prev=15,u.t0=u.catch(9),u.next=19,Object(Se.put)(B(u.t0.message));case 19:case 32:u.next=38;break;case 21:return a=e.parcels,r=e.landRegistry,s=e.estateRegistry,u.prev=22,u.next=25,Object(Se.select)(Le.getAddress);case 25:return i=u.sent,c=a.map((function(e){return Gt(e.x,e.y,i,r,s)})),u.next=29,Object(Se.call)((function(){return Promise.all(c)}));case 29:return o=u.sent,u.next=32,Object(Se.put)(W(o));case 34:return u.prev=34,u.t1=u.catch(22),u.next=38,Object(Se.put)(B(u.t1.message));case 38:case"end":return u.stop()}}),Qt,null,[[9,15],[22,34]])}var en=Object(Ee.a)().mark(rn),tn=Object(Ee.a)().mark(sn),nn=Object(Ee.a)().mark(cn),an=Object(Ee.a)().mark(on);function rn(){return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(Se.takeEvery)(G,sn);case 2:return e.next=4,Object(Se.takeEvery)(V,cn);case 4:return e.next=6,Object(Se.takeEvery)(Z,on);case 6:case"end":return e.stop()}}),en)}function sn(){var e;return Object(Ee.a)().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Object(Se.call)(rt);case 3:return e=t.sent,t.next=6,Object(Se.put)(te(e));case 6:t.next=12;break;case 8:return t.prev=8,t.t0=t.catch(0),t.next=12,Object(Se.put)(ne(t.t0.message));case 12:case"end":return t.stop()}}),tn,null,[[0,8]])}function cn(){var e;return Object(Ee.a)().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Object(Se.call)(it);case 3:return e=t.sent,t.next=6,Object(Se.put)(ae(e));case 6:t.next=12;break;case 8:return t.prev=8,t.t0=t.catch(0),t.next=12,Object(Se.put)(re(t.t0.message));case 12:case"end":return t.stop()}}),nn,null,[[0,8]])}function on(){var e;return Object(Ee.a)().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Object(Se.call)(ot);case 3:return e=t.sent,t.next=6,Object(Se.put)(ie(e));case 6:t.next=12;break;case 8:return t.prev=8,t.t0=t.catch(0),t.next=12,Object(Se.put)(ce(t.t0.message));case 12:case"end":return t.stop()}}),an,null,[[0,8]])}var un=n(1227),ln=n(1060),pn=n.t(ln,2),dn=n(1061),yn=n.t(dn,2),bn=n(1062),fn=n.t(bn,2),jn=Object(un.createTranslationSaga)({translations:a}),mn=Object(Ee.a)().mark(xn),On=Object(Ee.a)().mark(gn);function xn(){return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(Se.takeEvery)(w,gn);case 2:case"end":return e.stop()}}),mn)}function gn(e){var t;return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=window,!("delightedNps4"in window)){e.next=4;break}return e.next=4,Object(Se.call)(t.delightedNps4.survey);case 4:case"end":return e.stop()}}),On)}function vn(){return hn.apply(this,arguments)}function hn(){return(hn=Object($e.a)(Object(Ee.a)().mark((function e(){return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("/api/acl");case 2:return e.abrupt("return",e.sent.json());case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function wn(e,t){return Mn.apply(this,arguments)}function Mn(){return(Mn=Object($e.a)(Object(Ee.a)().mark((function e(t,n){return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("".concat(t,"/acl/").concat(n));case 2:return e.abrupt("return",e.sent.json());case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Cn(e){return In.apply(this,arguments)}function In(){return(In=Object($e.a)(Object(Ee.a)().mark((function e(t){return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("/api/acl",{method:"post",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var kn=Object(Ee.a)().mark(Sn),An=Object(Ee.a)().mark(Rn),_n=Object(Ee.a)().mark(Tn),En=Object(Ee.a)().mark(Nn);function Sn(){return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(Se.takeEvery)(de,Rn);case 2:return e.next=4,Object(Se.takeEvery)(fe,Tn);case 4:return e.next=6,Object(Se.takeEvery)(Oe,Nn);case 6:case"end":return e.stop()}}),kn)}function Rn(){var e;return Object(Ee.a)().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,Object(Se.call)(vn);case 3:return e=t.sent,t.next=6,Object(Se.put)(ve(e));case 6:t.next=12;break;case 8:return t.prev=8,t.t0=t.catch(0),t.next=12,Object(Se.put)(he(t.t0.message));case 12:case"end":return t.stop()}}),An,null,[[0,8]])}function Tn(e){var t,n,a,r;return Object(Ee.a)().wrap((function(s){for(;;)switch(s.prev=s.next){case 0:return t=e.payload,n=t.targetContent,a=t.worldName,s.prev=1,s.next=4,Object(Se.call)(wn,n,a);case 4:return r=s.sent,s.next=7,Object(Se.put)(we(r));case 7:s.next=13;break;case 9:return s.prev=9,s.t0=s.catch(1),s.next=13,Object(Se.put)(Me(s.t0.message));case 13:case"end":return s.stop()}}),_n,null,[[1,9]])}function Nn(e){var t,n;return Object(Ee.a)().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return t=e.payload.signature,a.next=3,Object(Se.select)(Le.getAddress);case 3:return n=a.sent,a.prev=4,a.next=7,Object(Se.call)(Cn,{signature:t,address:n});case 7:return a.next=9,Object(Se.put)(Ie());case 9:a.next=15;break;case 11:return a.prev=11,a.t0=a.catch(4),a.next=15,Object(Se.put)(ke(a.t0.message));case 15:case"end":return a.stop()}}),En,null,[[4,11]])}var Ln=n(248),Fn=function(e){return e.signature},Dn=Object(Ln.a)(Fn,(function(e){return e.data})),zn=Object(Ln.a)(Fn,(function(e){return e.loading.length>0})),Un=(Object(Ln.a)(Fn,(function(e){return e.error})),n(0)),Hn=n.n(Un),Pn=n(21),Wn=n(368),Bn=n.n(Wn);var qn=n(15),Jn=Hn.a.memo((function(e){var t=e.children;return Object(qn.jsxs)("p",{style:{color:"var(--primary)"},children:[" Error: ",t]})}));function Gn(e){var t=e.isConnected,n=e.isConnecting,a=e.wallet,r=e.authorizations,s=e.isUpdateAuthorized,i=e.onConnectWallet;return t&&a.address?Object(qn.jsxs)(qn.Fragment,{children:[Object(qn.jsxs)("p",{children:["Using address: \xa0",Object(qn.jsx)(Pn.Blockie,{scale:3,seed:a.address,children:Object(qn.jsx)(Pn.Address,{tooltip:!0,strong:!0,value:a.address})})]}),null!==r&&void 0!==r&&r.length&&!s?Object(qn.jsx)(Jn,{children:"You don't have permissions to update The following LANDs that are part of the scene: ".concat((r||[]).filter((function(e){return!e.isUpdateAuthorized})).map((function(e){return'"'.concat(function(e){var t=e.x,n=e.y;return"".concat(t,",").concat(n)}(e),'"')})).join(", "))}):null]}):Object(qn.jsxs)(qn.Fragment,{children:[n?null:Object(qn.jsx)("p",{children:"Could not find any wallet"}),Object(qn.jsx)("p",{children:Object(qn.jsx)(Pn.Button,{primary:!0,onClick:i,loading:n,disabled:n,children:"Reconnect\xa0"})})]})}n(2493);var Kn=Object(i.connect)((function(e){return{wallet:Object(Le.getData)(e),isConnected:Object(Le.isConnected)(e),isConnecting:Object(Le.isConnecting)(e),signed:!!Dn(e),isSigning:zn(e)}}),(function(e){return{onConnectWallet:function(t){return e(Object(Ne.enableWalletRequest)(t))},onRequestIdentity:function(){return e(Object(v.action)(k,{}))}}}))((function(e){var t=e.isConnected,n=e.wallet,a=e.isConnecting,r=e.onConnectWallet,s=e.isSigning,i=e.onRequestIdentity,c=Object(Un.useState)(!1),o=Object(J.a)(c,2),u=o[0],l=o[1];return Object(Un.useEffect)((function(){t&&u&&l(!1)}),[t,u]),Object(qn.jsxs)("div",{className:"LinkScenePage",children:[n.chainId===Re.ChainId.ETHEREUM_GOERLI&&Object(qn.jsx)("div",{className:"warning",children:"Using Goerli test network"}),Object(qn.jsx)(Pn.Navbar,{}),Object(qn.jsx)(Pn.Header,{children:"Create an identity to sign deployments "}),Object(qn.jsx)(Gn,{isUpdateAuthorized:!0,isConnected:t,isConnecting:a,wallet:n,onConnectWallet:function(){return l(!0)}}),Object(qn.jsx)("form",{children:Object(qn.jsx)("div",{children:Object(qn.jsx)(Pn.Button,{primary:!0,onClick:function(e){e.preventDefault(),i()},disabled:!t,loading:s,children:"Sign ephemeral wallet"})})}),u?Object(qn.jsx)(Bn.a,{name:"IdentityPageLoginModal",onClose:function(){return l(!1)},onConnect:r,isLoading:a}):null]})})),Yn=function(e){return e.authorization},Vn=Object(Ln.a)(Yn,(function(e){return e.data})),Xn=Object(Ln.a)(Yn,(function(e){return e.loading.length>0})),Qn=(Object(Ln.a)(Yn,(function(e){return e.error})),Object(Ln.a)(Vn,(function(e){if(null!==e&&void 0!==e&&e.length)return e.every((function(e){return e.isUpdateAuthorized}))}))),Zn=(n(2494),function(e){return e.Size="Size",e.Name="Name",e}(Zn||{}));var $n=Object(i.connect)((function(e){return{files:_t(e)}}))((function(e){var t=e.files,n=Object(Un.useState)(Zn.Size),a=Object(J.a)(n,2),r=a[0],s=a[1],i=Object(Un.useMemo)((function(){return t.sort((function(e,t){return r===Zn.Size?t.size<e.size?-1:1:e.name<t.name?-1:1}))}),[t,r]);return Object(qn.jsx)(Pn.Container,{children:Object(qn.jsxs)(Pn.Table,{basic:"very",children:[Object(qn.jsx)(Pn.Table.Header,{children:Object(qn.jsxs)(Pn.Table.Row,{children:[Object(qn.jsx)(Pn.Table.HeaderCell,{children:"File Name"}),Object(qn.jsx)(Pn.Table.HeaderCell,{children:"Size"}),Object(qn.jsx)(Pn.Table.HeaderCell,{children:Object(qn.jsx)(Pn.Dropdown,{text:r,direction:"right",children:Object(qn.jsx)(Pn.Dropdown.Menu,{children:Object.values(Zn).map((function(e){return Object(qn.jsx)(Pn.Dropdown.Item,{onClick:function(){return s(e)},text:e},e)}))})})})]})}),Object(qn.jsx)(Pn.Table.Body,{children:i.map((function(e,t){var n=e.name,a=e.size;return Object(qn.jsxs)(Pn.Table.Row,{children:[Object(qn.jsx)(Pn.Table.Cell,{children:n}),Object(qn.jsxs)(Pn.Table.Cell,{children:[(1e-6*Number(a)).toFixed(2)," MB "]}),Object(qn.jsx)(Pn.Table.Cell,{})]},t)}))})]})})}));n(2495);function ea(e){var t=e.authorizations,n=e.parcels,a=e.baseParcel,r=function(e){return function(t,n){return e.find((function(e){return e.x===t&&e.y===n}))}};return Object(qn.jsxs)(Pn.Container,{children:[!!n.length&&Object(qn.jsx)(Pn.Section,{size:"large",className:"map-table",children:Object(qn.jsxs)(Pn.Table,{basic:"very",children:[Object(qn.jsx)(Pn.Table.Header,{children:Object(qn.jsxs)(Pn.Table.Row,{children:[Object(qn.jsx)(Pn.Table.HeaderCell,{children:"Name"}),Object(qn.jsx)(Pn.Table.HeaderCell,{children:"Coordinates"}),Object(qn.jsx)(Pn.Table.HeaderCell,{children:"Permissions"})]})}),Object(qn.jsx)(Pn.Table.Body,{children:n.map((function(e,n){var a,s=!(null===(a=r(t||[])(e.x,e.y))||void 0===a||!a.isUpdateAuthorized);return Object(qn.jsxs)(Pn.Table.Row,{children:[Object(qn.jsxs)(Pn.Table.Cell,{children:["Parcel ",n]}),Object(qn.jsxs)(Pn.Table.Cell,{children:[e.x,", ",e.y]}),Object(qn.jsx)(Pn.Table.Cell,{className:s?"":"permission-not-granted",children:t.length?s?"Granted":"Not granted":""})]},n)}))})]})}),Object(qn.jsx)(Pn.Container,{children:Object(qn.jsx)(Pn.Section,{size:"large",className:"map-canvas",children:Object(qn.jsx)(Pn.Atlas,{height:300,x:a.x,y:a.y,isDraggable:!1,layers:[function(e,t){return r(n)(e,t)?{color:"#ff0044",scale:1.4}:null},function(e,t){return r(n)(e,t)?{color:"#ff99",scale:1.2}:null}]})})})]})}n(2496),n(2497);var ta=Object(i.connect)((function(e){var t,n;return{status:null===(t=e.api.catalyst)||void 0===t?void 0:t.status,catalysts:(null===(n=e.api.catalyst)||void 0===n?void 0:n.catalysts)||[],info:Et(e),deploySuccess:e.api.deploySuccess,apiError:e.api.error}}),(function(e){return{onFetchCatalyst:function(){return e(se())}}}))((function(e){var t=e.onFetchCatalyst,n=e.catalysts,a=void 0===n?[]:n,r=(e.status,e.info),s=e.deploySuccess,i=e.apiError,c=1===new Set(a.map((function(e){return e.entityId}))).size||s&&(null===r||void 0===r?void 0:r.isWorld);return Object(Un.useEffect)((function(){if(!(c||null!==r&&void 0!==r&&r.isWorld||i)){var e=setInterval((function(){t()}),5e3);return function(){return clearInterval(e)}}}),[t,c,r,i]),Object(qn.jsxs)(Pn.Container,{children:[Object(qn.jsx)(Pn.HeaderMenu,{children:Object(qn.jsx)(Pn.Badge,{color:s?"#20913e":Pn.Color.SUNISH,children:s?"Deployed successfully":"Deploying..."})}),!(null!==r&&void 0!==r&&r.isWorld)&&Object(qn.jsxs)(Pn.Table,{basic:"very",children:[Object(qn.jsx)(Pn.Table.Header,{children:Object(qn.jsxs)(Pn.Table.Row,{children:[Object(qn.jsx)(Pn.Table.HeaderCell,{children:"Catalyst Server"}),Object(qn.jsx)(Pn.Table.HeaderCell,{children:"Time"}),Object(qn.jsx)(Pn.Table.HeaderCell,{children:"Entity Id"})]})}),Object(qn.jsx)(Pn.Table.Body,{children:(a||[]).map((function(e){var t=e.url,n=e.timestamp,a=e.entityId;return Object(qn.jsxs)(Pn.Table.Row,{children:[Object(qn.jsx)(Pn.Table.Cell,{children:t}),Object(qn.jsx)(Pn.Table.Cell,{children:new Date(n).toLocaleString()}),Object(qn.jsx)(Pn.Table.Cell,{children:a})]},t)}))})]})]})})),na=function(e){return e.Map="Map",e.Files="Files",e}(na||{});var aa=Object(i.connect)((function(e){return{wallet:Object(Le.getData)(e),isConnected:Object(Le.isConnected)(e),isConnecting:Object(Le.isConnecting)(e),signed:!!Dn(e),isUpdateAuthorized:Qn(e),authorizations:Vn(e),isAuthorizationLoading:Xn(e),isSigning:zn(e),info:Et(e),deployError:e.signature.error}}),(function(e){return{onConnectWallet:function(t){return e(Object(Ne.enableWalletRequest)(t))},onSignContent:function(t){return e(function(e){return Object(v.action)(h,e)}(t))},onFetchFiles:function(){return e(Object(v.action)(G))},onFetchInfo:function(){return e(Object(v.action)(V))}}}))((function(e){var t=Object(Un.useState)(na.Map),n=Object(J.a)(t,2),a=n[0],r=n[1],s=Object(Un.useState)(!1),i=Object(J.a)(s,2),c=i[0],o=i[1],u=e.isConnected,l=e.wallet,p=e.authorizations,d=e.isUpdateAuthorized,y=e.isConnecting,b=e.onConnectWallet,f=e.onSignContent,j=e.onFetchFiles,m=e.onFetchInfo,O=e.isSigning,x=e.isAuthorizationLoading,g=e.signed,v=e.info,h=e.deployError,w=(null===v||void 0===v?void 0:v.baseParcel)||{x:0,y:0},M=w.x,C=w.y,I=(null===l||void 0===l?void 0:l.chainId)===Re.ChainId.ETHEREUM_GOERLI,k="https://play.decentraland.".concat(I?"zone":"org","/?position=").concat(M,",").concat(C);return Object(Un.useEffect)((function(){m(),j()}),[j,m]),Object(Un.useEffect)((function(){u&&c&&o(!1)}),[u,c]),Object(qn.jsxs)("div",{className:"Page-story-container",children:[Object(qn.jsx)(Pn.Navbar,{leftMenu:Object(qn.jsx)(qn.Fragment,{}),isConnected:u,isConnecting:y,address:null===l||void 0===l?void 0:l.address}),Object(qn.jsxs)(Pn.Page,{children:[Object(qn.jsxs)(Pn.Container,{children:[Object(qn.jsx)(Pn.HeaderMenu,{children:Object(qn.jsx)(Pn.HeaderMenu.Left,{children:Object(qn.jsxs)(Pn.Container,{textAlign:"center",children:[Object(qn.jsxs)(Pn.Header,{size:"large",children:["Deploying ",(null===v||void 0===v?void 0:v.title)||"Untitled Scene"]}),(null===v||void 0===v?void 0:v.description)&&Object(qn.jsx)(Pn.Header,{size:"medium",children:(null===v||void 0===v?void 0:v.description)||"Some description"})]})})}),Object(qn.jsxs)(Pn.HeaderMenu,{children:[Object(qn.jsxs)(Pn.HeaderMenu.Left,{children:[Object(qn.jsx)("div",{className:"address-header url",onClick:function(){var e;return k&&(null===(e=window.open(k,"_blank"))||void 0===e?void 0:e.focus())},children:Object(qn.jsxs)(Pn.Badge,{color:Pn.Color.SUMMER_RED,children:[Object(qn.jsx)(Pn.Icon,{name:"point"}),M,", ",C]})}),!!u&&Object(qn.jsx)("div",{className:"address-header",children:Object(qn.jsx)(Pn.Badge,{color:Pn.Color.SHADOWS,children:I?"Goerli":"Mainnet"})}),Object(qn.jsx)("div",{className:"address-header",children:!(null===l||void 0===l||!l.address)&&Object(qn.jsx)(Pn.Blockie,{scale:3,seed:l.address,children:Object(qn.jsx)(Pn.Address,{tooltip:!0,strong:!0,value:l.address})})})]}),!g&&Object(qn.jsx)(Pn.HeaderMenu.Right,{children:Object(qn.jsx)(Pn.Button,{primary:!0,size:"medium",loading:y||O||u&&x,disabled:u&&!d,onClick:u?function(){return f(v.rootCID)}:function(){return o(!0)},children:u?"Sign & Deploy":"Connect Wallet"})})]})]}),!(null===p||void 0===p||!p.length||d)&&Object(qn.jsx)(Pn.Toast,{type:Pn.ToastType.ERROR,title:"Check LAND permissions",body:"You dont have permissions to update some of the coords"}),(null===v||void 0===v?void 0:v.isPortableExperience)&&(null===v||void 0===v?void 0:v.isWorld)&&Object(qn.jsx)(Pn.Toast,{type:Pn.ToastType.WARN,title:"Scene override",body:"Deploying a Portable Experience might override your current Scene"}),h&&Object(qn.jsx)("div",{className:"toast-full-with",children:Object(qn.jsx)(Pn.Toast,{type:Pn.ToastType.ERROR,title:"Failed to deploy scene",body:null!==h&&void 0!==h?h:"Look at the terminal for more info"})}),!g&&Object(qn.jsx)(Pn.Tabs,{isFullscreen:!0,children:Object.values(na).map((function(e){return Object(qn.jsx)(Pn.Tabs.Tab,{onClick:function(){return r(e)},active:a===e,children:e},e)}))}),!v&&Object(qn.jsx)(Pn.Loader,{}),g&&!h&&Object(qn.jsx)(ta,{}),!g&&a===na.Files&&Object(qn.jsx)($n,{}),!g&&v&&a===na.Map&&Object(qn.jsx)(ea,{authorizations:p,parcels:v.parcels,baseParcel:v.baseParcel}),c?Object(qn.jsx)(Bn.a,{name:"LinkerPageLoginModal",open:c,onClose:function(){return o(!1)},onConnect:b,isLoading:y}):null]}),Object(qn.jsx)(Pn.Footer,{})]})})),ra=function(e){return new URLSearchParams(document.location.search).has("wearableId")?Object(qn.jsx)(Kn,Object(x.a)({},e)):Object(qn.jsx)(aa,Object(x.a)({},e))},sa=function(e){return e.UPDATING="updating",e.UPDATED="updated",e}({}),ia=function(e){return e.acl},ca=function(e){return ia(e).info},oa=function(e){var t=ca(e),n=function(e){return ia(e).acl}(e);return t&&n&&t.worldName===n.resource&&t.allowed.every((function(e){return n.allowed.includes(e)}))?sa.UPDATED:sa.UPDATING},ua=n(30),la=n.n(ua),pa=(n(2498),function(e){var t=e.type,n=e.text,a=e.icon,r=e.className,s=e.isActive,i=e.isDisabled,c=e.onClick;if(!n&&!a)throw new Error("You need to provide at least one prop: text or icon");var o=la()("Chip",t,r,{active:s,disabled:i,clickeable:c&&!i});return Object(qn.jsx)("div",{className:o,tabIndex:0,onClick:s||i?void 0:c,onKeyDown:function(e){"Enter"===e.key&&c&&c(e)},children:n?Object(qn.jsx)("span",{className:"text",children:n}):a?Object(qn.jsx)(Pn.Icon,{name:a}):null})});pa.defaultProps={text:"",icon:"",type:"square",isDisabled:!1,isActive:!1};var da=Un.memo(pa);n(2499);var ya=Object(i.connect)((function(e){return{aclStatus:oa(e)}}),(function(e){return{onFetchWorldACL:function(t,n){return e(function(e,t){return Object(v.action)(fe,{targetContent:e,worldName:t})}(t,n))}}}))((function(e){var t=e.aclStatus,n=e.info,a=e.onFetchWorldACL,r=t===sa.UPDATED;return Object(Un.useEffect)((function(){if(!r&&n){var e=setInterval((function(){a(n.targetContent,n.worldName)}),5e3);return function(){return clearInterval(e)}}}),[r,n,a]),Object(qn.jsx)(Pn.Container,{children:Object(qn.jsx)(Pn.HeaderMenu,{children:Object(qn.jsx)(Pn.Badge,{color:r?"#20913e":Pn.Color.SUNISH,children:r?"World ACL updated successfully to ".concat(null===n||void 0===n?void 0:n.targetContent):"Updating ACL.."})})})}));n(2500);function ba(e){var t=e.className,n=e.description,a=e.addresses;return Object(qn.jsxs)("div",{className:t,children:[Object(qn.jsx)("span",{className:"description",children:n}),Object(qn.jsx)("div",{className:"addresses",children:a.map((function(e){return Object(qn.jsx)(da,{text:e,type:"square"})}))})]})}var fa=Object(i.connect)((function(e){return{wallet:Object(Le.getData)(e),isConnected:Object(Le.isConnected)(e),isConnecting:Object(Le.isConnecting)(e),signed:!!Dn(e),isSigning:zn(e),info:ca(e)}}),(function(e){return{onConnectWallet:function(t){return e(Object(Ne.enableWalletRequest)(t))},onSignContent:function(t){return e(function(e){return Object(v.action)(R,e)}(t))},onFetchInfo:function(){return e(Object(v.action)(de))}}}))((function(e){var t,n=Object(Un.useState)(!1),a=Object(J.a)(n,2),r=a[0],s=a[1],i=Object(Un.useState)(!1),c=Object(J.a)(i,2),o=c[0],u=c[1],l=e.isConnected,p=e.wallet,d=e.isConnecting,y=e.isSigning,b=e.signed,f=e.info,j=e.onConnectWallet,m=e.onSignContent,O=e.onFetchInfo,x=Object(Un.useMemo)((function(){if(!f)return[];var e=f.allowed,t=f.oldAllowed;return e.length>t.length?e.filter((function(e){return!t.includes(e)})):t.filter((function(t){return!e.includes(t)}))}),[f]);return Object(Un.useEffect)((function(){O()}),[O]),Object(Un.useEffect)((function(){l&&r&&s(!1)}),[l,r]),Object(Un.useEffect)((function(){if(f){var e=setInterval((function(){u(!0)}),1e3*f.expiration);return function(){clearTimeout(e)}}}),[f]),Object(qn.jsxs)("div",{className:"Page-story-container",children:[Object(qn.jsx)(Pn.Navbar,{leftMenu:Object(qn.jsx)(qn.Fragment,{}),isConnected:l,isConnecting:d,address:null===p||void 0===p?void 0:p.address}),Object(qn.jsxs)(Pn.Page,{children:[Object(qn.jsxs)(Pn.Container,{children:[Object(qn.jsx)(Pn.HeaderMenu,{children:Object(qn.jsx)(Pn.HeaderMenu.Left,{children:Object(qn.jsx)(Pn.Container,{textAlign:"center",children:Object(qn.jsxs)(Pn.Header,{size:"large",children:["Updating ",(null===f||void 0===f?void 0:f.worldName)||"Untitled World"," ACL"]})})})}),Object(qn.jsx)(Pn.HeaderMenu,{children:Object(qn.jsxs)(Pn.HeaderMenu.Left,{children:[!l&&Object(qn.jsx)(Pn.Button,{primary:!0,size:"medium",loading:d,onClick:function(){return s(!0)},children:"Connect Wallet"}),!!l&&(null===p||void 0===p?void 0:p.chainId)&&Object(qn.jsx)("div",{className:"address-header",children:Object(qn.jsx)(Pn.Badge,{color:Pn.Color.SHADOWS,children:Object(Re.getChainName)(p.chainId)})}),Object(qn.jsx)("div",{className:"address-header",children:!(null===p||void 0===p||!p.address)&&Object(qn.jsx)(Pn.Blockie,{scale:3,seed:p.address,children:Object(qn.jsx)(Pn.Address,{tooltip:!0,strong:!0,value:p.address})})})]})})]}),!f&&Object(qn.jsx)(Pn.Loader,{}),f&&b&&Object(qn.jsx)(ya,{info:f}),l&&!b&&f&&!(null!==(t=f.allowed)&&void 0!==t&&t.length)&&Object(qn.jsx)("p",{children:"After this change, only you will be able to deploy scenes into the world."}),l&&p.address&&!b&&f&&f.allowed.length>0&&Object(qn.jsxs)(qn.Fragment,{children:[Object(qn.jsxs)("p",{children:["You are about to"," ",Object(qn.jsx)("span",{children:Object(qn.jsx)("strong",{children:f.allowed.length>f.oldAllowed.length?"grant":"revoke"})})," ","the permissions to deploy to your world to the following"," ",x.length>1?"addresses":" address",":"," ",Object(qn.jsx)("ul",{className:"changes",children:x.map((function(e){return Object(qn.jsx)("li",{children:Object(qn.jsx)(da,{text:e,type:"square"})})}))})]}),Object(qn.jsxs)("div",{className:"allowed",children:[Object(qn.jsx)("h3",{children:"Access control list"}),Object(qn.jsx)(ba,{className:"owner",description:"Owner",addresses:[p.address]}),Object(qn.jsx)(ba,{className:"deployers",description:"Deployers",addresses:f.allowed})]})]}),l&&!b&&f&&Object(qn.jsx)(Pn.Container,{className:"sign-submit-container",children:Object(qn.jsxs)("div",{children:[Object(qn.jsx)(Pn.Button,{primary:!0,size:"medium",loading:y,disabled:o,onClick:function(){return m(f.payload)},children:"Sign & Submit"}),o?Object(qn.jsx)("p",{className:"expired-message",children:"The payload has expired"}):null]})}),r?Object(qn.jsx)(Bn.a,{name:"WorldACLPageLoginModal",onClose:function(){return s(!1)},onConnect:j,isLoading:d}):null]}),Object(qn.jsx)(Pn.Footer,{})]})})),ja=(n(2501),n(2502),Object(c.a)([{path:"/",element:Object(qn.jsx)(ra,{})},{path:"/acl",element:Object(qn.jsx)(fa,{})}]));s.a.render(Object(qn.jsx)(i.Provider,{store:function(){var e=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__||l.c,t=Object(b.createStorageMiddleware)({storageKey:"decentraland-linker"}),n=t.storageMiddleware,a=t.loadStorageMiddleware,r=Object(p.a)(),s=Object(y.createTransactionMiddleware)(),i=Object(d.createLogger)({collapsed:function(){return!0},predicate:function(e,t){return!0}}),c=e(Object(l.a)(r,i,n,s)),o=Object(l.d)(_e,c);return r.run(Object(Ee.a)().mark((function e(){return Object(Ee.a)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(Se.all)([qe(),Ot(),Zt(),rn(),jn(),xn(),Sn()]);case 2:case"end":return e.stop()}}),e)}))),a(o),o}(),children:Object(qn.jsx)(u.TranslationProvider,{locales:Object.keys(a),children:Object(qn.jsx)(u.WalletProvider,{children:Object(qn.jsx)(o.b,{router:ja})})})}),document.getElementById("root"))},777:function(e){e.exports=JSON.parse('{"a":[{"constant":true,"inputs":[{"name":"_interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"updateManager","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"getApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"landIdEstate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"estateLandIds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"exists","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"updateOperator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"estateLandIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_approved","type":"bool"}],"name":"setApprovalForAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"contractName","type":"string"},{"name":"migrationId","type":"string"}],"name":"isMigrated","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenId","type":"uint256"}],"name":"tokenURI","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":true,"name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_approved","type":"address"},{"indexed":true,"name":"_tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_operator","type":"address"},{"indexed":false,"name":"_approved","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_estateId","type":"uint256"},{"indexed":false,"name":"_data","type":"string"}],"name":"CreateEstate","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_estateId","type":"uint256"},{"indexed":true,"name":"_landId","type":"uint256"}],"name":"AddLand","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_estateId","type":"uint256"},{"indexed":true,"name":"_landId","type":"uint256"},{"indexed":true,"name":"_destinatary","type":"address"}],"name":"RemoveLand","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_assetId","type":"uint256"},{"indexed":true,"name":"_holder","type":"address"},{"indexed":true,"name":"_operator","type":"address"},{"indexed":false,"name":"_data","type":"string"}],"name":"Update","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_estateId","type":"uint256"},{"indexed":true,"name":"_operator","type":"address"}],"name":"UpdateOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_operator","type":"address"},{"indexed":true,"name":"_caller","type":"address"},{"indexed":false,"name":"_approved","type":"bool"}],"name":"UpdateManager","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_registry","type":"address"}],"name":"SetLANDRegistry","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"contractName","type":"string"},{"indexed":false,"name":"migrationId","type":"string"}],"name":"Migrated","type":"event"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"metadata","type":"string"}],"name":"mint","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"estateId","type":"uint256"},{"name":"landId","type":"uint256"},{"name":"destinatary","type":"address"}],"name":"transferLand","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"estateId","type":"uint256"},{"name":"landIds","type":"uint256[]"},{"name":"destinatary","type":"address"}],"name":"transferManyLands","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"landId","type":"uint256"}],"name":"getLandEstateId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_registry","type":"address"}],"name":"setLANDRegistry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"ping","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"estateId","type":"uint256"}],"name":"getEstateSize","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"estateId","type":"uint256"},{"name":"metadata","type":"string"}],"name":"updateMetadata","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"estateId","type":"uint256"}],"name":"getMetadata","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"operator","type":"address"},{"name":"estateId","type":"uint256"}],"name":"isUpdateAuthorized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_operator","type":"address"},{"name":"_approved","type":"bool"}],"name":"setUpdateManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"estateId","type":"uint256"},{"name":"operator","type":"address"}],"name":"setUpdateOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"estateId","type":"uint256"},{"name":"landId","type":"uint256"},{"name":"operator","type":"address"}],"name":"setLandUpdateOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_registry","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_sender","type":"address"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_operator","type":"address"},{"name":"_from","type":"address"},{"name":"_tokenId","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"onERC721Received","outputs":[{"name":"","type":"bytes4"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"estateId","type":"uint256"}],"name":"getFingerprint","outputs":[{"name":"result","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"estateId","type":"uint256"},{"name":"fingerprint","type":"bytes"}],"name":"verifyFingerprint","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"estateIds","type":"uint256[]"}],"name":"safeTransferManyFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"estateIds","type":"uint256[]"},{"name":"data","type":"bytes"}],"name":"safeTransferManyFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"estateId","type":"uint256"},{"name":"landId","type":"uint256"},{"name":"data","type":"string"}],"name":"updateLandData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"estateId","type":"uint256"},{"name":"landIds","type":"uint256[]"},{"name":"data","type":"string"}],"name":"updateManyLandData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_tokenId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]}')},778:function(e){e.exports=JSON.parse('{"a":[{"constant":true,"inputs":[{"name":"_interfaceID","type":"bytes4"}],"name":"supportsInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proxyOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"address"}],"name":"updateManager","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"assetId","type":"uint256"}],"name":"getApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"operator","type":"address"},{"name":"assetId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"latestPing","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"operator","type":"address"},{"name":"assetId","type":"uint256"}],"name":"isAuthorized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"authorizedDeploy","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"name":"assetId","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"assetId","type":"uint256"}],"name":"safeTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"tokensOf","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"assetId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"GET_METADATA","outputs":[{"name":"","type":"bytes4"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"description","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"updateOperator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"operator","type":"address"},{"name":"authorized","type":"bool"}],"name":"setApprovalForAll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"assetId","type":"uint256"},{"name":"userData","type":"bytes"}],"name":"safeTransferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"estateRegistry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"assetHolder","type":"address"},{"name":"operator","type":"address"}],"name":"isApprovedForAll","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"assetId","type":"uint256"}],"name":"getApprovedAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"registry","type":"address"}],"name":"EstateRegistrySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"assetId","type":"uint256"},{"indexed":true,"name":"holder","type":"address"},{"indexed":true,"name":"operator","type":"address"},{"indexed":false,"name":"data","type":"string"}],"name":"Update","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"assetId","type":"uint256"},{"indexed":true,"name":"operator","type":"address"}],"name":"UpdateOperator","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_operator","type":"address"},{"indexed":true,"name":"_caller","type":"address"},{"indexed":false,"name":"_approved","type":"bool"}],"name":"UpdateManager","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_caller","type":"address"},{"indexed":true,"name":"_deployer","type":"address"}],"name":"DeployAuthorized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_caller","type":"address"},{"indexed":true,"name":"_deployer","type":"address"}],"name":"DeployForbidden","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":true,"name":"assetId","type":"uint256"},{"indexed":false,"name":"operator","type":"address"},{"indexed":false,"name":"userData","type":"bytes"},{"indexed":false,"name":"operatorData","type":"bytes"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":true,"name":"assetId","type":"uint256"},{"indexed":false,"name":"operator","type":"address"},{"indexed":false,"name":"userData","type":"bytes"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":true,"name":"assetId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"holder","type":"address"},{"indexed":true,"name":"operator","type":"address"},{"indexed":false,"name":"authorized","type":"bool"}],"name":"ApprovalForAll","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"operator","type":"address"},{"indexed":true,"name":"assetId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_prevOwner","type":"address"},{"indexed":false,"name":"_newOwner","type":"address"}],"name":"OwnerUpdate","type":"event"},{"constant":false,"inputs":[{"name":"","type":"bytes"}],"name":"initialize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"operator","type":"address"},{"name":"assetId","type":"uint256"}],"name":"isUpdateAuthorized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"authorizeDeploy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"forbidDeploy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"x","type":"int256"},{"name":"y","type":"int256"},{"name":"beneficiary","type":"address"}],"name":"assignNewParcel","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"x","type":"int256[]"},{"name":"y","type":"int256[]"},{"name":"beneficiary","type":"address"}],"name":"assignMultipleParcels","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"ping","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"user","type":"address"}],"name":"setLatestToNow","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"x","type":"int256"},{"name":"y","type":"int256"}],"name":"encodeTokenId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"value","type":"uint256"}],"name":"decodeTokenId","outputs":[{"name":"","type":"int256"},{"name":"","type":"int256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"x","type":"int256"},{"name":"y","type":"int256"}],"name":"exists","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"assetId","type":"uint256"}],"name":"exists","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"x","type":"int256"},{"name":"y","type":"int256"}],"name":"ownerOfLand","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"x","type":"int256[]"},{"name":"y","type":"int256[]"}],"name":"ownerOfLandMany","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"landOf","outputs":[{"name":"","type":"int256[]"},{"name":"","type":"int256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"assetId","type":"uint256"}],"name":"tokenMetadata","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"x","type":"int256"},{"name":"y","type":"int256"}],"name":"landData","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"assetId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"x","type":"int256"},{"name":"y","type":"int256"},{"name":"to","type":"address"}],"name":"transferLand","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"x","type":"int256[]"},{"name":"y","type":"int256[]"},{"name":"to","type":"address"}],"name":"transferManyLand","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"x","type":"int256"},{"name":"y","type":"int256"},{"name":"estateId","type":"uint256"}],"name":"transferLandToEstate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"x","type":"int256[]"},{"name":"y","type":"int256[]"},{"name":"estateId","type":"uint256"}],"name":"transferManyLandToEstate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"assetId","type":"uint256"},{"name":"operator","type":"address"}],"name":"setUpdateOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"_operator","type":"address"},{"name":"_approved","type":"bool"}],"name":"setUpdateManager","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"registry","type":"address"}],"name":"setEstateRegistry","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"x","type":"int256[]"},{"name":"y","type":"int256[]"},{"name":"beneficiary","type":"address"}],"name":"createEstate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"x","type":"int256[]"},{"name":"y","type":"int256[]"},{"name":"beneficiary","type":"address"},{"name":"metadata","type":"string"}],"name":"createEstateWithMetadata","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"x","type":"int256"},{"name":"y","type":"int256"},{"name":"data","type":"string"}],"name":"updateLandData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"x","type":"int256[]"},{"name":"y","type":"int256[]"},{"name":"data","type":"string"}],"name":"updateManyLandData","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]}')}},[[2504,1,2]]]);
|
|
2
|
-
//# sourceMappingURL=main.bf0f7e50.chunk.js.map
|