{"version":3,"sources":["jsdelivr-header.js","/npm/@avail-project/avail-snap@1.1.0/build/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aACA,OAAO,eAAe,QAAS,aAAc,CAAE,OAAO,IACtD,QAAQ,kBAAe,EACvB,MAAM,cAAgB,QAAQ,eACxB,MAAQ,QAAQ,eAChB,KAAO,QAAQ,cACf,aAAe,QAAQ,gBACvB,YAAc,QAAQ,mBACtB,aAAe,QAAQ,oBACvB,6BAA+B,QAAQ,oCACvC,aAAe,QAAQ,oBACvB,eAAiB,QAAQ,sBACzB,OAAS,QAAQ,cACjB,aAAe,QAAQ,8BACvB,WAAa,QAAQ,4BACrB,kBAAoB,QAAQ,mCAC5B,OAAS,QAAQ,wBACjB,aAAe,QAAQ,qBACvB,oBAAsB,CACxB,WACA,aACA,eACA,kBACA,iBACA,6BACA,QAEE,aAAe,OAAS,oBACN,KAAK,QAAQ,CAC7B,OAAQ,mBACR,OAAQ,CAAE,UAAW,gBAIf,KAAK,QAAQ,CACf,OAAQ,mBACR,OAAQ,CAAE,UAAU,EAAI,aAAa,sBAAuB,UAAW,YAI/E,IAAI,EAAM,KAIV,OAHI,oBAAoB,SAAS,EAAQ,UACrC,QAAY,EAAI,MAAM,WAElB,EAAQ,QACZ,IAAK,kBAED,OADA,EAAI,cAAc,QAAQ,EAAQ,OAAQ,aAAa,kCAC1C,EAAI,OAAO,iBAAiB,EAAK,EAAQ,OAAO,SACjE,IAAK,iBAED,OADA,EAAI,cAAc,QAAQ,EAAQ,OAAQ,aAAa,iCAC1C,EAAI,OAAO,gBAAgB,EAAK,EAAQ,OAAO,SAChE,IAAK,eACD,aAAa,EAAI,eAAe,gBACpC,IAAK,aACD,aAAa,EAAI,aAAa,cAClC,IAAK,aACD,aAAa,EAAI,aAAa,cAClC,IAAK,qBACD,aAAa,EAAI,kBAAkB,mBACvC,IAAK,oBAED,OADA,EAAI,cAAc,QAAQ,EAAQ,OAAQ,aAAa,8BAC1C,EAAI,KAAK,iBAAiB,EAAQ,OAAO,aAC1D,IAAK,WAED,OADA,EAAI,cAAc,QAAQ,EAAQ,OAAQ,aAAa,2BAC1C,EAAI,WAAW,UAAU,EAAQ,OAAO,SAAU,GACnE,IAAK,aACD,aAAa,EAAI,aAAa,YAAY,GAE9C,IAAK,YAaD,OARgD,cAJ3B,KAAK,QAAQ,CAC9B,OAAQ,mBACR,OAAQ,CAAE,UAAW,UAEY,cAG3B,EAAI,MAAM,aAGpB,EAAI,cAAc,QAAQ,EAAQ,OAAQ,aAAa,qBAAsB,kEAC7E,QAAQ,KAAK,wBAAyB,EAAQ,OAAO,qBACxC,EAAI,YAAY,WAAW,EAAQ,OAAO,cAAc,YAAa,EAAQ,OAAO,eAErG,IAAK,6BAED,OADA,EAAI,cAAc,QAAQ,EAAQ,OAAQ,aAAa,6CAC1C,EAAI,6BAA6B,4BAA4B,EAAK,EAAQ,OAAO,OAAQ,EAAQ,OAAO,OAAQ,EAAQ,OAAO,MAChJ,IAAK,OAED,OADA,EAAI,cAAc,QAAQ,EAAQ,OAAQ,aAAa,uBAC1C,EAAI,OAAO,MAAM,EAAK,EAAQ,OAAO,UAAW,EAAQ,OAAO,UAAW,EAAQ,OAAO,SAC1G,IAAK,eACD,OAAO,UAAc,EAAI,IAAI,MAAM,oBAAoB,KAC3D,QACI,MAAM,IAAI,MAAM,qBACxB,EAEJ,QAAQ,aAAe","file":"/npm/@avail-project/avail-snap@1.1.0/build/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@avail-project/avail-snap@1.1.0/build/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.onRpcRequest = void 0;\nconst superstruct_1 = require(\"superstruct\");\nconst api_1 = require(\"./avail/api\");\nconst tx_1 = require(\"./avail/tx\");\nconst interfaces_1 = require(\"./interfaces\");\nconst configure_1 = require(\"./rpc/configure\");\nconst exportSeed_1 = require(\"./rpc/exportSeed\");\nconst generateTransactionPayload_1 = require(\"./rpc/generateTransactionPayload\");\nconst getAddress_1 = require(\"./rpc/getAddress\");\nconst getPublicKey_1 = require(\"./rpc/getPublicKey\");\nconst send_1 = require(\"./rpc/send\");\nconst getBalance_1 = require(\"./rpc/substrate/getBalance\");\nconst getBlock_1 = require(\"./rpc/substrate/getBlock\");\nconst getTransactions_1 = require(\"./rpc/substrate/getTransactions\");\nconst sign_1 = require(\"./rpc/substrate/sign\");\nconst validation_1 = require(\"./util/validation\");\nconst apiDependentMethods = [\n    'getBlock',\n    'getBalance',\n    'getChainHead',\n    'signPayloadJSON',\n    'signPayloadRaw',\n    'generateTransactionPayload',\n    'send'\n];\nconst onRpcRequest = async ({ request }) => {\n    const state = await snap.request({\n        method: 'snap_manageState',\n        params: { operation: 'get' }\n    });\n    if (!state) {\n        // initialize state if empty and set default config\n        await snap.request({\n            method: 'snap_manageState',\n            params: { newState: (0, interfaces_1.EmptyMetamaskState)(), operation: 'update' }\n        });\n    }\n    // fetch api promise\n    let api = null;\n    if (apiDependentMethods.includes(request.method)) {\n        api = await (0, api_1.getApi)();\n    }\n    switch (request.method) {\n        case 'signPayloadJSON':\n            (0, superstruct_1.assert)(request.params, validation_1.validSignPayloadJSONSchema);\n            return await (0, sign_1.signPayloadJSON)(api, request.params.payload);\n        case 'signPayloadRaw':\n            (0, superstruct_1.assert)(request.params, validation_1.validSignPayloadRawSchema);\n            return await (0, sign_1.signPayloadRaw)(api, request.params.payload);\n        case 'getPublicKey':\n            return await (0, getPublicKey_1.getPublicKey)();\n        case 'getAddress':\n            return await (0, getAddress_1.getAddress)();\n        case 'exportSeed':\n            return await (0, exportSeed_1.exportSeed)();\n        case 'getAllTransactions':\n            return await (0, getTransactions_1.getTransactions)();\n        case 'updateTransaction':\n            (0, superstruct_1.assert)(request.params, validation_1.validTransactionSchema);\n            return await (0, tx_1.updateTxInState)(request.params.transaction);\n        case 'getBlock':\n            (0, superstruct_1.assert)(request.params, validation_1.validGetBlockSchema);\n            return await (0, getBlock_1.getBlock)(request.params.blockTag, api);\n        case 'getBalance': {\n            return await (0, getBalance_1.getBalance)(api);\n        }\n        case 'configure': {\n            const state = (await snap.request({\n                method: 'snap_manageState',\n                params: { operation: 'get' }\n            }));\n            const isInitialConfiguration = state.config === null;\n            // reset api and remove asset only if already configured\n            if (!isInitialConfiguration) {\n                await (0, api_1.resetApi)();\n            }\n            // set new configuration\n            (0, superstruct_1.assert)(request.params, validation_1.validConfigureSchema, 'Invalid configuration schema - Network name should be provided');\n            console.info('Configuring snap with', request.params.configuration);\n            return await (0, configure_1.configure)(request.params.configuration.networkName, request.params.configuration);\n        }\n        case 'generateTransactionPayload':\n            (0, superstruct_1.assert)(request.params, validation_1.validGenerateTransactionPayloadSchema);\n            return await (0, generateTransactionPayload_1.generateTransactionPayload)(api, request.params.module, request.params.method, request.params.args);\n        case 'send':\n            (0, superstruct_1.assert)(request.params, validation_1.validSendSchema);\n            return await (0, send_1.send)(api, request.params.signature, request.params.txPayload, request.params.network);\n        case 'getChainHead':\n            return api && (await api.rpc.chain.getFinalizedHead()).hash;\n        default:\n            throw new Error('Method not found.');\n    }\n};\nexports.onRpcRequest = onRpcRequest;\n"]}