@hot-labs/kit 1.2.1 → 1.2.2
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/OmniWallet.d.ts +6 -1
- package/build/OmniWallet.js +6 -4
- package/build/OmniWallet.js.map +1 -1
- package/build/near/wallet.d.ts +3 -1
- package/build/near/wallet.js +7 -1
- package/build/near/wallet.js.map +1 -1
- package/package.json +1 -1
- package/src/OmniWallet.ts +7 -5
- package/src/near/wallet.ts +10 -4
package/build/OmniWallet.d.ts
CHANGED
|
@@ -27,8 +27,13 @@ export declare abstract class OmniWallet {
|
|
|
27
27
|
abstract signIntents(intents: Record<string, any>[], options?: {
|
|
28
28
|
nonce?: Uint8Array;
|
|
29
29
|
deadline?: number;
|
|
30
|
+
signerId?: string;
|
|
30
31
|
}): Promise<Commitment>;
|
|
31
|
-
auth(intents?: Record<string, any>[]
|
|
32
|
+
auth<T = string>(intents?: Record<string, any>[], options?: {
|
|
33
|
+
domain?: string;
|
|
34
|
+
signerId?: string;
|
|
35
|
+
customAuth?: (commitment: Commitment, seed: string) => Promise<T>;
|
|
36
|
+
}): Promise<T>;
|
|
32
37
|
waitUntilBalance(need: Record<string, bigint>, receiver: string, attempts?: number): Promise<void>;
|
|
33
38
|
getIntentsBalance(asset: string, receiver: string): Promise<bigint>;
|
|
34
39
|
getAssets(): Promise<Record<string, bigint>>;
|
package/build/OmniWallet.js
CHANGED
|
@@ -22,13 +22,15 @@ export class OmniWallet {
|
|
|
22
22
|
async getNfts(onLoad) {
|
|
23
23
|
// TODO
|
|
24
24
|
}
|
|
25
|
-
async auth(intents) {
|
|
25
|
+
async auth(intents, options) {
|
|
26
26
|
return openAuthPopup(this, async () => {
|
|
27
27
|
const seed = hex.encode(new Uint8Array(window.crypto.getRandomValues(new Uint8Array(32))));
|
|
28
|
-
const msgBuffer = new TextEncoder().encode(`${window.location.origin}_${seed}`);
|
|
28
|
+
const msgBuffer = new TextEncoder().encode(`${options?.domain || window.location.origin}_${seed}`);
|
|
29
29
|
const nonce = await window.crypto.subtle.digest("SHA-256", new Uint8Array(msgBuffer));
|
|
30
|
-
const signed = await this.signIntents(intents || [], { nonce: new Uint8Array(nonce) });
|
|
31
|
-
|
|
30
|
+
const signed = await this.signIntents(intents || [], { nonce: new Uint8Array(nonce), signerId: options?.signerId || this.omniAddress });
|
|
31
|
+
if (options?.customAuth)
|
|
32
|
+
return await options.customAuth(signed, seed);
|
|
33
|
+
return (await api.auth(signed, seed));
|
|
32
34
|
});
|
|
33
35
|
}
|
|
34
36
|
async waitUntilBalance(need, receiver, attempts = 0) {
|
package/build/OmniWallet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OmniWallet.js","sourceRoot":"","sources":["../src/OmniWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAG1C,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,OAAgB,UAAU;IAO9B,KAAK,CAAC,WAAW,CAAC,MAAgB,EAAE,QAAgB;QAClD,OAAO;IACT,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAgB,EAAE,QAAgB;QACnD,OAAO;IACT,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAc;QACpC,OAAO,IAAI,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,QAAgB;QAC/C,OAAO;IACT,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,QAAgB;QACpD,OAAO,IAAI,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAgC;QAC5C,OAAO;IACT,CAAC;IAUD,KAAK,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"OmniWallet.js","sourceRoot":"","sources":["../src/OmniWallet.ts"],"names":[],"mappings":"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"}
|
package/build/near/wallet.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NearWalletBase, SignMessageParams, SignedMessage, SignAndSendTransactionParams } from "@hot-labs/near-connect";
|
|
1
|
+
import { NearWalletBase, SignMessageParams, SignedMessage, SignAndSendTransactionParams, SignAndSendTransactionsParams } from "@hot-labs/near-connect";
|
|
2
2
|
import { OmniWallet } from "../OmniWallet";
|
|
3
3
|
import { WalletType } from "../core/chains";
|
|
4
4
|
import { ReviewFee } from "../core/bridge";
|
|
@@ -13,6 +13,7 @@ export default class NearWallet extends OmniWallet {
|
|
|
13
13
|
constructor(address: string, publicKey?: string | undefined, wallet?: NearWalletBase | undefined);
|
|
14
14
|
get omniAddress(): string;
|
|
15
15
|
fetchBalances(_: number, whitelist: string[]): Promise<Record<string, bigint>>;
|
|
16
|
+
sendTransactions(params: SignAndSendTransactionsParams): Promise<string[]>;
|
|
16
17
|
sendTransaction(params: SignAndSendTransactionParams): Promise<string>;
|
|
17
18
|
signMessage(params: SignMessageParams): Promise<SignedMessage>;
|
|
18
19
|
getWrapNearDepositAction(amount: bigint, address: string): Promise<({
|
|
@@ -51,5 +52,6 @@ export default class NearWallet extends OmniWallet {
|
|
|
51
52
|
signIntents(intents: Record<string, any>[], options?: {
|
|
52
53
|
nonce?: Uint8Array;
|
|
53
54
|
deadline?: number;
|
|
55
|
+
signerId?: string;
|
|
54
56
|
}): Promise<Commitment>;
|
|
55
57
|
}
|
package/build/near/wallet.js
CHANGED
|
@@ -25,6 +25,12 @@ export default class NearWallet extends OmniWallet {
|
|
|
25
25
|
}));
|
|
26
26
|
return Object.fromEntries(balances);
|
|
27
27
|
}
|
|
28
|
+
async sendTransactions(params) {
|
|
29
|
+
if (!this.wallet)
|
|
30
|
+
throw "not impl";
|
|
31
|
+
const result = await this.wallet.signAndSendTransactions(params);
|
|
32
|
+
return result.map((tx) => tx.transaction.hash);
|
|
33
|
+
}
|
|
28
34
|
async sendTransaction(params) {
|
|
29
35
|
if (!this.wallet)
|
|
30
36
|
throw "not impl";
|
|
@@ -182,7 +188,7 @@ export default class NearWallet extends OmniWallet {
|
|
|
182
188
|
const nonce = new Uint8Array(options?.nonce || window.crypto.getRandomValues(new Uint8Array(32)));
|
|
183
189
|
const message = JSON.stringify({
|
|
184
190
|
deadline: options?.deadline ? new Date(options.deadline).toISOString() : "2100-01-01T00:00:00.000Z",
|
|
185
|
-
signer_id: this.omniAddress,
|
|
191
|
+
signer_id: options?.signerId || this.omniAddress,
|
|
186
192
|
intents: intents,
|
|
187
193
|
});
|
|
188
194
|
const result = await this.wallet.signMessage({ message, recipient: "intents.near", nonce });
|
package/build/near/wallet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/near/wallet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/near/wallet.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/OmniWallet.ts
CHANGED
|
@@ -45,15 +45,17 @@ export abstract class OmniWallet {
|
|
|
45
45
|
abstract fetchBalance(chain: number, address: string): Promise<bigint>;
|
|
46
46
|
abstract fetchBalances(chain?: number, whitelist?: string[]): Promise<Record<string, bigint>>;
|
|
47
47
|
|
|
48
|
-
abstract signIntents(intents: Record<string, any>[], options?: { nonce?: Uint8Array; deadline?: number }): Promise<Commitment>;
|
|
48
|
+
abstract signIntents(intents: Record<string, any>[], options?: { nonce?: Uint8Array; deadline?: number; signerId?: string }): Promise<Commitment>;
|
|
49
49
|
|
|
50
|
-
async auth(intents?: Record<string, any>[]): Promise<
|
|
50
|
+
async auth<T = string>(intents?: Record<string, any>[], options?: { domain?: string; signerId?: string; customAuth?: (commitment: Commitment, seed: string) => Promise<T> }): Promise<T> {
|
|
51
51
|
return openAuthPopup(this, async () => {
|
|
52
52
|
const seed = hex.encode(new Uint8Array(window.crypto.getRandomValues(new Uint8Array(32))));
|
|
53
|
-
const msgBuffer = new TextEncoder().encode(`${window.location.origin}_${seed}`);
|
|
53
|
+
const msgBuffer = new TextEncoder().encode(`${options?.domain || window.location.origin}_${seed}`);
|
|
54
54
|
const nonce = await window.crypto.subtle.digest("SHA-256", new Uint8Array(msgBuffer));
|
|
55
|
-
const signed = await this.signIntents(intents || [], { nonce: new Uint8Array(nonce) });
|
|
56
|
-
|
|
55
|
+
const signed = await this.signIntents(intents || [], { nonce: new Uint8Array(nonce), signerId: options?.signerId || this.omniAddress });
|
|
56
|
+
|
|
57
|
+
if (options?.customAuth) return await options.customAuth(signed, seed);
|
|
58
|
+
return (await api.auth(signed, seed)) as T;
|
|
57
59
|
});
|
|
58
60
|
}
|
|
59
61
|
|
package/src/near/wallet.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { NearWalletBase, SignMessageParams, SignedMessage, SignAndSendTransactionParams } from "@hot-labs/near-connect";
|
|
1
|
+
import { NearWalletBase, SignMessageParams, SignedMessage, SignAndSendTransactionParams, SignAndSendTransactionsParams } from "@hot-labs/near-connect";
|
|
2
2
|
import { base64, base58 } from "@scure/base";
|
|
3
3
|
|
|
4
4
|
import { OmniWallet } from "../OmniWallet";
|
|
5
5
|
import { WalletType } from "../core/chains";
|
|
6
6
|
import { ReviewFee } from "../core/bridge";
|
|
7
|
-
import { rpc, TGAS } from "./rpc";
|
|
8
7
|
import { Token } from "../core/token";
|
|
9
8
|
import { Commitment } from "../core";
|
|
9
|
+
import { rpc, TGAS } from "./rpc";
|
|
10
10
|
|
|
11
11
|
export default class NearWallet extends OmniWallet {
|
|
12
12
|
readonly icon = "https://storage.herewallet.app/upload/73a44e583769f11112b0eff1f2dd2a560c05eed5f6d92f0c03484fa047c31668.png";
|
|
@@ -31,6 +31,12 @@ export default class NearWallet extends OmniWallet {
|
|
|
31
31
|
return Object.fromEntries(balances);
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
async sendTransactions(params: SignAndSendTransactionsParams): Promise<string[]> {
|
|
35
|
+
if (!this.wallet) throw "not impl";
|
|
36
|
+
const result = await this.wallet.signAndSendTransactions(params);
|
|
37
|
+
return result.map((tx) => tx.transaction.hash);
|
|
38
|
+
}
|
|
39
|
+
|
|
34
40
|
async sendTransaction(params: SignAndSendTransactionParams): Promise<string> {
|
|
35
41
|
if (!this.wallet) throw "not impl";
|
|
36
42
|
const result = await this.wallet.signAndSendTransaction(params);
|
|
@@ -196,13 +202,13 @@ export default class NearWallet extends OmniWallet {
|
|
|
196
202
|
throw new Error("Failed to register intent account");
|
|
197
203
|
}
|
|
198
204
|
|
|
199
|
-
async signIntents(intents: Record<string, any>[], options?: { nonce?: Uint8Array; deadline?: number }): Promise<Commitment> {
|
|
205
|
+
async signIntents(intents: Record<string, any>[], options?: { nonce?: Uint8Array; deadline?: number; signerId?: string }): Promise<Commitment> {
|
|
200
206
|
if (!this.wallet) throw "not impl";
|
|
201
207
|
|
|
202
208
|
const nonce = new Uint8Array(options?.nonce || window.crypto.getRandomValues(new Uint8Array(32)));
|
|
203
209
|
const message = JSON.stringify({
|
|
204
210
|
deadline: options?.deadline ? new Date(options.deadline).toISOString() : "2100-01-01T00:00:00.000Z",
|
|
205
|
-
signer_id: this.omniAddress,
|
|
211
|
+
signer_id: options?.signerId || this.omniAddress,
|
|
206
212
|
intents: intents,
|
|
207
213
|
});
|
|
208
214
|
|