@keplr-wallet/background 0.11.11 → 0.11.12-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.
@@ -0,0 +1,7 @@
1
+ import { StdSignDoc } from "@cosmjs/launchpad";
2
+ /**
3
+ * Trim unknown fields from sign doc.
4
+ * The purpose of this function is not validate the sign doc, but only trim unknown fields.
5
+ * @param signDoc
6
+ */
7
+ export declare function trimAminoSignDoc(signDoc: StdSignDoc): StdSignDoc;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.trimAminoSignDoc = void 0;
7
+ const joi_1 = __importDefault(require("joi"));
8
+ const TrimAminoSignDocScheme = joi_1.default.object({
9
+ chain_id: joi_1.default.string().required(),
10
+ account_number: joi_1.default.string().allow(""),
11
+ sequence: joi_1.default.string().allow(""),
12
+ fee: joi_1.default.object({
13
+ amount: joi_1.default.array().items(joi_1.default.object({
14
+ denom: joi_1.default.string().allow(""),
15
+ amount: joi_1.default.string().allow(""),
16
+ })),
17
+ gas: joi_1.default.string().allow(""),
18
+ payer: joi_1.default.string().allow(""),
19
+ granter: joi_1.default.string().allow(""),
20
+ }),
21
+ msgs: joi_1.default.array().items(joi_1.default.any()),
22
+ memo: joi_1.default.string().allow(""),
23
+ timeout_height: joi_1.default.string().allow(""),
24
+ });
25
+ /**
26
+ * Trim unknown fields from sign doc.
27
+ * The purpose of this function is not validate the sign doc, but only trim unknown fields.
28
+ * @param signDoc
29
+ */
30
+ function trimAminoSignDoc(signDoc) {
31
+ const res = TrimAminoSignDocScheme.validate(signDoc, {
32
+ stripUnknown: true,
33
+ });
34
+ if (res.error) {
35
+ throw res.error;
36
+ }
37
+ return res.value;
38
+ }
39
+ exports.trimAminoSignDoc = trimAminoSignDoc;
40
+ //# sourceMappingURL=amino-sign-doc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amino-sign-doc.js","sourceRoot":"","sources":["../../src/keyring/amino-sign-doc.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsB;AAGtB,MAAM,sBAAsB,GAAG,aAAG,CAAC,MAAM,CAAC;IACxC,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IACtC,QAAQ,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAChC,GAAG,EAAE,aAAG,CAAC,MAAM,CAAC;QACd,MAAM,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CACvB,aAAG,CAAC,MAAM,CAAC;YACT,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;SAC/B,CAAC,CACH;QACD,GAAG,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,KAAK,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;KAChC,CAAC;IACF,IAAI,EAAE,aAAG,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,aAAG,CAAC,GAAG,EAAE,CAAC;IAClC,IAAI,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5B,cAAc,EAAE,aAAG,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;CACvC,CAAC,CAAC;AAEH;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,OAAmB;IAClD,MAAM,GAAG,GAAG,sBAAsB,CAAC,QAAQ,CAAC,OAAO,EAAE;QACnD,YAAY,EAAE,IAAI;KACnB,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,KAAK,EAAE;QACb,MAAM,GAAG,CAAC,KAAK,CAAC;KACjB;IACD,OAAO,GAAG,CAAC,KAAK,CAAC;AACnB,CAAC;AARD,4CAQC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const amino_sign_doc_1 = require("./amino-sign-doc");
4
+ describe("Test trim amino sign doc", () => {
5
+ it("test normal sign doc", () => {
6
+ const signDoc = {
7
+ chain_id: "cosmoshub-4",
8
+ account_number: "1642",
9
+ sequence: "26235",
10
+ fee: {
11
+ amount: [],
12
+ gas: "838921",
13
+ },
14
+ msgs: [
15
+ {
16
+ type: "cosmos-sdk/MsgWithdrawDelegationReward",
17
+ value: {
18
+ delegator_address: "cosmos1ptxnfvmjyx6n6hsu5q2yv9thsy24f83cplprmg",
19
+ validator_address: "cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0",
20
+ },
21
+ },
22
+ ],
23
+ memo: "",
24
+ };
25
+ const newSignDoc = amino_sign_doc_1.trimAminoSignDoc(signDoc);
26
+ expect(JSON.stringify(newSignDoc)).toBe(JSON.stringify(signDoc));
27
+ });
28
+ it("test invalid sign doc", () => {
29
+ const signDoc = {
30
+ chain_id: "cosmoshub-4",
31
+ account_number: false,
32
+ sequence: false,
33
+ fee: {
34
+ amount: [],
35
+ gas: "838921",
36
+ },
37
+ msgs: [
38
+ {
39
+ type: "cosmos-sdk/MsgWithdrawDelegationReward",
40
+ value: {
41
+ delegator_address: "cosmos1ptxnfvmjyx6n6hsu5q2yv9thsy24f83cplprmg",
42
+ validator_address: "cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0",
43
+ },
44
+ },
45
+ ],
46
+ memo: "",
47
+ };
48
+ expect(() => amino_sign_doc_1.trimAminoSignDoc(signDoc)).toThrow();
49
+ });
50
+ it("test sign doc with unknown field", () => {
51
+ const signDoc = {
52
+ chain_id: "cosmoshub-4",
53
+ account_number: "1642",
54
+ sequence: "26235",
55
+ fee: {
56
+ amount: [],
57
+ gas: "838921",
58
+ },
59
+ msgs: [
60
+ {
61
+ type: "cosmos-sdk/MsgWithdrawDelegationReward",
62
+ value: {
63
+ delegator_address: "cosmos1ptxnfvmjyx6n6hsu5q2yv9thsy24f83cplprmg",
64
+ validator_address: "cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0",
65
+ },
66
+ },
67
+ ],
68
+ memo: "",
69
+ unknown: 1,
70
+ };
71
+ const newSignDoc = amino_sign_doc_1.trimAminoSignDoc(signDoc);
72
+ expect(newSignDoc.unknown).toBe(undefined);
73
+ expect(JSON.stringify(newSignDoc)).toBe(JSON.stringify((() => {
74
+ const obj = Object.assign({}, signDoc);
75
+ delete obj.unknown;
76
+ return obj;
77
+ })()));
78
+ });
79
+ it("test sign doc with unknown fields in fee", () => {
80
+ const signDoc = {
81
+ chain_id: "cosmoshub-4",
82
+ account_number: "1642",
83
+ sequence: "26235",
84
+ fee: {
85
+ amount: [
86
+ {
87
+ denom: "uatom",
88
+ amount: "2000",
89
+ foo: 1,
90
+ },
91
+ ],
92
+ gas: "838921",
93
+ payer: "cosmos1ptxnfvmjyx6n6hsu5q2yv9thsy24f83cplprmg",
94
+ granter: "cosmos1ptxnfvmjyx6n6hsu5q2yv9thsy24f83cplprmg",
95
+ bar: "unknown",
96
+ },
97
+ msgs: [
98
+ {
99
+ type: "cosmos-sdk/MsgWithdrawDelegationReward",
100
+ value: {
101
+ delegator_address: "cosmos1ptxnfvmjyx6n6hsu5q2yv9thsy24f83cplprmg",
102
+ validator_address: "cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0",
103
+ },
104
+ },
105
+ ],
106
+ memo: "",
107
+ };
108
+ const newSignDoc = amino_sign_doc_1.trimAminoSignDoc(signDoc);
109
+ expect(newSignDoc.fee.bar).toBe(undefined);
110
+ expect(newSignDoc.fee.amount[0].foo).toBe(undefined);
111
+ expect(JSON.stringify(newSignDoc)).toBe(JSON.stringify((() => {
112
+ const obj = Object.assign({}, signDoc);
113
+ delete obj.fee.bar;
114
+ delete obj.fee.amount[0].foo;
115
+ return obj;
116
+ })()));
117
+ });
118
+ it("test sign doc with dumb msgs", () => {
119
+ const signDoc = {
120
+ chain_id: "cosmoshub-4",
121
+ account_number: "1642",
122
+ sequence: "26235",
123
+ fee: {
124
+ amount: [],
125
+ gas: "838921",
126
+ },
127
+ msgs: [
128
+ {
129
+ delegator_address: "cosmos1ptxnfvmjyx6n6hsu5q2yv9thsy24f83cplprmg",
130
+ validator_address: "cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0",
131
+ },
132
+ "dumb",
133
+ ],
134
+ memo: "",
135
+ };
136
+ const newSignDoc = amino_sign_doc_1.trimAminoSignDoc(signDoc);
137
+ expect(JSON.stringify(newSignDoc)).toBe(JSON.stringify(signDoc));
138
+ });
139
+ });
140
+ //# sourceMappingURL=amino-sign-doc.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amino-sign-doc.spec.js","sourceRoot":"","sources":["../../src/keyring/amino-sign-doc.spec.ts"],"names":[],"mappings":"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"}
@@ -34,6 +34,7 @@ const proto_signing_1 = require("@cosmjs/proto-signing");
34
34
  const tx_1 = require("@keplr-wallet/proto-types/cosmos/tx/v1beta1/tx");
