@ritbit/v4-client-js 2.5.1 → 2.6.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/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/models.js +19 -3
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/params.js +28 -3
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/tx.js +92 -5
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/tx.rpc.msg.js +7 -1
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/tx.js +19 -3
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.js +1 -1
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/denomwrap/params.js +134 -0
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/denomwrap/tx.js +204 -0
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/denomwrap/tx.rpc.msg.js +57 -0
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/lcd.js +4 -1
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/rpc.query.js +3 -2
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/rpc.tx.js +4 -2
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/sending/tx.js +1 -1
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/genesis.js +151 -0
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/params.js +134 -0
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/query.js +248 -0
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/query.lcd.js +34 -0
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/query.rpc.Query.js +71 -0
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/tx.js +282 -0
- package/build/cjs/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/tx.rpc.msg.js +63 -0
- package/build/cjs/src/clients/composite-client.js +7 -3
- package/build/cjs/src/clients/constants.js +15 -3
- package/build/cjs/src/clients/lib/accounts.js +77 -0
- package/build/cjs/src/clients/lib/agent-approval-tx.js +83 -0
- package/build/cjs/src/clients/lib/agent-approval.js +119 -0
- package/build/cjs/src/clients/lib/eip712.js +592 -0
- package/build/cjs/src/clients/lib/eth-pubkey.js +68 -0
- package/build/cjs/src/clients/modules/composer.js +15 -2
- package/build/cjs/src/clients/modules/eip712-signer.js +189 -0
- package/build/cjs/src/clients/modules/eth-agent-wallet.js +101 -0
- package/build/cjs/src/clients/modules/eth-wallet.js +91 -0
- package/build/cjs/src/clients/modules/get.js +3 -3
- package/build/cjs/src/clients/modules/local-wallet.js +9 -2
- package/build/cjs/src/clients/modules/post.js +14 -4
- package/build/cjs/src/clients/modules/signer.js +13 -3
- package/build/cjs/src/clients/native.js +3 -3
- package/build/cjs/src/clients/types.js +1 -1
- package/build/cjs/src/index.js +38 -2
- package/build/cjs/src/lib/evm-address.js +92 -0
- package/build/cjs/src/lib/trading-key-utils.js +41 -3
- package/build/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/models.d.ts +15 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/models.d.ts.map +1 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/models.js +19 -3
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/params.d.ts +24 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/params.d.ts.map +1 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/params.js +28 -3
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/tx.d.ts +43 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/tx.d.ts.map +1 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/tx.js +91 -4
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/tx.rpc.msg.d.ts +4 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/tx.rpc.msg.d.ts.map +1 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/accountplus/tx.rpc.msg.js +8 -2
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/tx.d.ts +9 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/tx.d.ts.map +1 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/assets/tx.js +19 -3
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.d.ts +14 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.d.ts.map +1 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/bridge/tx.js +1 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/denomwrap/params.d.ts +116 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/denomwrap/params.d.ts.map +1 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/denomwrap/params.js +98 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/denomwrap/tx.d.ts +80 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/denomwrap/tx.d.ts.map +1 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/denomwrap/tx.js +168 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/denomwrap/tx.rpc.msg.d.ts +21 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/denomwrap/tx.rpc.msg.d.ts.map +1 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/denomwrap/tx.rpc.msg.js +20 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/lcd.d.ts +1 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/lcd.d.ts.map +1 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/lcd.js +4 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/rpc.query.d.ts +4 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/rpc.query.d.ts.map +1 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/rpc.query.js +3 -2
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/rpc.tx.d.ts +2 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/rpc.tx.d.ts.map +1 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/rpc.tx.js +4 -2
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/sending/tx.d.ts +0 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/sending/tx.d.ts.map +1 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/sending/tx.js +1 -1
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/genesis.d.ts +79 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/genesis.d.ts.map +1 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/genesis.js +115 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/params.d.ts +116 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/params.d.ts.map +1 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/params.js +98 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/query.d.ts +82 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/query.d.ts.map +1 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/query.js +212 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/query.lcd.d.ts +11 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/query.lcd.d.ts.map +1 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/query.lcd.js +30 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/query.rpc.Query.d.ts +29 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/query.rpc.Query.d.ts.map +1 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/query.rpc.Query.js +33 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/tx.d.ts +123 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/tx.d.ts.map +1 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/tx.js +246 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/tx.rpc.msg.d.ts +36 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/tx.rpc.msg.d.ts.map +1 -0
- package/build/esm/node_modules/@ritbit/v4-proto/src/codegen/ritbit/wrap/tx.rpc.msg.js +26 -0
- package/build/esm/src/clients/composite-client.d.ts +8 -2
- package/build/esm/src/clients/composite-client.d.ts.map +1 -1
- package/build/esm/src/clients/composite-client.js +7 -3
- package/build/esm/src/clients/constants.d.ts +13 -1
- package/build/esm/src/clients/constants.d.ts.map +1 -1
- package/build/esm/src/clients/constants.js +13 -1
- package/build/esm/src/clients/lib/accounts.d.ts +29 -0
- package/build/esm/src/clients/lib/accounts.d.ts.map +1 -0
- package/build/esm/src/clients/lib/accounts.js +74 -0
- package/build/esm/src/clients/lib/agent-approval-tx.d.ts +46 -0
- package/build/esm/src/clients/lib/agent-approval-tx.d.ts.map +1 -0
- package/build/esm/src/clients/lib/agent-approval-tx.js +79 -0
- package/build/esm/src/clients/lib/agent-approval.d.ts +64 -0
- package/build/esm/src/clients/lib/agent-approval.d.ts.map +1 -0
- package/build/esm/src/clients/lib/agent-approval.js +112 -0
- package/build/esm/src/clients/lib/eip712.d.ts +95 -0
- package/build/esm/src/clients/lib/eip712.d.ts.map +1 -0
- package/build/esm/src/clients/lib/eip712.js +581 -0
- package/build/esm/src/clients/lib/eth-pubkey.d.ts +44 -0
- package/build/esm/src/clients/lib/eth-pubkey.d.ts.map +1 -0
- package/build/esm/src/clients/lib/eth-pubkey.js +61 -0
- package/build/esm/src/clients/modules/composer.d.ts +12 -1
- package/build/esm/src/clients/modules/composer.d.ts.map +1 -1
- package/build/esm/src/clients/modules/composer.js +15 -2
- package/build/esm/src/clients/modules/eip712-signer.d.ts +99 -0
- package/build/esm/src/clients/modules/eip712-signer.d.ts.map +1 -0
- package/build/esm/src/clients/modules/eip712-signer.js +183 -0
- package/build/esm/src/clients/modules/eth-agent-wallet.d.ts +39 -0
- package/build/esm/src/clients/modules/eth-agent-wallet.d.ts.map +1 -0
- package/build/esm/src/clients/modules/eth-agent-wallet.js +97 -0
- package/build/esm/src/clients/modules/eth-wallet.d.ts +32 -0
- package/build/esm/src/clients/modules/eth-wallet.d.ts.map +1 -0
- package/build/esm/src/clients/modules/eth-wallet.js +83 -0
- package/build/esm/src/clients/modules/get.d.ts +2 -1
- package/build/esm/src/clients/modules/get.d.ts.map +1 -1
- package/build/esm/src/clients/modules/get.js +2 -2
- package/build/esm/src/clients/modules/local-wallet.d.ts +2 -1
- package/build/esm/src/clients/modules/local-wallet.d.ts.map +1 -1
- package/build/esm/src/clients/modules/local-wallet.js +9 -2
- package/build/esm/src/clients/modules/post.d.ts +3 -2
- package/build/esm/src/clients/modules/post.d.ts.map +1 -1
- package/build/esm/src/clients/modules/post.js +14 -4
- package/build/esm/src/clients/modules/signer.d.ts +2 -1
- package/build/esm/src/clients/modules/signer.d.ts.map +1 -1
- package/build/esm/src/clients/modules/signer.js +13 -3
- package/build/esm/src/clients/native.d.ts.map +1 -1
- package/build/esm/src/clients/native.js +2 -2
- package/build/esm/src/clients/types.d.ts +1 -1
- package/build/esm/src/clients/types.d.ts.map +1 -1
- package/build/esm/src/clients/types.js +1 -1
- package/build/esm/src/index.d.ts +13 -0
- package/build/esm/src/index.d.ts.map +1 -1
- package/build/esm/src/index.js +9 -1
- package/build/esm/src/lib/evm-address.d.ts +31 -0
- package/build/esm/src/lib/evm-address.d.ts.map +1 -0
- package/build/esm/src/lib/evm-address.js +85 -0
- package/build/esm/src/lib/trading-key-utils.d.ts +3 -0
- package/build/esm/src/lib/trading-key-utils.d.ts.map +1 -1
- package/build/esm/src/lib/trading-key-utils.js +42 -4
- package/build/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { makeAuthInfoBytes, makeSignBytes, makeSignDoc } from '@cosmjs/proto-signing';
|
|
2
|
+
import { Int53 } from '@cosmjs/math';
|
|
3
|
+
import { toBech32 } from '@cosmjs/encoding';
|
|
4
|
+
import { TxBody, TxRaw } from 'cosmjs-types/cosmos/tx/v1beta1/tx';
|
|
5
|
+
import { Any } from 'cosmjs-types/google/protobuf/any';
|
|
6
|
+
import { keccak256 } from 'ethereum-cryptography/keccak';
|
|
7
|
+
import { secp256k1 } from 'ethereum-cryptography/secp256k1';
|
|
8
|
+
import { TxExtension } from '@ritbit/v4-proto/src/codegen/ritbit/accountplus/tx';
|
|
9
|
+
import { BECH32_PREFIX } from '../../lib/constants';
|
|
10
|
+
import { ethAddressBytesFromPubkey } from '../../lib/evm-address';
|
|
11
|
+
import { encodeEthSecp256k1Pubkey, ethSecp256k1PubkeyToAny } from '../lib/eth-pubkey';
|
|
12
|
+
import { generateRegistry } from '../lib/registry';
|
|
13
|
+
/**
|
|
14
|
+
* A trading key that signs the way Ethereum does: keccak256 over the sign bytes
|
|
15
|
+
* and a 65-byte recoverable signature.
|
|
16
|
+
*
|
|
17
|
+
* That shape is what lets an agent be authorized by address alone. A cosmos
|
|
18
|
+
* signature is 64 bytes with no recovery id, so the chain would have to be told
|
|
19
|
+
* the public key up front — which is exactly the unreadable field the approval
|
|
20
|
+
* dialog was trying to lose. With a recovery id the chain derives the key from
|
|
21
|
+
* each signature and compares it to the approved address
|
|
22
|
+
* (x/accountplus/authenticator/eth_address_signature.go).
|
|
23
|
+
*
|
|
24
|
+
* Everything else about the transaction is identical to the ordinary signer,
|
|
25
|
+
* including the accountplus TxExtension that names which authenticator applies.
|
|
26
|
+
*/
|
|
27
|
+
export class EthAgentWallet {
|
|
28
|
+
constructor(privateKey, prefix = BECH32_PREFIX) {
|
|
29
|
+
if (privateKey.length !== 32) {
|
|
30
|
+
throw new Error(`Expected a 32-byte private key, got ${privateKey.length} bytes`);
|
|
31
|
+
}
|
|
32
|
+
this.privateKey = privateKey;
|
|
33
|
+
this.compressedPubkey = secp256k1.getPublicKey(privateKey, true);
|
|
34
|
+
this.address = toBech32(prefix, ethAddressBytesFromPubkey(this.compressedPubkey));
|
|
35
|
+
}
|
|
36
|
+
/** The pubkey in the shape AuthInfo expects, for gas simulation. */
|
|
37
|
+
get pubKey() {
|
|
38
|
+
return encodeEthSecp256k1Pubkey(this.compressedPubkey);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Signs a transaction on behalf of the account that approved this agent.
|
|
42
|
+
*
|
|
43
|
+
* LocalWallet-compatible, so a SubaccountInfo built with this wallet goes
|
|
44
|
+
* through the same post/composite-client paths as any other.
|
|
45
|
+
*/
|
|
46
|
+
async signTransaction(messages, transactionOptions, fee, memo = '', registry = generateRegistry()) {
|
|
47
|
+
var _a;
|
|
48
|
+
if (!fee) {
|
|
49
|
+
throw new Error('Fee cannot be undefined');
|
|
50
|
+
}
|
|
51
|
+
const txExtension = TxExtension.encode({
|
|
52
|
+
selectedAuthenticators: (_a = transactionOptions.authenticators) !== null && _a !== void 0 ? _a : [],
|
|
53
|
+
}).finish();
|
|
54
|
+
const txBody = TxBody.fromPartial({
|
|
55
|
+
messages: messages.map((msg) => registry.encodeAsAny(msg)),
|
|
56
|
+
memo,
|
|
57
|
+
extensionOptions: [],
|
|
58
|
+
nonCriticalExtensionOptions: [
|
|
59
|
+
Any.fromPartial({
|
|
60
|
+
typeUrl: '/ritbit.accountplus.TxExtension',
|
|
61
|
+
value: txExtension,
|
|
62
|
+
}),
|
|
63
|
+
],
|
|
64
|
+
});
|
|
65
|
+
const bodyBytes = TxBody.encode(txBody).finish();
|
|
66
|
+
const authInfoBytes = makeAuthInfoBytes([
|
|
67
|
+
{
|
|
68
|
+
pubkey: ethSecp256k1PubkeyToAny(encodeEthSecp256k1Pubkey(this.compressedPubkey)),
|
|
69
|
+
sequence: transactionOptions.sequence,
|
|
70
|
+
},
|
|
71
|
+
], fee.amount, Int53.fromString(String(fee.gas)).toNumber(), undefined, undefined);
|
|
72
|
+
// makeSignDoc() types accountNumber as `number` but wraps it in BigInt(), so
|
|
73
|
+
// an account number above 2^53 survives (see signer.ts).
|
|
74
|
+
const signDoc = makeSignDoc(bodyBytes, authInfoBytes, transactionOptions.chainId, transactionOptions.accountNumber);
|
|
75
|
+
const signature = this.signRecoverable(makeSignBytes(signDoc));
|
|
76
|
+
return Uint8Array.from(TxRaw.encode(TxRaw.fromPartial({
|
|
77
|
+
bodyBytes,
|
|
78
|
+
authInfoBytes,
|
|
79
|
+
signatures: [signature],
|
|
80
|
+
})).finish());
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* keccak256 over the sign bytes, signed as r ‖ s ‖ v — the same preimage the
|
|
84
|
+
* chain hashes when it recovers the signer.
|
|
85
|
+
*/
|
|
86
|
+
signRecoverable(signBytes) {
|
|
87
|
+
var _a;
|
|
88
|
+
const digest = keccak256(signBytes);
|
|
89
|
+
const signature = secp256k1.sign(digest, this.privateKey);
|
|
90
|
+
const bytes = new Uint8Array(65);
|
|
91
|
+
bytes.set(signature.toCompactRawBytes());
|
|
92
|
+
// The chain accepts 0/1 and 27/28 alike; emit the raw recovery bit.
|
|
93
|
+
bytes[64] = (_a = signature.recovery) !== null && _a !== void 0 ? _a : 0;
|
|
94
|
+
return bytes;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoLWFnZW50LXdhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL21vZHVsZXMvZXRoLWFnZW50LXdhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBCLGlCQUFpQixFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXJDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTVELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUVqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHbkQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sT0FBTyxjQUFjO0lBTXpCLFlBQVksVUFBc0IsRUFBRSxTQUFpQixhQUFhO1FBQ2hFLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxVQUFVLENBQUMsTUFBTSxRQUFRLENBQUMsQ0FBQztR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
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { AccountData, DirectSignResponse, OfflineDirectSigner } from '@cosmjs/proto-signing';
|
|
2
|
+
import { SignDoc } from 'cosmjs-types/cosmos/tx/v1beta1/tx';
|
|
3
|
+
import LocalWallet from './local-wallet';
|
|
4
|
+
/** The standard ethereum BIP44 derivation path (coin type 60). */
|
|
5
|
+
export declare const ETH_BIP44_HD_PATH = "m/44'/60'/0'/0/0";
|
|
6
|
+
/**
|
|
7
|
+
* OfflineDirectSigner for eth_secp256k1 keys: SIGN_MODE_DIRECT sign bytes are
|
|
8
|
+
* hashed with keccak256 (instead of sha256) and signed with secp256k1,
|
|
9
|
+
* producing the cosmjs-style 64-byte r||s signature the chain verifies via
|
|
10
|
+
* cosmos/evm's ethsecp256k1.PubKey.VerifySignature. The reported address is
|
|
11
|
+
* ethereum-style: bech32(keccak256(uncompressed pubkey without the 04
|
|
12
|
+
* prefix)[12:]).
|
|
13
|
+
*/
|
|
14
|
+
export declare class DirectEthSecp256k1Signer implements OfflineDirectSigner {
|
|
15
|
+
private readonly privateKey;
|
|
16
|
+
readonly compressedPubkey: Uint8Array;
|
|
17
|
+
readonly address: string;
|
|
18
|
+
constructor(privateKey: Uint8Array, prefix?: string);
|
|
19
|
+
getAccounts(): Promise<readonly AccountData[]>;
|
|
20
|
+
signDirect(signerAddress: string, signDoc: SignDoc): Promise<DirectSignResponse>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* LocalWallet backed by an eth_secp256k1 key (the 0x == rit1 wallet model).
|
|
24
|
+
* Behaves exactly like LocalWallet — including as the master signer of a
|
|
25
|
+
* SubaccountInfo — but derives keys on the ethereum BIP44 path, reports the
|
|
26
|
+
* ethereum-style address, and signs SIGN_MODE_DIRECT with keccak256 hashing.
|
|
27
|
+
*/
|
|
28
|
+
export default class EthLocalWallet extends LocalWallet {
|
|
29
|
+
static fromMnemonic(mnemonic: string, prefix?: string): Promise<EthLocalWallet>;
|
|
30
|
+
static fromPrivateKey(pkHex: string, prefix?: string): Promise<EthLocalWallet>;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=eth-wallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eth-wallet.d.ts","sourceRoot":"","sources":["../../../../../src/clients/modules/eth-wallet.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,WAAW,EAEX,kBAAkB,EAElB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAS5D,OAAO,WAAW,MAAM,gBAAgB,CAAC;AAEzC,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AAEpD;;;;;;;GAOG;AACH,qBAAa,wBAAyB,YAAW,mBAAmB;IAClE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,SAAgB,gBAAgB,EAAE,UAAU,CAAC;IAC7C,SAAgB,OAAO,EAAE,MAAM,CAAC;gBAEpB,UAAU,EAAE,UAAU,EAAE,MAAM,GAAE,MAAsB;IAS5D,WAAW,IAAI,OAAO,CAAC,SAAS,WAAW,EAAE,CAAC;IAY9C,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAmBvF;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;WACxC,YAAY,CACvB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,MAAsB,GAC7B,OAAO,CAAC,cAAc,CAAC;WAUb,cAAc,CACzB,KAAK,EAAE,MAAM,EACb,MAAM,GAAE,MAAsB,GAC7B,OAAO,CAAC,cAAc,CAAC;CAK3B"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { fromHex, toBase64, toBech32 } from '@cosmjs/encoding';
|
|
2
|
+
import { makeSignBytes, } from '@cosmjs/proto-signing';
|
|
3
|
+
import { keccak256 } from 'ethereum-cryptography/keccak';
|
|
4
|
+
import { secp256k1 } from 'ethereum-cryptography/secp256k1';
|
|
5
|
+
import { BECH32_PREFIX } from '../../lib/constants';
|
|
6
|
+
import { ethAddressBytesFromPubkey } from '../../lib/evm-address';
|
|
7
|
+
import { stripHexPrefix } from '../../lib/helpers';
|
|
8
|
+
import { deriveHDKeyFromMnemonic } from '../../lib/onboarding';
|
|
9
|
+
import { encodeEthSecp256k1Pubkey, ETH_SECP256K1_ALGO } from '../lib/eth-pubkey';
|
|
10
|
+
import LocalWallet from './local-wallet';
|
|
11
|
+
/** The standard ethereum BIP44 derivation path (coin type 60). */
|
|
12
|
+
export const ETH_BIP44_HD_PATH = "m/44'/60'/0'/0/0";
|
|
13
|
+
/**
|
|
14
|
+
* OfflineDirectSigner for eth_secp256k1 keys: SIGN_MODE_DIRECT sign bytes are
|
|
15
|
+
* hashed with keccak256 (instead of sha256) and signed with secp256k1,
|
|
16
|
+
* producing the cosmjs-style 64-byte r||s signature the chain verifies via
|
|
17
|
+
* cosmos/evm's ethsecp256k1.PubKey.VerifySignature. The reported address is
|
|
18
|
+
* ethereum-style: bech32(keccak256(uncompressed pubkey without the 04
|
|
19
|
+
* prefix)[12:]).
|
|
20
|
+
*/
|
|
21
|
+
export class DirectEthSecp256k1Signer {
|
|
22
|
+
constructor(privateKey, prefix = BECH32_PREFIX) {
|
|
23
|
+
if (privateKey.length !== 32) {
|
|
24
|
+
throw new Error('Eth private key must be 32 bytes');
|
|
25
|
+
}
|
|
26
|
+
this.privateKey = privateKey;
|
|
27
|
+
this.compressedPubkey = secp256k1.getPublicKey(privateKey, true);
|
|
28
|
+
this.address = toBech32(prefix, ethAddressBytesFromPubkey(this.compressedPubkey));
|
|
29
|
+
}
|
|
30
|
+
async getAccounts() {
|
|
31
|
+
return [
|
|
32
|
+
{
|
|
33
|
+
address: this.address,
|
|
34
|
+
// cosmjs's Algo union has no eth variant; local-wallet.ts branches on
|
|
35
|
+
// this marker to build the eth pubkey type.
|
|
36
|
+
algo: ETH_SECP256K1_ALGO,
|
|
37
|
+
pubkey: this.compressedPubkey,
|
|
38
|
+
},
|
|
39
|
+
];
|
|
40
|
+
}
|
|
41
|
+
async signDirect(signerAddress, signDoc) {
|
|
42
|
+
if (signerAddress !== this.address) {
|
|
43
|
+
throw new Error(`Address ${signerAddress} not found in wallet`);
|
|
44
|
+
}
|
|
45
|
+
const signBytes = makeSignBytes(signDoc);
|
|
46
|
+
const hash = keccak256(signBytes);
|
|
47
|
+
// noble's sign() normalizes to low-s by default, matching what the chain
|
|
48
|
+
// (and cosmjs's Secp256k1.createSignature) expects.
|
|
49
|
+
const signature = secp256k1.sign(hash, this.privateKey);
|
|
50
|
+
const signatureBytes = signature.toCompactRawBytes(); // 64-byte r||s
|
|
51
|
+
const stdSignature = {
|
|
52
|
+
pub_key: encodeEthSecp256k1Pubkey(this.compressedPubkey),
|
|
53
|
+
signature: toBase64(signatureBytes),
|
|
54
|
+
};
|
|
55
|
+
return {
|
|
56
|
+
signed: signDoc,
|
|
57
|
+
signature: stdSignature,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* LocalWallet backed by an eth_secp256k1 key (the 0x == rit1 wallet model).
|
|
63
|
+
* Behaves exactly like LocalWallet — including as the master signer of a
|
|
64
|
+
* SubaccountInfo — but derives keys on the ethereum BIP44 path, reports the
|
|
65
|
+
* ethereum-style address, and signs SIGN_MODE_DIRECT with keccak256 hashing.
|
|
66
|
+
*/
|
|
67
|
+
export default class EthLocalWallet extends LocalWallet {
|
|
68
|
+
static async fromMnemonic(mnemonic, prefix = BECH32_PREFIX) {
|
|
69
|
+
const wallet = new EthLocalWallet();
|
|
70
|
+
const { privateKey } = deriveHDKeyFromMnemonic(mnemonic, ETH_BIP44_HD_PATH);
|
|
71
|
+
if (privateKey === null) {
|
|
72
|
+
throw new Error('Could not derive a private key from the mnemonic');
|
|
73
|
+
}
|
|
74
|
+
await wallet.setSigner(new DirectEthSecp256k1Signer(privateKey, prefix));
|
|
75
|
+
return wallet;
|
|
76
|
+
}
|
|
77
|
+
static async fromPrivateKey(pkHex, prefix = BECH32_PREFIX) {
|
|
78
|
+
const wallet = new EthLocalWallet();
|
|
79
|
+
await wallet.setSigner(new DirectEthSecp256k1Signer(fromHex(stripHexPrefix(pkHex)), prefix));
|
|
80
|
+
return wallet;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXRoLXdhbGxldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jbGllbnRzL21vZHVsZXMvZXRoLXdhbGxldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRCxPQUFPLEVBSUwsYUFBYSxHQUVkLE1BQU0sdUJBQXVCLENBQUM7QUFFL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU1RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pGLE9BQU8sV0FBVyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLGtFQUFrRTtBQUNsRSxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxrQkFBa0IsQ0FBQztBQUVwRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQUtuQyxZQUFZLFVBQXNCLEVBQUUsU0FBaUIsYUFBYTtRQUNoRSxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssRUFBRSxFQUFFLENBQUM7WUFDN0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLFlB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
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Coin } from '@cosmjs/proto-signing';
|
|
2
|
-
import {
|
|
2
|
+
import { Block, QueryClient as StargateQueryClient, TxExtension } from '@cosmjs/stargate';
|
|
3
3
|
import { GetAuthenticatorsResponse } from '@ritbit/v4-proto/src/codegen/ritbit/accountplus/query';
|
|
4
4
|
import { UserStats } from '@ritbit/v4-proto/src/codegen/ritbit/stats/stats';
|
|
5
|
+
import { Account } from '../lib/accounts';
|
|
5
6
|
import { AffiliateModule, AssetsModule, BridgeModule, ClobModule, DistributionModule, FeeTierModule, GovV1Module, PerpetualsModule, PricesModule, ProposalStatus, RateLimitModule, RewardsModule, StakingModule, SubaccountsModule, VaultModule } from './proto-includes';
|
|
6
7
|
import { TendermintClient } from './tendermintClient';
|
|
7
8
|
export declare class Get {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../src/clients/modules/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"get.d.ts","sourceRoot":"","sources":["../../../../../src/clients/modules/get.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { accountFromAny, } from '@cosmjs/stargate';
|
|
2
1
|
import { GetAuthenticatorsRequest, GetAuthenticatorsResponse, } from '@ritbit/v4-proto/src/codegen/ritbit/accountplus/query';
|
|
3
2
|
import * as AuthModule from 'cosmjs-types/cosmos/auth/v1beta1/query';
|
|
4
3
|
import * as BankModule from 'cosmjs-types/cosmos/bank/v1beta1/query';
|
|
@@ -6,6 +5,7 @@ import Long from 'long';
|
|
|
6
5
|
import protobuf from 'protobufjs';
|
|
7
6
|
import { bigIntToBytes } from '../../lib/helpers';
|
|
8
7
|
import { PAGE_REQUEST } from '../constants';
|
|
8
|
+
import { accountFromAny } from '../lib/accounts';
|
|
9
9
|
import { UnexpectedClientError } from '../lib/errors';
|
|
10
10
|
import { AffiliateModule, AssetsModule, BridgeModule, ClobModule, DistributionModule, FeeTierModule, GovV1Module, PerpetualsModule, PricesModule, ProposalStatus, RateLimitModule, RewardsModule, StakingModule, StatsModule, SubaccountsModule, VaultModule, } from './proto-includes';
|
|
11
11
|
// Required for encoding and decoding queries that are of type Long.
|
|
@@ -471,4 +471,4 @@ export class Get {
|
|
|
471
471
|
return resp.value;
|
|
472
472
|
}
|
|
473
473
|
}
|
|
474
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvbW9kdWxlcy9nZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUVMLGNBQWMsR0FLZixNQUFNLGtCQUFrQixDQUFDO0FBQzFCLE9BQU8sRUFDTCx3QkFBd0IsRUFDeEIseUJBQXlCLEdBQzFCLE1BQU0sdURBQXVELENBQUM7QUFFL0QsT0FBTyxLQUFLLFVBQVUsTUFBTSx3Q0FBd0MsQ0FBQztBQUNyRSxPQUFPLEtBQUssVUFBVSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUN4QixPQUFPLFFBQVEsTUFBTSxZQUFZLENBQUM7QUFFbEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFDTCxlQUFlLEVBQ2YsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixjQUFjLEVBQ2QsZUFBZSxFQUNmLGFBQWEsRUFDYixhQUFhLEVBQ2IsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixXQUFXLEdBQ1osTUFBTSxrQkFBa0IsQ0FBQztBQUcxQixvRUFBb0U7QUFDcEUsNkVBQTZFO0FBQzdFLG1GQUFtRjtBQUNuRixrRUFBa0U7QUFDbEUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQzFCLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUVyQixNQUFNLE9BQU8sR0FBRztJQUlkLFlBQ0UsZ0JBQWtDLEVBQ2xDLG1CQUFzRDtRQUV0RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcs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
|
|
474
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvbW9kdWxlcy9nZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUNMLHdCQUF3QixFQUN4Qix5QkFBeUIsR0FDMUIsTUFBTSx1REFBdUQsQ0FBQztBQUUvRCxPQUFPLEtBQUssVUFBVSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3JFLE9BQU8sS0FBSyxVQUFVLE1BQU0sd0NBQXdDLENBQUM7QUFDckUsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sUUFBUSxNQUFNLFlBQVksQ0FBQztBQUVsQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM1QyxPQUFPLEVBQVcsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RELE9BQU8sRUFDTCxlQUFlLEVBQ2YsWUFBWSxFQUNaLFlBQVksRUFDWixVQUFVLEVBQ1Ysa0JBQWtCLEVBQ2xCLGFBQWEsRUFDYixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLFlBQVksRUFDWixjQUFjLEVBQ2QsZUFBZSxFQUNmLGFBQWEsRUFDYixhQUFhLEVBQ2IsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixXQUFXLEdBQ1osTUFBTSxrQkFBa0IsQ0FBQztBQUcxQixvRUFBb0U7QUFDcEUsNkVBQTZFO0FBQzdFLG1GQUFtRjtBQUNuRixrRUFBa0U7QUFDbEUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQzFCLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUVyQixNQUFNLE9BQU8sR0FBRztJQUlkLFlBQ0UsZ0JBQWtDLEVBQ2xDLG1CQUFzRDtRQUV0RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcs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
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Secp256k1Pubkey, StdFee } from '@cosmjs/amino';
|
|
2
2
|
import { AccountData, EncodeObject, OfflineSigner } from '@cosmjs/proto-signing';
|
|
3
|
+
import { EthSecp256k1Pubkey } from '../lib/eth-pubkey';
|
|
3
4
|
import { TransactionOptions } from '../types';
|
|
4
5
|
import { TransactionSigner } from './signer';
|
|
5
6
|
export default class LocalWallet {
|
|
6
7
|
accounts?: AccountData[];
|
|
7
8
|
address?: string;
|
|
8
|
-
pubKey?: Secp256k1Pubkey;
|
|
9
|
+
pubKey?: Secp256k1Pubkey | EthSecp256k1Pubkey;
|
|
9
10
|
signer?: TransactionSigner;
|
|
10
11
|
offlineSigner?: OfflineSigner;
|
|
11
12
|
static fromOfflineSigner(signer: OfflineSigner): Promise<LocalWallet>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-wallet.d.ts","sourceRoot":"","sources":["../../../../../src/clients/modules/local-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAyB,MAAM,eAAe,CAAC;AAE/E,OAAO,EACL,WAAW,EAGX,YAAY,EACZ,aAAa,EACd,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"local-wallet.d.ts","sourceRoot":"","sources":["../../../../../src/clients/modules/local-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAyB,MAAM,eAAe,CAAC;AAE/E,OAAO,EACL,WAAW,EAGX,YAAY,EACZ,aAAa,EACd,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EAGL,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAM7C,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,eAAe,GAAG,kBAAkB,CAAC;IAC9C,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;WAEjB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC;WAM9D,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;WAMrE,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAM3E,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB/C,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK7D,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD,eAAe,CAC1B,QAAQ,EAAE,YAAY,EAAE,EACxB,kBAAkB,EAAE,kBAAkB,EACtC,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,GAAE,MAAW,GAChB,OAAO,CAAC,UAAU,CAAC;CAGvB"}
|
|
@@ -5,6 +5,7 @@ import { SigningStargateClient } from '@cosmjs/stargate';
|
|
|
5
5
|
import Long from 'long';
|
|
6
6
|
import protobuf from 'protobufjs';
|
|
7
7
|
import { stripHexPrefix } from '../../lib/helpers';
|
|
8
|
+
import { encodeEthSecp256k1Pubkey, ETH_SECP256K1_ALGO, } from '../lib/eth-pubkey';
|
|
8
9
|
import { generateRegistry } from '../lib/registry';
|
|
9
10
|
import { TransactionSigner } from './signer';
|
|
10
11
|
// Required for encoding and decoding queries that are of type Long.
|
|
@@ -35,7 +36,13 @@ export default class LocalWallet {
|
|
|
35
36
|
const firstAccount = accountData[0];
|
|
36
37
|
this.accounts = [...accountData];
|
|
37
38
|
this.address = firstAccount.address;
|
|
38
|
-
|
|
39
|
+
// Eth signers (see eth-wallet.ts) report the eth_secp256k1 algo marker;
|
|
40
|
+
// their pubkey must be encoded with the eth type so signer.ts puts the
|
|
41
|
+
// right Any typeUrl into AuthInfo.
|
|
42
|
+
this.pubKey =
|
|
43
|
+
firstAccount.algo === ETH_SECP256K1_ALGO
|
|
44
|
+
? encodeEthSecp256k1Pubkey(firstAccount.pubkey)
|
|
45
|
+
: encodeSecp256k1Pubkey(firstAccount.pubkey);
|
|
39
46
|
this.signer = new TransactionSigner(this.address, stargateClient, signer);
|
|
40
47
|
}
|
|
41
48
|
async setMnemonic(mnemonic, prefix) {
|
|
@@ -50,4 +57,4 @@ export default class LocalWallet {
|
|
|
50
57
|
return this.signer.signTransaction(messages, transactionOptions, fee, memo, this.pubKey);
|
|
51
58
|
}
|
|
52
59
|
}
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtd2FsbGV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NsaWVudHMvbW9kdWxlcy9sb2NhbC13YWxsZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUEyQixxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0MsT0FBTyxFQUVMLHVCQUF1QixFQUN2QixxQkFBcUIsR0FHdEIsTUFBTSx1QkFBdUIsQ0FBQztBQUMvQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN6RCxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxRQUFRLE1BQU0sWUFBWSxDQUFDO0FBRWxDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLGtCQUFrQixHQUVuQixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUU3QyxvRUFBb0U7QUFDcEUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBQzFCLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUVyQixNQUFNLENBQUMsT0FBTyxPQUFPLFdBQVc7SUFPOUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFxQjtRQUNsRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsUUFBZ0IsRUFBRSxNQUFlO1FBQ3pELE1BQU0sTUFBTSxHQUFHLElBQUksV0FBVyxFQUFFLENBQUM7UUFDakMsTUFBTSxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzQyxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBYSxFQUFFLE1BQWU7UUFDeEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNqQyxNQUFNLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQXFCO1FBQ25DLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDO1FBQzVCLE1BQU0sY0FBYyxHQUFHLE1BQU0scUJBQXFCLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtZQUNqRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUU7U0FDN0IsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxXQUFXLEdBQUcsTUFBTSxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDL0MsTUFBTSxZQUFZLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQztRQUNwQyx3RUFBd0U7UUFDeEUsdUVBQXVFO1FBQ3ZFLG1DQUFtQztRQUNuQyxJQUFJLENBQUMsTUFBTTtZQUNULFlBQVksQ0FBQyxJQUFJLEtBQUssa0JBQWtCO2dCQUN0QyxDQUFDLENBQUMsd0JBQXdCLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztnQkFDL0MsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXLENBQUMsUUFBZ0IsRUFBRSxNQUFlO1FBQ2pELE1BQU0sTUFBTSxHQUFHLE1BQU0sdUJBQXVCLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDaEYsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQWEsRUFBRSxNQUFlO1FBQ2hELE1BQU0sTUFBTSxHQUFHLE1BQU0scUJBQXFCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMzRixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxlQUFlLENBQzFCLFFBQXdCLEVBQ3hCLGtCQUFzQyxFQUN0QyxHQUFZLEVBQ1osT0FBZSxFQUFFO1FBRWpCLE9BQU8sSUFBSSxDQUFDLE1BQU8sQ0FBQyxlQUFlLENBQUMsUUFBUSxFQUFFLGtCQUFrQixFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVGLENBQUM7Q0FDRiJ9
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { Coin } from '@cosmjs/amino';
|
|
2
2
|
import { EncodeObject } from '@cosmjs/proto-signing';
|
|
3
|
-
import {
|
|
3
|
+
import { GasPrice, IndexedTx, StdFee } from '@cosmjs/stargate';
|
|
4
4
|
import { tendermint37 } from '@cosmjs/tendermint-rpc';
|
|
5
5
|
import Long from 'long';
|
|
6
6
|
type BroadcastTxAsyncResponse = tendermint37.BroadcastTxAsyncResponse;
|
|
7
7
|
type BroadcastTxSyncResponse = tendermint37.BroadcastTxSyncResponse;
|
|
8
8
|
import { AuthenticatorType, SelectedGasDenom } from '../constants';
|
|
9
|
+
import { Account } from '../lib/accounts';
|
|
9
10
|
import { SubaccountInfo } from '../subaccount';
|
|
10
11
|
import { OrderFlags, BroadcastMode, IPlaceOrder, ICancelOrder, DenomConfig, ITwapParameters, IBuilderCodeParameters } from '../types';
|
|
11
12
|
import { Composer } from './composer';
|
|
@@ -130,7 +131,7 @@ export declare class Post {
|
|
|
130
131
|
registerAffiliateMsg(...args: Parameters<Composer['composeMsgRegisterAffiliate']>): EncodeObject;
|
|
131
132
|
launchMarketMsg(...args: Parameters<Composer['composeMsgCreateMarketPermissionless']>): EncodeObject;
|
|
132
133
|
createMarketPermissionless(ticker: string, subaccount: SubaccountInfo, broadcastMode?: BroadcastMode, gasAdjustment?: number, memo?: string): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
|
|
133
|
-
addAuthenticator(subaccount: SubaccountInfo, authenticatorType: AuthenticatorType, data: Uint8Array): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
|
|
134
|
+
addAuthenticator(subaccount: SubaccountInfo, authenticatorType: AuthenticatorType, data: Uint8Array, name?: string, expiresAt?: Long | number): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
|
|
134
135
|
removeAuthenticator(subaccount: SubaccountInfo, id: Long): Promise<BroadcastTxAsyncResponse | BroadcastTxSyncResponse | IndexedTx>;
|
|
135
136
|
}
|
|
136
137
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../../src/clients/modules/post.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAY,MAAM,uBAAuB,CAAC;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"post.d.ts","sourceRoot":"","sources":["../../../../../src/clients/modules/post.ts"],"names":[],"mappings":"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"}
|