@keplr-wallet/cosmos 0.10.21 → 0.10.23

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.
@@ -2,6 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const index_1 = require("./index");
4
4
  describe("Test account parse", () => {
5
+ test("Test unknown account", () => {
6
+ expect(() => index_1.BaseAccount.fromProtoJSON({})).toThrow();
7
+ const account = index_1.BaseAccount.fromProtoJSON({}, "cosmos1vv6hruquzpty4xpks9znkw8gys5x4nsnqw9f4k");
8
+ expect(account.getAddress()).toBe("cosmos1vv6hruquzpty4xpks9znkw8gys5x4nsnqw9f4k");
9
+ expect(account.getSequence().toString()).toBe("0");
10
+ expect(account.getAccountNumber().toString()).toBe("0");
11
+ expect(account.getType()).toBe("");
12
+ });
5
13
  test("Test fromAminoJSON", () => {
6
14
  // Base account
7
15
  let account = index_1.BaseAccount.fromProtoJSON({
@@ -79,6 +87,34 @@ describe("Test account parse", () => {
79
87
  expect(account.getSequence().toString()).toBe("1");
80
88
  expect(account.getAccountNumber().toString()).toBe("11");
81
89
  expect(account.getType()).toBe("/ethermint.types.v1.EthAccount");
90
+ // Custom account that embeds the account (desmos)
91
+ account = index_1.BaseAccount.fromProtoJSON({
92
+ account: {
93
+ "@type": "/desmos.profiles.v1beta1.Profile",
94
+ account: {
95
+ "@type": "/cosmos.auth.v1beta1.BaseAccount",
96
+ address: "desmos1smwe5mmpnvda8pe5mh6le4agrvg6ts8z4zywy6",
97
+ pub_key: {
98
+ "@type": "/cosmos.crypto.secp256k1.PubKey",
99
+ key: "AltGpatBXsFjO1rX3O7F135ax3zLDMfxQSrVKXZd6kuF",
100
+ },
101
+ account_number: "44831",
102
+ sequence: "6",
103
+ },
104
+ dtag: "Test",
105
+ nickname: "test",
106
+ bio: "",
107
+ pictures: {
108
+ profile: "",
109
+ cover: "",
110
+ },
111
+ creation_date: "2022-08-11T12:23:44.480560677Z",
112
+ },
113
+ });
114
+ expect(account.getAddress()).toBe("desmos1smwe5mmpnvda8pe5mh6le4agrvg6ts8z4zywy6");
115
+ expect(account.getSequence().toString()).toBe("6");
116
+ expect(account.getAccountNumber().toString()).toBe("44831");
117
+ expect(account.getType()).toBe("/desmos.profiles.v1beta1.Profile");
82
118
  });
83
119
  });
84
120
  //# sourceMappingURL=account.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"account.spec.js","sourceRoot":"","sources":["../../src/account/account.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account.spec.js","sourceRoot":"","sources":["../../src/account/account.spec.ts"],"names":[],"mappings":"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"}
@@ -49,14 +49,20 @@ class BaseAccount {
49
49
  }
50
50
  return new BaseAccount("", defaultBech32Address, new unit_1.Int(0), new unit_1.Int(0));
51
51
  }
52
- const type = obj.account["@type"] || "";
53
52
  let value = obj.account;
53
+ const type = value["@type"] || "";
54
54
  // If the chain modifies the account type, handle the case where the account type embeds the base account.
55
55
  // (Actually, the only existent case is ethermint, and this is the line for handling ethermint)
56
56
  const baseAccount = value.BaseAccount || value.baseAccount || value.base_account;
57
57
  if (baseAccount) {
58
58
  value = baseAccount;
59
59
  }
60
+ // If the chain modifies the account type, handle the case where the account type embeds the account.
61
+ // (Actually, the only existent case is desmos, and this is the line for handling desmos)
62
+ const embedAccount = value.account;
63
+ if (embedAccount) {
64
+ value = embedAccount;
65
+ }
60
66
  // If the account is the vesting account that embeds the base vesting account,
61
67
  // the actual base account exists under the base vesting account.
62
68
  // But, this can be different according to the version of cosmos-sdk.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/account/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAAyC;AAUzC,MAAa,WAAW;IA6GtB,YACqB,IAAY,EACZ,OAAe,EACf,aAAkB,EAClB,QAAa;QAHb,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAQ;QACf,kBAAa,GAAb,aAAa,CAAK;QAClB,aAAQ,GAAR,QAAQ,CAAK;IAC/B,CAAC;IAjHG,MAAM,CAAO,aAAa,CAC/B,QAAuB,EACvB,OAAe;IACf,4FAA4F;IAC5F,+GAA+G;IAC/G,uBAAgC,KAAK;;YAErC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAC/B,iCAAiC,OAAO,EAAE,EAC1C;gBACE,cAAc,EAAE,UAAU,MAAM;oBAC9B,gEAAgE;oBAChE,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC,IAAI,MAAM,KAAK,GAAG,CAAC;gBAC3D,CAAC;aACF,CACF,CAAC;YAEF,OAAO,WAAW,CAAC,aAAa,CAC9B,MAAM,CAAC,IAAI,EACX,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CACpC,CAAC;QACJ,CAAC;KAAA;IAEM,MAAM,CAAC,aAAa,CACzB,GAeC;IACD,4FAA4F;IAC5F,+GAA+G;IAC/G,uBAA+B,EAAE;QAEjC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAChB,gCAAgC;YAChC,IAAI;YACJ,eAAe;YACf,+FAA+F;YAC/F,iBAAiB;YACjB,MAAM;YACN,IAAI;YACJ,IAAI,CAAC,oBAAoB,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACzE;YAED,OAAO,IAAI,WAAW,CAAC,EAAE,EAAE,oBAAoB,EAAE,IAAI,UAAG,CAAC,CAAC,CAAC,EAAE,IAAI,UAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1E;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAExC,IAAI,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;QAExB,0GAA0G;QAC1G,+FAA+F;QAC/F,MAAM,WAAW,GACf,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,YAAY,CAAC;QAC/D,IAAI,WAAW,EAAE;YACf,KAAK,GAAG,WAAW,CAAC;SACrB;QAED,8EAA8E;QAC9E,iEAAiE;QACjE,qEAAqE;QACrE,8CAA8C;QAC9C,MAAM,kBAAkB,GACtB,KAAK,CAAC,kBAAkB;YACxB,KAAK,CAAC,kBAAkB;YACxB,KAAK,CAAC,oBAAoB,CAAC;QAC7B,IAAI,kBAAkB,EAAE;YACtB,KAAK,GAAG,kBAAkB,CAAC;YAE3B,MAAM,WAAW,GACf,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,YAAY,CAAC;YAC/D,IAAI,WAAW,EAAE;gBACf,KAAK,GAAG,WAAW,CAAC;aACrB;SACF;QAED,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE;YACZ,IAAI,CAAC,oBAAoB,EAAE;gBACzB,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACzE;YACD,OAAO,GAAG,oBAAoB,CAAC;SAChC;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,cAAc,CAAC;QAC3C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAEhC,OAAO,IAAI,WAAW,CACpB,IAAI,EACJ,OAAO,EACP,IAAI,UAAG,CAAC,aAAa,IAAI,GAAG,CAAC,EAC7B,IAAI,UAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,CACzB,CAAC;IACJ,CAAC;IASD,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF;AAnID,kCAmIC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/account/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keplr-wallet/cosmos",
3
- "version": "0.10.21",
3
+ "version": "0.10.23",
4
4
  "main": "build/index.js",
5
5
  "author": "chainapsis",
6
6
  "license": "Apache-2.0",
@@ -19,15 +19,15 @@
19
19
  "dependencies": {
20
20
  "@cosmjs/launchpad": "^0.24.0-alpha.25",
21
21
  "@ethersproject/address": "^5.6.0",
22
- "@keplr-wallet/crypto": "0.10.21",
23
- "@keplr-wallet/proto-types": "0.10.21",
24
- "@keplr-wallet/types": "0.10.21",
25
- "@keplr-wallet/unit": "0.10.21",
22
+ "@keplr-wallet/crypto": "0.10.23",
23
+ "@keplr-wallet/proto-types": "0.10.23",
24
+ "@keplr-wallet/types": "0.10.23",
25
+ "@keplr-wallet/unit": "0.10.23",
26
26
  "axios": "^0.21.4",
27
27
  "bech32": "^1.1.4",
28
28
  "buffer": "^6.0.3",
29
29
  "long": "^4.0.0",
30
30
  "protobufjs": "^6.11.2"
31
31
  },
32
- "gitHead": "a8f925e6e345b08d5d2dbd6eac9135ade8e9e1b2"
32
+ "gitHead": "3be0fd82edda817dda79a77497c1cdf596063178"
33
33
  }
@@ -1,6 +1,21 @@
1
1
  import { BaseAccount } from "./index";
2
2
 
3
3
  describe("Test account parse", () => {
4
+ test("Test unknown account", () => {
5
+ expect(() => BaseAccount.fromProtoJSON({})).toThrow();
6
+
7
+ const account = BaseAccount.fromProtoJSON(
8
+ {},
9
+ "cosmos1vv6hruquzpty4xpks9znkw8gys5x4nsnqw9f4k"
10
+ );
11
+ expect(account.getAddress()).toBe(
12
+ "cosmos1vv6hruquzpty4xpks9znkw8gys5x4nsnqw9f4k"
13
+ );
14
+ expect(account.getSequence().toString()).toBe("0");
15
+ expect(account.getAccountNumber().toString()).toBe("0");
16
+ expect(account.getType()).toBe("");
17
+ });
18
+
4
19
  test("Test fromAminoJSON", () => {
5
20
  // Base account
6
21
  let account = BaseAccount.fromProtoJSON({
@@ -91,5 +106,37 @@ describe("Test account parse", () => {
91
106
  expect(account.getSequence().toString()).toBe("1");
92
107
  expect(account.getAccountNumber().toString()).toBe("11");
93
108
  expect(account.getType()).toBe("/ethermint.types.v1.EthAccount");
109
+
110
+ // Custom account that embeds the account (desmos)
111
+ account = BaseAccount.fromProtoJSON({
112
+ account: {
113
+ "@type": "/desmos.profiles.v1beta1.Profile",
114
+ account: {
115
+ "@type": "/cosmos.auth.v1beta1.BaseAccount",
116
+ address: "desmos1smwe5mmpnvda8pe5mh6le4agrvg6ts8z4zywy6",
117
+ pub_key: {
118
+ "@type": "/cosmos.crypto.secp256k1.PubKey",
119
+ key: "AltGpatBXsFjO1rX3O7F135ax3zLDMfxQSrVKXZd6kuF",
120
+ },
121
+ account_number: "44831",
122
+ sequence: "6",
123
+ },
124
+ dtag: "Test",
125
+ nickname: "test",
126
+ bio: "",
127
+ pictures: {
128
+ profile: "",
129
+ cover: "",
130
+ },
131
+ creation_date: "2022-08-11T12:23:44.480560677Z",
132
+ },
133
+ });
134
+
135
+ expect(account.getAddress()).toBe(
136
+ "desmos1smwe5mmpnvda8pe5mh6le4agrvg6ts8z4zywy6"
137
+ );
138
+ expect(account.getSequence().toString()).toBe("6");
139
+ expect(account.getAccountNumber().toString()).toBe("44831");
140
+ expect(account.getType()).toBe("/desmos.profiles.v1beta1.Profile");
94
141
  });
95
142
  });
@@ -68,9 +68,8 @@ export class BaseAccount implements Account {
68
68
  return new BaseAccount("", defaultBech32Address, new Int(0), new Int(0));
69
69
  }
70
70
 
71
- const type = obj.account["@type"] || "";
72
-
73
71
  let value = obj.account;
72
+ const type = value["@type"] || "";
74
73
 
75
74
  // If the chain modifies the account type, handle the case where the account type embeds the base account.
76
75
  // (Actually, the only existent case is ethermint, and this is the line for handling ethermint)
@@ -80,6 +79,13 @@ export class BaseAccount implements Account {
80
79
  value = baseAccount;
81
80
  }
82
81
 
82
+ // If the chain modifies the account type, handle the case where the account type embeds the account.
83
+ // (Actually, the only existent case is desmos, and this is the line for handling desmos)
84
+ const embedAccount = value.account;
85
+ if (embedAccount) {
86
+ value = embedAccount;
87
+ }
88
+
83
89
  // If the account is the vesting account that embeds the base vesting account,
84
90
  // the actual base account exists under the base vesting account.
85
91
  // But, this can be different according to the version of cosmos-sdk.