@rango-dev/provider-safe 0.29.0 → 0.29.1-next.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # [0.29.0](https://github.com/rango-exchange/rango-client/compare/provider-safe@0.28.1...provider-safe@0.29.0) (2024-08-11)
2
+
3
+
4
+
1
5
  ## [0.28.1](https://github.com/rango-exchange/rango-client/compare/provider-safe@0.28.0...provider-safe@0.28.1) (2024-07-14)
2
6
 
3
7
 
@@ -1,6 +1,6 @@
1
1
  import type { TransactionResponse } from '@ethersproject/abstract-provider';
2
2
  import type { GenericSigner } from 'rango-types';
3
- import type { EvmTransaction } from 'rango-types/lib/api/main';
3
+ import type { EvmTransaction } from 'rango-types/mainApi';
4
4
  export declare class CustomEvmSigner implements GenericSigner<EvmTransaction> {
5
5
  private signer;
6
6
  constructor(provider: any);
@@ -17,4 +17,3 @@ export declare class CustomEvmSigner implements GenericSigner<EvmTransaction> {
17
17
  chainId: string;
18
18
  }>;
19
19
  }
20
- //# sourceMappingURL=evm-signer.d.ts.map
package/dist/helpers.d.ts CHANGED
@@ -4,4 +4,3 @@ export declare function getSafeInstance(): Promise<any>;
4
4
  export declare function getTxHash(safeHash: string): Promise<{
5
5
  txHash: string;
6
6
  }>;
7
- //# sourceMappingURL=helpers.d.ts.map
package/dist/index.d.ts CHANGED
@@ -13,4 +13,3 @@ export declare const canSwitchNetworkTo: CanSwitchNetwork;
13
13
  export declare const getSigners: (provider: any) => SignerFactory;
14
14
  export declare const canEagerConnect: CanEagerConnect;
15
15
  export declare const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo;
