@keplr-wallet/background 0.12.70 → 0.12.71-rc.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 (72) hide show
  1. package/build/index.d.ts +1 -0
  2. package/build/index.js +9 -0
  3. package/build/index.js.map +1 -1
  4. package/build/keyring-ethereum/messages.js +10 -2
  5. package/build/keyring-ethereum/messages.js.map +1 -1
  6. package/build/keyring-ethereum/service.d.ts +2 -1
  7. package/build/keyring-ethereum/service.js +15 -3
  8. package/build/keyring-ethereum/service.js.map +1 -1
  9. package/build/token-erc20/constants.d.ts +1 -0
  10. package/build/token-erc20/constants.js +5 -0
  11. package/build/token-erc20/constants.js.map +1 -0
  12. package/build/token-erc20/handler.d.ts +4 -0
  13. package/build/token-erc20/handler.js +55 -0
  14. package/build/token-erc20/handler.js.map +1 -0
  15. package/build/token-erc20/index.d.ts +3 -0
  16. package/build/token-erc20/index.js +20 -0
  17. package/build/token-erc20/index.js.map +1 -0
  18. package/build/token-erc20/init.d.ts +4 -0
  19. package/build/token-erc20/init.js +15 -0
  20. package/build/token-erc20/init.js.map +1 -0
  21. package/build/token-erc20/internal.d.ts +2 -0
  22. package/build/token-erc20/internal.js +19 -0
  23. package/build/token-erc20/internal.js.map +1 -0
  24. package/build/token-erc20/messages.d.ts +38 -0
  25. package/build/token-erc20/messages.js +96 -0
  26. package/build/token-erc20/messages.js.map +1 -0
  27. package/build/token-erc20/service.d.ts +23 -0
  28. package/build/token-erc20/service.js +181 -0
  29. package/build/token-erc20/service.js.map +1 -0
  30. package/build/token-erc20/types.d.ts +2 -0
  31. package/build/token-erc20/types.js +3 -0
  32. package/build/token-erc20/types.js.map +1 -0
  33. package/build/tx-ethereum/constants.d.ts +1 -0
  34. package/build/tx-ethereum/constants.js +5 -0
  35. package/build/tx-ethereum/constants.js.map +1 -0
  36. package/build/tx-ethereum/handler.d.ts +4 -0
  37. package/build/tx-ethereum/handler.js +34 -0
  38. package/build/tx-ethereum/handler.js.map +1 -0
  39. package/build/tx-ethereum/index.d.ts +2 -0
  40. package/build/tx-ethereum/index.js +19 -0
  41. package/build/tx-ethereum/index.js.map +1 -0
  42. package/build/tx-ethereum/init.d.ts +4 -0
  43. package/build/tx-ethereum/init.js +12 -0
  44. package/build/tx-ethereum/init.js.map +1 -0
  45. package/build/tx-ethereum/internal.d.ts +2 -0
  46. package/build/tx-ethereum/internal.js +19 -0
  47. package/build/tx-ethereum/internal.js.map +1 -0
  48. package/build/tx-ethereum/messages.d.ts +12 -0
  49. package/build/tx-ethereum/messages.js +37 -0
  50. package/build/tx-ethereum/messages.js.map +1 -0
  51. package/build/tx-ethereum/service.d.ts +15 -0
  52. package/build/tx-ethereum/service.js +124 -0
  53. package/build/tx-ethereum/service.js.map +1 -0
  54. package/package.json +14 -13
  55. package/src/index.ts +23 -0
  56. package/src/keyring-ethereum/messages.ts +10 -2
  57. package/src/keyring-ethereum/service.ts +22 -4
  58. package/src/token-erc20/constants.ts +1 -0
  59. package/src/token-erc20/handler.ts +87 -0
  60. package/src/token-erc20/index.ts +3 -0
  61. package/src/token-erc20/init.ts +24 -0
  62. package/src/token-erc20/internal.ts +2 -0
  63. package/src/token-erc20/messages.ts +121 -0
  64. package/src/token-erc20/service.ts +205 -0
  65. package/src/token-erc20/types.ts +3 -0
  66. package/src/tx-ethereum/constants.ts +1 -0
  67. package/src/tx-ethereum/handler.ts +50 -0
  68. package/src/tx-ethereum/index.ts +2 -0
  69. package/src/tx-ethereum/init.ts +16 -0
  70. package/src/tx-ethereum/internal.ts +2 -0
  71. package/src/tx-ethereum/messages.ts +40 -0
  72. package/src/tx-ethereum/service.ts +147 -0
package/build/index.d.ts CHANGED
@@ -8,6 +8,7 @@ export * from "./chains-update";
8
8
  export * from "./secret-wasm";
9
9
  export * from "./tx";
10
10
  export * from "./token-cw20";
11
+ export * from "./token-erc20";
11
12
  export * from "./interaction";
12
13
  export * from "./permission";
13
14
  export * from "./phishing-list";
package/build/index.js CHANGED
@@ -41,7 +41,9 @@ const ChainsUI = __importStar(require("./chains-ui/internal"));
41
41
  const ChainsUpdate = __importStar(require("./chains-update/internal"));
42
42
  const SecretWasm = __importStar(require("./secret-wasm/internal"));
43
43
  const BackgroundTx = __importStar(require("./tx/internal"));
44
+ const BackgroundTxEthereum = __importStar(require("./tx-ethereum/internal"));
44
45
  const TokenCW20 = __importStar(require("./token-cw20/internal"));
46
+ const TokenERC20 = __importStar(require("./token-erc20/internal"));
45
47
  const Interaction = __importStar(require("./interaction/internal"));
46
48
  const Permission = __importStar(require("./permission/internal"));
47
49
  const PhishingList = __importStar(require("./phishing-list/internal"));
@@ -64,6 +66,7 @@ __exportStar(require("./chains-update"), exports);
64
66
  __exportStar(require("./secret-wasm"), exports);
65
67
  __exportStar(require("./tx"), exports);
66
68
  __exportStar(require("./token-cw20"), exports);
