@avalabs/svm-module 0.0.0 → 1.1.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/dist/index.cjs CHANGED
@@ -4,7 +4,7 @@ var vmModuleTypes = require('@avalabs/vm-module-types');
4
4
  require('@solana/rpc');
5
5
  var rpcErrors = require('@metamask/rpc-errors');
6
6
 
7
- var m=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var a=(r,e,t)=>(m(r,e,"read from private field"),t?t.call(r):e.get(r)),i=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t);},c=(r,e,t,p)=>(m(r,e,"write to private field"),p?p.call(r,t):e.set(r,t),t);var l={name:"SVM",description:"",version:"0.0.1",sources:{module:{checksum:"",location:{npm:{filePath:"dist/index.js",packageName:"@avalabs/svm-module",registry:"https://registry.npmjs.org"}}}},network:{chainIds:["solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1","solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"],namespaces:["solana"]},cointype:"501",permissions:{rpc:{dapps:!0,methods:["getGenesisHash"]}},manifestVersion:"0.0"};var f={proxyApiUrl:"https://proxy-api.avax.network"},g={proxyApiUrl:"https://proxy-api-dev.avax.network"},u=r=>{switch(r){case vmModuleTypes.Environment.PRODUCTION:return f;case vmModuleTypes.Environment.DEV:return g}};var o,s,n,d=class{constructor({approvalController:e,environment:t,appInfo:p}){i(this,o,void 0);i(this,s,void 0);i(this,n,void 0);let{proxyApiUrl:y}=u(t);c(this,n,p),c(this,o,y),c(this,s,e),a(this,o),a(this,s),a(this,n);}getProvider(){return Promise.resolve({})}getAddress(){return Promise.resolve({})}getBalances(){return Promise.resolve({})}getManifest(){let e=vmModuleTypes.parseManifest(l);return e.success?e.data:void 0}getNetworkFee(){return Promise.resolve({})}getTransactionHistory(){return Promise.resolve({transactions:[]})}getTokens(){return Promise.resolve([])}async onRpcRequest(e){return {error:rpcErrors.rpcErrors.methodNotSupported(`Method ${e.method} not supported`)}}};o=new WeakMap,s=new WeakMap,n=new WeakMap;
7
+ var m=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var a=(r,e,t)=>(m(r,e,"read from private field"),t?t.call(r):e.get(r)),i=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t);},c=(r,e,t,p)=>(m(r,e,"write to private field"),p?p.call(r,t):e.set(r,t),t);var l={name:"SVM",description:"",version:"0.0.1",sources:{module:{checksum:"",location:{npm:{filePath:"dist/index.js",packageName:"@avalabs/svm-module",registry:"https://registry.npmjs.org"}}}},network:{chainIds:["solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1","solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"],namespaces:["solana"]},cointype:"501",permissions:{rpc:{dapps:!0,methods:["getGenesisHash"],nonRestrictedMethods:["getGenesisHash"]}},manifestVersion:"0.1"};var f={proxyApiUrl:"https://proxy-api.avax.network"},g={proxyApiUrl:"https://proxy-api-dev.avax.network"},u=r=>{switch(r){case vmModuleTypes.Environment.PRODUCTION:return f;case vmModuleTypes.Environment.DEV:return g}};var o,s,n,d=class{constructor({approvalController:e,environment:t,appInfo:p}){i(this,o,void 0);i(this,s,void 0);i(this,n,void 0);let{proxyApiUrl:y}=u(t);c(this,n,p),c(this,o,y),c(this,s,e),a(this,o),a(this,s),a(this,n);}getProvider(){return Promise.resolve({})}getAddress(){return Promise.resolve({})}getBalances(){return Promise.resolve({})}getManifest(){let e=vmModuleTypes.parseManifest(l);return e.success?e.data:void 0}getNetworkFee(){return Promise.resolve({})}getTransactionHistory(){return Promise.resolve({transactions:[]})}getTokens(){return Promise.resolve([])}async onRpcRequest(e){return {error:rpcErrors.rpcErrors.methodNotSupported(`Method ${e.method} not supported`)}}};o=new WeakMap,s=new WeakMap,n=new WeakMap;
8
8
 
9
9
  exports.SvmModule = d;
