@gnolang/gnonative 1.8.1 → 3.0.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/Makefile CHANGED
@@ -1,4 +1,4 @@
1
- PROJECT_DIR := ..
1
+ PROJECT_DIR := $(shell go list -m -f '{{.Dir}}')
2
2
 
3
3
  ANDROID_FRAMEWORK_SRC_DIR := $(PROJECT_DIR)/framework/android
4
4
  ANDROID_FRAMEWORK_OUTPUT_DIR := android/libs
package/README.md CHANGED
@@ -29,7 +29,7 @@ npm config set @buf:registry https://buf.build/gen/npm/v1/
29
29
  ## Create new Expo app
30
30
 
31
31
  ```
32
- npx create-expo-app my-app
32
+ npx create-expo-app my-app --template expo-template-blank-typescript
33
33
  cd my-app
34
34
  ```
35
35
 
@@ -43,7 +43,7 @@ npm install @gnolang/gnonative
43
43
 
44
44
  We prepared for you an example Hello World code.
45
45
 
46
- Open App.js and replace the content with this:
46
+ Open App.tsx and replace the content with this:
47
47
 
48
48
  ```tsx
49
49
  import { GnoNativeProvider, useGnoNativeContext } from '@gnolang/gnonative';
Binary file
@@ -1,4 +1,4 @@
1
- import { CallResponse, DeleteAccountResponse, GetActiveAccountResponse, GetActivatedAccountResponse, HelloStreamResponse, KeyInfo, QueryAccountResponse, QueryResponse, SelectAccountResponse, ActivateAccountResponse, SendResponse, SetChainIDResponse, SetPasswordResponse, SetRemoteResponse, UpdatePasswordResponse } from '@buf/gnolang_gnonative.bufbuild_es/gnonativetypes_pb';
1
+ import { BroadcastTxCommitResponse, CallResponse, DeleteAccountResponse, GetActiveAccountResponse, GetActivatedAccountResponse, HelloStreamResponse, KeyInfo, MakeTxResponse, QueryAccountResponse, QueryResponse, SelectAccountResponse, ActivateAccountResponse, SendResponse, SetChainIDResponse, SetPasswordResponse, SetRemoteResponse, SignTxResponse, UpdatePasswordResponse } from '@buf/gnolang_gnonative.bufbuild_es/gnonativetypes_pb';
2
2
  import { GnoNativeService } from '@buf/gnolang_gnonative.connectrpc_es/rpc_connect';
3
3
  import { PromiseClient } from '@connectrpc/connect';
4
4
  import { GnoKeyApi, BridgeStatus, Config } from './types';
@@ -12,6 +12,7 @@ export declare class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
12
12
  initClient(): Promise<boolean>;
13
13
  setRemote(remote: string): Promise<SetRemoteResponse>;
14
14
  getRemote(): Promise<string>;
15
+ signTx(txJson: string, address: Uint8Array, accountNumber?: bigint, sequenceNumber?: bigint): Promise<SignTxResponse>;
15
16
  setChainID(chainId: string): Promise<SetChainIDResponse>;
16
17
  getChainID(): Promise<string>;
17
18
  createAccount(nameOrBech32: string, mnemonic: string, password: string): Promise<KeyInfo | undefined>;
@@ -23,12 +24,13 @@ export declare class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
23
24
  getKeyInfoByAddress(address: Uint8Array): Promise<KeyInfo | undefined>;
24
25
  getKeyInfoByNameOrAddress(nameOrBech32: string): Promise<KeyInfo | undefined>;
25
26
  listKeyInfo(): Promise<KeyInfo[]>;
27
+ makeCallTx(packagePath: string, fnc: string, args: string[], gasFee: string, gasWanted: bigint, callerAddress?: Uint8Array, send?: string, memo?: string): Promise<MakeTxResponse>;
26
28
  selectAccount(nameOrBech32: string): Promise<SelectAccountResponse>;
27
29
  activateAccount(nameOrBech32: string): Promise<ActivateAccountResponse>;
28
30
  getClient(): Promise<PromiseClient<typeof GnoNativeService>>;
29
31
  isInitialized(): boolean;
30
32
  setPassword(password: string, address?: Uint8Array): Promise<SetPasswordResponse>;
31
- updatePassword(newPassword: string, address?: Uint8Array): Promise<UpdatePasswordResponse>;
33
+ updatePassword(newPassword: string, addresses: Uint8Array[]): Promise<UpdatePasswordResponse>;
32
34
  getActiveAccount(): Promise<GetActiveAccountResponse>;
33
35
  getActivatedAccount(): Promise<GetActivatedAccountResponse>;
34
36
  queryAccount(address: Uint8Array): Promise<QueryAccountResponse>;
@@ -36,11 +38,12 @@ export declare class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
36
38
  query(path: string, data: Uint8Array): Promise<QueryResponse>;
37
39
  render(packagePath: string, args: string): Promise<string>;
38
40
  qEval(packagePath: string, expression: string): Promise<string>;
39
- call(packagePath: string, fnc: string, args: string[], gasFee: string, gasWanted: number, callerAddress?: Uint8Array, send?: string, memo?: string): Promise<AsyncIterable<CallResponse>>;
40
- send(toAddress: Uint8Array, send: string, gasFee: string, gasWanted: number, callerAddress?: Uint8Array, memo?: string): Promise<AsyncIterable<SendResponse>>;
41
+ call(packagePath: string, fnc: string, args: string[], gasFee: string, gasWanted: bigint, callerAddress?: Uint8Array, send?: string, memo?: string): Promise<AsyncIterable<CallResponse>>;
42
+ send(toAddress: Uint8Array, send: string, gasFee: string, gasWanted: bigint, callerAddress?: Uint8Array, memo?: string): Promise<AsyncIterable<SendResponse>>;
41
43
  addressToBech32(address: Uint8Array): Promise<string>;
42
44
  addressFromMnemonic(mnemonic: string): Promise<Uint8Array>;
43
45
  addressFromBech32(bech32Address: string): Promise<Uint8Array>;
46
+ broadcastTxCommit(signedTxJson: string): Promise<AsyncIterable<BroadcastTxCommitResponse>>;
44
47
  hello(name: string): Promise<string>;
45
48
  helloStream(name: string): Promise<AsyncIterable<HelloStreamResponse>>;
46
49
  initBridge(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"GnoNativeApi.d.ts","sourceRoot":"","sources":["../../src/api/GnoNativeApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GnoNativeApi.d.ts","sourceRoot":"","sources":["../../src/api/GnoNativeApi.ts"],"names":[],"mappings":"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"}
@@ -54,27 +54,32 @@ export class GnoNativeApi {
54
54
  return this.clientInstance;
55
55
  }
56
56
  async setRemote(remote) {
57
- const client = await this.#getClient();
58
- const response = await client.setRemote(new SetRemoteRequest({ remote }));
57
+ const client = this.#getClient();
58
+ const response = client.setRemote(new SetRemoteRequest({ remote }));
59
59
  return response;
60
60
  }
61
61
  async getRemote() {
62
- const client = await this.#getClient();
62
+ const client = this.#getClient();
63
63
  const response = await client.getRemote(new GetRemoteRequest());
64
64
  return response.remote;
65
65
  }
66
+ async signTx(txJson, address, accountNumber = BigInt(0), sequenceNumber = BigInt(0)) {
67
+ const client = this.#getClient();
68
+ const response = client.signTx({ txJson, address, accountNumber, sequenceNumber });
69
+ return response;
70
+ }
66
71
  async setChainID(chainId) {
67
- const client = await this.#getClient();
68
- const response = await client.setChainID(new SetChainIDRequest({ chainId }));
72
+ const client = this.#getClient();
73
+ const response = client.setChainID(new SetChainIDRequest({ chainId }));
69
74
  return response;
70
75
  }
71
76
  async getChainID() {
72
- const client = await this.#getClient();
77
+ const client = this.#getClient();
73
78
  const response = await client.getChainID(new GetChainIDRequest());
74
79
  return response.chainId;
75
80
  }
76
81
  async createAccount(nameOrBech32, mnemonic, password) {
77
- const client = await this.#getClient();
82
+ const client = this.#getClient();
78
83
  const reponse = await client.createAccount(new CreateAccountRequest({
79
84
  nameOrBech32,
80
85
  mnemonic,
@@ -83,55 +88,73 @@ export class GnoNativeApi {
83
88
  return reponse.key;
84
89
  }
85
90
  async generateRecoveryPhrase() {
86
- const client = await this.#getClient();
91
+ const client = this.#getClient();
87
92
  const response = await client.generateRecoveryPhrase(new GenerateRecoveryPhraseRequest());
88
93
  return response.phrase;
89
94
  }
90
95
  async hasKeyByName(name) {
91
- const client = await this.#getClient();
96
+ const client = this.#getClient();
92
97
  const response = await client.hasKeyByName(new HasKeyByNameRequest({ name }));
93
98
  return response.has;
94
99
  }
95
100
  async hasKeyByAddress(address) {
96
- const client = await this.#getClient();
101
+ const client = this.#getClient();
97
102
  const response = await client.hasKeyByAddress(new HasKeyByAddressRequest({ address }));
98
103
  return response.has;
99
104
  }
100
105
  async hasKeyByNameOrAddress(nameOrBech32) {
101
- const client = await this.#getClient();
106
+ const client = this.#getClient();
102
107
  const response = await client.hasKeyByNameOrAddress(new HasKeyByNameOrAddressRequest({ nameOrBech32 }));
103
108
  return response.has;
104
109
  }
105
110
  async getKeyInfoByName(name) {
106
- const client = await this.#getClient();
111
+ const client = this.#getClient();
107
112
  const response = await client.getKeyInfoByName(new GetKeyInfoByNameRequest({ name }));
108
113
  return response.key;
109
114
  }
110
115
  async getKeyInfoByAddress(address) {
111
- const client = await this.#getClient();
116
+ const client = this.#getClient();
112
117
  const response = await client.getKeyInfoByAddress(new GetKeyInfoByAddressRequest({ address }));
113
118
  return response.key;
114
119
  }
115
120
  async getKeyInfoByNameOrAddress(nameOrBech32) {
116
- const client = await this.#getClient();
121
+ const client = this.#getClient();
117
122
  const response = await client.getKeyInfoByNameOrAddress(new GetKeyInfoByNameOrAddressRequest({ nameOrBech32 }));
118
123
  return response.key;
119
124
  }
120
125
  async listKeyInfo() {
121
- const client = await this.#getClient();
126
+ const client = this.#getClient();
122
127
  const response = await client.listKeyInfo(new ListKeyInfoRequest());
123
128
  return response.keys;
124
129
  }
130
+ async makeCallTx(packagePath, fnc, args, gasFee, gasWanted, callerAddress, send, memo) {
131
+ const client = this.#getClient();
132
+ const reponse = client.makeCallTx({
133
+ gasFee,
134
+ gasWanted,
135
+ memo,
136
+ callerAddress,
137
+ msgs: [
138
+ {
139
+ packagePath,
140
+ fnc,
141
+ args,
142
+ send,
143
+ },
144
+ ],
145
+ });
146
+ return reponse;
147
+ }
125
148
  async selectAccount(nameOrBech32) {
126
- const client = await this.#getClient();
127
- const response = await client.selectAccount(new SelectAccountRequest({
149
+ const client = this.#getClient();
150
+ const response = client.selectAccount(new SelectAccountRequest({
128
151
  nameOrBech32,
129
152
  }));
130
153
  return response;
131
154
  }
132
155
  async activateAccount(nameOrBech32) {
133
- const client = await this.#getClient();
134
- const response = await client.activateAccount(new ActivateAccountRequest({
156
+ const client = this.#getClient();
157
+ const response = client.activateAccount(new ActivateAccountRequest({
135
158
  nameOrBech32,
136
159
  }));
137
160
  return response;
@@ -146,33 +169,33 @@ export class GnoNativeApi {
146
169
  return this.clientInstance !== undefined;
147
170
  }
148
171
  async setPassword(password, address) {
149
- const client = await this.#getClient();
150
- const response = await client.setPassword(new SetPasswordRequest({ password, address }));
172
+ const client = this.#getClient();
173
+ const response = client.setPassword(new SetPasswordRequest({ password, address }));
151
174
  return response;
152
175
  }
153
- async updatePassword(newPassword, address) {
154
- const client = await this.#getClient();
155
- const response = await client.updatePassword(new UpdatePasswordRequest({ newPassword, address }));
176
+ async updatePassword(newPassword, addresses) {
177
+ const client = this.#getClient();
178
+ const response = client.updatePassword(new UpdatePasswordRequest({ newPassword, addresses }));
156
179
  return response;
157
180
  }
158
181
  async getActiveAccount() {
159
- const client = await this.#getClient();
160
- const response = await client.getActiveAccount(new GetActiveAccountRequest());
182
+ const client = this.#getClient();
183
+ const response = client.getActiveAccount(new GetActiveAccountRequest());
161
184
  return response;
162
185
  }
163
186
  async getActivatedAccount() {
164
- const client = await this.#getClient();
165
- const response = await client.getActivatedAccount(new GetActivatedAccountRequest());
187
+ const client = this.#getClient();
188
+ const response = client.getActivatedAccount(new GetActivatedAccountRequest());
166
189
  return response;
167
190
  }
168
191
  async queryAccount(address) {
169
- const client = await this.#getClient();
170
- const reponse = await client.queryAccount(new QueryAccountRequest({ address }));
192
+ const client = this.#getClient();
193
+ const reponse = client.queryAccount(new QueryAccountRequest({ address }));
171
194
  return reponse;
172
195
  }
173
196
  async deleteAccount(nameOrBech32, password, skipPassword) {
174
- const client = await this.#getClient();
175
- const response = await client.deleteAccount(new DeleteAccountRequest({
197
+ const client = this.#getClient();
198
+ const response = client.deleteAccount(new DeleteAccountRequest({
176
199
  nameOrBech32,
177
200
  password,
178
201
  skipPassword,
@@ -180,15 +203,15 @@ export class GnoNativeApi {
180
203
  return response;
181
204
  }
182
205
  async query(path, data) {
183
- const client = await this.#getClient();
184
- const reponse = await client.query(new QueryRequest({
206
+ const client = this.#getClient();
207
+ const reponse = client.query(new QueryRequest({
185
208
  path,
186
209
  data,
187
210
  }));
188
211
  return reponse;
189
212
  }
190
213
  async render(packagePath, args) {
191
- const client = await this.#getClient();
214
+ const client = this.#getClient();
192
215
  const reponse = await client.render(new RenderRequest({
193
216
  packagePath,
194
217
  args,
@@ -196,7 +219,7 @@ export class GnoNativeApi {
196
219
  return reponse.result;
197
220
  }
198
221
  async qEval(packagePath, expression) {
199
- const client = await this.#getClient();
222
+ const client = this.#getClient();
200
223
  const reponse = await client.qEval(new QEvalRequest({
201
224
  packagePath,
202
225
  expression,
@@ -204,10 +227,10 @@ export class GnoNativeApi {
204
227
  return reponse.result;
205
228
  }
206
229
  async call(packagePath, fnc, args, gasFee, gasWanted, callerAddress, send, memo) {
207
- const client = await this.#getClient();
230
+ const client = this.#getClient();
208
231
  const reponse = client.call(new CallRequest({
209
232
  gasFee,
210
- gasWanted: BigInt(gasWanted),
233
+ gasWanted,
211
234
  memo,
212
235
  callerAddress,
213
236
  msgs: [
@@ -222,10 +245,10 @@ export class GnoNativeApi {
222
245
  return reponse;
223
246
  }
224
247
  async send(toAddress, send, gasFee, gasWanted, callerAddress, memo) {
225
- const client = await this.#getClient();
248
+ const client = this.#getClient();
226
249
  const reponse = client.send(new SendRequest({
227
250
  gasFee,
228
- gasWanted: BigInt(gasWanted),
251
+ gasWanted,
229
252
  memo,
230
253
  callerAddress,
231
254
  msgs: [
@@ -238,29 +261,34 @@ export class GnoNativeApi {
238
261
  return reponse;
239
262
  }
240
263
  async addressToBech32(address) {
241
- const client = await this.#getClient();
264
+ const client = this.#getClient();
242
265
  const response = await client.addressToBech32(new AddressToBech32Request({ address }));
243
266
  return response.bech32Address;
244
267
  }
245
268
  async addressFromMnemonic(mnemonic) {
246
- const client = await this.#getClient();
269
+ const client = this.#getClient();
247
270
  const response = await client.addressFromMnemonic(new AddressFromMnemonicRequest({ mnemonic }));
248
271
  return response.address;
249
272
  }
250
273
  async addressFromBech32(bech32Address) {
251
- const client = await this.#getClient();
274
+ const client = this.#getClient();
252
275
  const response = await client.addressFromBech32(new AddressFromBech32Request({ bech32Address }));
253
276
  return response.address;
254
277
  }
278
+ async broadcastTxCommit(signedTxJson) {
279
+ const client = this.#getClient();
280
+ const response = client.broadcastTxCommit({ signedTxJson });
281
+ return response;
282
+ }
255
283
  // // debug
256
284
  async hello(name) {
257
- const client = await this.#getClient();
285
+ const client = this.#getClient();
258
286
  const response = await client.hello(new HelloRequest({ name }));
259
287
  return response.greeting;
260
288
  }
261
289
  // // debug
262
290
  async helloStream(name) {
263
- const client = await this.#getClient();
291
+ const client = this.#getClient();
264
292
  return client.helloStream(new HelloRequest({ name }));
265
293
  }
266
294
  // Go Bridge Interface:
@@ -1 +1 @@
1
- {"version":3,"file":"GnoNativeApi.js","sourceRoot":"","sources":["../../src/api/GnoNativeApi.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AddressFromBech32Request,\n AddressToBech32Request,\n AddressFromMnemonicRequest,\n CallRequest,\n CallResponse,\n CreateAccountRequest,\n DeleteAccountRequest,\n DeleteAccountResponse,\n GenerateRecoveryPhraseRequest,\n GetActiveAccountRequest,\n GetActiveAccountResponse,\n GetActivatedAccountRequest,\n GetActivatedAccountResponse,\n GetChainIDRequest,\n GetKeyInfoByAddressRequest,\n GetKeyInfoByNameOrAddressRequest,\n GetKeyInfoByNameRequest,\n GetRemoteRequest,\n HasKeyByAddressRequest,\n HasKeyByNameOrAddressRequest,\n HasKeyByNameRequest,\n HelloRequest,\n HelloStreamResponse,\n KeyInfo,\n ListKeyInfoRequest,\n MsgCall,\n MsgSend,\n QEvalRequest,\n QueryAccountRequest,\n QueryAccountResponse,\n QueryRequest,\n QueryResponse,\n RenderRequest,\n SelectAccountRequest,\n SelectAccountResponse,\n ActivateAccountRequest,\n ActivateAccountResponse,\n SendRequest,\n SendResponse,\n SetChainIDRequest,\n SetChainIDResponse,\n SetPasswordRequest,\n SetPasswordResponse,\n SetRemoteRequest,\n SetRemoteResponse,\n UpdatePasswordRequest,\n UpdatePasswordResponse,\n} from '@buf/gnolang_gnonative.bufbuild_es/gnonativetypes_pb';\nimport { GnoNativeService } from '@buf/gnolang_gnonative.connectrpc_es/rpc_connect';\nimport { PromiseClient } from '@connectrpc/connect';\n\nimport { GnoKeyApi, BridgeStatus, Config } from './types';\nimport { GoBridge, GoBridgeInterface } from '../GoBridge';\nimport * as Grpc from '../grpc/client';\n\nexport class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {\n bridgeStatus = BridgeStatus.Stopped;\n config: Config;\n clientInstance: PromiseClient<typeof GnoNativeService> | undefined;\n\n constructor(config: Config) {\n this.config = config;\n }\n\n async initClient() {\n if (this.bridgeStatus === BridgeStatus.Stopped) {\n console.log('Bridge stopped. Initializing...');\n await this.#initBridge();\n }\n\n if (this.clientInstance) {\n console.error('GoBridge already initialized.');\n return true;\n }\n\n const port = await GoBridge.getTcpPort();\n console.log('GoBridge GRPC client instance port: %s', port);\n const client = Grpc.createClient(port);\n this.clientInstance = client;\n console.log('GoBridge GRPC client instance. Done.');\n\n try {\n await this.clientInstance.setRemote(new SetRemoteRequest({ remote: this.config.remote }));\n await this.clientInstance.setChainID(\n new SetChainIDRequest({ chainId: this.config.chain_id }),\n );\n console.log('✅ GnoNative bridge initialized.');\n if (this.config.start_gnokey_mobile_service) {\n await this.startGnokeyMobileService();\n console.log('✅ Gnokey Mobile service started.');\n }\n return true;\n } catch (error) {\n console.error(error);\n return false;\n }\n }\n\n async #initBridge() {\n if (this.bridgeStatus === BridgeStatus.Stopped) {\n console.log('Initializing bridge...');\n this.bridgeStatus = BridgeStatus.Starting;\n await GoBridge.initBridge();\n console.log('Bridge initialized.');\n this.bridgeStatus = BridgeStatus.Started;\n }\n }\n\n #getClient() {\n if (!this.clientInstance) {\n throw new Error('GoBridge client instance not initialized.');\n }\n\n return this.clientInstance;\n }\n\n async setRemote(remote: string): Promise<SetRemoteResponse> {\n const client = await this.#getClient();\n const response = await client.setRemote(new SetRemoteRequest({ remote }));\n return response;\n }\n\n async getRemote(): Promise<string> {\n const client = await this.#getClient();\n const response = await client.getRemote(new GetRemoteRequest());\n return response.remote;\n }\n\n async setChainID(chainId: string): Promise<SetChainIDResponse> {\n const client = await this.#getClient();\n const response = await client.setChainID(new SetChainIDRequest({ chainId }));\n return response;\n }\n\n async getChainID() {\n const client = await this.#getClient();\n const response = await client.getChainID(new GetChainIDRequest());\n return response.chainId;\n }\n\n async createAccount(\n nameOrBech32: string,\n mnemonic: string,\n password: string,\n ): Promise<KeyInfo | undefined> {\n const client = await this.#getClient();\n const reponse = await client.createAccount(\n new CreateAccountRequest({\n nameOrBech32,\n mnemonic,\n password,\n }),\n );\n return reponse.key;\n }\n\n async generateRecoveryPhrase() {\n const client = await this.#getClient();\n const response = await client.generateRecoveryPhrase(new GenerateRecoveryPhraseRequest());\n return response.phrase;\n }\n\n async hasKeyByName(name: string) {\n const client = await this.#getClient();\n const response = await client.hasKeyByName(new HasKeyByNameRequest({ name }));\n return response.has;\n }\n\n async hasKeyByAddress(address: Uint8Array) {\n const client = await this.#getClient();\n const response = await client.hasKeyByAddress(new HasKeyByAddressRequest({ address }));\n return response.has;\n }\n\n async hasKeyByNameOrAddress(nameOrBech32: string) {\n const client = await this.#getClient();\n const response = await client.hasKeyByNameOrAddress(\n new HasKeyByNameOrAddressRequest({ nameOrBech32 }),\n );\n return response.has;\n }\n\n async getKeyInfoByName(name: string): Promise<KeyInfo | undefined> {\n const client = await this.#getClient();\n const response = await client.getKeyInfoByName(new GetKeyInfoByNameRequest({ name }));\n return response.key;\n }\n\n async getKeyInfoByAddress(address: Uint8Array): Promise<KeyInfo | undefined> {\n const client = await this.#getClient();\n const response = await client.getKeyInfoByAddress(new GetKeyInfoByAddressRequest({ address }));\n return response.key;\n }\n\n async getKeyInfoByNameOrAddress(nameOrBech32: string): Promise<KeyInfo | undefined> {\n const client = await this.#getClient();\n const response = await client.getKeyInfoByNameOrAddress(\n new GetKeyInfoByNameOrAddressRequest({ nameOrBech32 }),\n );\n return response.key;\n }\n\n async listKeyInfo(): Promise<KeyInfo[]> {\n const client = await this.#getClient();\n const response = await client.listKeyInfo(new ListKeyInfoRequest());\n return response.keys;\n }\n\n async selectAccount(nameOrBech32: string): Promise<SelectAccountResponse> {\n const client = await this.#getClient();\n const response = await client.selectAccount(\n new SelectAccountRequest({\n nameOrBech32,\n }),\n );\n return response;\n }\n\n async activateAccount(nameOrBech32: string): Promise<ActivateAccountResponse> {\n const client = await this.#getClient();\n const response = await client.activateAccount(\n new ActivateAccountRequest({\n nameOrBech32,\n }),\n );\n return response;\n }\n\n async getClient(): Promise<PromiseClient<typeof GnoNativeService>> {\n if (!this.clientInstance) {\n throw new Error('GoBridge client instance not initialized.');\n }\n return this.clientInstance;\n }\n\n isInitialized(): boolean {\n return this.clientInstance !== undefined;\n }\n\n async setPassword(password: string, address?: Uint8Array): Promise<SetPasswordResponse> {\n const client = await this.#getClient();\n const response = await client.setPassword(new SetPasswordRequest({ password, address }));\n return response;\n }\n\n async updatePassword(newPassword: string, address?: Uint8Array): Promise<UpdatePasswordResponse> {\n const client = await this.#getClient();\n const response = await client.updatePassword(new UpdatePasswordRequest({ newPassword, address }));\n return response;\n }\n\n async getActiveAccount(): Promise<GetActiveAccountResponse> {\n const client = await this.#getClient();\n const response = await client.getActiveAccount(new GetActiveAccountRequest());\n return response;\n }\n\n async getActivatedAccount(): Promise<GetActivatedAccountResponse> {\n const client = await this.#getClient();\n const response = await client.getActivatedAccount(new GetActivatedAccountRequest());\n return response;\n }\n\n async queryAccount(address: Uint8Array): Promise<QueryAccountResponse> {\n const client = await this.#getClient();\n const reponse = await client.queryAccount(new QueryAccountRequest({ address }));\n return reponse;\n }\n\n async deleteAccount(\n nameOrBech32: string,\n password: string | undefined,\n skipPassword: boolean,\n ): Promise<DeleteAccountResponse> {\n const client = await this.#getClient();\n const response = await client.deleteAccount(\n new DeleteAccountRequest({\n nameOrBech32,\n password,\n skipPassword,\n }),\n );\n return response;\n }\n\n async query(path: string, data: Uint8Array): Promise<QueryResponse> {\n const client = await this.#getClient();\n const reponse = await client.query(\n new QueryRequest({\n path,\n data,\n }),\n );\n return reponse;\n }\n\n async render(packagePath: string, args: string) {\n const client = await this.#getClient();\n const reponse = await client.render(\n new RenderRequest({\n packagePath,\n args,\n }),\n );\n return reponse.result;\n }\n\n async qEval(packagePath: string, expression: string) {\n const client = await this.#getClient();\n const reponse = await client.qEval(\n new QEvalRequest({\n packagePath,\n expression,\n }),\n );\n return reponse.result;\n }\n\n async call(\n packagePath: string,\n fnc: string,\n args: string[],\n gasFee: string,\n gasWanted: number,\n callerAddress?: Uint8Array,\n send?: string,\n memo?: string,\n ): Promise<AsyncIterable<CallResponse>> {\n const client = await this.#getClient();\n const reponse = client.call(\n new CallRequest({\n gasFee,\n gasWanted: BigInt(gasWanted),\n memo,\n callerAddress,\n msgs: [\n new MsgCall({\n packagePath,\n fnc,\n args,\n send,\n }),\n ],\n }),\n );\n return reponse;\n }\n\n async send(\n toAddress: Uint8Array,\n send: string,\n gasFee: string,\n gasWanted: number,\n callerAddress?: Uint8Array,\n memo?: string,\n ): Promise<AsyncIterable<SendResponse>> {\n const client = await this.#getClient();\n const reponse = client.send(\n new SendRequest({\n gasFee,\n gasWanted: BigInt(gasWanted),\n memo,\n callerAddress,\n msgs: [\n new MsgSend({\n toAddress,\n send,\n }),\n ],\n }),\n );\n return reponse;\n }\n\n async addressToBech32(address: Uint8Array) {\n const client = await this.#getClient();\n const response = await client.addressToBech32(new AddressToBech32Request({ address }));\n return response.bech32Address;\n }\n\n async addressFromMnemonic(mnemonic: string) {\n const client = await this.#getClient();\n const response = await client.addressFromMnemonic(new AddressFromMnemonicRequest({ mnemonic }));\n return response.address;\n }\n\n async addressFromBech32(bech32Address: string) {\n const client = await this.#getClient();\n const response = await client.addressFromBech32(\n new AddressFromBech32Request({ bech32Address }),\n );\n return response.address;\n }\n\n // // debug\n async hello(name: string) {\n const client = await this.#getClient();\n const response = await client.hello(new HelloRequest({ name }));\n return response.greeting;\n }\n\n // // debug\n async helloStream(name: string): Promise<AsyncIterable<HelloStreamResponse>> {\n const client = await this.#getClient();\n return client.helloStream(new HelloRequest({ name }));\n }\n\n // Go Bridge Interface:\n initBridge(): Promise<void> {\n return GoBridge.initBridge();\n }\n closeBridge(): Promise<void> {\n return GoBridge.closeBridge();\n }\n getTcpPort(): Promise<number> {\n return GoBridge.getTcpPort();\n }\n startGnokeyMobileService(): Promise<void> {\n return GoBridge.startGnokeyMobileService();\n }\n invokeGrpcMethod(method: string, jsonMessage: string): Promise<string> {\n return GoBridge.invokeGrpcMethod(method, jsonMessage);\n }\n createStreamClient(method: string, jsonMessage: string): Promise<string> {\n return GoBridge.createStreamClient(method, jsonMessage);\n }\n streamClientReceive(id: string): Promise<string> {\n return GoBridge.streamClientReceive(id);\n }\n closeStreamClient(id: string): Promise<void> {\n return GoBridge.closeStreamClient(id);\n }\n}\n"]}
1
+ {"version":3,"file":"GnoNativeApi.js","sourceRoot":"","sources":["../../src/api/GnoNativeApi.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AddressFromBech32Request,\n AddressToBech32Request,\n AddressFromMnemonicRequest,\n BroadcastTxCommitResponse,\n CallRequest,\n CallResponse,\n CreateAccountRequest,\n DeleteAccountRequest,\n DeleteAccountResponse,\n GenerateRecoveryPhraseRequest,\n GetActiveAccountRequest,\n GetActiveAccountResponse,\n GetActivatedAccountRequest,\n GetActivatedAccountResponse,\n GetChainIDRequest,\n GetKeyInfoByAddressRequest,\n GetKeyInfoByNameOrAddressRequest,\n GetKeyInfoByNameRequest,\n GetRemoteRequest,\n HasKeyByAddressRequest,\n HasKeyByNameOrAddressRequest,\n HasKeyByNameRequest,\n HelloRequest,\n HelloStreamResponse,\n KeyInfo,\n ListKeyInfoRequest,\n MakeTxResponse,\n MsgCall,\n MsgSend,\n QEvalRequest,\n QueryAccountRequest,\n QueryAccountResponse,\n QueryRequest,\n QueryResponse,\n RenderRequest,\n SelectAccountRequest,\n SelectAccountResponse,\n ActivateAccountRequest,\n ActivateAccountResponse,\n SendRequest,\n SendResponse,\n SetChainIDRequest,\n SetChainIDResponse,\n SetPasswordRequest,\n SetPasswordResponse,\n SetRemoteRequest,\n SetRemoteResponse,\n SignTxResponse,\n UpdatePasswordRequest,\n UpdatePasswordResponse,\n} from '@buf/gnolang_gnonative.bufbuild_es/gnonativetypes_pb';\nimport { GnoNativeService } from '@buf/gnolang_gnonative.connectrpc_es/rpc_connect';\nimport { PromiseClient } from '@connectrpc/connect';\n\nimport { GnoKeyApi, BridgeStatus, Config } from './types';\nimport { GoBridge, GoBridgeInterface } from '../GoBridge';\nimport * as Grpc from '../grpc/client';\n\nexport class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {\n bridgeStatus = BridgeStatus.Stopped;\n config: Config;\n clientInstance: PromiseClient<typeof GnoNativeService> | undefined;\n\n constructor(config: Config) {\n this.config = config;\n }\n\n async initClient() {\n if (this.bridgeStatus === BridgeStatus.Stopped) {\n console.log('Bridge stopped. Initializing...');\n await this.#initBridge();\n }\n\n if (this.clientInstance) {\n console.error('GoBridge already initialized.');\n return true;\n }\n\n const port = await GoBridge.getTcpPort();\n console.log('GoBridge GRPC client instance port: %s', port);\n const client = Grpc.createClient(port);\n this.clientInstance = client;\n console.log('GoBridge GRPC client instance. Done.');\n\n try {\n await this.clientInstance.setRemote(new SetRemoteRequest({ remote: this.config.remote }));\n await this.clientInstance.setChainID(\n new SetChainIDRequest({ chainId: this.config.chain_id }),\n );\n console.log('✅ GnoNative bridge initialized.');\n if (this.config.start_gnokey_mobile_service) {\n await this.startGnokeyMobileService();\n console.log('✅ Gnokey Mobile service started.');\n }\n return true;\n } catch (error) {\n console.error(error);\n return false;\n }\n }\n\n async #initBridge() {\n if (this.bridgeStatus === BridgeStatus.Stopped) {\n console.log('Initializing bridge...');\n this.bridgeStatus = BridgeStatus.Starting;\n await GoBridge.initBridge();\n console.log('Bridge initialized.');\n this.bridgeStatus = BridgeStatus.Started;\n }\n }\n\n #getClient() {\n if (!this.clientInstance) {\n throw new Error('GoBridge client instance not initialized.');\n }\n\n return this.clientInstance;\n }\n\n async setRemote(remote: string): Promise<SetRemoteResponse> {\n const client = this.#getClient();\n const response = client.setRemote(new SetRemoteRequest({ remote }));\n return response;\n }\n\n async getRemote(): Promise<string> {\n const client = this.#getClient();\n const response = await client.getRemote(new GetRemoteRequest());\n return response.remote;\n }\n\n async signTx(\n txJson: string,\n address: Uint8Array,\n accountNumber: bigint = BigInt(0),\n sequenceNumber: bigint = BigInt(0),\n ): Promise<SignTxResponse> {\n const client = this.#getClient();\n const response = client.signTx({ txJson, address, accountNumber, sequenceNumber });\n return response;\n }\n\n async setChainID(chainId: string): Promise<SetChainIDResponse> {\n const client = this.#getClient();\n const response = client.setChainID(new SetChainIDRequest({ chainId }));\n return response;\n }\n\n async getChainID() {\n const client = this.#getClient();\n const response = await client.getChainID(new GetChainIDRequest());\n return response.chainId;\n }\n\n async createAccount(\n nameOrBech32: string,\n mnemonic: string,\n password: string,\n ): Promise<KeyInfo | undefined> {\n const client = this.#getClient();\n const reponse = await client.createAccount(\n new CreateAccountRequest({\n nameOrBech32,\n mnemonic,\n password,\n }),\n );\n return reponse.key;\n }\n\n async generateRecoveryPhrase() {\n const client = this.#getClient();\n const response = await client.generateRecoveryPhrase(new GenerateRecoveryPhraseRequest());\n return response.phrase;\n }\n\n async hasKeyByName(name: string) {\n const client = this.#getClient();\n const response = await client.hasKeyByName(new HasKeyByNameRequest({ name }));\n return response.has;\n }\n\n async hasKeyByAddress(address: Uint8Array) {\n const client = this.#getClient();\n const response = await client.hasKeyByAddress(new HasKeyByAddressRequest({ address }));\n return response.has;\n }\n\n async hasKeyByNameOrAddress(nameOrBech32: string) {\n const client = this.#getClient();\n const response = await client.hasKeyByNameOrAddress(\n new HasKeyByNameOrAddressRequest({ nameOrBech32 }),\n );\n return response.has;\n }\n\n async getKeyInfoByName(name: string): Promise<KeyInfo | undefined> {\n const client = this.#getClient();\n const response = await client.getKeyInfoByName(new GetKeyInfoByNameRequest({ name }));\n return response.key;\n }\n\n async getKeyInfoByAddress(address: Uint8Array): Promise<KeyInfo | undefined> {\n const client = this.#getClient();\n const response = await client.getKeyInfoByAddress(new GetKeyInfoByAddressRequest({ address }));\n return response.key;\n }\n\n async getKeyInfoByNameOrAddress(nameOrBech32: string): Promise<KeyInfo | undefined> {\n const client = this.#getClient();\n const response = await client.getKeyInfoByNameOrAddress(\n new GetKeyInfoByNameOrAddressRequest({ nameOrBech32 }),\n );\n return response.key;\n }\n\n async listKeyInfo(): Promise<KeyInfo[]> {\n const client = this.#getClient();\n const response = await client.listKeyInfo(new ListKeyInfoRequest());\n return response.keys;\n }\n\n async makeCallTx(\n packagePath: string,\n fnc: string,\n args: string[],\n gasFee: string,\n gasWanted: bigint,\n callerAddress?: Uint8Array,\n send?: string,\n memo?: string,\n ): Promise<MakeTxResponse> {\n const client = this.#getClient();\n const reponse = client.makeCallTx({\n gasFee,\n gasWanted,\n memo,\n callerAddress,\n msgs: [\n {\n packagePath,\n fnc,\n args,\n send,\n },\n ],\n });\n return reponse;\n }\n\n async selectAccount(nameOrBech32: string): Promise<SelectAccountResponse> {\n const client = this.#getClient();\n const response = client.selectAccount(\n new SelectAccountRequest({\n nameOrBech32,\n }),\n );\n return response;\n }\n\n async activateAccount(nameOrBech32: string): Promise<ActivateAccountResponse> {\n const client = this.#getClient();\n const response = client.activateAccount(\n new ActivateAccountRequest({\n nameOrBech32,\n }),\n );\n return response;\n }\n\n async getClient(): Promise<PromiseClient<typeof GnoNativeService>> {\n if (!this.clientInstance) {\n throw new Error('GoBridge client instance not initialized.');\n }\n return this.clientInstance;\n }\n\n isInitialized(): boolean {\n return this.clientInstance !== undefined;\n }\n\n async setPassword(password: string, address?: Uint8Array): Promise<SetPasswordResponse> {\n const client = this.#getClient();\n const response = client.setPassword(new SetPasswordRequest({ password, address }));\n return response;\n }\n\n async updatePassword(\n newPassword: string,\n addresses: Uint8Array[],\n ): Promise<UpdatePasswordResponse> {\n const client = this.#getClient();\n const response = client.updatePassword(new UpdatePasswordRequest({ newPassword, addresses }));\n return response;\n }\n\n async getActiveAccount(): Promise<GetActiveAccountResponse> {\n const client = this.#getClient();\n const response = client.getActiveAccount(new GetActiveAccountRequest());\n return response;\n }\n\n async getActivatedAccount(): Promise<GetActivatedAccountResponse> {\n const client = this.#getClient();\n const response = client.getActivatedAccount(new GetActivatedAccountRequest());\n return response;\n }\n\n async queryAccount(address: Uint8Array): Promise<QueryAccountResponse> {\n const client = this.#getClient();\n const reponse = client.queryAccount(new QueryAccountRequest({ address }));\n return reponse;\n }\n\n async deleteAccount(\n nameOrBech32: string,\n password: string | undefined,\n skipPassword: boolean,\n ): Promise<DeleteAccountResponse> {\n const client = this.#getClient();\n const response = client.deleteAccount(\n new DeleteAccountRequest({\n nameOrBech32,\n password,\n skipPassword,\n }),\n );\n return response;\n }\n\n async query(path: string, data: Uint8Array): Promise<QueryResponse> {\n const client = this.#getClient();\n const reponse = client.query(\n new QueryRequest({\n path,\n data,\n }),\n );\n return reponse;\n }\n\n async render(packagePath: string, args: string) {\n const client = this.#getClient();\n const reponse = await client.render(\n new RenderRequest({\n packagePath,\n args,\n }),\n );\n return reponse.result;\n }\n\n async qEval(packagePath: string, expression: string) {\n const client = this.#getClient();\n const reponse = await client.qEval(\n new QEvalRequest({\n packagePath,\n expression,\n }),\n );\n return reponse.result;\n }\n\n async call(\n packagePath: string,\n fnc: string,\n args: string[],\n gasFee: string,\n gasWanted: bigint,\n callerAddress?: Uint8Array,\n send?: string,\n memo?: string,\n ): Promise<AsyncIterable<CallResponse>> {\n const client = this.#getClient();\n const reponse = client.call(\n new CallRequest({\n gasFee,\n gasWanted,\n memo,\n callerAddress,\n msgs: [\n new MsgCall({\n packagePath,\n fnc,\n args,\n send,\n }),\n ],\n }),\n );\n return reponse;\n }\n\n async send(\n toAddress: Uint8Array,\n send: string,\n gasFee: string,\n gasWanted: bigint,\n callerAddress?: Uint8Array,\n memo?: string,\n ): Promise<AsyncIterable<SendResponse>> {\n const client = this.#getClient();\n const reponse = client.send(\n new SendRequest({\n gasFee,\n gasWanted,\n memo,\n callerAddress,\n msgs: [\n new MsgSend({\n toAddress,\n send,\n }),\n ],\n }),\n );\n return reponse;\n }\n\n async addressToBech32(address: Uint8Array) {\n const client = this.#getClient();\n const response = await client.addressToBech32(new AddressToBech32Request({ address }));\n return response.bech32Address;\n }\n\n async addressFromMnemonic(mnemonic: string) {\n const client = this.#getClient();\n const response = await client.addressFromMnemonic(new AddressFromMnemonicRequest({ mnemonic }));\n return response.address;\n }\n\n async addressFromBech32(bech32Address: string) {\n const client = this.#getClient();\n const response = await client.addressFromBech32(\n new AddressFromBech32Request({ bech32Address }),\n );\n return response.address;\n }\n\n async broadcastTxCommit(signedTxJson: string): Promise<AsyncIterable<BroadcastTxCommitResponse>> {\n const client = this.#getClient();\n const response = client.broadcastTxCommit({ signedTxJson });\n return response;\n }\n\n // // debug\n async hello(name: string) {\n const client = this.#getClient();\n const response = await client.hello(new HelloRequest({ name }));\n return response.greeting;\n }\n\n // // debug\n async helloStream(name: string): Promise<AsyncIterable<HelloStreamResponse>> {\n const client = this.#getClient();\n return client.helloStream(new HelloRequest({ name }));\n }\n\n // Go Bridge Interface:\n initBridge(): Promise<void> {\n return GoBridge.initBridge();\n }\n closeBridge(): Promise<void> {\n return GoBridge.closeBridge();\n }\n getTcpPort(): Promise<number> {\n return GoBridge.getTcpPort();\n }\n startGnokeyMobileService(): Promise<void> {\n return GoBridge.startGnokeyMobileService();\n }\n invokeGrpcMethod(method: string, jsonMessage: string): Promise<string> {\n return GoBridge.invokeGrpcMethod(method, jsonMessage);\n }\n createStreamClient(method: string, jsonMessage: string): Promise<string> {\n return GoBridge.createStreamClient(method, jsonMessage);\n }\n streamClientReceive(id: string): Promise<string> {\n return GoBridge.streamClientReceive(id);\n }\n closeStreamClient(id: string): Promise<void> {\n return GoBridge.closeStreamClient(id);\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { CallResponse, DeleteAccountResponse, GetActiveAccountResponse, GetActivatedAccountResponse, HelloStreamResponse, QueryAccountResponse, QueryResponse, SelectAccountResponse, ActivateAccountResponse, SendResponse, SetChainIDResponse, SetPasswordResponse, SetRemoteResponse, UpdatePasswordResponse, KeyInfo } from '@buf/gnolang_gnonative.bufbuild_es/gnonativetypes_pb';
1
+ import { CallResponse, DeleteAccountResponse, GetActiveAccountResponse, GetActivatedAccountResponse, HelloStreamResponse, QueryAccountResponse, QueryResponse, SelectAccountResponse, ActivateAccountResponse, SendResponse, SetChainIDResponse, SetPasswordResponse, SetRemoteResponse, UpdatePasswordResponse, KeyInfo, SignTxResponse, MakeTxResponse, BroadcastTxCommitResponse } from '@buf/gnolang_gnonative.bufbuild_es/gnonativetypes_pb';
2
2
  export declare enum BridgeStatus {
3
3
  Stopped = 0,
4
4
  Starting = 1,
@@ -26,7 +26,7 @@ export interface GnoKeyApi {
26
26
  selectAccount: (nameOrBech32: string) => Promise<SelectAccountResponse>;
27
27
  activateAccount: (nameOrBech32: string) => Promise<ActivateAccountResponse>;
28
28
  setPassword: (password: string, address?: Uint8Array) => Promise<SetPasswordResponse>;
29
- updatePassword: (password: string, address?: Uint8Array) => Promise<UpdatePasswordResponse>;
29
+ updatePassword: (password: string, addresses: Uint8Array[]) => Promise<UpdatePasswordResponse>;
30
30
  getActiveAccount: () => Promise<GetActiveAccountResponse>;
31
31
  getActivatedAccount: () => Promise<GetActivatedAccountResponse>;
32
32
  queryAccount: (address: Uint8Array) => Promise<QueryAccountResponse>;
@@ -34,11 +34,14 @@ export interface GnoKeyApi {
34
34
  query: (path: string, data: Uint8Array) => Promise<QueryResponse>;
35
35
  render: (packagePath: string, args: string) => Promise<string>;
36
36
  qEval: (packagePath: string, expression: string) => Promise<string>;
37
- call: (packagePath: string, fnc: string, args: string[], gasFee: string, gasWanted: number, callerAddress?: Uint8Array, send?: string, memo?: string) => Promise<AsyncIterable<CallResponse>>;
38
- send: (toAddress: Uint8Array, send: string, gasFee: string, gasWanted: number, callerAddress?: Uint8Array, memo?: string) => Promise<AsyncIterable<SendResponse>>;
37
+ call: (packagePath: string, fnc: string, args: string[], gasFee: string, gasWanted: bigint, callerAddress?: Uint8Array, send?: string, memo?: string) => Promise<AsyncIterable<CallResponse>>;
38
+ send: (toAddress: Uint8Array, send: string, gasFee: string, gasWanted: bigint, callerAddress?: Uint8Array, memo?: string) => Promise<AsyncIterable<SendResponse>>;
39
39
  addressToBech32: (address: Uint8Array) => Promise<string>;
40
40
  addressFromMnemonic: (mnemonic: string) => Promise<Uint8Array>;
41
41
  addressFromBech32: (bech32Address: string) => Promise<Uint8Array>;
42
+ signTx(txJson: string, address: Uint8Array, accountNumber?: bigint, sequenceNumber?: bigint): Promise<SignTxResponse>;
43
+ makeCallTx(packagePath: string, fnc: string, args: string[], gasFee: string, gasWanted: bigint, callerAddress?: Uint8Array, send?: string, memo?: string): Promise<MakeTxResponse>;
44
+ broadcastTxCommit(signedTxJson: string): Promise<AsyncIterable<BroadcastTxCommitResponse>>;
42
45
  hello: (name: string) => Promise<string>;
43
46
  helloStream: (name: string) => Promise<AsyncIterable<HelloStreamResponse>>;
44
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAkBA,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,qDAAO,CAAA;IACP,uDAAQ,CAAA;IACR,qDAAO,CAAA;AACT,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB","sourcesContent":["import {\n CallResponse,\n DeleteAccountResponse,\n GetActiveAccountResponse,\n GetActivatedAccountResponse,\n HelloStreamResponse,\n QueryAccountResponse,\n QueryResponse,\n SelectAccountResponse,\n ActivateAccountResponse,\n SendResponse,\n SetChainIDResponse,\n SetPasswordResponse,\n SetRemoteResponse,\n UpdatePasswordResponse,\n KeyInfo,\n} from '@buf/gnolang_gnonative.bufbuild_es/gnonativetypes_pb';\n\nexport enum BridgeStatus {\n Stopped,\n Starting,\n Started,\n}\n\nexport interface Config {\n remote: string;\n chain_id: string;\n // If true, initBridge also starts a Gnokey Mobile service. (Only needed for the Gnokey Mobile app.)\n start_gnokey_mobile_service?: boolean;\n}\n\nexport interface GnoKeyApi {\n setRemote: (remote: string) => Promise<SetRemoteResponse>;\n getRemote: () => Promise<string>;\n setChainID: (chainId: string) => Promise<SetChainIDResponse>;\n getChainID: () => Promise<string>;\n createAccount: (\n nameOrBech32: string,\n mnemonic: string,\n password: string,\n ) => Promise<KeyInfo | undefined>;\n generateRecoveryPhrase: () => Promise<string>;\n listKeyInfo: () => Promise<KeyInfo[]>;\n hasKeyByName: (name: string) => Promise<boolean>;\n hasKeyByAddress: (address: Uint8Array) => Promise<boolean>;\n hasKeyByNameOrAddress: (nameOrBech32: string) => Promise<boolean>;\n getKeyInfoByName: (name: string) => Promise<KeyInfo | undefined>;\n getKeyInfoByAddress: (address: Uint8Array) => Promise<KeyInfo | undefined>;\n getKeyInfoByNameOrAddress: (nameOrBech32: string) => Promise<KeyInfo | undefined>;\n selectAccount: (nameOrBech32: string) => Promise<SelectAccountResponse>;\n activateAccount: (nameOrBech32: string) => Promise<ActivateAccountResponse>;\n setPassword: (password: string, address?: Uint8Array) => Promise<SetPasswordResponse>;\n updatePassword: (password: string, address?: Uint8Array) => Promise<UpdatePasswordResponse>;\n getActiveAccount: () => Promise<GetActiveAccountResponse>;\n getActivatedAccount: () => Promise<GetActivatedAccountResponse>;\n queryAccount: (address: Uint8Array) => Promise<QueryAccountResponse>;\n deleteAccount: (\n nameOrBech32: string,\n password: string | undefined,\n skipPassword: boolean,\n ) => Promise<DeleteAccountResponse>;\n query: (path: string, data: Uint8Array) => Promise<QueryResponse>;\n render: (packagePath: string, args: string) => Promise<string>;\n qEval: (packagePath: string, expression: string) => Promise<string>;\n call: (\n packagePath: string,\n fnc: string,\n args: string[],\n gasFee: string,\n gasWanted: number,\n callerAddress?: Uint8Array,\n send?: string,\n memo?: string,\n ) => Promise<AsyncIterable<CallResponse>>;\n send: (\n toAddress: Uint8Array,\n send: string,\n gasFee: string,\n gasWanted: number,\n callerAddress?: Uint8Array,\n memo?: string,\n ) => Promise<AsyncIterable<SendResponse>>;\n addressToBech32: (address: Uint8Array) => Promise<string>;\n addressFromMnemonic: (mnemonic: string) => Promise<Uint8Array>;\n addressFromBech32: (bech32Address: string) => Promise<Uint8Array>;\n // debug\n hello: (name: string) => Promise<string>;\n helloStream: (name: string) => Promise<AsyncIterable<HelloStreamResponse>>;\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,qDAAO,CAAA;IACP,uDAAQ,CAAA;IACR,qDAAO,CAAA;AACT,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB","sourcesContent":["import {\n CallResponse,\n DeleteAccountResponse,\n GetActiveAccountResponse,\n GetActivatedAccountResponse,\n HelloStreamResponse,\n QueryAccountResponse,\n QueryResponse,\n SelectAccountResponse,\n ActivateAccountResponse,\n SendResponse,\n SetChainIDResponse,\n SetPasswordResponse,\n SetRemoteResponse,\n UpdatePasswordResponse,\n KeyInfo,\n SignTxResponse,\n MakeTxResponse,\n BroadcastTxCommitResponse,\n} from '@buf/gnolang_gnonative.bufbuild_es/gnonativetypes_pb';\n\nexport enum BridgeStatus {\n Stopped,\n Starting,\n Started,\n}\n\nexport interface Config {\n remote: string;\n chain_id: string;\n // If true, initBridge also starts a Gnokey Mobile service. (Only needed for the Gnokey Mobile app.)\n start_gnokey_mobile_service?: boolean;\n}\n\nexport interface GnoKeyApi {\n setRemote: (remote: string) => Promise<SetRemoteResponse>;\n getRemote: () => Promise<string>;\n setChainID: (chainId: string) => Promise<SetChainIDResponse>;\n getChainID: () => Promise<string>;\n createAccount: (\n nameOrBech32: string,\n mnemonic: string,\n password: string,\n ) => Promise<KeyInfo | undefined>;\n generateRecoveryPhrase: () => Promise<string>;\n listKeyInfo: () => Promise<KeyInfo[]>;\n hasKeyByName: (name: string) => Promise<boolean>;\n hasKeyByAddress: (address: Uint8Array) => Promise<boolean>;\n hasKeyByNameOrAddress: (nameOrBech32: string) => Promise<boolean>;\n getKeyInfoByName: (name: string) => Promise<KeyInfo | undefined>;\n getKeyInfoByAddress: (address: Uint8Array) => Promise<KeyInfo | undefined>;\n getKeyInfoByNameOrAddress: (nameOrBech32: string) => Promise<KeyInfo | undefined>;\n selectAccount: (nameOrBech32: string) => Promise<SelectAccountResponse>;\n activateAccount: (nameOrBech32: string) => Promise<ActivateAccountResponse>;\n setPassword: (password: string, address?: Uint8Array) => Promise<SetPasswordResponse>;\n updatePassword: (password: string, addresses: Uint8Array[]) => Promise<UpdatePasswordResponse>;\n getActiveAccount: () => Promise<GetActiveAccountResponse>;\n getActivatedAccount: () => Promise<GetActivatedAccountResponse>;\n queryAccount: (address: Uint8Array) => Promise<QueryAccountResponse>;\n deleteAccount: (\n nameOrBech32: string,\n password: string | undefined,\n skipPassword: boolean,\n ) => Promise<DeleteAccountResponse>;\n query: (path: string, data: Uint8Array) => Promise<QueryResponse>;\n render: (packagePath: string, args: string) => Promise<string>;\n qEval: (packagePath: string, expression: string) => Promise<string>;\n call: (\n packagePath: string,\n fnc: string,\n args: string[],\n gasFee: string,\n gasWanted: bigint,\n callerAddress?: Uint8Array,\n send?: string,\n memo?: string,\n ) => Promise<AsyncIterable<CallResponse>>;\n send: (\n toAddress: Uint8Array,\n send: string,\n gasFee: string,\n gasWanted: bigint,\n callerAddress?: Uint8Array,\n memo?: string,\n ) => Promise<AsyncIterable<SendResponse>>;\n addressToBech32: (address: Uint8Array) => Promise<string>;\n addressFromMnemonic: (mnemonic: string) => Promise<Uint8Array>;\n addressFromBech32: (bech32Address: string) => Promise<Uint8Array>;\n signTx(\n txJson: string,\n address: Uint8Array,\n accountNumber?: bigint,\n sequenceNumber?: bigint,\n ): Promise<SignTxResponse>;\n makeCallTx(\n packagePath: string,\n fnc: string,\n args: string[],\n gasFee: string,\n gasWanted: bigint,\n callerAddress?: Uint8Array,\n send?: string,\n memo?: string,\n ): Promise<MakeTxResponse>;\n broadcastTxCommit(signedTxJson: string): Promise<AsyncIterable<BroadcastTxCommitResponse>>;\n // debug\n hello: (name: string) => Promise<string>;\n helloStream: (name: string) => Promise<AsyncIterable<HelloStreamResponse>>;\n}\n"]}
@@ -8,32 +8,32 @@
8
8
  <key>BinaryPath</key>
9
9
  <string>GnoCore.framework/Versions/A/GnoCore</string>
10
10
  <key>LibraryIdentifier</key>
11
- <string>ios-arm64</string>
11
+ <string>ios-arm64_x86_64-simulator</string>
12
12
  <key>LibraryPath</key>
13
13
  <string>GnoCore.framework</string>
14
14
  <key>SupportedArchitectures</key>
15
15
  <array>
16
16
  <string>arm64</string>
17
+ <string>x86_64</string>
17
18
  </array>
18
19
  <key>SupportedPlatform</key>
19
20
  <string>ios</string>
21
+ <key>SupportedPlatformVariant</key>
22
+ <string>simulator</string>
20
23
  </dict>
21
24
  <dict>
22
25
  <key>BinaryPath</key>
23
26
  <string>GnoCore.framework/Versions/A/GnoCore</string>
24
27
  <key>LibraryIdentifier</key>
25
- <string>ios-arm64_x86_64-simulator</string>
28
+ <string>ios-arm64</string>
26
29
  <key>LibraryPath</key>
27
30
  <string>GnoCore.framework</string>
28
31
  <key>SupportedArchitectures</key>
29
32
  <array>
30
33
  <string>arm64</string>
31
- <string>x86_64</string>
32
34
  </array>
33
35
  <key>SupportedPlatform</key>
34
36
  <string>ios</string>
35
- <key>SupportedPlatformVariant</key>
36
- <string>simulator</string>
37
37
  </dict>
38
38
  </array>
39
39
  <key>CFBundlePackageType</key>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gnolang/gnonative",
3
- "version": "1.8.1",
3
+ "version": "3.0.0",
4
4
  "description": "Develop for Gno using your app's native language ",
5
5
  "main": "build/index.js",
6
6
  "types": "build/index.d.ts",
@@ -29,8 +29,8 @@
29
29
  "license": "MIT",
30
30
  "homepage": "https://github.com/gnolang/gnonative#readme",
31
31
  "dependencies": {
32
- "@buf/gnolang_gnonative.bufbuild_es": "^1.10.0-20240722123703-a858ea7341d6.1",
33
- "@buf/gnolang_gnonative.connectrpc_es": "^1.4.0-20240722123703-a858ea7341d6.3",
32
+ "@buf/gnolang_gnonative.bufbuild_es": "^1.7.2-20240919093120-8280c8c152be.2",
33
+ "@buf/gnolang_gnonative.connectrpc_es": "^1.4.0-20240919093120-8280c8c152be.3",
34
34
  "@bufbuild/protobuf": "^1.8.0",
35
35
  "@connectrpc/connect": "^1.4.0",
36
36
  "@connectrpc/connect-web": "^1.4.0",
@@ -2,6 +2,7 @@ import {
2
2
  AddressFromBech32Request,
3
3
  AddressToBech32Request,
4
4
  AddressFromMnemonicRequest,
5
+ BroadcastTxCommitResponse,
5
6
  CallRequest,
6
7
  CallResponse,
7
8
  CreateAccountRequest,
@@ -24,6 +25,7 @@ import {
24
25
  HelloStreamResponse,
25
26
  KeyInfo,
26
27
  ListKeyInfoRequest,
28
+ MakeTxResponse,
27
29
  MsgCall,
28
30
  MsgSend,
29
31
  QEvalRequest,
@@ -44,6 +46,7 @@ import {
44
46
  SetPasswordResponse,
45
47
  SetRemoteRequest,
46
48
  SetRemoteResponse,
49
+ SignTxResponse,
47
50
  UpdatePasswordRequest,
48
51
  UpdatePasswordResponse,
49
52
  } from '@buf/gnolang_gnonative.bufbuild_es/gnonativetypes_pb';
@@ -116,25 +119,36 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
116
119
  }
117
120
 
118
121
  async setRemote(remote: string): Promise<SetRemoteResponse> {
119
- const client = await this.#getClient();
120
- const response = await client.setRemote(new SetRemoteRequest({ remote }));
122
+ const client = this.#getClient();
123
+ const response = client.setRemote(new SetRemoteRequest({ remote }));
121
124
  return response;
122
125
  }
123
126
 
124
127
  async getRemote(): Promise<string> {
125
- const client = await this.#getClient();
128
+ const client = this.#getClient();
126
129
  const response = await client.getRemote(new GetRemoteRequest());
127
130
  return response.remote;
128
131
  }
129
132
 
133
+ async signTx(
134
+ txJson: string,
135
+ address: Uint8Array,
136
+ accountNumber: bigint = BigInt(0),
137
+ sequenceNumber: bigint = BigInt(0),
138
+ ): Promise<SignTxResponse> {
139
+ const client = this.#getClient();
140
+ const response = client.signTx({ txJson, address, accountNumber, sequenceNumber });
141
+ return response;
142
+ }
143
+
130
144
  async setChainID(chainId: string): Promise<SetChainIDResponse> {
131
- const client = await this.#getClient();
132
- const response = await client.setChainID(new SetChainIDRequest({ chainId }));
145
+ const client = this.#getClient();
146
+ const response = client.setChainID(new SetChainIDRequest({ chainId }));
133
147
  return response;
134
148
  }
135
149
 
136
150
  async getChainID() {
137
- const client = await this.#getClient();
151
+ const client = this.#getClient();
138
152
  const response = await client.getChainID(new GetChainIDRequest());
139
153
  return response.chainId;
140
154
  }
@@ -144,7 +158,7 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
144
158
  mnemonic: string,
145
159
  password: string,
146
160
  ): Promise<KeyInfo | undefined> {
147
- const client = await this.#getClient();
161
+ const client = this.#getClient();
148
162
  const reponse = await client.createAccount(
149
163
  new CreateAccountRequest({
150
164
  nameOrBech32,
@@ -156,25 +170,25 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
156
170
  }
157
171
 
158
172
  async generateRecoveryPhrase() {
159
- const client = await this.#getClient();
173
+ const client = this.#getClient();
160
174
  const response = await client.generateRecoveryPhrase(new GenerateRecoveryPhraseRequest());
161
175
  return response.phrase;
162
176
  }
163
177
 
164
178
  async hasKeyByName(name: string) {
165
- const client = await this.#getClient();
179
+ const client = this.#getClient();
166
180
  const response = await client.hasKeyByName(new HasKeyByNameRequest({ name }));
167
181
  return response.has;
168
182
  }
169
183
 
170
184
  async hasKeyByAddress(address: Uint8Array) {
171
- const client = await this.#getClient();
185
+ const client = this.#getClient();
172
186
  const response = await client.hasKeyByAddress(new HasKeyByAddressRequest({ address }));
173
187
  return response.has;
174
188
  }
175
189
 
176
190
  async hasKeyByNameOrAddress(nameOrBech32: string) {
177
- const client = await this.#getClient();
191
+ const client = this.#getClient();
178
192
  const response = await client.hasKeyByNameOrAddress(
179
193
  new HasKeyByNameOrAddressRequest({ nameOrBech32 }),
180
194
  );
@@ -182,19 +196,19 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
182
196
  }
183
197
 
184
198
  async getKeyInfoByName(name: string): Promise<KeyInfo | undefined> {
185
- const client = await this.#getClient();
199
+ const client = this.#getClient();
186
200
  const response = await client.getKeyInfoByName(new GetKeyInfoByNameRequest({ name }));
187
201
  return response.key;
188
202
  }
189
203
 
190
204
  async getKeyInfoByAddress(address: Uint8Array): Promise<KeyInfo | undefined> {
191
- const client = await this.#getClient();
205
+ const client = this.#getClient();
192
206
  const response = await client.getKeyInfoByAddress(new GetKeyInfoByAddressRequest({ address }));
193
207
  return response.key;
194
208
  }
195
209
 
196
210
  async getKeyInfoByNameOrAddress(nameOrBech32: string): Promise<KeyInfo | undefined> {
197
- const client = await this.#getClient();
211
+ const client = this.#getClient();
198
212
  const response = await client.getKeyInfoByNameOrAddress(
199
213
  new GetKeyInfoByNameOrAddressRequest({ nameOrBech32 }),
200
214
  );
@@ -202,14 +216,42 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
202
216
  }
203
217
 
204
218
  async listKeyInfo(): Promise<KeyInfo[]> {
205
- const client = await this.#getClient();
219
+ const client = this.#getClient();
206
220
  const response = await client.listKeyInfo(new ListKeyInfoRequest());
207
221
  return response.keys;
208
222
  }
209
223
 
224
+ async makeCallTx(
225
+ packagePath: string,
226
+ fnc: string,
227
+ args: string[],
228
+ gasFee: string,
229
+ gasWanted: bigint,
230
+ callerAddress?: Uint8Array,
231
+ send?: string,
232
+ memo?: string,
233
+ ): Promise<MakeTxResponse> {
234
+ const client = this.#getClient();
235
+ const reponse = client.makeCallTx({
236
+ gasFee,
237
+ gasWanted,
238
+ memo,
239
+ callerAddress,
240
+ msgs: [
241
+ {
242
+ packagePath,
243
+ fnc,
244
+ args,
245
+ send,
246
+ },
247
+ ],
248
+ });
249
+ return reponse;
250
+ }
251
+
210
252
  async selectAccount(nameOrBech32: string): Promise<SelectAccountResponse> {
211
- const client = await this.#getClient();
212
- const response = await client.selectAccount(
253
+ const client = this.#getClient();
254
+ const response = client.selectAccount(
213
255
  new SelectAccountRequest({
214
256
  nameOrBech32,
215
257
  }),
@@ -218,8 +260,8 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
218
260
  }
219
261
 
220
262
  async activateAccount(nameOrBech32: string): Promise<ActivateAccountResponse> {
221
- const client = await this.#getClient();
222
- const response = await client.activateAccount(
263
+ const client = this.#getClient();
264
+ const response = client.activateAccount(
223
265
  new ActivateAccountRequest({
224
266
  nameOrBech32,
225
267
  }),
@@ -239,32 +281,35 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
239
281
  }
240
282
 
241
283
  async setPassword(password: string, address?: Uint8Array): Promise<SetPasswordResponse> {
242
- const client = await this.#getClient();
243
- const response = await client.setPassword(new SetPasswordRequest({ password, address }));
284
+ const client = this.#getClient();
285
+ const response = client.setPassword(new SetPasswordRequest({ password, address }));
244
286
  return response;
245
287
  }
246
288
 
247
- async updatePassword(newPassword: string, address?: Uint8Array): Promise<UpdatePasswordResponse> {
248
- const client = await this.#getClient();
249
- const response = await client.updatePassword(new UpdatePasswordRequest({ newPassword, address }));
289
+ async updatePassword(
290
+ newPassword: string,
291
+ addresses: Uint8Array[],
292
+ ): Promise<UpdatePasswordResponse> {
293
+ const client = this.#getClient();
294
+ const response = client.updatePassword(new UpdatePasswordRequest({ newPassword, addresses }));
250
295
  return response;
251
296
  }
252
297
 
253
298
  async getActiveAccount(): Promise<GetActiveAccountResponse> {
254
- const client = await this.#getClient();
255
- const response = await client.getActiveAccount(new GetActiveAccountRequest());
299
+ const client = this.#getClient();
300
+ const response = client.getActiveAccount(new GetActiveAccountRequest());
256
301
  return response;
257
302
  }
258
303
 
259
304
  async getActivatedAccount(): Promise<GetActivatedAccountResponse> {
260
- const client = await this.#getClient();
261
- const response = await client.getActivatedAccount(new GetActivatedAccountRequest());
305
+ const client = this.#getClient();
306
+ const response = client.getActivatedAccount(new GetActivatedAccountRequest());
262
307
  return response;
263
308
  }
264
309
 
265
310
  async queryAccount(address: Uint8Array): Promise<QueryAccountResponse> {
266
- const client = await this.#getClient();
267
- const reponse = await client.queryAccount(new QueryAccountRequest({ address }));
311
+ const client = this.#getClient();
312
+ const reponse = client.queryAccount(new QueryAccountRequest({ address }));
268
313
  return reponse;
269
314
  }
270
315
 
@@ -273,8 +318,8 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
273
318
  password: string | undefined,
274
319
  skipPassword: boolean,
275
320
  ): Promise<DeleteAccountResponse> {
276
- const client = await this.#getClient();
277
- const response = await client.deleteAccount(
321
+ const client = this.#getClient();
322
+ const response = client.deleteAccount(
278
323
  new DeleteAccountRequest({
279
324
  nameOrBech32,
280
325
  password,
@@ -285,8 +330,8 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
285
330
  }
286
331
 
287
332
  async query(path: string, data: Uint8Array): Promise<QueryResponse> {
288
- const client = await this.#getClient();
289
- const reponse = await client.query(
333
+ const client = this.#getClient();
334
+ const reponse = client.query(
290
335
  new QueryRequest({
291
336
  path,
292
337
  data,
@@ -296,7 +341,7 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
296
341
  }
297
342
 
298
343
  async render(packagePath: string, args: string) {
299
- const client = await this.#getClient();
344
+ const client = this.#getClient();
300
345
  const reponse = await client.render(
301
346
  new RenderRequest({
302
347
  packagePath,
@@ -307,7 +352,7 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
307
352
  }
308
353
 
309
354
  async qEval(packagePath: string, expression: string) {
310
- const client = await this.#getClient();
355
+ const client = this.#getClient();
311
356
  const reponse = await client.qEval(
312
357
  new QEvalRequest({
313
358
  packagePath,
@@ -322,16 +367,16 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
322
367
  fnc: string,
323
368
  args: string[],
324
369
  gasFee: string,
325
- gasWanted: number,
370
+ gasWanted: bigint,
326
371
  callerAddress?: Uint8Array,
327
372
  send?: string,
328
373
  memo?: string,
329
374
  ): Promise<AsyncIterable<CallResponse>> {
330
- const client = await this.#getClient();
375
+ const client = this.#getClient();
331
376
  const reponse = client.call(
332
377
  new CallRequest({
333
378
  gasFee,
334
- gasWanted: BigInt(gasWanted),
379
+ gasWanted,
335
380
  memo,
336
381
  callerAddress,
337
382
  msgs: [
@@ -351,15 +396,15 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
351
396
  toAddress: Uint8Array,
352
397
  send: string,
353
398
  gasFee: string,
354
- gasWanted: number,
399
+ gasWanted: bigint,
355
400
  callerAddress?: Uint8Array,
356
401
  memo?: string,
357
402
  ): Promise<AsyncIterable<SendResponse>> {
358
- const client = await this.#getClient();
403
+ const client = this.#getClient();
359
404
  const reponse = client.send(
360
405
  new SendRequest({
361
406
  gasFee,
362
- gasWanted: BigInt(gasWanted),
407
+ gasWanted,
363
408
  memo,
364
409
  callerAddress,
365
410
  msgs: [
@@ -374,35 +419,41 @@ export class GnoNativeApi implements GnoKeyApi, GoBridgeInterface {
374
419
  }
375
420
 
376
421
  async addressToBech32(address: Uint8Array) {
377
- const client = await this.#getClient();
422
+ const client = this.#getClient();
378
423
  const response = await client.addressToBech32(new AddressToBech32Request({ address }));
379
424
  return response.bech32Address;
380
425
  }
381
426
 
382
427
  async addressFromMnemonic(mnemonic: string) {
383
- const client = await this.#getClient();
428
+ const client = this.#getClient();
384
429
  const response = await client.addressFromMnemonic(new AddressFromMnemonicRequest({ mnemonic }));
385
430
  return response.address;
386
431
  }
387
432
 
388
433
  async addressFromBech32(bech32Address: string) {
389
- const client = await this.#getClient();
434
+ const client = this.#getClient();
390
435
  const response = await client.addressFromBech32(
391
436
  new AddressFromBech32Request({ bech32Address }),
392
437
  );
393
438
  return response.address;
394
439
  }
395
440
 
441
+ async broadcastTxCommit(signedTxJson: string): Promise<AsyncIterable<BroadcastTxCommitResponse>> {
442
+ const client = this.#getClient();
443
+ const response = client.broadcastTxCommit({ signedTxJson });
444
+ return response;
445
+ }
446
+
396
447
  // // debug
397
448
  async hello(name: string) {
398
- const client = await this.#getClient();
449
+ const client = this.#getClient();
399
450
  const response = await client.hello(new HelloRequest({ name }));
400
451
  return response.greeting;
401
452
  }
402
453
 
403
454
  // // debug
404
455
  async helloStream(name: string): Promise<AsyncIterable<HelloStreamResponse>> {
405
- const client = await this.#getClient();
456
+ const client = this.#getClient();
406
457
  return client.helloStream(new HelloRequest({ name }));
407
458
  }
408
459
 
package/src/api/types.ts CHANGED
@@ -14,6 +14,9 @@ import {
14
14
  SetRemoteResponse,
15
15
  UpdatePasswordResponse,
16
16
  KeyInfo,
17
+ SignTxResponse,
18
+ MakeTxResponse,
19
+ BroadcastTxCommitResponse,
17
20
  } from '@buf/gnolang_gnonative.bufbuild_es/gnonativetypes_pb';
18
21
 
19
22
  export enum BridgeStatus {
@@ -50,7 +53,7 @@ export interface GnoKeyApi {
50
53
  selectAccount: (nameOrBech32: string) => Promise<SelectAccountResponse>;
51
54
  activateAccount: (nameOrBech32: string) => Promise<ActivateAccountResponse>;
52
55
  setPassword: (password: string, address?: Uint8Array) => Promise<SetPasswordResponse>;
53
- updatePassword: (password: string, address?: Uint8Array) => Promise<UpdatePasswordResponse>;
56
+ updatePassword: (password: string, addresses: Uint8Array[]) => Promise<UpdatePasswordResponse>;
54
57
  getActiveAccount: () => Promise<GetActiveAccountResponse>;
55
58
  getActivatedAccount: () => Promise<GetActivatedAccountResponse>;
56
59
  queryAccount: (address: Uint8Array) => Promise<QueryAccountResponse>;
@@ -67,7 +70,7 @@ export interface GnoKeyApi {
67
70
  fnc: string,
68
71
  args: string[],
69
72
  gasFee: string,
70
- gasWanted: number,
73
+ gasWanted: bigint,
71
74
  callerAddress?: Uint8Array,
72
75
  send?: string,
73
76
  memo?: string,
@@ -76,13 +79,30 @@ export interface GnoKeyApi {
76
79
  toAddress: Uint8Array,
77
80
  send: string,
78
81
  gasFee: string,
79
- gasWanted: number,
82
+ gasWanted: bigint,
80
83
  callerAddress?: Uint8Array,
81
84
  memo?: string,
82
85
  ) => Promise<AsyncIterable<SendResponse>>;
83
86
  addressToBech32: (address: Uint8Array) => Promise<string>;
84
87
  addressFromMnemonic: (mnemonic: string) => Promise<Uint8Array>;
85
88
  addressFromBech32: (bech32Address: string) => Promise<Uint8Array>;
89
+ signTx(
90
+ txJson: string,
91
+ address: Uint8Array,
92
+ accountNumber?: bigint,
93
+ sequenceNumber?: bigint,
94
+ ): Promise<SignTxResponse>;
95
+ makeCallTx(
96
+ packagePath: string,
97
+ fnc: string,
98
+ args: string[],
99
+ gasFee: string,
100
+ gasWanted: bigint,
101
+ callerAddress?: Uint8Array,
102
+ send?: string,
103
+ memo?: string,
104
+ ): Promise<MakeTxResponse>;
105
+ broadcastTxCommit(signedTxJson: string): Promise<AsyncIterable<BroadcastTxCommitResponse>>;
86
106
  // debug
87
107
  hello: (name: string) => Promise<string>;
88
108
  helloStream: (name: string) => Promise<AsyncIterable<HelloStreamResponse>>;