UNPKG

@fastnear/wallet-adapter-widget

Version:

User interfaces for select NEAR Protocol web3 wallets

1 lines 3.39 kB
{"version":3,"sources":["../../../src/adapters/near.ts"],"sourcesContent":["import { serializeTransaction, toBase58 } from \"@fastnear/utils\";\n\nexport const walletUrl = (networkId: string) =>\n networkId === \"testnet\"\n ? \"https://testnet.mynearwallet.com\"\n : \"https://app.mynearwallet.com\";\n\nexport function createNearAdapter() {\n return {\n async signIn({ networkId, contractId, callbackUrl, publicKey }) {\n const url = new URL(`${walletUrl(networkId)}/login`);\n url.searchParams.set(\"contract_id\", contractId);\n url.searchParams.set(\"public_key\", publicKey);\n url.searchParams.set(\"success_url\", callbackUrl);\n url.searchParams.set(\"failure_url\", callbackUrl);\n\n return {\n url: url.toString(),\n state: {\n publicKey,\n networkId,\n },\n };\n },\n\n async sendTransactions({ state, transactions, callbackUrl }) {\n console.log(\n \"sendTransactions\",\n JSON.stringify({ state, transactions, callbackUrl })\n );\n if (!state?.accountId) {\n throw new Error(\"Not signed in\");\n }\n\n const url = new URL(\"sign\", walletUrl(state?.networkId));\n transactions = transactions.map(({ signerId, receiverId, actions }) => {\n if (signerId && signerId !== state.accountId) {\n throw new Error(\"Invalid signer\");\n }\n return {\n signerId: state.accountId,\n receiverId,\n actions,\n publicKey: `ed25519:${toBase58(new Uint8Array(32))}`,\n nonce: 0,\n blockHash: toBase58(new Uint8Array(32)),\n };\n });\n\n url.searchParams.set(\n \"transactions\",\n transactions\n .map(transaction => serializeTransaction(transaction))\n // @todo: vampire slay this Buffer! use js-base64\n .map(serialized => Buffer.from(serialized).toString(\"base64\"))\n .join(\",\")\n );\n url.searchParams.set(\"callbackUrl\", callbackUrl);\n\n return { url: url.toString() };\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA+C;AAExC,MAAM,YAAY,wBAAC,cACxB,cAAc,YACV,qCACA,gCAHmB;AAKlB,SAAS,oBAAoB;AAClC,SAAO;AAAA,IACL,MAAM,OAAO,EAAE,WAAW,YAAY,aAAa,UAAU,GAAG;AAC9D,YAAM,MAAM,IAAI,IAAI,GAAG,UAAU,SAAS,CAAC,QAAQ;AACnD,UAAI,aAAa,IAAI,eAAe,UAAU;AAC9C,UAAI,aAAa,IAAI,cAAc,SAAS;AAC5C,UAAI,aAAa,IAAI,eAAe,WAAW;AAC/C,UAAI,aAAa,IAAI,eAAe,WAAW;AAE/C,aAAO;AAAA,QACL,KAAK,IAAI,SAAS;AAAA,QAClB,OAAO;AAAA,UACL;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,IAEA,MAAM,iBAAiB,EAAE,OAAO,cAAc,YAAY,GAAG;AAC3D,cAAQ;AAAA,QACN;AAAA,QACA,KAAK,UAAU,EAAE,OAAO,cAAc,YAAY,CAAC;AAAA,MACrD;AACA,UAAI,CAAC,OAAO,WAAW;AACrB,cAAM,IAAI,MAAM,eAAe;AAAA,MACjC;AAEA,YAAM,MAAM,IAAI,IAAI,QAAQ,UAAU,OAAO,SAAS,CAAC;AACvD,qBAAe,aAAa,IAAI,CAAC,EAAE,UAAU,YAAY,QAAQ,MAAM;AACrE,YAAI,YAAY,aAAa,MAAM,WAAW;AAC5C,gBAAM,IAAI,MAAM,gBAAgB;AAAA,QAClC;AACA,eAAO;AAAA,UACL,UAAU,MAAM;AAAA,UAChB;AAAA,UACA;AAAA,UACA,WAAW,eAAW,uBAAS,IAAI,WAAW,EAAE,CAAC,CAAC;AAAA,UAClD,OAAO;AAAA,UACP,eAAW,uBAAS,IAAI,WAAW,EAAE,CAAC;AAAA,QACxC;AAAA,MACF,CAAC;AAED,UAAI,aAAa;AAAA,QACf;AAAA,QACA,aACG,IAAI,qBAAe,mCAAqB,WAAW,CAAC,EAEpD,IAAI,gBAAc,OAAO,KAAK,UAAU,EAAE,SAAS,QAAQ,CAAC,EAC5D,KAAK,GAAG;AAAA,MACb;AACA,UAAI,aAAa,IAAI,eAAe,WAAW;AAE/C,aAAO,EAAE,KAAK,IAAI,SAAS,EAAE;AAAA,IAC/B;AAAA,EACF;AACF;AAvDgB;","names":[]}