@hot-labs/kit 1.3.3 → 1.4.1
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/HotConnector.d.ts +9 -13
- package/build/HotConnector.js +17 -57
- package/build/HotConnector.js.map +1 -1
- package/build/activity.d.ts +1 -1
- package/build/activity.js +8 -8
- package/build/activity.js.map +1 -1
- package/build/core/Intents.d.ts +3 -2
- package/build/core/Intents.js +11 -1
- package/build/core/Intents.js.map +1 -1
- package/build/{OmniConnector.d.ts → core/OmniConnector.d.ts} +4 -4
- package/build/{OmniConnector.js → core/OmniConnector.js} +2 -2
- package/build/core/OmniConnector.js.map +1 -0
- package/build/{OmniWallet.d.ts → core/OmniWallet.d.ts} +19 -13
- package/build/core/OmniWallet.js +97 -0
- package/build/core/OmniWallet.js.map +1 -0
- package/build/core/address.d.ts +25 -0
- package/build/core/address.js +162 -0
- package/build/core/address.js.map +1 -0
- package/build/core/chains.d.ts +1 -1
- package/build/core/chains.js +5 -5
- package/build/core/chains.js.map +1 -1
- package/build/{exchange.d.ts → core/exchange.d.ts} +13 -16
- package/build/{exchange.js → core/exchange.js} +76 -80
- package/build/core/exchange.js.map +1 -0
- package/build/core/index.d.ts +1 -1
- package/build/core/index.js +1 -1
- package/build/core/index.js.map +1 -1
- package/build/core/recipient.d.ts +2 -1
- package/build/core/recipient.js +6 -0
- package/build/core/recipient.js.map +1 -1
- package/build/core/telemetry.d.ts +3 -0
- package/build/core/telemetry.js.map +1 -1
- package/build/core/token.js +3 -3
- package/build/core/token.js.map +1 -1
- package/build/core/tokens.js +1 -1
- package/build/core/tokens.js.map +1 -1
- package/build/core/utils.d.ts +1 -0
- package/build/core/utils.js +19 -0
- package/build/core/utils.js.map +1 -1
- package/build/cosmos/connector.d.ts +2 -2
- package/build/cosmos/connector.js +2 -2
- package/build/cosmos/connector.js.map +1 -1
- package/build/cosmos/wallet.d.ts +2 -2
- package/build/cosmos/wallet.js +7 -10
- package/build/cosmos/wallet.js.map +1 -1
- package/build/defaults.d.ts +1 -1
- package/build/defaults.js +2 -2
- package/build/defaults.js.map +1 -1
- package/build/evm/connector.d.ts +4 -4
- package/build/evm/connector.js +10 -4
- package/build/evm/connector.js.map +1 -1
- package/build/evm/wallet.d.ts +5 -5
- package/build/evm/wallet.js +24 -23
- package/build/evm/wallet.js.map +1 -1
- package/build/hot-wallet/google.d.ts +2 -2
- package/build/hot-wallet/google.js +4 -4
- package/build/hot-wallet/google.js.map +1 -1
- package/build/index.d.ts +2 -2
- package/build/index.js +2 -2
- package/build/index.js.map +1 -1
- package/build/near/connector.d.ts +2 -2
- package/build/near/connector.js +8 -3
- package/build/near/connector.js.map +1 -1
- package/build/near/index.d.ts +1 -1
- package/build/near/index.js.map +1 -1
- package/build/near/standalone.d.ts +2 -0
- package/build/near/standalone.js +42 -0
- package/build/near/standalone.js.map +1 -0
- package/build/near/wallet.d.ts +3 -2
- package/build/near/wallet.js +21 -12
- package/build/near/wallet.js.map +1 -1
- package/build/solana/connector.d.ts +4 -4
- package/build/solana/connector.js +11 -4
- package/build/solana/connector.js.map +1 -1
- package/build/solana/wallet.d.ts +3 -3
- package/build/solana/wallet.js +14 -11
- package/build/solana/wallet.js.map +1 -1
- package/build/stellar/connector.d.ts +2 -2
- package/build/stellar/connector.js +3 -2
- package/build/stellar/connector.js.map +1 -1
- package/build/stellar/wallet.d.ts +3 -3
- package/build/stellar/wallet.js +27 -19
- package/build/stellar/wallet.js.map +1 -1
- package/build/ton/connector.d.ts +2 -2
- package/build/ton/connector.js +2 -2
- package/build/ton/connector.js.map +1 -1
- package/build/ton/wallet.d.ts +3 -3
- package/build/ton/wallet.js +26 -17
- package/build/ton/wallet.js.map +1 -1
- package/build/tron/connector.d.ts +2 -2
- package/build/tron/connector.js +1 -1
- package/build/tron/connector.js.map +1 -1
- package/build/tron/wallet.d.ts +2 -2
- package/build/tron/wallet.js +9 -15
- package/build/tron/wallet.js.map +1 -1
- package/build/ui/bridge/Bridge.d.ts +2 -2
- package/build/ui/bridge/Bridge.js +15 -13
- package/build/ui/bridge/Bridge.js.map +1 -1
- package/build/ui/bridge/SelectRecipient.d.ts +3 -3
- package/build/ui/bridge/SelectRecipient.js +8 -7
- package/build/ui/bridge/SelectRecipient.js.map +1 -1
- package/build/ui/bridge/SelectSender.d.ts +1 -1
- package/build/ui/bridge/SelectSender.js +1 -1
- package/build/ui/bridge/SelectSender.js.map +1 -1
- package/build/ui/bridge/SelectToken.d.ts +1 -1
- package/build/ui/bridge/SelectToken.js +2 -2
- package/build/ui/bridge/SelectToken.js.map +1 -1
- package/build/ui/bridge/TokenCard.d.ts +1 -1
- package/build/ui/connect/AuthPopup.d.ts +1 -1
- package/build/ui/connect/ConnectWallet.d.ts +1 -1
- package/build/ui/connect/ConnectWallet.js +1 -1
- package/build/ui/connect/ConnectWallet.js.map +1 -1
- package/build/ui/connect/LogoutPopup.d.ts +1 -1
- package/build/ui/connect/WCPopup.js +1 -1
- package/build/ui/connect/WCPopup.js.map +1 -1
- package/build/ui/connect/WalletPicker.d.ts +2 -2
- package/build/ui/profile/DepositQR.d.ts +1 -1
- package/build/ui/profile/Payment.d.ts +1 -1
- package/build/ui/profile/Payment.js +8 -8
- package/build/ui/profile/Payment.js.map +1 -1
- package/build/ui/profile/Profile.js.map +1 -1
- package/build/ui/router.d.ts +3 -3
- package/examples-node/package.json +17 -0
- package/examples-node/transfer.ts +12 -10
- package/examples-node/withdraw.ts +52 -0
- package/examples-node/yarn.lock +2691 -0
- package/package.json +1 -1
- package/src/HotConnector.ts +16 -60
- package/src/activity.ts +9 -9
- package/src/core/Intents.ts +14 -3
- package/src/{OmniConnector.ts → core/OmniConnector.ts} +4 -6
- package/src/core/OmniWallet.ts +125 -0
- package/src/core/address.ts +155 -0
- package/src/core/chains.ts +5 -5
- package/src/{exchange.ts → core/exchange.ts} +79 -85
- package/src/core/index.ts +1 -1
- package/src/core/recipient.ts +8 -1
- package/src/core/telemetry.ts +4 -0
- package/src/core/token.ts +3 -3
- package/src/core/tokens.ts +1 -1
- package/src/core/utils.ts +16 -0
- package/src/cosmos/connector.ts +3 -3
- package/src/cosmos/wallet.ts +8 -11
- package/src/defaults.ts +2 -2
- package/src/evm/connector.ts +12 -6
- package/src/evm/wallet.ts +24 -25
- package/src/hot-wallet/google.ts +5 -5
- package/src/index.ts +2 -2
- package/src/near/connector.ts +6 -3
- package/src/near/index.ts +2 -1
- package/src/near/standalone.ts +52 -0
- package/src/near/wallet.ts +21 -15
- package/src/solana/connector.ts +15 -6
- package/src/solana/wallet.ts +12 -12
- package/src/stellar/connector.ts +5 -4
- package/src/stellar/wallet.ts +28 -22
- package/src/ton/connector.ts +4 -3
- package/src/ton/wallet.ts +24 -18
- package/src/tron/connector.ts +2 -2
- package/src/tron/wallet.ts +9 -19
- package/src/ui/bridge/Bridge.tsx +18 -16
- package/src/ui/bridge/SelectRecipient.tsx +23 -16
- package/src/ui/bridge/SelectSender.tsx +2 -2
- package/src/ui/bridge/SelectToken.tsx +3 -3
- package/src/ui/bridge/TokenCard.tsx +1 -1
- package/src/ui/connect/AuthPopup.tsx +1 -1
- package/src/ui/connect/ConnectWallet.tsx +2 -2
- package/src/ui/connect/LogoutPopup.tsx +1 -1
- package/src/ui/connect/WCPopup.tsx +1 -1
- package/src/ui/connect/WalletPicker.tsx +2 -2
- package/src/ui/profile/DepositQR.tsx +1 -1
- package/src/ui/profile/Payment.tsx +12 -13
- package/src/ui/profile/Profile.tsx +1 -2
- package/src/ui/router.tsx +3 -3
- package/build/OmniConnector.js.map +0 -1
- package/build/OmniWallet.js +0 -61
- package/build/OmniWallet.js.map +0 -1
- package/build/core/signer.d.ts +0 -51
- package/build/core/signer.js +0 -99
- package/build/core/signer.js.map +0 -1
- package/build/exchange.js.map +0 -1
- package/build/ui/utils.d.ts +0 -1
- package/build/ui/utils.js +0 -20
- package/build/ui/utils.js.map +0 -1
- package/src/OmniWallet.ts +0 -85
- package/src/core/signer.ts +0 -116
- package/src/ui/utils.ts +0 -14
package/build/core/signer.js
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { base58, base64, hex } from "@scure/base";
|
|
2
|
-
import { sign as signSecp256k1, getPublicKey as getPublicKeySecp256k1 } from "@noble/secp256k1";
|
|
3
|
-
import { sha512 } from "@noble/hashes/sha2.js";
|
|
4
|
-
import * as ed from "@noble/ed25519";
|
|
5
|
-
import crypto from "crypto";
|
|
6
|
-
ed.utils.sha512Sync = sha512;
|
|
7
|
-
import { WalletType } from "./chains";
|
|
8
|
-
import { OmniWallet } from "../OmniWallet";
|
|
9
|
-
export class Secp256k1Wallet extends OmniWallet {
|
|
10
|
-
privateKey;
|
|
11
|
-
address;
|
|
12
|
-
publicKey;
|
|
13
|
-
omniAddress;
|
|
14
|
-
type = WalletType.EVM;
|
|
15
|
-
icon = "";
|
|
16
|
-
constructor(privateKey) {
|
|
17
|
-
super();
|
|
18
|
-
this.privateKey = privateKey;
|
|
19
|
-
this.publicKey = hex.encode(Buffer.from(getPublicKeySecp256k1(privateKey)));
|
|
20
|
-
this.omniAddress = this.publicKey.toLowerCase();
|
|
21
|
-
this.address = this.omniAddress;
|
|
22
|
-
}
|
|
23
|
-
transferFee(token, receiver, amount) {
|
|
24
|
-
throw new Error("Method not implemented.");
|
|
25
|
-
}
|
|
26
|
-
transfer(args) {
|
|
27
|
-
throw new Error("Method not implemented.");
|
|
28
|
-
}
|
|
29
|
-
fetchBalance(chain, address) {
|
|
30
|
-
throw new Error("Method not implemented.");
|
|
31
|
-
}
|
|
32
|
-
fetchBalances(chain, whitelist) {
|
|
33
|
-
throw new Error("Method not implemented.");
|
|
34
|
-
}
|
|
35
|
-
async signIntents(intents, options) {
|
|
36
|
-
const nonce = new Uint8Array(options?.nonce || crypto.randomBytes(32));
|
|
37
|
-
const message = JSON.stringify({
|
|
38
|
-
deadline: options?.deadline ? new Date(options.deadline).toISOString() : "2100-01-01T00:00:00.000Z",
|
|
39
|
-
verifying_contract: "intents.near",
|
|
40
|
-
signer_id: this.omniAddress,
|
|
41
|
-
nonce: base64.encode(nonce),
|
|
42
|
-
intents: intents,
|
|
43
|
-
});
|
|
44
|
-
const messageBytes = hex.encode(Buffer.from(message, "utf8"));
|
|
45
|
-
const signature = await signSecp256k1(messageBytes, this.privateKey);
|
|
46
|
-
return {
|
|
47
|
-
signature: `secp256k1:${base58.encode(signature)}`,
|
|
48
|
-
standard: "raw_secp256k1",
|
|
49
|
-
payload: message,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
export class Ed25519Wallet extends OmniWallet {
|
|
54
|
-
privateKey;
|
|
55
|
-
omniAddress;
|
|
56
|
-
publicKey;
|
|
57
|
-
address;
|
|
58
|
-
type = WalletType.EVM;
|
|
59
|
-
icon = "";
|
|
60
|
-
constructor(privateKey, signerId) {
|
|
61
|
-
super();
|
|
62
|
-
this.privateKey = privateKey.slice(0, 32);
|
|
63
|
-
const publicKey = Buffer.from(ed.sync.getPublicKey(this.privateKey));
|
|
64
|
-
this.omniAddress = signerId || hex.encode(publicKey);
|
|
65
|
-
this.publicKey = base58.encode(publicKey);
|
|
66
|
-
this.address = this.publicKey;
|
|
67
|
-
}
|
|
68
|
-
transferFee(token, receiver, amount) {
|
|
69
|
-
throw new Error("Method not implemented.");
|
|
70
|
-
}
|
|
71
|
-
transfer(args) {
|
|
72
|
-
throw new Error("Method not implemented.");
|
|
73
|
-
}
|
|
74
|
-
fetchBalance(chain, address) {
|
|
75
|
-
throw new Error("Method not implemented.");
|
|
76
|
-
}
|
|
77
|
-
fetchBalances(chain, whitelist) {
|
|
78
|
-
throw new Error("Method not implemented.");
|
|
79
|
-
}
|
|
80
|
-
async signIntents(intents, options) {
|
|
81
|
-
const nonce = new Uint8Array(options?.nonce || crypto.randomBytes(32));
|
|
82
|
-
const message = JSON.stringify({
|
|
83
|
-
deadline: options?.deadline ? new Date(options.deadline).toISOString() : "2100-01-01T00:00:00.000Z",
|
|
84
|
-
nonce: base64.encode(nonce),
|
|
85
|
-
verifying_contract: "intents.near",
|
|
86
|
-
signer_id: this.omniAddress,
|
|
87
|
-
intents: intents,
|
|
88
|
-
});
|
|
89
|
-
const messageBytes = hex.encode(Buffer.from(message, "utf8"));
|
|
90
|
-
const signature = ed.sync.sign(messageBytes, this.privateKey);
|
|
91
|
-
return {
|
|
92
|
-
signature: `ed25519:${base58.encode(signature)}`,
|
|
93
|
-
public_key: `ed25519:${this.omniAddress}`,
|
|
94
|
-
standard: "raw_ed25519",
|
|
95
|
-
payload: message,
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=signer.js.map
|
package/build/core/signer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/core/signer.ts"],"names":[],"mappings":"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"}
|
package/build/exchange.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"exchange.js","sourceRoot":"","sources":["../src/exchange.ts"],"names":[],"mappings":"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"}
|
package/build/ui/utils.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const serializeError: (error: any) => string;
|
package/build/ui/utils.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { NetworkError, TimeoutNetworkError } from "../core/api";
|
|
2
|
-
export const serializeError = (error) => {
|
|
3
|
-
try {
|
|
4
|
-
if (error instanceof Error)
|
|
5
|
-
return error.message;
|
|
6
|
-
if (error instanceof NetworkError)
|
|
7
|
-
return error.toString();
|
|
8
|
-
if (error instanceof TimeoutNetworkError)
|
|
9
|
-
return error.toString();
|
|
10
|
-
if (typeof error === "object" && Object.keys(error).length > 0)
|
|
11
|
-
return JSON.stringify(error);
|
|
12
|
-
if (typeof error === "string" || typeof error === "number")
|
|
13
|
-
return error.toString();
|
|
14
|
-
return "";
|
|
15
|
-
}
|
|
16
|
-
catch (error) {
|
|
17
|
-
return "Unknown error";
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
//# sourceMappingURL=utils.js.map
|
package/build/ui/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/ui/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEhE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAU,EAAU,EAAE;IACnD,IAAI,CAAC;QACH,IAAI,KAAK,YAAY,KAAK;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC;QACjD,IAAI,KAAK,YAAY,YAAY;YAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3D,IAAI,KAAK,YAAY,mBAAmB;YAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QAClE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC7F,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpF,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,eAAe,CAAC;IACzB,CAAC;AACH,CAAC,CAAC"}
|
package/src/OmniWallet.ts
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { hex } from "@scure/base";
|
|
2
|
-
|
|
3
|
-
import { WalletType } from "./core/chains";
|
|
4
|
-
import { Intents } from "./core/Intents";
|
|
5
|
-
import { ReviewFee } from "./core/bridge";
|
|
6
|
-
import { Token } from "./core/token";
|
|
7
|
-
import { Commitment } from "./core";
|
|
8
|
-
import { api } from "./core/api";
|
|
9
|
-
|
|
10
|
-
export abstract class OmniWallet {
|
|
11
|
-
abstract address: string;
|
|
12
|
-
abstract publicKey?: string;
|
|
13
|
-
abstract omniAddress: string;
|
|
14
|
-
abstract type: WalletType;
|
|
15
|
-
abstract icon: string;
|
|
16
|
-
|
|
17
|
-
async depositNfts(nftIds: string[], receiver: string) {
|
|
18
|
-
// TODO
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
async withdrawNfts(nftIds: string[], receiver: string) {
|
|
22
|
-
// TODO
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
async getDepositNftsFee(nfts: string[]) {
|
|
26
|
-
return new ReviewFee({ chain: -4 });
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
async transferNft(nftId: string, receiver: string) {
|
|
30
|
-
// TODO
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
async getTranferNftFee(nftId: string, receiver: string) {
|
|
34
|
-
return new ReviewFee({ chain: -4 });
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
async getNfts(onLoad: (nfts: string[]) => void) {
|
|
38
|
-
// TODO
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
abstract transferFee(token: Token, receiver: string, amount: bigint): Promise<ReviewFee>;
|
|
42
|
-
abstract transfer(args: { token: Token; receiver: string; amount: bigint; comment?: string; gasFee?: ReviewFee }): Promise<string>;
|
|
43
|
-
|
|
44
|
-
abstract fetchBalance(chain: number, address: string): Promise<bigint>;
|
|
45
|
-
abstract fetchBalances(chain?: number, whitelist?: string[]): Promise<Record<string, bigint>>;
|
|
46
|
-
|
|
47
|
-
abstract signIntents(intents: Record<string, any>[], options?: { nonce?: Uint8Array; deadline?: number; signerId?: string }): Promise<Commitment>;
|
|
48
|
-
|
|
49
|
-
async auth<T = string>(intents?: Record<string, any>[], options?: { domain?: string; signerId?: string; customAuth?: (commitment: Commitment, seed: string) => Promise<T> }): Promise<T> {
|
|
50
|
-
const authFn = async () => {
|
|
51
|
-
const seed = hex.encode(new Uint8Array(window.crypto.getRandomValues(new Uint8Array(32))));
|
|
52
|
-
const msgBuffer = new TextEncoder().encode(`${options?.domain || window.location.origin}_${seed}`);
|
|
53
|
-
const nonce = await window.crypto.subtle.digest("SHA-256", new Uint8Array(msgBuffer));
|
|
54
|
-
const signed = await this.signIntents(intents || [], { nonce: new Uint8Array(nonce), signerId: options?.signerId || this.omniAddress });
|
|
55
|
-
|
|
56
|
-
if (options?.customAuth) return await options.customAuth(signed, seed);
|
|
57
|
-
return (await api.auth(signed, seed)) as T;
|
|
58
|
-
};
|
|
59
|
-
|
|
60
|
-
if (typeof window === "undefined") return await authFn();
|
|
61
|
-
const { openAuthPopup } = await import("./ui/connect/AuthPopup");
|
|
62
|
-
return openAuthPopup(this, authFn);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
async waitUntilBalance(need: Record<string, bigint>, receiver = this.omniAddress, attempts = 0) {
|
|
66
|
-
if (attempts > 120) throw "Balance is not enough";
|
|
67
|
-
const assets = Object.keys(need) as string[];
|
|
68
|
-
const balances = await Intents.getIntentsBalances(assets, receiver);
|
|
69
|
-
if (assets.every((asset) => (balances[asset] || 0n) >= (need[asset] || 0n))) return;
|
|
70
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
71
|
-
await this.waitUntilBalance(need, receiver, attempts + 1);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
async getIntentsBalance(asset: string, receiver: string): Promise<bigint> {
|
|
75
|
-
const balances = await Intents.getIntentsBalances([asset], receiver);
|
|
76
|
-
return balances[asset] || 0n;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
async getAssets() {
|
|
80
|
-
if (!this.omniAddress) return {};
|
|
81
|
-
const assets = await Intents.getIntentsAssets(this.omniAddress);
|
|
82
|
-
const balances = await Intents.getIntentsBalances(assets, this.omniAddress);
|
|
83
|
-
return balances;
|
|
84
|
-
}
|
|
85
|
-
}
|
package/src/core/signer.ts
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { base58, base64, hex } from "@scure/base";
|
|
2
|
-
import { sign as signSecp256k1, getPublicKey as getPublicKeySecp256k1 } from "@noble/secp256k1";
|
|
3
|
-
import { sha512 } from "@noble/hashes/sha2.js";
|
|
4
|
-
import * as ed from "@noble/ed25519";
|
|
5
|
-
import crypto from "crypto";
|
|
6
|
-
|
|
7
|
-
ed.utils.sha512Sync = sha512;
|
|
8
|
-
|
|
9
|
-
import { Commitment } from "./types";
|
|
10
|
-
import { WalletType } from "./chains";
|
|
11
|
-
import { OmniWallet } from "../OmniWallet";
|
|
12
|
-
import { ReviewFee } from "@hot-labs/omni-sdk";
|
|
13
|
-
import { Token } from "./token";
|
|
14
|
-
|
|
15
|
-
export class Secp256k1Wallet extends OmniWallet {
|
|
16
|
-
readonly address: string;
|
|
17
|
-
readonly publicKey: string;
|
|
18
|
-
readonly omniAddress: string;
|
|
19
|
-
|
|
20
|
-
readonly type = WalletType.EVM;
|
|
21
|
-
readonly icon = "";
|
|
22
|
-
|
|
23
|
-
constructor(readonly privateKey: Buffer) {
|
|
24
|
-
super();
|
|
25
|
-
this.publicKey = hex.encode(Buffer.from(getPublicKeySecp256k1(privateKey)));
|
|
26
|
-
this.omniAddress = this.publicKey.toLowerCase();
|
|
27
|
-
this.address = this.omniAddress;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
transferFee(token: Token, receiver: string, amount: bigint): Promise<ReviewFee> {
|
|
31
|
-
throw new Error("Method not implemented.");
|
|
32
|
-
}
|
|
33
|
-
transfer(args: { token: Token; receiver: string; amount: bigint; comment?: string; gasFee?: ReviewFee }): Promise<string> {
|
|
34
|
-
throw new Error("Method not implemented.");
|
|
35
|
-
}
|
|
36
|
-
fetchBalance(chain: number, address: string): Promise<bigint> {
|
|
37
|
-
throw new Error("Method not implemented.");
|
|
38
|
-
}
|
|
39
|
-
fetchBalances(chain?: number, whitelist?: string[]): Promise<Record<string, bigint>> {
|
|
40
|
-
throw new Error("Method not implemented.");
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
async signIntents(intents: Record<string, any>[], options?: { deadline?: number; nonce?: Uint8Array }): Promise<Commitment> {
|
|
44
|
-
const nonce = new Uint8Array(options?.nonce || crypto.randomBytes(32));
|
|
45
|
-
|
|
46
|
-
const message = JSON.stringify({
|
|
47
|
-
deadline: options?.deadline ? new Date(options.deadline).toISOString() : "2100-01-01T00:00:00.000Z",
|
|
48
|
-
verifying_contract: "intents.near",
|
|
49
|
-
signer_id: this.omniAddress,
|
|
50
|
-
nonce: base64.encode(nonce),
|
|
51
|
-
intents: intents,
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
const messageBytes = hex.encode(Buffer.from(message, "utf8"));
|
|
55
|
-
const signature = await signSecp256k1(messageBytes, this.privateKey);
|
|
56
|
-
return {
|
|
57
|
-
signature: `secp256k1:${base58.encode(signature)}`,
|
|
58
|
-
standard: "raw_secp256k1",
|
|
59
|
-
payload: message,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export class Ed25519Wallet extends OmniWallet {
|
|
65
|
-
readonly privateKey: Buffer;
|
|
66
|
-
readonly omniAddress: string;
|
|
67
|
-
readonly publicKey: string;
|
|
68
|
-
readonly address: string;
|
|
69
|
-
readonly type = WalletType.EVM;
|
|
70
|
-
readonly icon = "";
|
|
71
|
-
|
|
72
|
-
constructor(privateKey: Buffer, signerId?: string) {
|
|
73
|
-
super();
|
|
74
|
-
|
|
75
|
-
this.privateKey = privateKey.slice(0, 32);
|
|
76
|
-
const publicKey = Buffer.from(ed.sync.getPublicKey(this.privateKey));
|
|
77
|
-
this.omniAddress = signerId || hex.encode(publicKey);
|
|
78
|
-
this.publicKey = base58.encode(publicKey);
|
|
79
|
-
this.address = this.publicKey;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
transferFee(token: Token, receiver: string, amount: bigint): Promise<ReviewFee> {
|
|
83
|
-
throw new Error("Method not implemented.");
|
|
84
|
-
}
|
|
85
|
-
transfer(args: { token: Token; receiver: string; amount: bigint; comment?: string; gasFee?: ReviewFee }): Promise<string> {
|
|
86
|
-
throw new Error("Method not implemented.");
|
|
87
|
-
}
|
|
88
|
-
fetchBalance(chain: number, address: string): Promise<bigint> {
|
|
89
|
-
throw new Error("Method not implemented.");
|
|
90
|
-
}
|
|
91
|
-
fetchBalances(chain?: number, whitelist?: string[]): Promise<Record<string, bigint>> {
|
|
92
|
-
throw new Error("Method not implemented.");
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
async signIntents(intents: Record<string, any>[], options?: { deadline?: number; nonce?: Uint8Array }): Promise<Commitment> {
|
|
96
|
-
const nonce = new Uint8Array(options?.nonce || crypto.randomBytes(32));
|
|
97
|
-
|
|
98
|
-
const message = JSON.stringify({
|
|
99
|
-
deadline: options?.deadline ? new Date(options.deadline).toISOString() : "2100-01-01T00:00:00.000Z",
|
|
100
|
-
nonce: base64.encode(nonce),
|
|
101
|
-
verifying_contract: "intents.near",
|
|
102
|
-
signer_id: this.omniAddress,
|
|
103
|
-
intents: intents,
|
|
104
|
-
});
|
|
105
|
-
|
|
106
|
-
const messageBytes = hex.encode(Buffer.from(message, "utf8"));
|
|
107
|
-
const signature = ed.sync.sign(messageBytes, this.privateKey);
|
|
108
|
-
|
|
109
|
-
return {
|
|
110
|
-
signature: `ed25519:${base58.encode(signature)}`,
|
|
111
|
-
public_key: `ed25519:${this.omniAddress}`,
|
|
112
|
-
standard: "raw_ed25519",
|
|
113
|
-
payload: message,
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
}
|
package/src/ui/utils.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { NetworkError, TimeoutNetworkError } from "../core/api";
|
|
2
|
-
|
|
3
|
-
export const serializeError = (error: any): string => {
|
|
4
|
-
try {
|
|
5
|
-
if (error instanceof Error) return error.message;
|
|
6
|
-
if (error instanceof NetworkError) return error.toString();
|
|
7
|
-
if (error instanceof TimeoutNetworkError) return error.toString();
|
|
8
|
-
if (typeof error === "object" && Object.keys(error).length > 0) return JSON.stringify(error);
|
|
9
|
-
if (typeof error === "string" || typeof error === "number") return error.toString();
|
|
10
|
-
return "";
|
|
11
|
-
} catch (error) {
|
|
12
|
-
return "Unknown error";
|
|
13
|
-
}
|
|
14
|
-
};
|