@dodoex/wallet-web3 0.5.4 → 0.6.0

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.
Files changed (84) hide show
  1. package/dist/__tslib-cf28c574.js +1 -0
  2. package/dist/{alchemy-provider-5870b6fa-7183581f.js → alchemy-provider-5870b6fa-e4fa48d3.js} +1 -1
  3. package/dist/{alchemy-websocket-provider-213da986-d5a91aac.js → alchemy-websocket-provider-213da986-dc2bcf5c.js} +1 -1
  4. package/dist/{blocto-0ec2fc36.js → blocto-2fb1d4e9.js} +1 -1
  5. package/dist/browser-3f7e560e.js +1 -0
  6. package/dist/{ccip-d1141d3a.js → ccip-3c08ea13.js} +1 -1
  7. package/dist/cjs/__tslib-c375fca0.cjs +1 -0
  8. package/dist/cjs/{alchemy-provider-5870b6fa-94b8a05d.cjs → alchemy-provider-5870b6fa-00140867.cjs} +1 -1
  9. package/dist/cjs/{alchemy-websocket-provider-213da986-cb2dca69.cjs → alchemy-websocket-provider-213da986-b2e3ea59.cjs} +1 -1
  10. package/dist/cjs/{blocto-c4470598.cjs → blocto-b086f036.cjs} +1 -1
  11. package/dist/cjs/browser-d0e333da.cjs +1 -0
  12. package/dist/cjs/{ccip-466d4e59.cjs → ccip-248539f9.cjs} +1 -1
  13. package/dist/cjs/{draggabilly-53856a31.cjs → draggabilly-f7eacd66.cjs} +1 -1
  14. package/dist/cjs/id-a6c483f9.cjs +1 -0
  15. package/dist/cjs/{index-9075d9c2.cjs → index-1a09310e.cjs} +1 -1
  16. package/dist/cjs/{index-6aa1755b.cjs → index-24e8d66c.cjs} +2 -2
  17. package/dist/cjs/index-2659a245.cjs +2 -0
  18. package/dist/cjs/{index-63b5eebb.cjs → index-54591c6b.cjs} +1 -1
  19. package/dist/cjs/{index-9d9946f3.cjs → index-83b277b8.cjs} +7 -7
  20. package/dist/cjs/index-908a0281.cjs +27 -0
  21. package/dist/cjs/index-97619c59.cjs +15 -0
  22. package/dist/cjs/{index-86ef4f22.cjs → index-9dd3dd7e.cjs} +1 -1
  23. package/dist/cjs/{index-c4c73f44.cjs → index-ace56b81.cjs} +1 -1
  24. package/dist/cjs/index-b64e1d7e.cjs +1 -0
  25. package/dist/cjs/{index-56fff369.cjs → index-d297664c.cjs} +1 -1
  26. package/dist/cjs/index-d965eac9.cjs +1 -0
  27. package/dist/cjs/index-e65f9734.cjs +15 -0
  28. package/dist/cjs/{index-76cccf0c.cjs → index-fd28b030.cjs} +1 -1
  29. package/dist/cjs/index.cjs +1 -1
  30. package/dist/cjs/index.es-e98c5ee4.cjs +9 -0
  31. package/dist/cjs/{interface-d5ec613a.cjs → interface-eb633eac.cjs} +1 -1
  32. package/dist/cjs/{lib-typedarrays-afe9c8e7.cjs → lib-typedarrays-f699b687.cjs} +1 -1
  33. package/dist/cjs/mm-install-modal_2.entry-4950a7e9.cjs +1 -0
  34. package/dist/cjs/{portis-9af3489b.cjs → portis-0c036243.cjs} +1 -1
  35. package/dist/cjs/rainbow-57ada25b.cjs +1 -0
  36. package/dist/cjs/{sha224-8f3f5508.cjs → sha224-267753d8.cjs} +1 -1
  37. package/dist/cjs/{sha256-6785be1d.cjs → sha256-d6829c39.cjs} +1 -1
  38. package/dist/cjs/{typed-data-a102eb38.cjs → typed-data-12a9baf4.cjs} +1 -1
  39. package/dist/cjs/{uAuth-22dae0a4.cjs → uAuth-0858f962.cjs} +1 -1
  40. package/dist/cjs/{walletConnect-d4368503.cjs → walletConnect-c55b3f29.cjs} +1 -1
  41. package/dist/cjs/{walletLink-1b5e5056.cjs → walletLink-961041df.cjs} +2 -2
  42. package/dist/{draggabilly-96bd4e8a.js → draggabilly-921a68cb.js} +1 -1
  43. package/dist/id-d72ad2e3.js +1 -0
  44. package/dist/index-022bd88c.js +27 -0
  45. package/dist/{index-9a72391b.js → index-18f1c3bb.js} +1 -1
  46. package/dist/index-21067fcb.js +15 -0
  47. package/dist/index-2dc796bb.js +2 -0
  48. package/dist/{index-d9690f1f.js → index-3b7c9150.js} +1 -1
  49. package/dist/{index-aa09ffe2.js → index-621d68a7.js} +1 -1
  50. package/dist/index-6b5aff68.js +1 -0
  51. package/dist/index-7b0eeb5c.js +1 -0
  52. package/dist/{index-0534a22e.js → index-82e4bb0d.js} +3 -3
  53. package/dist/{index-de489272.js → index-a98e886d.js} +5 -5
  54. package/dist/{index-ec77233b.js → index-d3e54bda.js} +1 -1
  55. package/dist/{index-29d50f5e.js → index-d815c390.js} +1 -1
  56. package/dist/{index-b27ec2be.js → index-e0e62601.js} +1 -1
  57. package/dist/{index-25f5dd77.js → index-ff4c01ce.js} +1 -1
  58. package/dist/index.es-e17cf755.js +9 -0
  59. package/dist/index.js +1 -1
  60. package/dist/{interface-501ba1ce.js → interface-b09eb8d7.js} +1 -1
  61. package/dist/lib-typedarrays-8b3801fe.js +1 -0
  62. package/dist/mm-install-modal_2.entry-e9e33358.js +1 -0
  63. package/dist/{portis-59e75b95.js → portis-57c88ff3.js} +1 -1
  64. package/dist/rainbow-c820ccae.js +1 -0
  65. package/dist/sha224-5ae0e997.js +1 -0
  66. package/dist/{sha256-cdb06d7c.js → sha256-260a708c.js} +1 -1
  67. package/dist/{typed-data-d46cb643.js → typed-data-7ba4540a.js} +1 -1
  68. package/dist/{uAuth-a93ad1ec.js → uAuth-253510eb.js} +1 -1
  69. package/dist/{walletConnect-23af88ec.js → walletConnect-fc6f0e52.js} +1 -1
  70. package/dist/{walletLink-782b101e.js → walletLink-d75a8dc8.js} +2 -2
  71. package/package.json +2 -2
  72. package/dist/cjs/id-07cfd31e.cjs +0 -1
  73. package/dist/cjs/index-af8c9c8e.cjs +0 -15
  74. package/dist/cjs/index-b82ccec9.cjs +0 -9
  75. package/dist/cjs/index.es-d9e722ea.cjs +0 -9
  76. package/dist/cjs/rainbow-4b5d0839.cjs +0 -1
  77. package/dist/cjs/v4-3e682452.cjs +0 -1
  78. package/dist/id-6dc2a6aa.js +0 -1
  79. package/dist/index-66392fdc.js +0 -9
  80. package/dist/index.es-d60f6859.js +0 -9
  81. package/dist/lib-typedarrays-5ac4ff04.js +0 -1
  82. package/dist/rainbow-2c04e9df.js +0 -1
  83. package/dist/sha224-b20bdf3b.js +0 -1
  84. package/dist/v4-95658a31.js +0 -1