10
10
  //# sourceMappingURL=out.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/module.ts","../manifest.json","../src/env.ts"],"names":["parseManifest","rpcErrors","manifest_default","Environment","prodEnv","devEnv","getEnv","environment","_proxyApiUrl","_approvalController","_appInfo","SvmModule","approvalController","appInfo","__privateAdd","proxyApiUrl","__privateSet","__privateGet","result","request"],"mappings":"mVAAA,OACE,iBAAAA,MAOK,2BACP,MAAkD,cAClD,OAAS,aAAAC,MAAiB,uBCV1B,IAAAC,EAAA,CACE,KAAQ,MACR,YAAe,GACf,QAAW,QACX,QAAW,CACT,OAAU,CACR,SAAY,GACZ,SAAY,CACV,IAAO,CACL,SAAY,gBACZ,YAAe,sBACf,SAAY,4BACd,CACF,CACF,CACF,EACA,QAAW,CACT,SAAY,CACV,0CACA,0CACA,yCACF,EACA,WAAc,CAAC,QAAQ,CACzB,EACA,SAAY,MACZ,YAAe,CACb,IAAO,CACL,MAAS,GACT,QAAW,CAAC,gBAAgB,CAC9B,CACF,EACA,gBAAmB,KACrB,EChCA,OAAS,eAAAC,MAAmB,2BAMrB,IAAMC,EAAe,CAC1B,YAAa,gCACf,EAEaC,EAAc,CACzB,YAAa,oCACf,EAEaC,EAAUC,GAAkC,CACvD,OAAQA,EAAa,CACnB,KAAKJ,EAAY,WACf,OAAOC,EACT,KAAKD,EAAY,IACf,OAAOE,CACX,CACF,EFrBA,IAAAG,EAAAC,EAAAC,EAeaC,EAAN,KAAkC,CAKvC,YAAY,CAAE,mBAAAC,EAAoB,YAAAL,EAAa,QAAAM,CAAQ,EAAsB,CAJ7EC,EAAA,KAAAN,EAAA,QACAM,EAAA,KAAAL,EAAA,QACAK,EAAA,KAAAJ,EAAA,QAGE,GAAM,CAAE,YAAAK,CAAY,EAAIT,EAAOC,CAAW,EAE1CS,EAAA,KAAKN,EAAWG,GAChBG,EAAA,KAAKR,EAAeO,GACpBC,EAAA,KAAKP,EAAsBG,GAI3BK,EAAA,KAAKT,GACLS,EAAA,KAAKR,GACLQ,EAAA,KAAKP,EACP,CAGA,aAAc,CACZ,OAAO,QAAQ,QAAQ,CAAC,CAA4B,CACtD,CAGA,YAAa,CACX,OAAO,QAAQ,QAAQ,CAAC,CAAC,CAC3B,CAGA,aAAc,CACZ,OAAO,QAAQ,QAAQ,CAAC,CAAC,CAC3B,CAEA,aAAc,CACZ,IAAMQ,EAASlB,EAAcE,CAAY,EACzC,OAAOgB,EAAO,QAAUA,EAAO,KAAO,MACxC,CAGA,eAAgB,CACd,OAAO,QAAQ,QAAQ,CAAC,CAAgB,CAC1C,CAGA,uBAAwB,CACtB,OAAO,QAAQ,QAAQ,CACrB,aAAc,CAAC,CACjB,CAAC,CACH,CAGA,WAAY,CACV,OAAO,QAAQ,QAAQ,CAAC,CAAC,CAC3B,CAGA,MAAM,aAAaC,EAAqB,CACtC,MAAO,CAAE,MAAOlB,EAAU,mBAAmB,UAAUkB,EAAQ,MAAM,gBAAgB,CAAE,CACzF,CACF,EA3DEX,EAAA,YACAC,EAAA,YACAC,EAAA","sourcesContent":["import {\n parseManifest,\n type AppInfo,\n type ApprovalController,\n type ConstructorParams,\n type Module,\n type NetworkFees,\n type RpcRequest,\n} from '@avalabs/vm-module-types';\nimport { type Rpc, type SolanaRpcApiDevnet } from '@solana/rpc';\nimport { rpcErrors } from '@metamask/rpc-errors';\n\nimport ManifestJson from '../manifest.json';\nimport { getEnv } from './env';\n\nexport class SvmModule implements Module {\n #proxyApiUrl: string;\n #approvalController: ApprovalController;\n #appInfo: AppInfo;\n\n constructor({ approvalController, environment, appInfo }: ConstructorParams) {\n const { proxyApiUrl } = getEnv(environment);\n\n this.#appInfo = appInfo;\n this.#proxyApiUrl = proxyApiUrl;\n this.#approvalController = approvalController;\n\n // Referencing those props here just to silence eslint, as\n // eslint-disable-... comments don't seem to work on class properties.\n this.#proxyApiUrl;\n this.#approvalController;\n this.#appInfo;\n }\n\n // TODO\n getProvider() {\n return Promise.resolve({} as Rpc<SolanaRpcApiDevnet>);\n }\n\n // TODO\n getAddress() {\n return Promise.resolve({});\n }\n\n // TODO\n getBalances() {\n return Promise.resolve({});\n }\n\n getManifest() {\n const result = parseManifest(ManifestJson);\n return result.success ? result.data : undefined;\n }\n\n // TODO\n getNetworkFee() {\n return Promise.resolve({} as NetworkFees);\n }\n\n // TODO\n getTransactionHistory() {\n return Promise.resolve({\n transactions: [],\n });\n }\n\n // TODO\n getTokens() {\n return Promise.resolve([]);\n }\n\n // TODO\n async onRpcRequest(request: RpcRequest) {\n return { error: rpcErrors.methodNotSupported(`Method ${request.method} not supported`) };\n }\n}\n","{\n \"name\": \"SVM\",\n \"description\": \"\",\n \"version\": \"0.0.1\",\n \"sources\": {\n \"module\": {\n \"checksum\": \"\",\n \"location\": {\n \"npm\": {\n \"filePath\": \"dist/index.js\",\n \"packageName\": \"@avalabs/svm-module\",\n \"registry\": \"https://registry.npmjs.org\"\n }\n }\n }\n },\n \"network\": {\n \"chainIds\": [\n \"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp\",\n \"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1\",\n \"solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z\"\n ],\n \"namespaces\": [\"solana\"]\n },\n \"cointype\": \"501\",\n \"permissions\": {\n \"rpc\": {\n \"dapps\": true,\n \"methods\": [\"getGenesisHash\"]\n }\n },\n \"manifestVersion\": \"0.0\"\n}\n","import { Environment } from '@avalabs/vm-module-types';\n\ntype Env = {\n proxyApiUrl: string;\n};\n\nexport const prodEnv: Env = {\n proxyApiUrl: 'https://proxy-api.avax.network',\n};\n\nexport const devEnv: Env = {\n proxyApiUrl: 'https://proxy-api-dev.avax.network',\n};\n\nexport const getEnv = (environment: Environment): Env => {\n switch (environment) {\n case Environment.PRODUCTION:\n return prodEnv;\n case Environment.DEV:\n return devEnv;\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/module.ts","../manifest.json","../src/env.ts"],"names":["parseManifest","rpcErrors","manifest_default","Environment","prodEnv","devEnv","getEnv","environment","_proxyApiUrl","_approvalController","_appInfo","SvmModule","approvalController","appInfo","__privateAdd","proxyApiUrl","__privateSet","__privateGet","result","request"],"mappings":"mVAAA,OACE,iBAAAA,MAOK,2BACP,MAAkD,cAClD,OAAS,aAAAC,MAAiB,uBCV1B,IAAAC,EAAA,CACE,KAAQ,MACR,YAAe,GACf,QAAW,QACX,QAAW,CACT,OAAU,CACR,SAAY,GACZ,SAAY,CACV,IAAO,CACL,SAAY,gBACZ,YAAe,sBACf,SAAY,4BACd,CACF,CACF,CACF,EACA,QAAW,CACT,SAAY,CACV,0CACA,0CACA,yCACF,EACA,WAAc,CAAC,QAAQ,CACzB,EACA,SAAY,MACZ,YAAe,CACb,IAAO,CACL,MAAS,GACT,QAAW,CAAC,gBAAgB,EAC5B,qBAAwB,CAAC,gBAAgB,CAC3C,CACF,EACA,gBAAmB,KACrB,ECjCA,OAAS,eAAAC,MAAmB,2BAMrB,IAAMC,EAAe,CAC1B,YAAa,gCACf,EAEaC,EAAc,CACzB,YAAa,oCACf,EAEaC,EAAUC,GAAkC,CACvD,OAAQA,EAAa,CACnB,KAAKJ,EAAY,WACf,OAAOC,EACT,KAAKD,EAAY,IACf,OAAOE,CACX,CACF,EFrBA,IAAAG,EAAAC,EAAAC,EAeaC,EAAN,KAAkC,CAKvC,YAAY,CAAE,mBAAAC,EAAoB,YAAAL,EAAa,QAAAM,CAAQ,EAAsB,CAJ7EC,EAAA,KAAAN,EAAA,QACAM,EAAA,KAAAL,EAAA,QACAK,EAAA,KAAAJ,EAAA,QAGE,GAAM,CAAE,YAAAK,CAAY,EAAIT,EAAOC,CAAW,EAE1CS,EAAA,KAAKN,EAAWG,GAChBG,EAAA,KAAKR,EAAeO,GACpBC,EAAA,KAAKP,EAAsBG,GAI3BK,EAAA,KAAKT,GACLS,EAAA,KAAKR,GACLQ,EAAA,KAAKP,EACP,CAGA,aAAc,CACZ,OAAO,QAAQ,QAAQ,CAAC,CAA4B,CACtD,CAGA,YAAa,CACX,OAAO,QAAQ,QAAQ,CAAC,CAAC,CAC3B,CAGA,aAAc,CACZ,OAAO,QAAQ,QAAQ,CAAC,CAAC,CAC3B,CAEA,aAAc,CACZ,IAAMQ,EAASlB,EAAcE,CAAY,EACzC,OAAOgB,EAAO,QAAUA,EAAO,KAAO,MACxC,CAGA,eAAgB,CACd,OAAO,QAAQ,QAAQ,CAAC,CAAgB,CAC1C,CAGA,uBAAwB,CACtB,OAAO,QAAQ,QAAQ,CACrB,aAAc,CAAC,CACjB,CAAC,CACH,CAGA,WAAY,CACV,OAAO,QAAQ,QAAQ,CAAC,CAAC,CAC3B,CAGA,MAAM,aAAaC,EAAqB,CACtC,MAAO,CAAE,MAAOlB,EAAU,mBAAmB,UAAUkB,EAAQ,MAAM,gBAAgB,CAAE,CACzF,CACF,EA3DEX,EAAA,YACAC,EAAA,YACAC,EAAA","sourcesContent":["import {\n parseManifest,\n type AppInfo,\n type ApprovalController,\n type ConstructorParams,\n type Module,\n type NetworkFees,\n type RpcRequest,\n} from '@avalabs/vm-module-types';\nimport { type Rpc, type SolanaRpcApiDevnet } from '@solana/rpc';\nimport { rpcErrors } from '@metamask/rpc-errors';\n\nimport ManifestJson from '../manifest.json';\nimport { getEnv } from './env';\n\nexport class SvmModule implements Module {\n #proxyApiUrl: string;\n #approvalController: ApprovalController;\n #appInfo: AppInfo;\n\n constructor({ approvalController, environment, appInfo }: ConstructorParams) {\n const { proxyApiUrl } = getEnv(environment);\n\n this.#appInfo = appInfo;\n this.#proxyApiUrl = proxyApiUrl;\n this.#approvalController = approvalController;\n\n // Temporarily referencing those props here just to silence eslint,\n // as eslint-disable-... comments don't seem to work on class properties.\n this.#proxyApiUrl;\n this.#approvalController;\n this.#appInfo;\n }\n\n // TODO\n getProvider() {\n return Promise.resolve({} as Rpc<SolanaRpcApiDevnet>);\n }\n\n // TODO\n getAddress() {\n return Promise.resolve({});\n }\n\n // TODO\n getBalances() {\n return Promise.resolve({});\n }\n\n getManifest() {\n const result = parseManifest(ManifestJson);\n return result.success ? result.data : undefined;\n }\n\n // TODO\n getNetworkFee() {\n return Promise.resolve({} as NetworkFees);\n }\n\n // TODO\n getTransactionHistory() {\n return Promise.resolve({\n transactions: [],\n });\n }\n\n // TODO\n getTokens() {\n return Promise.resolve([]);\n }\n\n // TODO\n async onRpcRequest(request: RpcRequest) {\n return { error: rpcErrors.methodNotSupported(`Method ${request.method} not supported`) };\n }\n}\n","{\n \"name\": \"SVM\",\n \"description\": \"\",\n \"version\": \"0.0.1\",\n \"sources\": {\n \"module\": {\n \"checksum\": \"\",\n \"location\": {\n \"npm\": {\n \"filePath\": \"dist/index.js\",\n \"packageName\": \"@avalabs/svm-module\",\n \"registry\": \"https://registry.npmjs.org\"\n }\n }\n }\n },\n \"network\": {\n \"chainIds\": [\n \"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp\",\n \"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1\",\n \"solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z\"\n ],\n \"namespaces\": [\"solana\"]\n },\n \"cointype\": \"501\",\n \"permissions\": {\n \"rpc\": {\n \"dapps\": true,\n \"methods\": [\"getGenesisHash\"],\n \"nonRestrictedMethods\": [\"getGenesisHash\"]\n }\n },\n \"manifestVersion\": \"0.1\"\n}\n","import { Environment } from '@avalabs/vm-module-types';\n\ntype Env = {\n proxyApiUrl: string;\n};\n\nexport const prodEnv: Env = {\n proxyApiUrl: 'https://proxy-api.avax.network',\n};\n\nexport const devEnv: Env = {\n proxyApiUrl: 'https://proxy-api-dev.avax.network',\n};\n\nexport const getEnv = (environment: Environment): Env => {\n switch (environment) {\n case Environment.PRODUCTION:\n return prodEnv;\n case Environment.DEV:\n return devEnv;\n }\n};\n"]}