35
35
  const long_1 = __importDefault(require("long"));
36
36
  const buffer_1 = require("buffer/");
37
+ const amino_sign_doc_1 = require("./amino-sign-doc");
37
38
  class KeyRingService {
38
39
  constructor(kvStore, embedChainInfos, crypto) {
39
40
  this.kvStore = kvStore;
@@ -153,6 +154,7 @@ class KeyRingService {
153
154
  requestSignAmino(env, msgOrigin, chainId, signer, signDoc, signOptions) {
154
155
  return __awaiter(this, void 0, void 0, function* () {
155
156
  signDoc = Object.assign(Object.assign({}, signDoc), { memo: common_1.escapeHTML(signDoc.memo) });
157
+ signDoc = amino_sign_doc_1.trimAminoSignDoc(signDoc);
156
158
  const coinType = yield this.chainsService.getChainCoinType(chainId);
157
159
  const ethereumKeyFeatures = yield this.chainsService.getChainEthereumKeyFeatures(chainId);
158
160
  if (ethereumKeyFeatures.address || ethereumKeyFeatures.signing) {
@@ -237,6 +239,7 @@ class KeyRingService {
237
239
  requestSignEIP712CosmosTx_v0(env, msgOrigin, chainId, signer, eip712, signDoc, signOptions) {
238
240
  return __awaiter(this, void 0, void 0, function* () {
239
241
  signDoc = Object.assign(Object.assign({}, signDoc), { memo: common_1.escapeHTML(signDoc.memo) });
242
+ signDoc = amino_sign_doc_1.trimAminoSignDoc(signDoc);
240
243
  const coinType = yield this.chainsService.getChainCoinType(chainId);
241
244
  const ethereumKeyFeatures = yield this.chainsService.getChainEthereumKeyFeatures(chainId);
242
245
  if (ethereumKeyFeatures.address || ethereumKeyFeatures.signing) {
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/keyring/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/keyring/service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@keplr-wallet/background",
3
- "version": "0.11.11",
3
+ "version": "0.11.12-rc.0",
4
4
  "main": "build/index.js",
5
5
  "author": "chainapsis",
6
6
  "license": "Apache-2.0",
@@ -30,14 +30,14 @@
30
30
  "@ethersproject/hash": "^5.7.0",
31
31
  "@ethersproject/transactions": "^5.7.0",
32
32
  "@ethersproject/wallet": "^5.7.0",
33
- "@keplr-wallet/common": "0.11.11",
34
- "@keplr-wallet/cosmos": "0.11.11",
35
- "@keplr-wallet/crypto": "0.11.11",
36
- "@keplr-wallet/popup": "0.11.11",
37
- "@keplr-wallet/proto-types": "0.11.11",
38
- "@keplr-wallet/router": "0.11.11",
39
- "@keplr-wallet/types": "0.11.11",
40
- "@keplr-wallet/unit": "0.11.11",
33
+ "@keplr-wallet/common": "0.11.12-rc.0",
34
+ "@keplr-wallet/cosmos": "0.11.12-rc.0",
35
+ "@keplr-wallet/crypto": "0.11.12-rc.0",
36
+ "@keplr-wallet/popup": "0.11.12-rc.0",
37
+ "@keplr-wallet/proto-types": "0.11.12-rc.0",
38
+ "@keplr-wallet/router": "0.11.12-rc.0",
39
+ "@keplr-wallet/types": "0.11.12-rc.0",
40
+ "@keplr-wallet/unit": "0.11.12-rc.0",
41
41
  "@ledgerhq/hw-app-eth": "^6.29.3",
42
42
  "@ledgerhq/hw-transport": "^6.20.0",
43
43
  "@ledgerhq/hw-transport-webhid": "^6.20.0",
@@ -56,5 +56,5 @@
56
56
  "secretjs": "0.17.7",
57
57
  "utility-types": "^3.10.0"
58
58
  },
59
- "gitHead": "36afde09d62126adff98d84927f6bc57ea499fcd"
59
+ "gitHead": "2505adc0a44a2adb031e6da3114f8655ff7900e3"
60
60
  }
@@ -0,0 +1,168 @@
1
+ import { trimAminoSignDoc } from "./amino-sign-doc";
2
+
3
+ describe("Test trim amino sign doc", () => {
4
+ it("test normal sign doc", () => {
5
+ const signDoc = {
6
+ chain_id: "cosmoshub-4",
7
+ account_number: "1642",
8
+ sequence: "26235",
9
+ fee: {
10
+ amount: [],
11
+ gas: "838921",
12
+ },
13
+ msgs: [
14
+ {
15
+ type: "cosmos-sdk/MsgWithdrawDelegationReward",
16
+ value: {
17
+ delegator_address: "cosmos1ptxnfvmjyx6n6hsu5q2yv9thsy24f83cplprmg",
18
+ validator_address:
19
+ "cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0",
20
+ },
21
+ },
22
+ ],
23
+ memo: "",
24
+ };
25
+
26
+ const newSignDoc = trimAminoSignDoc(signDoc);
27
+
28
+ expect(JSON.stringify(newSignDoc)).toBe(JSON.stringify(signDoc));
29
+ });
30
+
31
+ it("test invalid sign doc", () => {
32
+ const signDoc = {
33
+ chain_id: "cosmoshub-4",
34
+ account_number: false,
35
+ sequence: false,
36
+ fee: {
37
+ amount: [],
38
+ gas: "838921",
39
+ },
40
+ msgs: [
41
+ {
42
+ type: "cosmos-sdk/MsgWithdrawDelegationReward",
43
+ value: {
44
+ delegator_address: "cosmos1ptxnfvmjyx6n6hsu5q2yv9thsy24f83cplprmg",
45
+ validator_address:
46
+ "cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0",
47
+ },
48
+ },
49
+ ],
50
+ memo: "",
51
+ } as any;
52
+
53
+ expect(() => trimAminoSignDoc(signDoc)).toThrow();
54
+ });
55
+
56
+ it("test sign doc with unknown field", () => {
57
+ const signDoc = {
58
+ chain_id: "cosmoshub-4",
59
+ account_number: "1642",
60
+ sequence: "26235",
61
+ fee: {
62
+ amount: [],
63
+ gas: "838921",
64
+ },
65
+ msgs: [
66
+ {
67
+ type: "cosmos-sdk/MsgWithdrawDelegationReward",
68
+ value: {
69
+ delegator_address: "cosmos1ptxnfvmjyx6n6hsu5q2yv9thsy24f83cplprmg",
70
+ validator_address:
71
+ "cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0",
72
+ },
73
+ },
74
+ ],
75
+ memo: "",
76
+ unknown: 1,
77
+ };
78
+
79
+ const newSignDoc = trimAminoSignDoc(signDoc);
80
+
81
+ expect((newSignDoc as any).unknown).toBe(undefined);
82
+ expect(JSON.stringify(newSignDoc)).toBe(
83
+ JSON.stringify(
84
+ (() => {
85
+ const obj = {
86
+ ...signDoc,
87
+ } as any;
88
+ delete obj.unknown;
89
+ return obj;
90
+ })()
91
+ )
92
+ );
93
+ });
94
+
95
+ it("test sign doc with unknown fields in fee", () => {
96
+ const signDoc = {
97
+ chain_id: "cosmoshub-4",
98
+ account_number: "1642",
99
+ sequence: "26235",
100
+ fee: {
101
+ amount: [
102
+ {
103
+ denom: "uatom",
104
+ amount: "2000",
105
+ foo: 1,
106
+ },
107
+ ],
108
+ gas: "838921",
109
+ payer: "cosmos1ptxnfvmjyx6n6hsu5q2yv9thsy24f83cplprmg",
110
+ granter: "cosmos1ptxnfvmjyx6n6hsu5q2yv9thsy24f83cplprmg",
111
+ bar: "unknown",
112
+ },
113
+ msgs: [
114
+ {
115
+ type: "cosmos-sdk/MsgWithdrawDelegationReward",
116
+ value: {
117
+ delegator_address: "cosmos1ptxnfvmjyx6n6hsu5q2yv9thsy24f83cplprmg",
118
+ validator_address:
119
+ "cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0",
120
+ },
121
+ },
122
+ ],
123
+ memo: "",
124
+ };
125
+
126
+ const newSignDoc = trimAminoSignDoc(signDoc);
127
+
128
+ expect((newSignDoc as any).fee.bar).toBe(undefined);
129
+ expect((newSignDoc as any).fee.amount[0].foo).toBe(undefined);
130
+ expect(JSON.stringify(newSignDoc)).toBe(
131
+ JSON.stringify(
132
+ (() => {
133
+ const obj = {
134
+ ...signDoc,
135
+ } as any;
136
+ delete obj.fee.bar;
137
+ delete obj.fee.amount[0].foo;
138
+ return obj;
139
+ })()
140
+ )
141
+ );
142
+ });
143
+
144
+ it("test sign doc with dumb msgs", () => {
145
+ const signDoc = {
146
+ chain_id: "cosmoshub-4",
147
+ account_number: "1642",
148
+ sequence: "26235",
149
+ fee: {
150
+ amount: [],
151
+ gas: "838921",
152
+ },
153
+ msgs: [
154
+ {
155
+ delegator_address: "cosmos1ptxnfvmjyx6n6hsu5q2yv9thsy24f83cplprmg",
156
+ validator_address:
157
+ "cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0",
158
+ },
159
+ "dumb",
160
+ ],
161
+ memo: "",
162
+ } as any;
163
+
164
+ const newSignDoc = trimAminoSignDoc(signDoc);
165
+
166
+ expect(JSON.stringify(newSignDoc)).toBe(JSON.stringify(signDoc));
167
+ });
168
+ });
@@ -0,0 +1,37 @@
1
+ import Joi from "joi";
2
+ import { StdSignDoc } from "@cosmjs/launchpad";
3
+
4
+ const TrimAminoSignDocScheme = Joi.object({
5
+ chain_id: Joi.string().required(),
6
+ account_number: Joi.string().allow(""),
7
+ sequence: Joi.string().allow(""),
8
+ fee: Joi.object({
9
+ amount: Joi.array().items(
10
+ Joi.object({
11
+ denom: Joi.string().allow(""),
12
+ amount: Joi.string().allow(""),
13
+ })
14
+ ),
15
+ gas: Joi.string().allow(""),
16
+ payer: Joi.string().allow(""),
17
+ granter: Joi.string().allow(""),
18
+ }),
19
+ msgs: Joi.array().items(Joi.any()),
20
+ memo: Joi.string().allow(""),
21
+ timeout_height: Joi.string().allow(""),
22
+ });
23
+
24
+ /**
25
+ * Trim unknown fields from sign doc.
26
+ * The purpose of this function is not validate the sign doc, but only trim unknown fields.
27
+ * @param signDoc
28
+ */
29
+ export function trimAminoSignDoc(signDoc: StdSignDoc): StdSignDoc {
30
+ const res = TrimAminoSignDocScheme.validate(signDoc, {
31
+ stripUnknown: true,
32
+ });
33
+ if (res.error) {
34
+ throw res.error;
35
+ }
36
+ return res.value;
37
+ }
@@ -40,6 +40,7 @@ import { DirectSignResponse, makeSignBytes } from "@cosmjs/proto-signing";
40
40
  import { SignDoc } from "@keplr-wallet/proto-types/cosmos/tx/v1beta1/tx";
41
41
  import Long from "long";
42
42
  import { Buffer } from "buffer/";
43
+ import { trimAminoSignDoc } from "./amino-sign-doc";
43
44
 
44
45
  export class KeyRingService {
45
46
  private keyRing!: KeyRing;
@@ -256,6 +257,8 @@ export class KeyRingService {
256
257
  memo: escapeHTML(signDoc.memo),
257
258
  };
258
259
 
260
+ signDoc = trimAminoSignDoc(signDoc);
261
+
259
262
  const coinType = await this.chainsService.getChainCoinType(chainId);
260
263
  const ethereumKeyFeatures = await this.chainsService.getChainEthereumKeyFeatures(
261
264
  chainId
@@ -409,6 +412,8 @@ export class KeyRingService {
409
412
  memo: escapeHTML(signDoc.memo),
410
413
  };
411
414
 
415
+ signDoc = trimAminoSignDoc(signDoc);
416
+
412
417
  const coinType = await this.chainsService.getChainCoinType(chainId);
413
418
  const ethereumKeyFeatures = await this.chainsService.getChainEthereumKeyFeatures(
414
419
  chainId