16
- //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- var y=Object.defineProperty;var s=(e,t)=>y(e,"name",{value:t,configurable:!0});import{canEagerlyConnectToEvm as v,canSwitchNetworkToEvm as C,subscribeToEvm as b,switchNetworkForEvm as A,WalletTypes as N}from"@rango-dev/wallets-shared";import{evmBlockchains as M,isEvmBlockchain as F}from"rango-types";import{waitMs as x}from"@rango-dev/signer-evm";import{SafeAppProvider as T}from"@safe-global/safe-apps-provider";import i,{TransactionStatus as f}from"@safe-global/safe-apps-sdk";var d={debug:!1},u=i;typeof i!="function"&&typeof i.default=="function"&&(u=i.default);var a=new u(d);async function l(){let t=await Promise.race([a.safe.getInfo(),new Promise(n=>setTimeout(n,200))]);return t?new T(t,a):null}s(l,"getSafeInstance");async function h(e){let t;for(;!t;)try{let o=await a.txs.getBySafeTxHash(e);o.txStatus===f.AWAITING_CONFIRMATIONS||o.txStatus===f.AWAITING_EXECUTION?await x(5e3):o.txHash&&(t=o.txHash)}catch{t=e}return{txHash:t}}s(h,"getTxHash");import{DefaultSignerFactory as k,TransactionType as E}from"rango-types";import{DefaultEvmSigner as I}from"@rango-dev/signer-evm";var c=class{static{s(this,"CustomEvmSigner")}constructor(t){this.signer=new I(t)}async signMessage(t){let{signature:n}=await a.txs.signMessage(t);return n}async signAndSendTx(t,n,o){let{hash:r,response:p}=await this.signer.signAndSendTx(t,n,o);return{hash:r,response:{...p,hashRequiringUpdate:!0}}}async wait(t,n,o){let{txHash:r}=await h(t);return{hash:r,response:o,chainId:n}}};function g(e){let t=new k;return t.registerSigner(E.EVM,new c(e)),t}s(g,"getSigners");var R=N.SAFE,Z={type:R,isAsyncInstance:!0},$=s(async()=>await l(),"getInstance"),tt=s(async({instance:e})=>{let t=await e.request({method:"eth_accounts"}),{chainId:n}=e;return{accounts:t,chainId:n}},"connect"),et=s(({instance:e,state:t,updateChainId:n,updateAccounts:o,meta:r,connect:p,disconnect:S})=>{let w=r.filter(F),m=b({instance:e,state:t,updateChainId:n,updateAccounts:o,meta:w,connect:p,disconnect:S});return()=>{m&&m()}},"subscribe"),nt=A,st=C,ot=g,rt=v,at=s(e=>{let t=M(e);return{name:"Safe",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/safe/icon.svg",installLink:{DEFAULT:"https://app.safe.global/"},color:"#ffffff",supportedChains:t,isContractWallet:!0}},"getWalletInfo");export{rt as canEagerConnect,st as canSwitchNetworkTo,Z as config,tt as connect,$ as getInstance,ot as getSigners,at as getWalletInfo,et as subscribe,nt as switchNetwork};
1
+ var w=Object.defineProperty;var s=(e,t)=>w(e,"name",{value:t,configurable:!0});import{canEagerlyConnectToEvm as v,canSwitchNetworkToEvm as C,subscribeToEvm as A,switchNetworkForEvm as b,WalletTypes as N}from"@rango-dev/wallets-shared";import{evmBlockchains as M,isEvmBlockchain as F}from"rango-types";import{waitMs as x}from"@rango-dev/signer-evm";import{SafeAppProvider as T}from"@safe-global/safe-apps-provider";import i,{TransactionStatus as f}from"@safe-global/safe-apps-sdk";var d={debug:!1},u=i;typeof i!="function"&&typeof i.default=="function"&&(u=i.default);var a=new u(d);async function h(){let t=await Promise.race([a.safe.getInfo(),new Promise(n=>setTimeout(n,200))]);return t?new T(t,a):null}s(h,"getSafeInstance");async function l(e){let t;for(;!t;)try{let o=await a.txs.getBySafeTxHash(e);o.txStatus===f.AWAITING_CONFIRMATIONS||o.txStatus===f.AWAITING_EXECUTION?await x(5e3):o.txHash&&(t=o.txHash)}catch{t=e}return{txHash:t}}s(l,"getTxHash");import{DefaultSignerFactory as k,TransactionType as E}from"rango-types";import{DefaultEvmSigner as I}from"@rango-dev/signer-evm";var c=class{static{s(this,"CustomEvmSigner")}signer;constructor(t){this.signer=new I(t)}async signMessage(t){let{signature:n}=await a.txs.signMessage(t);return n}async signAndSendTx(t,n,o){let{hash:r,response:p}=await this.signer.signAndSendTx(t,n,o);return{hash:r,response:{...p,hashRequiringUpdate:!0}}}async wait(t,n,o){let{txHash:r}=await l(t);return{hash:r,response:o,chainId:n}}};function g(e){let t=new k;return t.registerSigner(E.EVM,new c(e)),t}s(g,"getSigners");var R=N.SAFE,Y={type:R,isAsyncInstance:!0},Z=s(async()=>await h(),"getInstance"),$=s(async({instance:e})=>{let t=await e.request({method:"eth_accounts"}),{chainId:n}=e;return{accounts:t,chainId:n}},"connect"),tt=s(({instance:e,state:t,updateChainId:n,updateAccounts:o,meta:r,connect:p,disconnect:y})=>{let S=r.filter(F),m=A({instance:e,state:t,updateChainId:n,updateAccounts:o,meta:S,connect:p,disconnect:y});return()=>{m&&m()}},"subscribe"),et=b,nt=C,st=g,ot=v,rt=s(e=>{let t=M(e);return{name:"Safe",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/safe/icon.svg",installLink:{DEFAULT:"https://app.safe.global/"},color:"#ffffff",supportedChains:t,isContractWallet:!0}},"getWalletInfo");export{ot as canEagerConnect,nt as canSwitchNetworkTo,Y as config,$ as connect,Z as getInstance,st as getSigners,rt as getWalletInfo,tt as subscribe,et as switchNetwork};
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/helpers.ts", "../src/signer.ts", "../src/evm-signer.ts"],
4
- "sourcesContent": ["import type {\n CanEagerConnect,\n CanSwitchNetwork,\n Connect,\n GetInstance,\n Subscribe,\n SwitchNetwork,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport type { BlockchainMeta, SignerFactory } from 'rango-types';\n\nimport {\n canEagerlyConnectToEvm,\n canSwitchNetworkToEvm,\n subscribeToEvm,\n switchNetworkForEvm,\n WalletTypes,\n} from '@rango-dev/wallets-shared';\nimport { evmBlockchains, isEvmBlockchain } from 'rango-types';\n\nimport { getSafeInstance } from './helpers';\nimport signer from './signer';\n\nconst WALLET = WalletTypes.SAFE;\n\nexport const config = {\n type: WALLET,\n isAsyncInstance: true,\n};\n\nexport const getInstance: GetInstance = async () => {\n return await getSafeInstance();\n};\n\nexport const connect: Connect = async ({ instance }) => {\n const accounts = await instance.request({\n method: 'eth_accounts',\n });\n\n const { chainId } = instance;\n\n return { accounts, chainId };\n};\n\nexport const subscribe: Subscribe = ({\n instance,\n state,\n updateChainId,\n updateAccounts,\n meta,\n connect,\n disconnect,\n}) => {\n const evmBlockchainMeta = meta.filter(isEvmBlockchain);\n\n const cleanup = subscribeToEvm({\n instance,\n state,\n updateChainId,\n updateAccounts,\n meta: evmBlockchainMeta,\n connect,\n disconnect,\n });\n return () => {\n if (cleanup) {\n cleanup();\n }\n };\n};\n\nexport const switchNetwork: SwitchNetwork = switchNetworkForEvm;\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;\n\nexport const getSigners: (provider: any) => SignerFactory = signer;\n\nexport const canEagerConnect: CanEagerConnect = canEagerlyConnectToEvm;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const evms = evmBlockchains(allBlockChains);\n return {\n name: 'Safe',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/safe/icon.svg',\n installLink: {\n DEFAULT: 'https://app.safe.global/',\n },\n color: '#ffffff',\n supportedChains: evms,\n isContractWallet: true,\n };\n};\n", "import { waitMs } from '@rango-dev/signer-evm';\nimport { SafeAppProvider } from '@safe-global/safe-apps-provider';\nimport SafeAppsSDK, { TransactionStatus } from '@safe-global/safe-apps-sdk';\n\nconst options = {\n debug: false,\n};\n\n/*\n * similar to:\n * https://github.com/wagmi-dev/references/pull/114\n */\nlet SDK = SafeAppsSDK;\nif (\n typeof SafeAppsSDK !== 'function' &&\n // @ts-expect-error This import error is not visible to TypeScript\n typeof SafeAppsSDK.default === 'function'\n) {\n SDK = (SafeAppsSDK as unknown as { default: typeof SafeAppsSDK }).default;\n}\nexport const sdk = new SDK(options);\n\nexport async function getSafeInstance(): Promise<any> {\n const timeout = 200;\n const accountInfo = await Promise.race([\n sdk.safe.getInfo(),\n new Promise<undefined>((resolve) => setTimeout(resolve, timeout)),\n ]);\n return accountInfo ? new SafeAppProvider(accountInfo, sdk as any) : null;\n}\n\nexport async function getTxHash(safeHash: string): Promise<{ txHash: string }> {\n let txHash;\n const timeout = 5_000;\n\n while (!txHash) {\n try {\n /** The SDK will be pinged until a txHash is available and the txStatus is in an end-state */\n const queued = await sdk.txs.getBySafeTxHash(safeHash);\n if (\n queued.txStatus === TransactionStatus.AWAITING_CONFIRMATIONS ||\n queued.txStatus === TransactionStatus.AWAITING_EXECUTION\n ) {\n /** Mimic a status watcher by checking once every 5 seconds */\n await waitMs(timeout);\n } else if (queued.txHash) {\n /** The txStatus is in an end-state (e.g. success) so we probably have a valid, on chain txHash*/\n txHash = queued.txHash;\n }\n } catch {\n txHash = safeHash;\n }\n }\n return { txHash };\n}\n", "import {\n DefaultSignerFactory,\n SignerFactory,\n TransactionType as TxType,\n} from 'rango-types';\nimport { CustomEvmSigner } from './evm-signer';\n\nexport default function getSigners(provider: any): SignerFactory {\n const signers = new DefaultSignerFactory();\n signers.registerSigner(TxType.EVM, new CustomEvmSigner(provider));\n\n return signers;\n}\n", "import type { TransactionResponse } from '@ethersproject/abstract-provider';\nimport type { OffChainSignMessageResponse } from '@safe-global/safe-apps-sdk';\nimport type { GenericSigner } from 'rango-types';\nimport type { EvmTransaction } from 'rango-types/lib/api/main';\n\nimport { DefaultEvmSigner } from '@rango-dev/signer-evm';\n\nimport { getTxHash, sdk } from './helpers';\n\nexport class CustomEvmSigner implements GenericSigner<EvmTransaction> {\n private signer;\n\n constructor(provider: any) {\n this.signer = new DefaultEvmSigner(provider);\n }\n\n async signMessage(msg: string): Promise<string> {\n const { signature } = (await sdk.txs.signMessage(\n msg\n )) as OffChainSignMessageResponse & { signature: string };\n\n return signature;\n }\n\n async signAndSendTx(\n tx: EvmTransaction,\n address: string,\n chainId: string | null\n ): Promise<{\n hash: string;\n response: TransactionResponse & { hashRequiringUpdate: boolean };\n }> {\n const { hash, response } = await this.signer.signAndSendTx(\n tx,\n address,\n chainId\n );\n return {\n hash,\n response: { ...response, hashRequiringUpdate: true },\n };\n }\n\n async wait(\n safeHash: string,\n chainId: string,\n response: TransactionResponse\n ): Promise<{\n hash: string;\n response: TransactionResponse;\n chainId: string;\n }> {\n const { txHash: hash } = await getTxHash(safeHash);\n return {\n hash,\n response,\n chainId,\n };\n }\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import type {\n CanEagerConnect,\n CanSwitchNetwork,\n Connect,\n GetInstance,\n Subscribe,\n SwitchNetwork,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport type { BlockchainMeta, SignerFactory } from 'rango-types';\n\nimport {\n canEagerlyConnectToEvm,\n canSwitchNetworkToEvm,\n subscribeToEvm,\n switchNetworkForEvm,\n WalletTypes,\n} from '@rango-dev/wallets-shared';\nimport { evmBlockchains, isEvmBlockchain } from 'rango-types';\n\nimport { getSafeInstance } from './helpers.js';\nimport signer from './signer.js';\n\nconst WALLET = WalletTypes.SAFE;\n\nexport const config = {\n type: WALLET,\n isAsyncInstance: true,\n};\n\nexport const getInstance: GetInstance = async () => {\n return await getSafeInstance();\n};\n\nexport const connect: Connect = async ({ instance }) => {\n const accounts = await instance.request({\n method: 'eth_accounts',\n });\n\n const { chainId } = instance;\n\n return { accounts, chainId };\n};\n\nexport const subscribe: Subscribe = ({\n instance,\n state,\n updateChainId,\n updateAccounts,\n meta,\n connect,\n disconnect,\n}) => {\n const evmBlockchainMeta = meta.filter(isEvmBlockchain);\n\n const cleanup = subscribeToEvm({\n instance,\n state,\n updateChainId,\n updateAccounts,\n meta: evmBlockchainMeta,\n connect,\n disconnect,\n });\n return () => {\n if (cleanup) {\n cleanup();\n }\n };\n};\n\nexport const switchNetwork: SwitchNetwork = switchNetworkForEvm;\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;\n\nexport const getSigners: (provider: any) => SignerFactory = signer;\n\nexport const canEagerConnect: CanEagerConnect = canEagerlyConnectToEvm;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const evms = evmBlockchains(allBlockChains);\n return {\n name: 'Safe',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/safe/icon.svg',\n installLink: {\n DEFAULT: 'https://app.safe.global/',\n },\n color: '#ffffff',\n supportedChains: evms,\n isContractWallet: true,\n };\n};\n", "import { waitMs } from '@rango-dev/signer-evm';\nimport { SafeAppProvider } from '@safe-global/safe-apps-provider';\nimport SafeAppsSDK, { TransactionStatus } from '@safe-global/safe-apps-sdk';\n\nconst options = {\n debug: false,\n};\n\n/*\n * similar to:\n * https://github.com/wagmi-dev/references/pull/114\n */\nlet SDK = SafeAppsSDK;\nif (\n typeof SafeAppsSDK !== 'function' &&\n // @ts-expect-error This import error is not visible to TypeScript\n typeof SafeAppsSDK.default === 'function'\n) {\n SDK = (SafeAppsSDK as unknown as { default: typeof SafeAppsSDK }).default;\n}\nexport const sdk = new SDK(options);\n\nexport async function getSafeInstance(): Promise<any> {\n const timeout = 200;\n const accountInfo = await Promise.race([\n sdk.safe.getInfo(),\n new Promise<undefined>((resolve) => setTimeout(resolve, timeout)),\n ]);\n return accountInfo ? new SafeAppProvider(accountInfo, sdk as any) : null;\n}\n\nexport async function getTxHash(safeHash: string): Promise<{ txHash: string }> {\n let txHash;\n const timeout = 5_000;\n\n while (!txHash) {\n try {\n /** The SDK will be pinged until a txHash is available and the txStatus is in an end-state */\n const queued = await sdk.txs.getBySafeTxHash(safeHash);\n if (\n queued.txStatus === TransactionStatus.AWAITING_CONFIRMATIONS ||\n queued.txStatus === TransactionStatus.AWAITING_EXECUTION\n ) {\n /** Mimic a status watcher by checking once every 5 seconds */\n await waitMs(timeout);\n } else if (queued.txHash) {\n /** The txStatus is in an end-state (e.g. success) so we probably have a valid, on chain txHash*/\n txHash = queued.txHash;\n }\n } catch {\n txHash = safeHash;\n }\n }\n return { txHash };\n}\n", "import type { SignerFactory } from 'rango-types';\n\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nimport { CustomEvmSigner } from './evm-signer.js';\n\nexport default function getSigners(provider: any): SignerFactory {\n const signers = new DefaultSignerFactory();\n signers.registerSigner(TxType.EVM, new CustomEvmSigner(provider));\n\n return signers;\n}\n", "import type { TransactionResponse } from '@ethersproject/abstract-provider';\nimport type { OffChainSignMessageResponse } from '@safe-global/safe-apps-sdk';\nimport type { GenericSigner } from 'rango-types';\nimport type { EvmTransaction } from 'rango-types/mainApi';\n\nimport { DefaultEvmSigner } from '@rango-dev/signer-evm';\n\nimport { getTxHash, sdk } from './helpers.js';\n\nexport class CustomEvmSigner implements GenericSigner<EvmTransaction> {\n private signer;\n\n constructor(provider: any) {\n this.signer = new DefaultEvmSigner(provider);\n }\n\n async signMessage(msg: string): Promise<string> {\n const { signature } = (await sdk.txs.signMessage(\n msg\n )) as OffChainSignMessageResponse & { signature: string };\n\n return signature;\n }\n\n async signAndSendTx(\n tx: EvmTransaction,\n address: string,\n chainId: string | null\n ): Promise<{\n hash: string;\n response: TransactionResponse & { hashRequiringUpdate: boolean };\n }> {\n const { hash, response } = await this.signer.signAndSendTx(\n tx,\n address,\n chainId\n );\n return {\n hash,\n response: { ...response, hashRequiringUpdate: true },\n };\n }\n\n async wait(\n safeHash: string,\n chainId: string,\n response: TransactionResponse\n ): Promise<{\n hash: string;\n response: TransactionResponse;\n chainId: string;\n }> {\n const { txHash: hash } = await getTxHash(safeHash);\n return {\n hash,\n response,\n chainId,\n };\n }\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["canEagerlyConnectToEvm", "canSwitchNetworkToEvm", "subscribeToEvm", "switchNetworkForEvm", "WalletTypes", "evmBlockchains", "isEvmBlockchain", "waitMs", "SafeAppProvider", "SafeAppsSDK", "TransactionStatus", "options", "SDK", "SafeAppsSDK", "sdk", "getSafeInstance", "accountInfo", "resolve", "SafeAppProvider", "__name", "getTxHash", "safeHash", "txHash", "queued", "TransactionStatus", "waitMs", "DefaultSignerFactory", "TxType", "DefaultEvmSigner", "CustomEvmSigner", "__name", "provider", "DefaultEvmSigner", "msg", "signature", "sdk", "tx", "address", "chainId", "hash", "response", "safeHash", "getTxHash", "getSigners", "provider", "signers", "DefaultSignerFactory", "TxType", "CustomEvmSigner", "__name", "WALLET", "WalletTypes", "config", "getInstance", "__name", "getSafeInstance", "connect", "instance", "accounts", "chainId", "subscribe", "state", "updateChainId", "updateAccounts", "meta", "disconnect", "evmBlockchainMeta", "isEvmBlockchain", "cleanup", "subscribeToEvm", "switchNetwork", "switchNetworkForEvm", "canSwitchNetworkTo", "canSwitchNetworkToEvm", "getSigners", "canEagerConnect", "canEagerlyConnectToEvm", "getWalletInfo", "allBlockChains", "evms", "evmBlockchains"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"src/helpers.ts":{"bytes":1733,"imports":[{"path":"@rango-dev/signer-evm","kind":"import-statement","external":true},{"path":"@safe-global/safe-apps-provider","kind":"import-statement","external":true},{"path":"@safe-global/safe-apps-sdk","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/evm-signer.ts":{"bytes":1483,"imports":[{"path":"@rango-dev/signer-evm","kind":"import-statement","external":true},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/signer.ts":{"bytes":353,"imports":[{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/evm-signer.ts","kind":"import-statement","original":"./evm-signer"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":2060,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers"},{"path":"src/signer.ts","kind":"import-statement","original":"./signer"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":9568},"dist/index.js":{"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"import-statement","external":true},{"path":"@safe-global/safe-apps-provider","kind":"import-statement","external":true},{"path":"@safe-global/safe-apps-sdk","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"import-statement","external":true}],"exports":["canEagerConnect","canSwitchNetworkTo","config","connect","getInstance","getSigners","getWalletInfo","subscribe","switchNetwork"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":935},"src/helpers.ts":{"bytesInOutput":656},"src/signer.ts":{"bytesInOutput":158},"src/evm-signer.ts":{"bytesInOutput":436}},"bytes":2470}}}
1
+ {"inputs":{"src/helpers.ts":{"bytes":1733,"imports":[{"path":"@rango-dev/signer-evm","kind":"import-statement","external":true},{"path":"@safe-global/safe-apps-provider","kind":"import-statement","external":true},{"path":"@safe-global/safe-apps-sdk","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/evm-signer.ts":{"bytes":1481,"imports":[{"path":"@rango-dev/signer-evm","kind":"import-statement","external":true},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/signer.ts":{"bytes":386,"imports":[{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/evm-signer.ts","kind":"import-statement","original":"./evm-signer.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/index.ts":{"bytes":2066,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/signer.ts","kind":"import-statement","original":"./signer.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":9611},"dist/index.js":{"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"import-statement","external":true},{"path":"@safe-global/safe-apps-provider","kind":"import-statement","external":true},{"path":"@safe-global/safe-apps-sdk","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"import-statement","external":true}],"exports":["canEagerConnect","canSwitchNetworkTo","config","connect","getInstance","getSigners","getWalletInfo","subscribe","switchNetwork"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":934},"src/helpers.ts":{"bytesInOutput":656},"src/signer.ts":{"bytesInOutput":158},"src/evm-signer.ts":{"bytesInOutput":443}},"bytes":2475}}}
package/dist/signer.d.ts CHANGED
@@ -1,3 +1,2 @@
1
- import { SignerFactory } from 'rango-types';
1
+ import type { SignerFactory } from 'rango-types';
2
2
  export default function getSigners(provider: any): SignerFactory;
3
- //# sourceMappingURL=signer.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/provider-safe",
3
- "version": "0.29.0",
3
+ "version": "0.29.1-next.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "source": "./src/index.ts",
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@ethersproject/abstract-provider": "^5.7.0",
25
- "@rango-dev/signer-evm": "^0.29.0",
25
+ "@rango-dev/signer-evm": "^0.29.1-next.0",
26
26
  "@rango-dev/wallets-shared": "^0.36.0",
27
27
  "@safe-global/safe-apps-provider": "^0.17.0",
28
28
  "@safe-global/safe-apps-sdk": "^7.11.0",
package/src/evm-signer.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import type { TransactionResponse } from '@ethersproject/abstract-provider';
2
2
  import type { OffChainSignMessageResponse } from '@safe-global/safe-apps-sdk';
3
3
  import type { GenericSigner } from 'rango-types';
4
- import type { EvmTransaction } from 'rango-types/lib/api/main';
4
+ import type { EvmTransaction } from 'rango-types/mainApi';
5
5
 
6
6
  import { DefaultEvmSigner } from '@rango-dev/signer-evm';
7
7
 
8
- import { getTxHash, sdk } from './helpers';
8
+ import { getTxHash, sdk } from './helpers.js';
9
9
 
10
10
  export class CustomEvmSigner implements GenericSigner<EvmTransaction> {
11
11
  private signer;
package/src/index.ts CHANGED
@@ -18,8 +18,8 @@ import {
18
18
  } from '@rango-dev/wallets-shared';
19
19
  import { evmBlockchains, isEvmBlockchain } from 'rango-types';
20
20
 
21
- import { getSafeInstance } from './helpers';
22
- import signer from './signer';
21
+ import { getSafeInstance } from './helpers.js';
22
+ import signer from './signer.js';
23
23
 
24
24
  const WALLET = WalletTypes.SAFE;
25
25
 
package/src/signer.ts CHANGED
@@ -1,9 +1,8 @@
1
- import {
2
- DefaultSignerFactory,
3
- SignerFactory,
4
- TransactionType as TxType,
5
- } from 'rango-types';
6
- import { CustomEvmSigner } from './evm-signer';
1
+ import type { SignerFactory } from 'rango-types';
2
+
3
+ import { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';
4
+
5
+ import { CustomEvmSigner } from './evm-signer.js';
7
6
 
8
7
  export default function getSigners(provider: any): SignerFactory {
9
8
  const signers = new DefaultSignerFactory();
@@ -1 +0,0 @@
1
- {"version":3,"file":"evm-signer.d.ts","sourceRoot":"","sources":["../src/evm-signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAM/D,qBAAa,eAAgB,YAAW,aAAa,CAAC,cAAc,CAAC;IACnE,OAAO,CAAC,MAAM,CAAC;gBAEH,QAAQ,EAAE,GAAG;IAInB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQzC,aAAa,CACjB,EAAE,EAAE,cAAc,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,GAAG,IAAI,GACrB,OAAO,CAAC;QACT,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,mBAAmB,GAAG;YAAE,mBAAmB,EAAE,OAAO,CAAA;SAAE,CAAC;KAClE,CAAC;IAYI,IAAI,CACR,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,mBAAmB,GAC5B,OAAO,CAAC;QACT,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,mBAAmB,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CAQH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAEA,OAAO,WAAkC,MAAM,4BAA4B,CAAC;AAkB5E,eAAO,MAAM,GAAG,aAAmB,CAAC;AAEpC,wBAAsB,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,CAOpD;AAED,wBAAsB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAuB7E"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,WAAW,EACX,SAAS,EACT,aAAa,EACb,UAAU,EACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAKL,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAQnC,eAAO,MAAM,MAAM;;;CAGlB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,WAEzB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,OAQrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAyBvB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aAAmC,CAAC;AAEhE,eAAO,MAAM,kBAAkB,EAAE,gBAAwC,CAAC;AAE1E,eAAO,MAAM,UAAU,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,aAAsB,CAAC;AAEnE,eAAO,MAAM,eAAe,EAAE,eAAwC,CAAC;AAEvE,eAAO,MAAM,aAAa,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,UAcjE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAEd,MAAM,aAAa,CAAC;AAGrB,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,QAAQ,EAAE,GAAG,GAAG,aAAa,CAK/D"}