package/dist/index.d.cts CHANGED
@@ -44,6 +44,7 @@ declare class SvmModule implements Module {
44
44
  rpc: {
45
45
  dapps: boolean;
46
46
  methods: string[];
47
+ nonRestrictedMethods: string[];
47
48
  };
48
49
  };
49
50
  manifestVersion: string;
package/dist/index.d.ts CHANGED
@@ -44,6 +44,7 @@ declare class SvmModule implements Module {
44
44
  rpc: {
45
45
  dapps: boolean;
46
46
  methods: string[];
47
+ nonRestrictedMethods: string[];
47
48
  };
48
49
  };
49
50
  manifestVersion: string;
package/dist/index.js CHANGED
@@ -2,7 +2,7 @@ import { parseManifest, Environment } from '@avalabs/vm-module-types';
2
2
  import '@solana/rpc';
3
3
  import { rpcErrors } from '@metamask/rpc-errors';
4
4
 
5
- var m=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var a=(r,e,t)=>(m(r,e,"read from private field"),t?t.call(r):e.get(r)),i=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t);},c=(r,e,t,p)=>(m(r,e,"write to private field"),p?p.call(r,t):e.set(r,t),t);var l={name:"SVM",description:"",version:"0.0.1",sources:{module:{checksum:"",location:{npm:{filePath:"dist/index.js",packageName:"@avalabs/svm-module",registry:"https://registry.npmjs.org"}}}},network:{chainIds:["solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1","solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"],namespaces:["solana"]},cointype:"501",permissions:{rpc:{dapps:!0,methods:["getGenesisHash"]}},manifestVersion:"0.0"};var f={proxyApiUrl:"https://proxy-api.avax.network"},g={proxyApiUrl:"https://proxy-api-dev.avax.network"},u=r=>{switch(r){case Environment.PRODUCTION:return f;case Environment.DEV:return g}};var o,s,n,d=class{constructor({approvalController:e,environment:t,appInfo:p}){i(this,o,void 0);i(this,s,void 0);i(this,n,void 0);let{proxyApiUrl:y}=u(t);c(this,n,p),c(this,o,y),c(this,s,e),a(this,o),a(this,s),a(this,n);}getProvider(){return Promise.resolve({})}getAddress(){return Promise.resolve({})}getBalances(){return Promise.resolve({})}getManifest(){let e=parseManifest(l);return e.success?e.data:void 0}getNetworkFee(){return Promise.resolve({})}getTransactionHistory(){return Promise.resolve({transactions:[]})}getTokens(){return Promise.resolve([])}async onRpcRequest(e){return {error:rpcErrors.methodNotSupported(`Method ${e.method} not supported`)}}};o=new WeakMap,s=new WeakMap,n=new WeakMap;
5
+ var m=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var a=(r,e,t)=>(m(r,e,"read from private field"),t?t.call(r):e.get(r)),i=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t);},c=(r,e,t,p)=>(m(r,e,"write to private field"),p?p.call(r,t):e.set(r,t),t);var l={name:"SVM",description:"",version:"0.0.1",sources:{module:{checksum:"",location:{npm:{filePath:"dist/index.js",packageName:"@avalabs/svm-module",registry:"https://registry.npmjs.org"}}}},network:{chainIds:["solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1","solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z"],namespaces:["solana"]},cointype:"501",permissions:{rpc:{dapps:!0,methods:["getGenesisHash"],nonRestrictedMethods:["getGenesisHash"]}},manifestVersion:"0.1"};var f={proxyApiUrl:"https://proxy-api.avax.network"},g={proxyApiUrl:"https://proxy-api-dev.avax.network"},u=r=>{switch(r){case Environment.PRODUCTION:return f;case Environment.DEV:return g}};var o,s,n,d=class{constructor({approvalController:e,environment:t,appInfo:p}){i(this,o,void 0);i(this,s,void 0);i(this,n,void 0);let{proxyApiUrl:y}=u(t);c(this,n,p),c(this,o,y),c(this,s,e),a(this,o),a(this,s),a(this,n);}getProvider(){return Promise.resolve({})}getAddress(){return Promise.resolve({})}getBalances(){return Promise.resolve({})}getManifest(){let e=parseManifest(l);return e.success?e.data:void 0}getNetworkFee(){return Promise.resolve({})}getTransactionHistory(){return Promise.resolve({transactions:[]})}getTokens(){return Promise.resolve([])}async onRpcRequest(e){return {error:rpcErrors.methodNotSupported(`Method ${e.method} not supported`)}}};o=new WeakMap,s=new WeakMap,n=new WeakMap;
6
6
 