69
+ __exportStar(require("./token-erc20"), exports);
67
70
  __exportStar(require("./interaction"), exports);
68
71
  __exportStar(require("./permission"), exports);
69
72
  __exportStar(require("./phishing-list"), exports);
@@ -88,8 +91,10 @@ privilegedOrigins, analyticsPrivilegedOrigins, msgPrivilegedOrigins, communityCh
88
91
  updaterKVStore: storeCreator("updator"),
89
92
  }, embedChainInfos, communityChainInfoRepo, interactionService, afterInitFn);
90
93
  const tokenCW20Service = new TokenCW20.TokenCW20Service(storeCreator("tokens"), chainsService, interactionService);
94
+ const tokenERC20Service = new TokenERC20.TokenERC20Service(storeCreator("tokens-erc20"), chainsService, interactionService);
91
95
  const permissionService = new Permission.PermissionService(storeCreator("permission"), privilegedOrigins, interactionService, chainsService);
92
96
  const backgroundTxService = new BackgroundTx.BackgroundTxService(chainsService, notification);
97
+ const backgroundTxEthereumService = new BackgroundTxEthereum.BackgroundTxEthereumService(chainsService, notification);
93
98
  const phishingListService = new PhishingList.PhishingListService({
94
99
  blockListUrl: "https://raw.githubusercontent.com/chainapsis/phishing-block-list/main/block-list.txt",
95
100
  twitterListUrl: "https://raw.githubusercontent.com/chainapsis/phishing-block-list/main/twitter-scammer-list.txt",
@@ -123,6 +128,7 @@ privilegedOrigins, analyticsPrivilegedOrigins, msgPrivilegedOrigins, communityCh
123
128
  Permission.init(router, permissionService);
124
129
  Chains.init(router, chainsService, permissionService, permissionInteractiveService);
125
130
  BackgroundTx.init(router, backgroundTxService, permissionInteractiveService);
131
+ BackgroundTxEthereum.init(router, backgroundTxEthereumService, permissionInteractiveService);
126
132
  PhishingList.init(router, phishingListService);
127
133
  AutoLocker.init(router, autoLockAccountService);
128
134
  Analytics.init(router, analyticsService);
@@ -133,6 +139,7 @@ privilegedOrigins, analyticsPrivilegedOrigins, msgPrivilegedOrigins, communityCh
133
139
  ChainsUI.init(router, chainsUIService);
134
140
  ChainsUpdate.init(router, chainsUpdateService);
135
141
  TokenCW20.init(router, tokenCW20Service, permissionInteractiveService, keyRingCosmosService);
142
+ TokenERC20.init(router, tokenERC20Service, permissionInteractiveService);
136
143
  SecretWasm.init(router, secretWasmService, permissionInteractiveService);
137
144
  TokenScan.init(router, tokenScanService);
138
145
  RecentSendHistory.init(router, recentSendHistoryService);
@@ -148,7 +155,9 @@ privilegedOrigins, analyticsPrivilegedOrigins, msgPrivilegedOrigins, communityCh
148
155
  yield keyRingEthereumService.init();
149
156
  yield permissionService.init();
150
157
  yield tokenCW20Service.init();
158
+ yield tokenERC20Service.init();
151
159
  yield backgroundTxService.init();
160
+ yield backgroundTxEthereumService.init();
152
161
  yield phishingListService.init();
153
162
  yield autoLockAccountService.init();
154
163
  yield permissionInteractiveService.init();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,0DAA4C;AAC5C,+DAAiD;AACjD,uEAAyD;AACzD,mEAAqD;AACrD,4DAA8C;AAC9C,6EAA+D;AAC/D,iEAAmD;AACnD,mEAAqD;AACrD,oEAAsD;AACtD,kEAAoD;AACpD,uEAAyD;AACzD,yEAA2D;AAC3D,gEAAkD;AAClD,wDAA0C;AAC1C,8DAAgD;AAChD,6EAA+D;AAC/D,yEAA2D;AAC3D,6EAA+D;AAC/D,kFAAoE;AACpE,yEAA2D;AAC3D,6EAA+D;AAC/D,yFAA2E;AAC3E,iEAAmD;AACnD,kFAAoE;AAEpE,2CAAyB;AACzB,8CAA4B;AAC5B,kDAAgC;AAChC,gDAA8B;AAC9B,uCAAqB;AACrB,+CAA6B;AAC7B,gDAA8B;AAC9B,gDAA8B;AAC9B,+CAA6B;AAC7B,kDAAgC;AAChC,sDAAoC;AACpC,8CAA4B;AAC5B,2DAAyC;AACzC,4CAA0B;AAC1B,0CAAwB;AACxB,mDAAiC;AACjC,qDAAmC;AACnC,qDAAmC;AACnC,+CAA6B;AAC7B,wDAAsC;AAOtC,SAAgB,IAAI,CAClB,MAAc,EACd,YAAyC;AACzC,2CAA2C;AAC3C,iBAAmC,EACnC,eAA4B;AAC5B,oDAAoD;AACpD,iBAA2B,EAC3B,0BAAoC,EACpC,oBAA8B,EAC9B,sBAKC,EACD,YAA0B,EAC1B,gBAAwB,EACxB,iBAGC,EACD,WAGyB;IAKzB,MAAM,kBAAkB,GAAG,IAAI,WAAW,CAAC,kBAAkB,CAC3D,iBAAiB,CAClB,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,aAAa,CAC5C,YAAY,CAAC,WAAW,CAAC,EACzB;QACE,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC;QAC/B,cAAc,EAAE,YAAY,CAAC,SAAS,CAAC;KACxC,EACD,eAAe,EACf,sBAAsB,EACtB,kBAAkB,EAClB,WAAW,CACZ,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,gBAAgB,CACrD,YAAY,CAAC,QAAQ,CAAC,EACtB,aAAa,EACb,kBAAkB,CACnB,CAAC;IAEF,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC,iBAAiB,CACxD,YAAY,CAAC,cAAc,CAAC,EAC5B,aAAa,EACb,kBAAkB,CACnB,CAAC;IAEF,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC,iBAAiB,CACxD,YAAY,CAAC,YAAY,CAAC,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,CACd,CAAC;IAEF,MAAM,mBAAmB,GAAG,IAAI,YAAY,CAAC,mBAAmB,CAC9D,aAAa,EACb,YAAY,CACb,CAAC;IAEF,MAAM,2BAA2B,GAC/B,IAAI,oBAAoB,CAAC,2BAA2B,CAClD,aAAa,EACb,YAAY,CACb,CAAC;IAEJ,MAAM,mBAAmB,GAAG,IAAI,YAAY,CAAC,mBAAmB,CAC9D;QACE,YAAY,EACV,sFAAsF;QACxF,cAAc,EACZ,gGAAgG;QAClG,kBAAkB,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;QACnC,eAAe,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI;QAC/B,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,YAAY;KAC7C,EACD,gBAAgB,CACjB,CAAC;IACF,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,gBAAgB,CACrD,YAAY,CAAC,sBAAsB,CAAC,EACpC,0BAA0B,CAC3B,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAEnE,MAAM,eAAe,GAAG,IAAI,QAAQ,CAAC,eAAe,CAClD,YAAY,CAAC,WAAW,CAAC,EACzB,aAAa,EACb,YAAY,CACb,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,cAAc,CACnD,YAAY,CAAC,YAAY,CAAC,EAC1B;QACE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC;QAChC,YAAY,EAAE,iBAAiB,CAAC,YAAY;QAC5C,2BAA2B,EACzB,iBAAiB,CAAC,2BAA2B;QAC/C,eAAe;KAChB,EACD,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB;QACE,IAAI,eAAe,CAAC,sBAAsB,CAAC,YAAY,CAAC;QACxD,IAAI,aAAa,CAAC,oBAAoB,EAAE;QACxC,IAAI,iBAAiB,CAAC,wBAAwB,CAAC,YAAY,CAAC;QAC5D,IAAI,eAAe,CAAC,sBAAsB,EAAE;KAC7C,CACF,CAAC;IACF,MAAM,oBAAoB,GAAG,IAAI,aAAa,CAAC,oBAAoB,CACjE,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,CACrB,CAAC;IACF,MAAM,sBAAsB,GAAG,IAAI,eAAe,CAAC,sBAAsB,CACvE,aAAa,EACb,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,CACjB,CAAC;IACF,MAAM,sBAAsB,GAAG,IAAI,UAAU,CAAC,sBAAsB,CAClE,YAAY,CAAC,mBAAmB,CAAC,EACjC,gBAAgB,CACjB,CAAC;IACF,MAAM,4BAA4B,GAChC,IAAI,qBAAqB,CAAC,4BAA4B,CACpD,iBAAiB,EACjB,gBAAgB,CACjB,CAAC;IAEJ,MAAM,mBAAmB,GAAG,IAAI,YAAY,CAAC,mBAAmB,CAC9D,YAAY,CAAC,eAAe,CAAC,EAC7B,aAAa,EACb,eAAe,CAChB,CAAC;IAEF,MAAM,iBAAiB,GAAG,IAAI,UAAU,CAAC,iBAAiB,CACxD,YAAY,CAAC,YAAY,CAAC,EAC1B,aAAa,EACb,oBAAoB,CACrB,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,SAAS,CAAC,gBAAgB,CACrD,YAAY,CAAC,YAAY,CAAC,EAC1B,aAAa,EACb,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,CACrB,CAAC;IAEF,MAAM,wBAAwB,GAC5B,IAAI,iBAAiB,CAAC,wBAAwB,CAC5C,YAAY,CAAC,qBAAqB,CAAC,EACnC,aAAa,EACb,mBAAmB,EACnB,YAAY,CACb,CAAC;IAEJ,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC7C,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC3C,MAAM,CAAC,IAAI,CACT,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,4BAA4B,CAC7B,CAAC;IACF,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,EAAE,4BAA4B,CAAC,CAAC;IAC7E,oBAAoB,CAAC,IAAI,CACvB,MAAM,EACN,2BAA2B,EAC3B,4BAA4B,CAC7B,CAAC;IACF,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC/C,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC;IAChD,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzC,aAAa,CAAC,IAAI,CAChB,MAAM,EACN,oBAAoB,EACpB,4BAA4B,CAC7B,CAAC;IACF,eAAe,CAAC,IAAI,CAClB,MAAM,EACN,sBAAsB,EACtB,4BAA4B,CAC7B,CAAC;IACF,qBAAqB,CAAC,IAAI,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;IACjE,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACvC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC/C,SAAS,CAAC,IAAI,CACZ,MAAM,EACN,gBAAgB,EAChB,4BAA4B,EAC5B,oBAAoB,CACrB,CAAC;IACF,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,4BAA4B,CAAC,CAAC;IACzE,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,iBAAiB,EAAE,4BAA4B,CAAC,CAAC;IACzE,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IACzC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;IAEzD,OAAO;QACL,MAAM,EAAE,GAAS,EAAE;YACjB,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAE9B,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;YAC3B,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,eAAe,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,oBAAoB,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,sBAAsB,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAE/B,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,2BAA2B,CAAC,IAAI,EAAE,CAAC;YACzC,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,sBAAsB,CAAC,IAAI,EAAE,CAAC;YACpC,MAAM,4BAA4B,CAAC,IAAI,EAAE,CAAC;YAE1C,MAAM,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAE/B,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAE9B,MAAM,wBAAwB,CAAC,IAAI,EAAE,CAAC;YAEtC,MAAM,aAAa,CAAC,SAAS,EAAE,CAAC;QAClC,CAAC,CAAA;QACD,cAAc,EAAE,gBAAgB;KACjC,CAAC;AACJ,CAAC;AAxPD,oBAwPC"}
@@ -25,8 +25,16 @@ class RequestSignEthereumMsg extends router_1.Message {
25
25
  if (!this.signType) {
26
26
  throw new Error("sign type not set");
27
27
  }
28
- // Validate bech32 address.
29
- cosmos_1.Bech32Address.validate(this.signer);
28
+ // Validate signer address.
29
+ try {
30
+ cosmos_1.Bech32Address.validate(this.signer);
31
+ }
32
+ catch (_a) {
33
+ const tempSigner = this.signer.substring(0, 2) === "0x" ? this.signer : "0x" + this.signer;
34
+ if (!tempSigner.match(/^0x[0-9A-Fa-f]*$/) || tempSigner.length !== 42) {
35
+ throw new Error("Signer is not valid hex address");
36
+ }
37
+ }
30
38
  }
31
39
  approveExternal() {
32
40
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/keyring-ethereum/messages.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AACrD,iDAA+C;AAE/C,2CAAoC;AAEpC,MAAa,sBAAuB,SAAQ,gBAAmB;IACtD,MAAM,CAAC,IAAI;QAChB,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,YACkB,OAAe,EACf,MAAc,EACd,OAAmB,EACnB,QAAqB;QAErC,KAAK,EAAE,CAAC;QALQ,YAAO,GAAP,OAAO,CAAQ;QACf,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAY;QACnB,aAAQ,GAAR,QAAQ,CAAa;IAGvC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACnC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACtC;QAED,2BAA2B;QAC3B,sBAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAEQ,eAAe;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,iBAAK,CAAC;IACf,CAAC;IAED,IAAI;QACF,OAAO,sBAAsB,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;CACF;AA1CD,wDA0CC"}
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/keyring-ethereum/messages.ts"],"names":[],"mappings":";;;AAAA,iDAAqD;AACrD,iDAA+C;AAE/C,2CAAoC;AAEpC,MAAa,sBAAuB,SAAQ,gBAAmB;IACtD,MAAM,CAAC,IAAI;QAChB,OAAO,uBAAuB,CAAC;IACjC,CAAC;IAED,YACkB,OAAe,EACf,MAAc,EACd,OAAmB,EACnB,QAAqB;QAErC,KAAK,EAAE,CAAC;QALQ,YAAO,GAAP,OAAO,CAAQ;QACf,WAAM,GAAN,MAAM,CAAQ;QACd,YAAO,GAAP,OAAO,CAAY;QACnB,aAAQ,GAAR,QAAQ,CAAa;IAGvC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SACrC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;SACnC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;SACtC;QAED,2BAA2B;QAC3B,IAAI;YACF,sBAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACrC;QAAC,WAAM;YACN,MAAM,UAAU,GACd,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1E,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE,EAAE;gBACrE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;aACpD;SACF;IACH,CAAC;IAEQ,eAAe;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,iBAAK,CAAC;IACf,CAAC;IAED,IAAI;QACF,OAAO,sBAAsB,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;CACF;AAlDD,wDAkDC"}
@@ -3,7 +3,7 @@ import { KeyRingService } from "../keyring";
3
3
  import { InteractionService } from "../interaction";
4
4
  import { AnalyticsService } from "../analytics";
5
5
  import { Env } from "@keplr-wallet/router";
6
- import { EthSignType } from "@keplr-wallet/types";
6
+ import { ChainInfo, EthSignType } from "@keplr-wallet/types";
7
7
  import { KeyRingCosmosService } from "../keyring-cosmos";
8
8
  export declare class KeyRingEthereumService {
9
9
  protected readonly chainsService: ChainsService;
@@ -15,4 +15,5 @@ export declare class KeyRingEthereumService {
15
15
  init(): Promise<void>;
16
16
  signEthereumSelected(env: Env, origin: string, chainId: string, signer: string, message: Uint8Array, signType: EthSignType): Promise<Uint8Array>;
17
17
  signEthereum(env: Env, origin: string, vaultId: string, chainId: string, signer: string, message: Uint8Array, signType: EthSignType): Promise<Uint8Array>;
18
+ static evmInfo(chainInfo: ChainInfo): ChainInfo["evm"] | undefined;
18
19
  }
@@ -41,8 +41,9 @@ class KeyRingEthereumService {
41
41
  return __awaiter(this, void 0, void 0, function* () {
42
42
  const chainInfo = this.chainsService.getChainInfoOrThrow(chainId);
43
43
  const isEthermintLike = keyring_1.KeyRingService.isEthermintLike(chainInfo);
44
- if (!isEthermintLike) {
45
- throw new Error("Not ethermint like chain");
44
+ const evmInfo = KeyRingEthereumService.evmInfo(chainInfo);
45
+ if (!isEthermintLike && !evmInfo) {
46
+ throw new Error("Not ethermint like and EVM chain");
46
47
  }
47
48
  const keyInfo = this.keyRingService.getKeyInfo(vaultId);
48
49
  if (!keyInfo) {
@@ -51,11 +52,19 @@ class KeyRingEthereumService {
51
52
  if (keyInfo.type === "ledger") {
52
53
  keyring_cosmos_1.KeyRingCosmosService.throwErrorIfEthermintWithLedgerButNotSupported(chainId);
53
54
  }
55
+ try {
56
+ cosmos_1.Bech32Address.validate(signer);
57
+ }
58
+ catch (_a) {
59
+ // Ignore mixed-case checksum
60
+ signer = (signer.substring(0, 2) === "0x" ? signer : "0x" + signer).toLowerCase();
61
+ }
54
62
  const key = yield this.keyRingCosmosService.getKey(vaultId, chainId);
55
63
  const bech32Prefix = this.chainsService.getChainInfoOrThrow(chainId).bech32Config
56
64
  .bech32PrefixAccAddr;
57
65
  const bech32Address = new cosmos_1.Bech32Address(key.address).toBech32(bech32Prefix);
58
- if (signer !== bech32Address) {
66
+ const ethereumHexAddress = cosmos_1.Bech32Address.fromBech32(bech32Address, bech32Prefix).toHex(false);
67
+ if (signer !== bech32Address && signer !== ethereumHexAddress) {
59
68
  throw new Error("Signer mismatched");
60
69
  }
61
70
  return yield this.interactionService.waitApproveV2(env, "/sign-ethereum", "request-sign-ethereum", {
@@ -131,6 +140,9 @@ class KeyRingEthereumService {
131
140
  }));
132
141
  });
133
142
  }
143
+ static evmInfo(chainInfo) {
144
+ return chainInfo.evm;
145
+ }
134
146
  }
135
147
  exports.KeyRingEthereumService = KeyRingEthereumService;
136
148
  //# sourceMappingURL=service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/keyring-ethereum/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/keyring-ethereum/service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,wCAA4C;AAI5C,+CAA6D;AAC7D,iDAAqD;AACrD,oCAAiC;AACjC,sDAK2B;AAC3B,8DAAwD;AAExD,MAAa,sBAAsB;IACjC,YACqB,aAA4B,EAC5B,cAA8B;IACjD,2EAA2E;IAC3E,kCAAkC;IACf,oBAA0C,EAC1C,kBAAsC,EACtC,gBAAkC;QANlC,kBAAa,GAAb,aAAa,CAAe;QAC5B,mBAAc,GAAd,cAAc,CAAgB;QAG9B,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,qBAAgB,GAAhB,gBAAgB,CAAkB;IACpD,CAAC;IAEE,IAAI;;YACR,UAAU;QACZ,CAAC;KAAA;IAEK,oBAAoB,CACxB,GAAQ,EACR,MAAc,EACd,OAAe,EACf,MAAc,EACd,OAAmB,EACnB,QAAqB;;YAErB,OAAO,MAAM,IAAI,CAAC,YAAY,CAC5B,GAAG,EACH,MAAM,EACN,IAAI,CAAC,cAAc,CAAC,eAAe,EACnC,OAAO,EACP,MAAM,EACN,OAAO,EACP,QAAQ,CACT,CAAC;QACJ,CAAC;KAAA;IAEK,YAAY,CAChB,GAAQ,EACR,MAAc,EACd,OAAe,EACf,OAAe,EACf,MAAc,EACd,OAAmB,EACnB,QAAqB;;YAErB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAClE,MAAM,eAAe,GAAG,wBAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAE1D,IAAI,CAAC,eAAe,IAAI,CAAC,OAAO,EAAE;gBAChC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;aACrD;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACxD,IAAI,CAAC,OAAO,EAAE;gBACZ,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;aAClC;YAED,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;gBAC7B,qCAAoB,CAAC,8CAA8C,CACjE,OAAO,CACR,CAAC;aACH;YAED,IAAI;gBACF,sBAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;aAChC;YAAC,WAAM;gBACN,6BAA6B;gBAC7B,MAAM,GAAG,CACP,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,MAAM,CACzD,CAAC,WAAW,EAAE,CAAC;aACjB;YAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACrE,MAAM,YAAY,GAChB,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,YAAY;iBACzD,mBAAmB,CAAC;YACzB,MAAM,aAAa,GAAG,IAAI,sBAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC5E,MAAM,kBAAkB,GAAG,sBAAa,CAAC,UAAU,CACjD,aAAa,EACb,YAAY,CACb,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACf,IAAI,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,kBAAkB,EAAE;gBAC7D,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;aACtC;YAED,OAAO,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAChD,GAAG,EACH,gBAAgB,EAChB,uBAAuB,EACvB;gBACE,MAAM;gBACN,OAAO;gBACP,MAAM;gBACN,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,OAAO;gBACP,QAAQ;gBACR,OAAO,EAAE,OAAO,CAAC,IAAI;gBACrB,cAAc,EAAE,OAAO,CAAC,WAAW;aACpC,EACD,CAAO,GAA+B,EAAE,EAAE;gBACxC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE;oBAC5D,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;wBAChD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;qBACtD;oBACD,OAAO,GAAG,CAAC,SAAS,CAAC;iBACtB;qBAAM;oBACL,QAAQ,QAAQ,EAAE;wBAChB,KAAK,mBAAW,CAAC,OAAO,CAAC,CAAC;4BACxB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAC9C,OAAO,EACP,OAAO,EACP,eAAM,CAAC,MAAM,CAAC;gCACZ,eAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC;gCAC7C,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gCACtC,OAAO;6BACR,CAAC,EACF,WAAW,CACZ,CAAC;4BACF,OAAO,eAAM,CAAC,MAAM,CAAC;gCACnB,SAAS,CAAC,CAAC;gCACX,SAAS,CAAC,CAAC;gCACX,8FAA8F;gCAC9F,SAAS,CAAC,CAAC;oCACT,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;oCAC1B,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;6BAC7B,CAAC,CAAC;yBACJ;wBACD,KAAK,mBAAW,CAAC,WAAW,CAAC,CAAC;4BAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;4BACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAC9C,OAAO,EACP,OAAO,EACP,eAAM,CAAC,IAAI,CAAC,IAAA,wBAAS,EAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,EACnD,WAAW,CACZ,CAAC;4BACF,OAAO,eAAM,CAAC,MAAM,CAAC;gCACnB,SAAS,CAAC,CAAC;gCACX,SAAS,CAAC,CAAC;gCACX,8FAA8F;gCAC9F,SAAS,CAAC,CAAC;oCACT,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;oCAC1B,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;6BAC7B,CAAC,CAAC;yBACJ;wBACD,KAAK,mBAAW,CAAC,MAAM,CAAC,CAAC;4BACvB,MAAM,IAAI,GAAG,MAAM,uCAAsB,CAAC,aAAa,CACrD,IAAI,CAAC,KAAK,CAAC,eAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAC5C,CAAC;4BACF,6FAA6F;4BAC7F,6DAA6D;4BAC7D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAC9C,OAAO,EACP,OAAO,EACP,eAAM,CAAC,MAAM,CAAC;gCACZ,gBAAgB;gCAChB,eAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;gCACxB,aAAa;gCACb,eAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;gCACxB,eAAM,CAAC,IAAI,CAAC,IAAA,2BAAU,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC;gCACtD,eAAM,CAAC,IAAI,CAAC,IAAA,4BAAW,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC;6BACxD,CAAC,EACF,WAAW,CACZ,CAAC;4BACF,OAAO,eAAM,CAAC,MAAM,CAAC;gCACnB,SAAS,CAAC,CAAC;gCACX,SAAS,CAAC,CAAC;gCACX,8FAA8F;gCAC9F,SAAS,CAAC,CAAC;oCACT,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;oCAC1B,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;6BAC7B,CAAC,CAAC;yBACJ;wBACD;4BACE,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;qBACrD;iBACF;YACH,CAAC,CAAA,CACF,CAAC;QACJ,CAAC;KAAA;IAED,MAAM,CAAC,OAAO,CAAC,SAAoB;QACjC,OAAO,SAAS,CAAC,GAAG,CAAC;IACvB,CAAC;CACF;AAtLD,wDAsLC"}
@@ -0,0 +1 @@
1
+ export declare const ROUTE = "token-erc20";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ROUTE = void 0;
4
+ exports.ROUTE = "token-erc20";
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/token-erc20/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,KAAK,GAAG,aAAa,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Handler } from "@keplr-wallet/router";
2
+ import { TokenERC20Service } from "./service";
3
+ import { PermissionInteractiveService } from "../permission-interactive";
4
+ export declare const getHandler: (service: TokenERC20Service, permissionInteractionService: PermissionInteractiveService) => Handler;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getHandler = void 0;
13
+ const router_1 = require("@keplr-wallet/router");
14
+ const messages_1 = require("./messages");
15
+ const getHandler = (service, permissionInteractionService) => {
16
+ return (env, msg) => {
17
+ switch (msg.constructor) {
18
+ case messages_1.GetAllERC20TokenInfosMsg:
19
+ return handleGetAllERC20TokenInfosMsg(service)(env, msg);
20
+ case messages_1.SuggestERC20TokenMsg:
21
+ return handleSuggestERC20TokenMsg(service, permissionInteractionService)(env, msg);
22
+ case messages_1.AddERC20TokenMsg:
23
+ return handleAddERC20TokenMsg(service)(env, msg);
24
+ case messages_1.RemoveERC20TokenMsg:
25
+ return handleRemoveERC20TokenMsg(service)(env, msg);
26
+ default:
27
+ throw new router_1.KeplrError("tokens", 120, "Unknown msg type");
28
+ }
29
+ };
30
+ };
31
+ exports.getHandler = getHandler;
32
+ const handleGetAllERC20TokenInfosMsg = (service) => {
33
+ return () => {
34
+ return service.getAllERC20TokenInfos();
35
+ };
36
+ };
37
+ const handleSuggestERC20TokenMsg = (service, permissionInteractionService) => {
38
+ return (env, msg) => __awaiter(void 0, void 0, void 0, function* () {
39
+ yield permissionInteractionService.ensureEnabled(env, [msg.chainId], msg.origin);
40
+ yield service.suggestERC20Token(env, msg.chainId, msg.contractAddress);
41
+ });
42
+ };
43
+ const handleAddERC20TokenMsg = (service) => {
44
+ return (_, msg) => __awaiter(void 0, void 0, void 0, function* () {
45
+ yield service.setERC20Token(msg.chainId, msg.currency);
46
+ return service.getAllERC20TokenInfos();
47
+ });
48
+ };
49
+ const handleRemoveERC20TokenMsg = (service) => {
50
+ return (_, msg) => {
51
+ service.removeERC20Token(msg.chainId, msg.contractAddress);
52
+ return service.getAllERC20TokenInfos();
53
+ };
54
+ };
55
+ //# sourceMappingURL=handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/token-erc20/handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iDAM8B;AAE9B,yCAKoB;AAGb,MAAM,UAAU,GAGR,CAAC,OAAO,EAAE,4BAA4B,EAAE,EAAE;IACvD,OAAO,CAAC,GAAQ,EAAE,GAAqB,EAAE,EAAE;QACzC,QAAQ,GAAG,CAAC,WAAW,EAAE;YACvB,KAAK,mCAAwB;gBAC3B,OAAO,8BAA8B,CAAC,OAAO,CAAC,CAC5C,GAAG,EACH,GAA+B,CAChC,CAAC;YACJ,KAAK,+BAAoB;gBACvB,OAAO,0BAA0B,CAC/B,OAAO,EACP,4BAA4B,CAC7B,CAAC,GAAG,EAAE,GAA2B,CAAC,CAAC;YACtC,KAAK,2BAAgB;gBACnB,OAAO,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAuB,CAAC,CAAC;YACvE,KAAK,8BAAmB;gBACtB,OAAO,yBAAyB,CAAC,OAAO,CAAC,CACvC,GAAG,EACH,GAA0B,CAC3B,CAAC;YACJ;gBACE,MAAM,IAAI,mBAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,kBAAkB,CAAC,CAAC;SAC3D;IACH,CAAC,CAAC;AACJ,CAAC,CAAC;AA3BW,QAAA,UAAU,cA2BrB;AAEF,MAAM,8BAA8B,GAEa,CAAC,OAAO,EAAE,EAAE;IAC3D,OAAO,GAAG,EAAE;QACV,OAAO,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACzC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAGa,CAC3C,OAAO,EACP,4BAA4B,EAC5B,EAAE;IACF,OAAO,CAAO,GAAG,EAAE,GAAG,EAAE,EAAE;QACxB,MAAM,4BAA4B,CAAC,aAAa,CAC9C,GAAG,EACH,CAAC,GAAG,CAAC,OAAO,CAAC,EACb,GAAG,CAAC,MAAM,CACX,CAAC;QACF,MAAM,OAAO,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;IACzE,CAAC,CAAA,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAEa,CAAC,OAAO,EAAE,EAAE;IACnD,OAAO,CAAO,CAAC,EAAE,GAAG,EAAE,EAAE;QACtB,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvD,OAAO,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACzC,CAAC,CAAA,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAEa,CAAC,OAAO,EAAE,EAAE;IACtD,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;QAChB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,eAAe,CAAC,CAAC;QAC3D,OAAO,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACzC,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./service";
2
+ export * from "./messages";
3
+ export * from "./types";
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./service"), exports);
18
+ __exportStar(require("./messages"), exports);
19
+ __exportStar(require("./types"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/token-erc20/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,6CAA2B;AAC3B,0CAAwB"}
@@ -0,0 +1,4 @@
1
+ import { Router } from "@keplr-wallet/router";
2
+ import { TokenERC20Service } from "./service";
3
+ import { PermissionInteractiveService } from "../permission-interactive";
4
+ export declare function init(router: Router, service: TokenERC20Service, permissionInteractionService: PermissionInteractiveService): void;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.init = void 0;
4
+ const messages_1 = require("./messages");
5
+ const constants_1 = require("./constants");
6
+ const handler_1 = require("./handler");
7
+ function init(router, service, permissionInteractionService) {
8
+ router.registerMessage(messages_1.GetAllERC20TokenInfosMsg);
9
+ router.registerMessage(messages_1.SuggestERC20TokenMsg);
10
+ router.registerMessage(messages_1.AddERC20TokenMsg);
11
+ router.registerMessage(messages_1.RemoveERC20TokenMsg);
12
+ router.addHandler(constants_1.ROUTE, (0, handler_1.getHandler)(service, permissionInteractionService));
13
+ }
14
+ exports.init = init;
15
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/token-erc20/init.ts"],"names":[],"mappings":";;;AACA,yCAKoB;AACpB,2CAAoC;AACpC,uCAAuC;AAIvC,SAAgB,IAAI,CAClB,MAAc,EACd,OAA0B,EAC1B,4BAA0D;IAE1D,MAAM,CAAC,eAAe,CAAC,mCAAwB,CAAC,CAAC;IACjD,MAAM,CAAC,eAAe,CAAC,+BAAoB,CAAC,CAAC;IAC7C,MAAM,CAAC,eAAe,CAAC,2BAAgB,CAAC,CAAC;IACzC,MAAM,CAAC,eAAe,CAAC,8BAAmB,CAAC,CAAC;IAE5C,MAAM,CAAC,UAAU,CAAC,iBAAK,EAAE,IAAA,oBAAU,EAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC,CAAC;AAC9E,CAAC;AAXD,oBAWC"}
@@ -0,0 +1,2 @@
1
+ export * from "./service";
2
+ export * from "./init";
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./service"), exports);
18
+ __exportStar(require("./init"), exports);
19
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/token-erc20/internal.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,yCAAuB"}
@@ -0,0 +1,38 @@
1
+ import { Message } from "@keplr-wallet/router";
2
+ import { ERC20TokenInfo } from "./types";
3
+ import { AppCurrency } from "@keplr-wallet/types";
4
+ export declare class GetAllERC20TokenInfosMsg extends Message<Record<string, ERC20TokenInfo[] | undefined>> {
5
+ static type(): string;
6
+ constructor();
7
+ validateBasic(): void;
8
+ route(): string;
9
+ type(): string;
10
+ }
11
+ export declare class SuggestERC20TokenMsg extends Message<void> {
12
+ readonly chainId: string;
13
+ readonly contractAddress: string;
14
+ static type(): string;
15
+ constructor(chainId: string, contractAddress: string);
16
+ approveExternal(): boolean;
17
+ validateBasic(): void;
18
+ route(): string;
19
+ type(): string;
20
+ }
21
+ export declare class AddERC20TokenMsg extends Message<Record<string, ERC20TokenInfo[] | undefined>> {
22
+ readonly chainId: string;
23
+ readonly currency: AppCurrency;
24
+ static type(): string;
25
+ constructor(chainId: string, currency: AppCurrency);
26
+ validateBasic(): void;
27
+ route(): string;
28
+ type(): string;
29
+ }
30
+ export declare class RemoveERC20TokenMsg extends Message<Record<string, ERC20TokenInfo[] | undefined>> {
31
+ readonly chainId: string;
32
+ readonly contractAddress: string;
33
+ static type(): string;
34
+ constructor(chainId: string, contractAddress: string);
35
+ validateBasic(): void;
36
+ route(): string;
37
+ type(): string;
38
+ }
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RemoveERC20TokenMsg = exports.AddERC20TokenMsg = exports.SuggestERC20TokenMsg = exports.GetAllERC20TokenInfosMsg = void 0;
4
+ const router_1 = require("@keplr-wallet/router");
5
+ const constants_1 = require("./constants");
6
+ class GetAllERC20TokenInfosMsg extends router_1.Message {
7
+ static type() {
8
+ return "GetAllERC20TokenInfosMsg";
9
+ }
10
+ constructor() {
11
+ super();
12
+ }
13
+ validateBasic() {
14
+ // noop
15
+ }
16
+ route() {
17
+ return constants_1.ROUTE;
18
+ }
19
+ type() {
20
+ return GetAllERC20TokenInfosMsg.type();
21
+ }
22
+ }
23
+ exports.GetAllERC20TokenInfosMsg = GetAllERC20TokenInfosMsg;
24
+ class SuggestERC20TokenMsg extends router_1.Message {
25
+ static type() {
26
+ return "SuggestERC20TokenMsg";
27
+ }
28
+ constructor(chainId, contractAddress) {
29
+ super();
30
+ this.chainId = chainId;
31
+ this.contractAddress = contractAddress;
32
+ }
33
+ approveExternal() {
34
+ return true;
35
+ }
36
+ validateBasic() {
37
+ if (!this.chainId) {
38
+ throw new router_1.KeplrError("tokens", 100, "Chain id is empty");
39
+ }
40
+ if (!this.contractAddress) {
41
+ throw new router_1.KeplrError("tokens", 101, "Contract address is empty");
42
+ }
43
+ }
44
+ route() {
45
+ return constants_1.ROUTE;
46
+ }
47
+ type() {
48
+ return SuggestERC20TokenMsg.type();
49
+ }
50
+ }
51
+ exports.SuggestERC20TokenMsg = SuggestERC20TokenMsg;
52
+ class AddERC20TokenMsg extends router_1.Message {
53
+ static type() {
54
+ return "AddERC20TokenMsg";
55
+ }
56
+ constructor(chainId, currency) {
57
+ super();
58
+ this.chainId = chainId;
59
+ this.currency = currency;
60
+ }
61
+ validateBasic() {
62
+ if (!this.chainId) {
63
+ throw new router_1.KeplrError("tokens", 100, "Chain id is empty");
64
+ }
65
+ }
66
+ route() {
67
+ return constants_1.ROUTE;
68
+ }
69
+ type() {
70
+ return AddERC20TokenMsg.type();
71
+ }
72
+ }
73
+ exports.AddERC20TokenMsg = AddERC20TokenMsg;
74
+ class RemoveERC20TokenMsg extends router_1.Message {
75
+ static type() {
76
+ return "RemoveERC20TokenMsg";
77
+ }
78
+ constructor(chainId, contractAddress) {
79
+ super();
80
+ this.chainId = chainId;
81
+ this.contractAddress = contractAddress;
82
+ }
83
+ validateBasic() {
84
+ if (!this.chainId) {
85
+ throw new router_1.KeplrError("tokens", 100, "Chain id is empty");
86
+ }
87
+ }
88
+ route() {
89
+ return constants_1.ROUTE;
90
+ }
91
+ type() {
92
+ return RemoveERC20TokenMsg.type();
93
+ }
94
+ }
95
+ exports.RemoveERC20TokenMsg = RemoveERC20TokenMsg;
96
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../src/token-erc20/messages.ts"],"names":[],"mappings":";;;AAAA,iDAA2D;AAC3D,2CAAoC;AAIpC,MAAa,wBAAyB,SAAQ,gBAE7C;IACQ,MAAM,CAAC,IAAI;QAChB,OAAO,0BAA0B,CAAC;IACpC,CAAC;IAED;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,aAAa;QACX,OAAO;IACT,CAAC;IAED,KAAK;QACH,OAAO,iBAAK,CAAC;IACf,CAAC;IAED,IAAI;QACF,OAAO,wBAAwB,CAAC,IAAI,EAAE,CAAC;IACzC,CAAC;CACF;AAtBD,4DAsBC;AAED,MAAa,oBAAqB,SAAQ,gBAAa;IAC9C,MAAM,CAAC,IAAI;QAChB,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,YACkB,OAAe,EACf,eAAuB;QAEvC,KAAK,EAAE,CAAC;QAHQ,YAAO,GAAP,OAAO,CAAQ;QACf,oBAAe,GAAf,eAAe,CAAQ;IAGzC,CAAC;IAEQ,eAAe;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,mBAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;SAC1D;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,MAAM,IAAI,mBAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,2BAA2B,CAAC,CAAC;SAClE;IACH,CAAC;IAED,KAAK;QACH,OAAO,iBAAK,CAAC;IACf,CAAC;IAED,IAAI;QACF,OAAO,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC;CACF;AAjCD,oDAiCC;AAED,MAAa,gBAAiB,SAAQ,gBAErC;IACQ,MAAM,CAAC,IAAI;QAChB,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,YACkB,OAAe,EACf,QAAqB;QAErC,KAAK,EAAE,CAAC;QAHQ,YAAO,GAAP,OAAO,CAAQ;QACf,aAAQ,GAAR,QAAQ,CAAa;IAGvC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,mBAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;SAC1D;IACH,CAAC;IAED,KAAK;QACH,OAAO,iBAAK,CAAC;IACf,CAAC;IAED,IAAI;QACF,OAAO,gBAAgB,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;CACF;AA3BD,4CA2BC;AAED,MAAa,mBAAoB,SAAQ,gBAExC;IACQ,MAAM,CAAC,IAAI;QAChB,OAAO,qBAAqB,CAAC;IAC/B,CAAC;IAED,YACkB,OAAe,EACf,eAAuB;QAEvC,KAAK,EAAE,CAAC;QAHQ,YAAO,GAAP,OAAO,CAAQ;QACf,oBAAe,GAAf,eAAe,CAAQ;IAGzC,CAAC;IAED,aAAa;QACX,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,MAAM,IAAI,mBAAU,CAAC,QAAQ,EAAE,GAAG,EAAE,mBAAmB,CAAC,CAAC;SAC1D;IACH,CAAC;IAED,KAAK;QACH,OAAO,iBAAK,CAAC;IACf,CAAC;IAED,IAAI;QACF,OAAO,mBAAmB,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;CACF;AA3BD,kDA2BC"}
@@ -0,0 +1,23 @@
1
+ import { Env } from "@keplr-wallet/router";
2
+ import { AppCurrency, ChainInfo, ERC20Currency } from "@keplr-wallet/types";
3
+ import { ChainsService } from "../chains";
4
+ import { KVStore } from "@keplr-wallet/common";
5
+ import { InteractionService } from "../interaction";
6
+ import { ERC20TokenInfo } from "./types";
7
+ export declare class TokenERC20Service {
8
+ protected chainsService: ChainsService;
9
+ protected interactionService: InteractionService;
10
+ protected readonly kvStore: KVStore;
11
+ protected tokenMap: Map<string, ERC20TokenInfo[]>;
12
+ constructor(kvStore: KVStore, chainsService: ChainsService, interactionService: InteractionService);
13
+ init(): Promise<void>;
14
+ protected readonly onChainRemoved: (chainInfo: ChainInfo) => void;
15
+ getAllERC20TokenInfos: () => Record<string, ERC20TokenInfo[] | undefined>;
16
+ protected validateChainInfo(chainInfo: ChainInfo): void;
17
+ suggestERC20Token(env: Env, chainId: string, contractAddress: string): Promise<void>;
18
+ getERC20Token: (chainId: string, contractAddress: string) => ERC20TokenInfo | undefined;
19
+ setERC20Token(chainId: string, currency: AppCurrency): Promise<void>;
20
+ removeERC20Token(chainId: string, contractAddress: string): void;
21
+ static validateCurrency(currency: AppCurrency): Promise<AppCurrency>;
22
+ static validateERC20Currency(currency: ERC20Currency): Promise<ERC20Currency>;
23
+ }