@@ -0,0 +1,2 @@
1
+ import{B as e,C as t,S as r,E as n,a as o,D as s,t as i}from"./index-6b5aff68.js";import"./index-a98e886d.js";import"@ethersproject/providers";import"zustand";import"@ethersproject/bytes";import"@ethersproject/properties";import"@ethersproject/address";import"@ethersproject/abstract-signer";import"buffer";import"@ethersproject/abstract-provider";import"@ethersproject/contracts";import"events";import"@ethersproject/constants";import"@ethersproject/transactions";import"./__tslib-cf28c574.js";function a(e,t){return r=e,Boolean("string"==typeof r?.prototype?.constructor?.name)?new e({message:t}):e({message:t});var r}class c extends Error{constructor(e){super(e.message),this.code="ERR_ASSERTION"}}function h(e,t="Assertion failed.",r=c){if(!e){if(t instanceof Error)throw t;throw a(r,t)}}
2
+ /*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function d(e){if(!Number.isSafeInteger(e))throw new Error(`Wrong integer: ${e}`)}function f(...e){const t=e=>e,r=(e,t)=>r=>e(t(r));return{encode:e.map((e=>e.encode)).reduceRight(r,t),decode:e.map((e=>e.decode)).reduce(r,t)}}function u(e){return{encode:t=>{if(!Array.isArray(t)||t.length&&"number"!=typeof t[0])throw new Error("alphabet.encode input should be an array of numbers");return t.map((t=>{if(d(t),t<0||t>=e.length)throw new Error(`Digit index outside alphabet: ${t} (alphabet: ${e.length})`);return e[t]}))},decode:t=>{if(!Array.isArray(t)||t.length&&"string"!=typeof t[0])throw new Error("alphabet.decode input should be array of strings");return t.map((t=>{if("string"!=typeof t)throw new Error(`alphabet.decode: not string element=${t}`);const r=e.indexOf(t);if(-1===r)throw new Error(`Unknown letter: "${t}". Allowed: ${e}`);return r}))}}}function p(e=""){if("string"!=typeof e)throw new Error("join separator should be string");return{encode:t=>{if(!Array.isArray(t)||t.length&&"string"!=typeof t[0])throw new Error("join.encode input should be array of strings");for(let e of t)if("string"!=typeof e)throw new Error(`join.encode: non-string input=${e}`);return t.join(e)},decode:t=>{if("string"!=typeof t)throw new Error("join.decode input should be string");return t.split(e)}}}function l(e,t="="){if(d(e),"string"!=typeof t)throw new Error("padding chr should be string");return{encode(r){if(!Array.isArray(r)||r.length&&"string"!=typeof r[0])throw new Error("padding.encode input should be array of strings");for(let e of r)if("string"!=typeof e)throw new Error(`padding.encode: non-string input=${e}`);for(;r.length*e%8;)r.push(t);return r},decode(r){if(!Array.isArray(r)||r.length&&"string"!=typeof r[0])throw new Error("padding.encode input should be array of strings");for(let e of r)if("string"!=typeof e)throw new Error(`padding.decode: non-string input=${e}`);let n=r.length;if(n*e%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;n>0&&r[n-1]===t;n--)if(!((n-1)*e%8))throw new Error("Invalid padding: string has too much padding");return r.slice(0,n)}}}function w(e){if("function"!=typeof e)throw new Error("normalize fn should be function");return{encode:e=>e,decode:t=>e(t)}}const y=(e,t)=>t?y(t,e%t):e,g=(e,t)=>e+(t-y(e,t));function m(e,t,r,n){if(!Array.isArray(e))throw new Error("convertRadix2: data should be array");if(t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(r<=0||r>32)throw new Error(`convertRadix2: wrong to=${r}`);if(g(t,r)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${r} carryBits=${g(t,r)}`);let o=0,s=0;const i=2**r-1,a=[];for(const n of e){if(d(n),n>=2**t)throw new Error(`convertRadix2: invalid data word=${n} from=${t}`);if(o=o<<t|n,s+t>32)throw new Error(`convertRadix2: carry overflow pos=${s} from=${t}`);for(s+=t;s>=r;s-=r)a.push((o>>s-r&i)>>>0);o&=2**s-1}if(o=o<<r-s&i,!n&&s>=t)throw new Error("Excess padding");if(!n&&o)throw new Error(`Non-zero padding: ${o}`);return n&&s>0&&a.push(o>>>0),a}function E(e,t=!1){if(d(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(g(8,e)>32||g(e,8)>32)throw new Error("radix2: carry overflow");return{encode:r=>{if(!((n=r)instanceof Uint8Array||null!=n&&"object"==typeof n&&"Uint8Array"===n.constructor.name))throw new Error("radix2.encode input should be Uint8Array");var n;return m(Array.from(r),8,e,!t)},decode:r=>{if(!Array.isArray(r)||r.length&&"number"!=typeof r[0])throw new Error("radix2.decode input should be array of numbers");return Uint8Array.from(m(r,e,8,t))}}}E(4),u("0123456789ABCDEF"),p(""),E(5),u("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),l(5),p(""),E(5),u("0123456789ABCDEFGHIJKLMNOPQRSTUV"),l(5),p(""),E(5),u("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),p(""),w((e=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")));const b=f(E(6),u("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),l(6),p(""));function x(e){h(function(e){return e instanceof Uint8Array}(e),"Value must be a Uint8Array.")}function A(e){return h("string"==typeof e,"Value must be a string."),b.decode(e)}E(6),u("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),l(6),p(""),E(6),u("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),p(""),u("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),p(""),E(4),u("0123456789abcdef"),p(""),w((e=>{if("string"!=typeof e||e.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()}));const _=[];for(let e=0;e<256;++e)_.push((e+256).toString(16).slice(1));let I;const S=new Uint8Array(16);var T={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function N(e,t,r){if(T.randomUUID&&!t&&!e)return T.randomUUID();const n=(e=e||{}).random??e.rng?.()??function(){if(!I){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");I=crypto.getRandomValues.bind(crypto)}return I(S)}();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){if((r=r||0)<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[r+e]=n[e];return t}return function(e,t=0){return(_[e[t+0]]+_[e[t+1]]+_[e[t+2]]+_[e[t+3]]+"-"+_[e[t+4]]+_[e[t+5]]+"-"+_[e[t+6]]+_[e[t+7]]+"-"+_[e[t+8]]+_[e[t+9]]+"-"+_[e[t+10]]+_[e[t+11]]+_[e[t+12]]+_[e[t+13]]+_[e[t+14]]+_[e[t+15]]).toLowerCase()}(n)}var D=6e4,v=class extends e{on(e,t){return super.on(e,t)}constructor(e){super(e.transport,e.keymanager,e.sessionstore)}async connect(e={}){if(this.state!==t.DISCONNECTED)throw new r(n.SESSION_INVALID_STATE,`Cannot connect when state is ${this.state}`);const{mode:s="untrusted",initialPayload:a}=e;if(!o(s))throw new r(n.SESSION_INVALID_STATE,`Invalid connection mode: "${String(s)}"`);this.state=t.CONNECTING;const{pendingSession:c,request:h}=this._createPendingSessionAndRequest(s,a);this.session=c,this.emit("session_request",h);const d=this,f={transport:this.transport,sessionstore:this.sessionstore,keymanager:this.keymanager,get session(){return d.session},set session(e){d.session=e},get state(){return d.state},set state(e){d.state=e},emit:this.emit.bind(this),once:this.once.bind(this),off:this.off.bind(this),sendMessage:this.sendMessage.bind(this)},u="trusted"===s?new class{context;constructor(e){this.context=e}async execute(e,t){await this.context.transport.connect(),await this.context.transport.subscribe(t.channel);const r=await this._waitForHandshakeOffer(t.expiresAt),n=this._createFinalSession(e,r);this.context.session=n,await this._finalizeConnection(n,t)}_waitForHandshakeOffer(e){return new Promise(((t,o)=>{if(e<Date.now())return o(new r(n.REQUEST_EXPIRED,"Session request expired before wallet could connect"));const s=e+D-Date.now(),i=setTimeout((()=>{this.context.off("handshake_offer_received",a),o(new r(n.REQUEST_EXPIRED,"Did not receive handshake offer from wallet in time."))}),s),a=e=>{clearTimeout(i),t(e)};this.context.once("handshake_offer_received",a)}))}_createFinalSession(e,t){const r=A(t.publicKeyB64);return this.context.keymanager.validatePeerKey(r),{...e,channel:`session:${t.channelId}`,theirPublicKey:r}}async _finalizeConnection(e,o){if(!this.context.session)throw new r(n.SESSION_INVALID_STATE);await this.context.sessionstore.set(this.context.session),await this.context.transport.subscribe(e.channel),await this.context.transport.clear(o.channel),this.context.state=t.CONNECTED,this.context.emit("connected")}}(f):new class{context;otpAttempts=3;timeoutId=null;constructor(e){this.context=e}async execute(e,t){await this.context.transport.connect(),await this.context.transport.subscribe(t.channel);const r=await this._waitForHandshakeOffer(t.expiresAt);await this._handleOtpInput(r);const n=this._createFinalSession(e,r);this.context.session=n,await this._acknowledgeHandshake(n),await this._finalizeConnection(t.channel)}_waitForHandshakeOffer(e){return new Promise(((t,o)=>{const s=e-Date.now();if(s<=0)return o(new r(n.REQUEST_EXPIRED,"Session request expired before wallet could connect."));this.timeoutId=setTimeout((()=>{this.context.off("handshake_offer_received",i),o(new r(n.REQUEST_EXPIRED,"Did not receive handshake offer from wallet in time."))}),s);const i=e=>{this.timeoutId&&clearTimeout(this.timeoutId),this.timeoutId=null,t(e)};this.context.once("handshake_offer_received",i)}))}_handleOtpInput(e){return new Promise(((t,o)=>{if(!e.deadline||!e.otp)return o(new r(n.UNKNOWN,"Handshake offer is missing OTP details for untrusted connection."));if(Date.now()>e.deadline)return o(new r(n.OTP_ENTRY_TIMEOUT,"The OTP has already expired."));const s=e.otp;let a=0;this.context.emit("otp_required",{submit:async e=>{if(i(e,s))t();else{if(a++,!(a>=this.otpAttempts))throw new r(n.OTP_INCORRECT,`Incorrect OTP. ${this.otpAttempts-a} attempts remaining.`);o(new r(n.OTP_MAX_ATTEMPTS_REACHED,"Maximum OTP attempts reached."))}},cancel:()=>o(new Error("User cancelled OTP entry.")),deadline:e.deadline})}))}_createFinalSession(e,t){const r=A(t.publicKeyB64);return this.context.keymanager.validatePeerKey(r),{...e,channel:`session:${t.channelId}`,theirPublicKey:r}}async _acknowledgeHandshake(e){await this.context.transport.subscribe(e.channel),await this.context.sendMessage(e.channel,{type:"handshake-ack"})}async _finalizeConnection(e){if(!this.context.session)throw new r(n.SESSION_INVALID_STATE);await this.context.sessionstore.set(this.context.session),await this.context.transport.clear(e),this.context.state=t.CONNECTED,this.context.emit("connected")}}(f);try{await u.execute(c,h)}catch(e){throw this.emit("error",e),await this.disconnect(),e}}async sendRequest(e){if(this.state!==t.CONNECTED||!this.session)throw new r(n.SESSION_INVALID_STATE,"Cannot send request: not connected.");await this.sendMessage(this.session.channel,{type:"message",payload:e})}handleMessage(e){this.state===t.CONNECTING&&"handshake-offer"===e.type?this.emit("handshake_offer_received",e.payload):this.state===t.CONNECTED&&"message"===e.type&&this.emit("message",e.payload)}_createPendingSessionAndRequest(e,t){const r=N(),n=this.keymanager.generateKeyPair(),o=t?{type:"message",payload:t}:void 0;var i;return{pendingSession:{id:r,channel:"",keyPair:n,theirPublicKey:new Uint8Array(0),expiresAt:Date.now()+s},request:{id:r,mode:e,channel:`handshake:${r}`,publicKeyB64:(i=n.publicKey,x(i),b.encode(i)),expiresAt:Date.now()+6e4,initialMessage:o}}}};export{v as DappClient};
@@ -1 +1 @@
1
- import{P as e,t,Q as r,R as s,S as n,T as o,D as a,V as i,A as c}from"./index-de489272.js";export{W as getIsCyber}from"./index-de489272.js";import{getAddress as d}from"@ethersproject/address";import"events";import{hexlify as p}from"@ethersproject/bytes";import{T as h}from"./typed-data-d46cb643.js";import{Signer as m}from"@ethersproject/abstract-signer";import{defineReadOnly as u}from"@ethersproject/properties";import"@ethersproject/providers";import"zustand";import"buffer";import"@ethersproject/abstract-provider";import"@ethersproject/contracts";import"@ethersproject/constants";import"@ethersproject/transactions";import"./id-6dc2a6aa.js";class w extends m{constructor(e,t,r,s){super(),this._address=t,this._index=r??0,this.provider=e,this.app=s}_legacySignMessage(e){throw new Error("Method not implemented.")}sendUncheckedTransaction(e){throw new Error("Method not implemented.")}unlock(e){throw new Error("Method not implemented.")}async getAddress(){return Promise.resolve(d(this._address))}async signMessage(r){const s=e(),n="string"==typeof r?t(r):r,o=await this.getAddress();return await s.send("personal_sign",[p(n),o.toLowerCase()])}async _signTypedData(t,s,n){const o=e(),a=await h.resolveNames(t,s,n,(async e=>await o.resolveName(e))),i=r()?.ownerAddress??"";return await o.send("eth_signTypedData_v4",[i.toLowerCase(),JSON.stringify(h.getPayload(a.domain,s,a.value))])}async signTransaction(e){throw new Error("Method not implemented.")}async sendTransaction(e){const t=await this.getChainId(),r=s(this.app,t);return{hash:await r.sendTransaction({to:e.to,value:e.value,data:e.data}).catch((e=>{if(e.name===n.SendTransactionError&&(console.error(e.shortMessage),e.shortMessage))throw new Error(e.shortMessage);throw e}))}}connect(e){return new w(e??this.provider,this._address,this._index,this.app)}connectUnchecked(){return new w(this.provider,this._address,this._index,this.app)}}async function g(e,t){const r=await async function({appName:e,appLogoUrl:t,rpcUrl:r,rpc:s,chainId:n,cyberParams:c,JsonRpcProvider:p=a}){if(!e||!t)throw new Error("appName and appLogoUrl is required.");if(!c?.appId)throw new Error("cyberParams.appId and appLogoUrl is required.");const{app:h,cyberAccount:m}=await o({appName:e,appLogoUrl:t,appId:c?.appId});if(!m)throw new Error("cyberAccount is not valid.");const g=m.address,l=new class extends p{constructor(e,t){super(e,t),this.updateUpWalletConfig=e=>{const t=s?.[e];if(!i.includes(e))throw new Error(`chainId ${e} not supported`);if("object"==typeof this.network)this.network.chainId=e;else{const t={chainId:e,name:"unknown"};u(this,"_network",t),this.emit("network",t,null)}return this.rpcUrl=t,this.emit("chainChanged",`0x${e.toString(16)}`),{result:!0}}}getSigner(){return new w(l,g,0,h)}async listAccounts(){return[g]}getAddress(){return Promise.resolve(d(g))}}(r,n);return l}(e);return r.on("connect",t.connect),r.on("disconnect",t.disconnect),r.on("accountsChanged",t.accountsChanged),r.on("chainChanged",t.chainChanged),r.on("message",t.message),r}function l(e){const t=e.addChainParameters.chainId,r="string"==typeof t&&t?.startsWith("0x")?parseInt(t,16):Number(t);if(!i.includes(r))throw new Error(`chainId ${r} not supported`);return c.getState().provider?.updateUpWalletConfig(r)}export{g as default,l as switchChain};
1
+ import{P as e,t,Q as r,R as s,S as n,T as o,D as a,V as i,A as c}from"./index-a98e886d.js";export{W as getIsCyber}from"./index-a98e886d.js";import{getAddress as d}from"@ethersproject/address";import"events";import{hexlify as p}from"@ethersproject/bytes";import{T as h}from"./typed-data-7ba4540a.js";import{Signer as m}from"@ethersproject/abstract-signer";import{defineReadOnly as u}from"@ethersproject/properties";import"@ethersproject/providers";import"zustand";import"buffer";import"@ethersproject/abstract-provider";import"@ethersproject/contracts";import"@ethersproject/constants";import"@ethersproject/transactions";import"./id-d72ad2e3.js";class w extends m{constructor(e,t,r,s){super(),this._address=t,this._index=r??0,this.provider=e,this.app=s}_legacySignMessage(e){throw new Error("Method not implemented.")}sendUncheckedTransaction(e){throw new Error("Method not implemented.")}unlock(e){throw new Error("Method not implemented.")}async getAddress(){return Promise.resolve(d(this._address))}async signMessage(r){const s=e(),n="string"==typeof r?t(r):r,o=await this.getAddress();return await s.send("personal_sign",[p(n),o.toLowerCase()])}async _signTypedData(t,s,n){const o=e(),a=await h.resolveNames(t,s,n,(async e=>await o.resolveName(e))),i=r()?.ownerAddress??"";return await o.send("eth_signTypedData_v4",[i.toLowerCase(),JSON.stringify(h.getPayload(a.domain,s,a.value))])}async signTransaction(e){throw new Error("Method not implemented.")}async sendTransaction(e){const t=await this.getChainId(),r=s(this.app,t);return{hash:await r.sendTransaction({to:e.to,value:e.value,data:e.data}).catch((e=>{if(e.name===n.SendTransactionError&&(console.error(e.shortMessage),e.shortMessage))throw new Error(e.shortMessage);throw e}))}}connect(e){return new w(e??this.provider,this._address,this._index,this.app)}connectUnchecked(){return new w(this.provider,this._address,this._index,this.app)}}async function g(e,t){const r=await async function({appName:e,appLogoUrl:t,rpcUrl:r,rpc:s,chainId:n,cyberParams:c,JsonRpcProvider:p=a}){if(!e||!t)throw new Error("appName and appLogoUrl is required.");if(!c?.appId)throw new Error("cyberParams.appId and appLogoUrl is required.");const{app:h,cyberAccount:m}=await o({appName:e,appLogoUrl:t,appId:c?.appId});if(!m)throw new Error("cyberAccount is not valid.");const g=m.address,l=new class extends p{constructor(e,t){super(e,t),this.updateUpWalletConfig=e=>{const t=s?.[e];if(!i.includes(e))throw new Error(`chainId ${e} not supported`);if("object"==typeof this.network)this.network.chainId=e;else{const t={chainId:e,name:"unknown"};u(this,"_network",t),this.emit("network",t,null)}return this.rpcUrl=t,this.emit("chainChanged",`0x${e.toString(16)}`),{result:!0}}}getSigner(){return new w(l,g,0,h)}async listAccounts(){return[g]}getAddress(){return Promise.resolve(d(g))}}(r,n);return l}(e);return r.on("connect",t.connect),r.on("disconnect",t.disconnect),r.on("accountsChanged",t.accountsChanged),r.on("chainChanged",t.chainChanged),r.on("message",t.message),r}function l(e){const t=e.addChainParameters.chainId,r="string"==typeof t&&t?.startsWith("0x")?parseInt(t,16):Number(t);if(!i.includes(r))throw new Error(`chainId ${r} not supported`);return c.getState().provider?.updateUpWalletConfig(r)}export{g as default,l as switchChain};