7
7
  export { d as SvmModule };
8
8
  //# sourceMappingURL=out.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/module.ts","../manifest.json","../src/env.ts"],"names":["parseManifest","rpcErrors","manifest_default","Environment","prodEnv","devEnv","getEnv","environment","_proxyApiUrl","_approvalController","_appInfo","SvmModule","approvalController","appInfo","__privateAdd","proxyApiUrl","__privateSet","__privateGet","result","request"],"mappings":"mVAAA,OACE,iBAAAA,MAOK,2BACP,MAAkD,cAClD,OAAS,aAAAC,MAAiB,uBCV1B,IAAAC,EAAA,CACE,KAAQ,MACR,YAAe,GACf,QAAW,QACX,QAAW,CACT,OAAU,CACR,SAAY,GACZ,SAAY,CACV,IAAO,CACL,SAAY,gBACZ,YAAe,sBACf,SAAY,4BACd,CACF,CACF,CACF,EACA,QAAW,CACT,SAAY,CACV,0CACA,0CACA,yCACF,EACA,WAAc,CAAC,QAAQ,CACzB,EACA,SAAY,MACZ,YAAe,CACb,IAAO,CACL,MAAS,GACT,QAAW,CAAC,gBAAgB,CAC9B,CACF,EACA,gBAAmB,KACrB,EChCA,OAAS,eAAAC,MAAmB,2BAMrB,IAAMC,EAAe,CAC1B,YAAa,gCACf,EAEaC,EAAc,CACzB,YAAa,oCACf,EAEaC,EAAUC,GAAkC,CACvD,OAAQA,EAAa,CACnB,KAAKJ,EAAY,WACf,OAAOC,EACT,KAAKD,EAAY,IACf,OAAOE,CACX,CACF,EFrBA,IAAAG,EAAAC,EAAAC,EAeaC,EAAN,KAAkC,CAKvC,YAAY,CAAE,mBAAAC,EAAoB,YAAAL,EAAa,QAAAM,CAAQ,EAAsB,CAJ7EC,EAAA,KAAAN,EAAA,QACAM,EAAA,KAAAL,EAAA,QACAK,EAAA,KAAAJ,EAAA,QAGE,GAAM,CAAE,YAAAK,CAAY,EAAIT,EAAOC,CAAW,EAE1CS,EAAA,KAAKN,EAAWG,GAChBG,EAAA,KAAKR,EAAeO,GACpBC,EAAA,KAAKP,EAAsBG,GAI3BK,EAAA,KAAKT,GACLS,EAAA,KAAKR,GACLQ,EAAA,KAAKP,EACP,CAGA,aAAc,CACZ,OAAO,QAAQ,QAAQ,CAAC,CAA4B,CACtD,CAGA,YAAa,CACX,OAAO,QAAQ,QAAQ,CAAC,CAAC,CAC3B,CAGA,aAAc,CACZ,OAAO,QAAQ,QAAQ,CAAC,CAAC,CAC3B,CAEA,aAAc,CACZ,IAAMQ,EAASlB,EAAcE,CAAY,EACzC,OAAOgB,EAAO,QAAUA,EAAO,KAAO,MACxC,CAGA,eAAgB,CACd,OAAO,QAAQ,QAAQ,CAAC,CAAgB,CAC1C,CAGA,uBAAwB,CACtB,OAAO,QAAQ,QAAQ,CACrB,aAAc,CAAC,CACjB,CAAC,CACH,CAGA,WAAY,CACV,OAAO,QAAQ,QAAQ,CAAC,CAAC,CAC3B,CAGA,MAAM,aAAaC,EAAqB,CACtC,MAAO,CAAE,MAAOlB,EAAU,mBAAmB,UAAUkB,EAAQ,MAAM,gBAAgB,CAAE,CACzF,CACF,EA3DEX,EAAA,YACAC,EAAA,YACAC,EAAA","sourcesContent":["import {\n parseManifest,\n type AppInfo,\n type ApprovalController,\n type ConstructorParams,\n type Module,\n type NetworkFees,\n type RpcRequest,\n} from '@avalabs/vm-module-types';\nimport { type Rpc, type SolanaRpcApiDevnet } from '@solana/rpc';\nimport { rpcErrors } from '@metamask/rpc-errors';\n\nimport ManifestJson from '../manifest.json';\nimport { getEnv } from './env';\n\nexport class SvmModule implements Module {\n #proxyApiUrl: string;\n #approvalController: ApprovalController;\n #appInfo: AppInfo;\n\n constructor({ approvalController, environment, appInfo }: ConstructorParams) {\n const { proxyApiUrl } = getEnv(environment);\n\n this.#appInfo = appInfo;\n this.#proxyApiUrl = proxyApiUrl;\n this.#approvalController = approvalController;\n\n // Referencing those props here just to silence eslint, as\n // eslint-disable-... comments don't seem to work on class properties.\n this.#proxyApiUrl;\n this.#approvalController;\n this.#appInfo;\n }\n\n // TODO\n getProvider() {\n return Promise.resolve({} as Rpc<SolanaRpcApiDevnet>);\n }\n\n // TODO\n getAddress() {\n return Promise.resolve({});\n }\n\n // TODO\n getBalances() {\n return Promise.resolve({});\n }\n\n getManifest() {\n const result = parseManifest(ManifestJson);\n return result.success ? result.data : undefined;\n }\n\n // TODO\n getNetworkFee() {\n return Promise.resolve({} as NetworkFees);\n }\n\n // TODO\n getTransactionHistory() {\n return Promise.resolve({\n transactions: [],\n });\n }\n\n // TODO\n getTokens() {\n return Promise.resolve([]);\n }\n\n // TODO\n async onRpcRequest(request: RpcRequest) {\n return { error: rpcErrors.methodNotSupported(`Method ${request.method} not supported`) };\n }\n}\n","{\n \"name\": \"SVM\",\n \"description\": \"\",\n \"version\": \"0.0.1\",\n \"sources\": {\n \"module\": {\n \"checksum\": \"\",\n \"location\": {\n \"npm\": {\n \"filePath\": \"dist/index.js\",\n \"packageName\": \"@avalabs/svm-module\",\n \"registry\": \"https://registry.npmjs.org\"\n }\n }\n }\n },\n \"network\": {\n \"chainIds\": [\n \"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp\",\n \"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1\",\n \"solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z\"\n ],\n \"namespaces\": [\"solana\"]\n },\n \"cointype\": \"501\",\n \"permissions\": {\n \"rpc\": {\n \"dapps\": true,\n \"methods\": [\"getGenesisHash\"]\n }\n },\n \"manifestVersion\": \"0.0\"\n}\n","import { Environment } from '@avalabs/vm-module-types';\n\ntype Env = {\n proxyApiUrl: string;\n};\n\nexport const prodEnv: Env = {\n proxyApiUrl: 'https://proxy-api.avax.network',\n};\n\nexport const devEnv: Env = {\n proxyApiUrl: 'https://proxy-api-dev.avax.network',\n};\n\nexport const getEnv = (environment: Environment): Env => {\n switch (environment) {\n case Environment.PRODUCTION:\n return prodEnv;\n case Environment.DEV:\n return devEnv;\n }\n};\n"]}
1
+ {"version":3,"sources":["../src/module.ts","../manifest.json","../src/env.ts"],"names":["parseManifest","rpcErrors","manifest_default","Environment","prodEnv","devEnv","getEnv","environment","_proxyApiUrl","_approvalController","_appInfo","SvmModule","approvalController","appInfo","__privateAdd","proxyApiUrl","__privateSet","__privateGet","result","request"],"mappings":"mVAAA,OACE,iBAAAA,MAOK,2BACP,MAAkD,cAClD,OAAS,aAAAC,MAAiB,uBCV1B,IAAAC,EAAA,CACE,KAAQ,MACR,YAAe,GACf,QAAW,QACX,QAAW,CACT,OAAU,CACR,SAAY,GACZ,SAAY,CACV,IAAO,CACL,SAAY,gBACZ,YAAe,sBACf,SAAY,4BACd,CACF,CACF,CACF,EACA,QAAW,CACT,SAAY,CACV,0CACA,0CACA,yCACF,EACA,WAAc,CAAC,QAAQ,CACzB,EACA,SAAY,MACZ,YAAe,CACb,IAAO,CACL,MAAS,GACT,QAAW,CAAC,gBAAgB,EAC5B,qBAAwB,CAAC,gBAAgB,CAC3C,CACF,EACA,gBAAmB,KACrB,ECjCA,OAAS,eAAAC,MAAmB,2BAMrB,IAAMC,EAAe,CAC1B,YAAa,gCACf,EAEaC,EAAc,CACzB,YAAa,oCACf,EAEaC,EAAUC,GAAkC,CACvD,OAAQA,EAAa,CACnB,KAAKJ,EAAY,WACf,OAAOC,EACT,KAAKD,EAAY,IACf,OAAOE,CACX,CACF,EFrBA,IAAAG,EAAAC,EAAAC,EAeaC,EAAN,KAAkC,CAKvC,YAAY,CAAE,mBAAAC,EAAoB,YAAAL,EAAa,QAAAM,CAAQ,EAAsB,CAJ7EC,EAAA,KAAAN,EAAA,QACAM,EAAA,KAAAL,EAAA,QACAK,EAAA,KAAAJ,EAAA,QAGE,GAAM,CAAE,YAAAK,CAAY,EAAIT,EAAOC,CAAW,EAE1CS,EAAA,KAAKN,EAAWG,GAChBG,EAAA,KAAKR,EAAeO,GACpBC,EAAA,KAAKP,EAAsBG,GAI3BK,EAAA,KAAKT,GACLS,EAAA,KAAKR,GACLQ,EAAA,KAAKP,EACP,CAGA,aAAc,CACZ,OAAO,QAAQ,QAAQ,CAAC,CAA4B,CACtD,CAGA,YAAa,CACX,OAAO,QAAQ,QAAQ,CAAC,CAAC,CAC3B,CAGA,aAAc,CACZ,OAAO,QAAQ,QAAQ,CAAC,CAAC,CAC3B,CAEA,aAAc,CACZ,IAAMQ,EAASlB,EAAcE,CAAY,EACzC,OAAOgB,EAAO,QAAUA,EAAO,KAAO,MACxC,CAGA,eAAgB,CACd,OAAO,QAAQ,QAAQ,CAAC,CAAgB,CAC1C,CAGA,uBAAwB,CACtB,OAAO,QAAQ,QAAQ,CACrB,aAAc,CAAC,CACjB,CAAC,CACH,CAGA,WAAY,CACV,OAAO,QAAQ,QAAQ,CAAC,CAAC,CAC3B,CAGA,MAAM,aAAaC,EAAqB,CACtC,MAAO,CAAE,MAAOlB,EAAU,mBAAmB,UAAUkB,EAAQ,MAAM,gBAAgB,CAAE,CACzF,CACF,EA3DEX,EAAA,YACAC,EAAA,YACAC,EAAA","sourcesContent":["import {\n parseManifest,\n type AppInfo,\n type ApprovalController,\n type ConstructorParams,\n type Module,\n type NetworkFees,\n type RpcRequest,\n} from '@avalabs/vm-module-types';\nimport { type Rpc, type SolanaRpcApiDevnet } from '@solana/rpc';\nimport { rpcErrors } from '@metamask/rpc-errors';\n\nimport ManifestJson from '../manifest.json';\nimport { getEnv } from './env';\n\nexport class SvmModule implements Module {\n #proxyApiUrl: string;\n #approvalController: ApprovalController;\n #appInfo: AppInfo;\n\n constructor({ approvalController, environment, appInfo }: ConstructorParams) {\n const { proxyApiUrl } = getEnv(environment);\n\n this.#appInfo = appInfo;\n this.#proxyApiUrl = proxyApiUrl;\n this.#approvalController = approvalController;\n\n // Temporarily referencing those props here just to silence eslint,\n // as eslint-disable-... comments don't seem to work on class properties.\n this.#proxyApiUrl;\n this.#approvalController;\n this.#appInfo;\n }\n\n // TODO\n getProvider() {\n return Promise.resolve({} as Rpc<SolanaRpcApiDevnet>);\n }\n\n // TODO\n getAddress() {\n return Promise.resolve({});\n }\n\n // TODO\n getBalances() {\n return Promise.resolve({});\n }\n\n getManifest() {\n const result = parseManifest(ManifestJson);\n return result.success ? result.data : undefined;\n }\n\n // TODO\n getNetworkFee() {\n return Promise.resolve({} as NetworkFees);\n }\n\n // TODO\n getTransactionHistory() {\n return Promise.resolve({\n transactions: [],\n });\n }\n\n // TODO\n getTokens() {\n return Promise.resolve([]);\n }\n\n // TODO\n async onRpcRequest(request: RpcRequest) {\n return { error: rpcErrors.methodNotSupported(`Method ${request.method} not supported`) };\n }\n}\n","{\n \"name\": \"SVM\",\n \"description\": \"\",\n \"version\": \"0.0.1\",\n \"sources\": {\n \"module\": {\n \"checksum\": \"\",\n \"location\": {\n \"npm\": {\n \"filePath\": \"dist/index.js\",\n \"packageName\": \"@avalabs/svm-module\",\n \"registry\": \"https://registry.npmjs.org\"\n }\n }\n }\n },\n \"network\": {\n \"chainIds\": [\n \"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp\",\n \"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1\",\n \"solana:4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z\"\n ],\n \"namespaces\": [\"solana\"]\n },\n \"cointype\": \"501\",\n \"permissions\": {\n \"rpc\": {\n \"dapps\": true,\n \"methods\": [\"getGenesisHash\"],\n \"nonRestrictedMethods\": [\"getGenesisHash\"]\n }\n },\n \"manifestVersion\": \"0.1\"\n}\n","import { Environment } from '@avalabs/vm-module-types';\n\ntype Env = {\n proxyApiUrl: string;\n};\n\nexport const prodEnv: Env = {\n proxyApiUrl: 'https://proxy-api.avax.network',\n};\n\nexport const devEnv: Env = {\n proxyApiUrl: 'https://proxy-api-dev.avax.network',\n};\n\nexport const getEnv = (environment: Environment): Env => {\n switch (environment) {\n case Environment.PRODUCTION:\n return prodEnv;\n case Environment.DEV:\n return devEnv;\n }\n};\n"]}
package/manifest.json CHANGED
@@ -26,8 +26,9 @@
26
26
  "permissions": {
27
27
  "rpc": {
28
28
  "dapps": true,
29
- "methods": ["getGenesisHash"]
29
+ "methods": ["getGenesisHash"],
30
+ "nonRestrictedMethods": ["getGenesisHash"]
30
31
  }
31
32
  },
32
- "manifestVersion": "0.0"
33
+ "manifestVersion": "0.1"
33
34
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@avalabs/svm-module",
3
- "version": "0.0.0",
3
+ "version": "1.1.0",
4
4
  "main": "dist/index.cjs",
5
5
  "module": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -10,29 +10,29 @@
10
10
  "manifest.json"
11
11
  ],
12
12
  "license": "Limited Ecosystem License",
13
- "scripts": {
14
- "build": "tsup",
15
- "lint": "eslint \"src/**/*.ts\"",
16
- "test": "jest",
17
- "test:watch": "jest --watch"
18
- },
19
13
  "dependencies": {
20
- "@avalabs/vm-module-types": "workspace:*",
21
14
  "@metamask/rpc-errors": "6.3.0",
22
- "@solana/rpc": "2.0.0"
15
+ "@solana/rpc": "2.0.0",
16
+ "@avalabs/vm-module-types": "1.1.0"
23
17
  },
24
18
  "devDependencies": {
25
- "@internal/tsup-config": "workspace:*",
26
- "@internal/utils": "workspace:*",
27
19
  "@types/jest": "29.5.7",
28
- "eslint-config-custom": "workspace:*",
29
20
  "jest": "29.7.0",
30
21
  "jest-environment-jsdom": "29.7.0",
31
22
  "ts-jest": "29.1.1",
32
- "tsup": "7.2.0"
23
+ "tsup": "7.2.0",
24
+ "@internal/tsup-config": "0.0.1",
25
+ "@internal/utils": "0.3.5",
26
+ "eslint-config-custom": "0.0.1"
33
27
  },
34
28
  "volta": {
35
29
  "node": "20.11.0",
36
30
  "yarn": "1.22.19"
31
+ },
32
+ "scripts": {
33
+ "build": "tsup",
34
+ "lint": "eslint \"src/**/*.ts\"",
35
+ "test": "jest",
36
+ "test:watch": "jest --watch"
37
37
  }
38
- }
38
+ }