@multiplatform.one/web3 7.18.0 → 7.19.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/README.md +60 -0
- package/dist/cjs/clients/adapter.cjs +33 -0
- package/dist/cjs/clients/adapter.native.js +36 -0
- package/dist/cjs/clients/adapter.native.js.map +1 -0
- package/dist/cjs/clients/bitcoin.cjs +46 -0
- package/dist/cjs/clients/bitcoin.native.js +51 -0
- package/dist/cjs/clients/bitcoin.native.js.map +1 -0
- package/dist/cjs/clients/connector.cjs +45 -0
- package/dist/cjs/clients/connector.native.js +49 -0
- package/dist/cjs/clients/connector.native.js.map +1 -0
- package/dist/cjs/clients/evm.cjs +171 -0
- package/dist/cjs/clients/evm.native.js +198 -0
- package/dist/cjs/clients/evm.native.js.map +1 -0
- package/dist/cjs/clients/gpg.cjs +31 -0
- package/dist/cjs/clients/gpg.native.js +34 -0
- package/dist/cjs/clients/gpg.native.js.map +1 -0
- package/dist/cjs/clients/hooks.cjs +78 -0
- package/dist/cjs/clients/hooks.native.js +85 -0
- package/dist/cjs/clients/hooks.native.js.map +1 -0
- package/dist/cjs/clients/index.cjs +49 -0
- package/dist/cjs/clients/index.native.js +52 -0
- package/dist/cjs/clients/index.native.js.map +1 -0
- package/dist/cjs/clients/solana.cjs +322 -0
- package/dist/cjs/clients/solana.native.js +511 -0
- package/dist/cjs/clients/solana.native.js.map +1 -0
- package/dist/cjs/clients/solanaMessage.cjs +38 -0
- package/dist/cjs/clients/solanaMessage.native.js +44 -0
- package/dist/cjs/clients/solanaMessage.native.js.map +1 -0
- package/dist/cjs/clients/sui.cjs +46 -0
- package/dist/cjs/clients/sui.native.js +51 -0
- package/dist/cjs/clients/sui.native.js.map +1 -0
- package/dist/cjs/clients/types.cjs +37 -0
- package/dist/cjs/clients/types.native.js +160 -0
- package/dist/cjs/clients/types.native.js.map +1 -0
- package/dist/cjs/clients/useSolanaClient.cjs +50 -0
- package/dist/cjs/clients/useSolanaClient.native.js +57 -0
- package/dist/cjs/clients/useSolanaClient.native.js.map +1 -0
- package/dist/cjs/clients/walletStandard.cjs +63 -0
- package/dist/cjs/clients/walletStandard.native.js +71 -0
- package/dist/cjs/clients/walletStandard.native.js.map +1 -0
- package/dist/cjs/connectkit/connectors/walletAdapterConnector.cjs +2 -0
- package/dist/cjs/connectkit/connectors/walletAdapterConnector.native.js +2 -0
- package/dist/cjs/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
- package/dist/cjs/connectkit/siwe/SIWEProvider.cjs +4 -5
- package/dist/cjs/connectkit/siwe/SIWEProvider.native.js +4 -5
- package/dist/cjs/connectkit/siwe/SIWEProvider.native.js.map +1 -1
- package/dist/cjs/index.cjs +2 -1
- package/dist/cjs/index.native.js +1 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/solana.cjs +41 -0
- package/dist/cjs/solana.native.js +44 -0
- package/dist/cjs/solana.native.js.map +1 -0
- package/dist/esm/clients/adapter.mjs +8 -0
- package/dist/esm/clients/adapter.mjs.map +1 -0
- package/dist/esm/clients/adapter.native.js +8 -0
- package/dist/esm/clients/adapter.native.js.map +1 -0
- package/dist/esm/clients/bitcoin.mjs +21 -0
- package/dist/esm/clients/bitcoin.mjs.map +1 -0
- package/dist/esm/clients/bitcoin.native.js +23 -0
- package/dist/esm/clients/bitcoin.native.js.map +1 -0
- package/dist/esm/clients/connector.mjs +20 -0
- package/dist/esm/clients/connector.mjs.map +1 -0
- package/dist/esm/clients/connector.native.js +21 -0
- package/dist/esm/clients/connector.native.js.map +1 -0
- package/dist/esm/clients/evm.mjs +146 -0
- package/dist/esm/clients/evm.mjs.map +1 -0
- package/dist/esm/clients/evm.native.js +170 -0
- package/dist/esm/clients/evm.native.js.map +1 -0
- package/dist/esm/clients/gpg.mjs +3 -0
- package/dist/esm/clients/gpg.mjs.map +1 -0
- package/dist/esm/clients/gpg.native.js +3 -0
- package/dist/esm/clients/gpg.native.js.map +1 -0
- package/dist/esm/clients/hooks.mjs +51 -0
- package/dist/esm/clients/hooks.mjs.map +1 -0
- package/dist/esm/clients/hooks.native.js +55 -0
- package/dist/esm/clients/hooks.native.js.map +1 -0
- package/dist/esm/clients/index.mjs +11 -0
- package/dist/esm/clients/index.mjs.map +1 -0
- package/dist/esm/clients/index.native.js +11 -0
- package/dist/esm/clients/index.native.js.map +1 -0
- package/dist/esm/clients/solana.mjs +289 -0
- package/dist/esm/clients/solana.mjs.map +1 -0
- package/dist/esm/clients/solana.native.js +475 -0
- package/dist/esm/clients/solana.native.js.map +1 -0
- package/dist/esm/clients/solanaMessage.mjs +13 -0
- package/dist/esm/clients/solanaMessage.mjs.map +1 -0
- package/dist/esm/clients/solanaMessage.native.js +16 -0
- package/dist/esm/clients/solanaMessage.native.js.map +1 -0
- package/dist/esm/clients/sui.mjs +21 -0
- package/dist/esm/clients/sui.mjs.map +1 -0
- package/dist/esm/clients/sui.native.js +23 -0
- package/dist/esm/clients/sui.native.js.map +1 -0
- package/dist/esm/clients/types.mjs +12 -0
- package/dist/esm/clients/types.mjs.map +1 -0
- package/dist/esm/clients/types.native.js +132 -0
- package/dist/esm/clients/types.native.js.map +1 -0
- package/dist/esm/clients/useSolanaClient.mjs +25 -0
- package/dist/esm/clients/useSolanaClient.mjs.map +1 -0
- package/dist/esm/clients/useSolanaClient.native.js +29 -0
- package/dist/esm/clients/useSolanaClient.native.js.map +1 -0
- package/dist/esm/clients/walletStandard.mjs +33 -0
- package/dist/esm/clients/walletStandard.mjs.map +1 -0
- package/dist/esm/clients/walletStandard.native.js +38 -0
- package/dist/esm/clients/walletStandard.native.js.map +1 -0
- package/dist/esm/connectkit/connectors/walletAdapterConnector.mjs +2 -0
- package/dist/esm/connectkit/connectors/walletAdapterConnector.mjs.map +1 -1
- package/dist/esm/connectkit/connectors/walletAdapterConnector.native.js +2 -0
- package/dist/esm/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
- package/dist/esm/connectkit/siwe/SIWEProvider.mjs +4 -5
- package/dist/esm/connectkit/siwe/SIWEProvider.mjs.map +1 -1
- package/dist/esm/connectkit/siwe/SIWEProvider.native.js +4 -5
- package/dist/esm/connectkit/siwe/SIWEProvider.native.js.map +1 -1
- package/dist/esm/index.mjs +1 -0
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +1 -0
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/solana.mjs +5 -0
- package/dist/esm/solana.mjs.map +1 -0
- package/dist/esm/solana.native.js +5 -0
- package/dist/esm/solana.native.js.map +1 -0
- package/dist/jsx/clients/adapter.mjs +8 -0
- package/dist/jsx/clients/adapter.mjs.map +1 -0
- package/dist/jsx/clients/adapter.native.js +36 -0
- package/dist/jsx/clients/adapter.native.js.map +1 -0
- package/dist/jsx/clients/bitcoin.mjs +21 -0
- package/dist/jsx/clients/bitcoin.mjs.map +1 -0
- package/dist/jsx/clients/bitcoin.native.js +51 -0
- package/dist/jsx/clients/bitcoin.native.js.map +1 -0
- package/dist/jsx/clients/connector.mjs +20 -0
- package/dist/jsx/clients/connector.mjs.map +1 -0
- package/dist/jsx/clients/connector.native.js +49 -0
- package/dist/jsx/clients/connector.native.js.map +1 -0
- package/dist/jsx/clients/evm.mjs +146 -0
- package/dist/jsx/clients/evm.mjs.map +1 -0
- package/dist/jsx/clients/evm.native.js +198 -0
- package/dist/jsx/clients/evm.native.js.map +1 -0
- package/dist/jsx/clients/gpg.mjs +3 -0
- package/dist/jsx/clients/gpg.mjs.map +1 -0
- package/dist/jsx/clients/gpg.native.js +34 -0
- package/dist/jsx/clients/gpg.native.js.map +1 -0
- package/dist/jsx/clients/hooks.mjs +51 -0
- package/dist/jsx/clients/hooks.mjs.map +1 -0
- package/dist/jsx/clients/hooks.native.js +85 -0
- package/dist/jsx/clients/hooks.native.js.map +1 -0
- package/dist/jsx/clients/index.mjs +11 -0
- package/dist/jsx/clients/index.mjs.map +1 -0
- package/dist/jsx/clients/index.native.js +52 -0
- package/dist/jsx/clients/index.native.js.map +1 -0
- package/dist/jsx/clients/solana.mjs +289 -0
- package/dist/jsx/clients/solana.mjs.map +1 -0
- package/dist/jsx/clients/solana.native.js +511 -0
- package/dist/jsx/clients/solana.native.js.map +1 -0
- package/dist/jsx/clients/solanaMessage.mjs +13 -0
- package/dist/jsx/clients/solanaMessage.mjs.map +1 -0
- package/dist/jsx/clients/solanaMessage.native.js +44 -0
- package/dist/jsx/clients/solanaMessage.native.js.map +1 -0
- package/dist/jsx/clients/sui.mjs +21 -0
- package/dist/jsx/clients/sui.mjs.map +1 -0
- package/dist/jsx/clients/sui.native.js +51 -0
- package/dist/jsx/clients/sui.native.js.map +1 -0
- package/dist/jsx/clients/types.mjs +12 -0
- package/dist/jsx/clients/types.mjs.map +1 -0
- package/dist/jsx/clients/types.native.js +160 -0
- package/dist/jsx/clients/types.native.js.map +1 -0
- package/dist/jsx/clients/useSolanaClient.mjs +25 -0
- package/dist/jsx/clients/useSolanaClient.mjs.map +1 -0
- package/dist/jsx/clients/useSolanaClient.native.js +57 -0
- package/dist/jsx/clients/useSolanaClient.native.js.map +1 -0
- package/dist/jsx/clients/walletStandard.mjs +33 -0
- package/dist/jsx/clients/walletStandard.mjs.map +1 -0
- package/dist/jsx/clients/walletStandard.native.js +71 -0
- package/dist/jsx/clients/walletStandard.native.js.map +1 -0
- package/dist/jsx/connectkit/connectors/walletAdapterConnector.mjs +2 -0
- package/dist/jsx/connectkit/connectors/walletAdapterConnector.mjs.map +1 -1
- package/dist/jsx/connectkit/connectors/walletAdapterConnector.native.js +2 -0
- package/dist/jsx/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEProvider.mjs +4 -5
- package/dist/jsx/connectkit/siwe/SIWEProvider.mjs.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEProvider.native.js +4 -5
- package/dist/jsx/connectkit/siwe/SIWEProvider.native.js.map +1 -1
- package/dist/jsx/index.js +1 -0
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +1 -0
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +1 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/solana.mjs +5 -0
- package/dist/jsx/solana.mjs.map +1 -0
- package/dist/jsx/solana.native.js +44 -0
- package/dist/jsx/solana.native.js.map +1 -0
- package/package.json +13 -6
- package/src/clients/adapter.ts +13 -0
- package/src/clients/bitcoin.ts +42 -0
- package/src/clients/connector.spec.ts +78 -0
- package/src/clients/connector.ts +36 -0
- package/src/clients/evm.spec.ts +265 -0
- package/src/clients/evm.ts +223 -0
- package/src/clients/gpg.spec.ts +169 -0
- package/src/clients/gpg.ts +8 -0
- package/src/clients/hooks.spec.tsx +113 -0
- package/src/clients/hooks.ts +51 -0
- package/src/clients/index.ts +40 -0
- package/src/clients/solana.spec.ts +444 -0
- package/src/clients/solana.ts +465 -0
- package/src/clients/solanaMessage.ts +34 -0
- package/src/clients/sui.ts +42 -0
- package/src/clients/types.ts +40 -0
- package/src/clients/useSolanaClient.ts +31 -0
- package/src/clients/walletStandard.ts +87 -0
- package/src/connectkit/connectors/walletAdapterConnector.ts +2 -0
- package/src/connectkit/siwe/SIWEProvider.spec.tsx +112 -0
- package/src/connectkit/siwe/SIWEProvider.tsx +6 -10
- package/src/index.ts +4 -0
- package/src/solana.ts +30 -0
- package/types/clients/adapter.d.ts +5 -0
- package/types/clients/adapter.d.ts.map +1 -0
- package/types/clients/bitcoin.d.ts +21 -0
- package/types/clients/bitcoin.d.ts.map +1 -0
- package/types/clients/connector.d.ts +14 -0
- package/types/clients/connector.d.ts.map +1 -0
- package/types/clients/evm.d.ts +68 -0
- package/types/clients/evm.d.ts.map +1 -0
- package/types/clients/gpg.d.ts +2 -0
- package/types/clients/gpg.d.ts.map +1 -0
- package/types/clients/hooks.d.ts +16 -0
- package/types/clients/hooks.d.ts.map +1 -0
- package/types/clients/index.d.ts +10 -0
- package/types/clients/index.d.ts.map +1 -0
- package/types/clients/solana.d.ts +111 -0
- package/types/clients/solana.d.ts.map +1 -0
- package/types/clients/solanaMessage.d.ts +18 -0
- package/types/clients/solanaMessage.d.ts.map +1 -0
- package/types/clients/sui.d.ts +21 -0
- package/types/clients/sui.d.ts.map +1 -0
- package/types/clients/types.d.ts +27 -0
- package/types/clients/types.d.ts.map +1 -0
- package/types/clients/useSolanaClient.d.ts +11 -0
- package/types/clients/useSolanaClient.d.ts.map +1 -0
- package/types/clients/walletStandard.d.ts +63 -0
- package/types/clients/walletStandard.d.ts.map +1 -0
- package/types/connectkit/connectors/walletAdapterConnector.d.ts.map +1 -1
- package/types/connectkit/siwe/SIWEProvider.d.ts.map +1 -1
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/solana.d.ts +4 -0
- package/types/solana.d.ts.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["UnsupportedClientMethodError","txTodo","capabilities","bitcoinClient","adapter","address","Error","family","chainId","signMessage","message","signPsbt","sendBitcoin"],"sources":["../../../src/clients/bitcoin.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,4BAAA,QAA6E;AAItF,MAAMC,MAAA,GACJ;AAkBF,MAAMC,YAAA,GAA4C,CAAC,aAAa;AAEzD,SAASC,cAAcC,OAAA,EAAwC;EACpE,IAAI,CAACA,OAAA,CAAQC,OAAA,EAAS,MAAM,IAAIC,KAAA,CAAM,+CAA+C;EACrF,OAAO;IACLC,MAAA,EAAQ;IACRF,OAAA,EAASD,OAAA,CAAQC,OAAA;IACjBG,OAAA,EAAS;IACTN,YAAA;IACAO,WAAA,EAAcC,OAAA,IAAYN,OAAA,CAAQK,WAAA,CAAYC,OAAO;IACrDC,QAAA,EAAU,MAAAA,CAAA,KAAY;MACpB,MAAM,IAAIX,4BAAA,CAA6B,WAAW,YAAYC,MAAM;IACtE;IACAW,WAAA,EAAa,MAAAA,CAAA,KAAY;MACvB,MAAM,IAAIZ,4BAAA,CAA6B,WAAW,eAAeC,MAAM;IACzE;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var bitcoin_exports = {};
|
|
26
|
+
__export(bitcoin_exports, {
|
|
27
|
+
bitcoinClient: () => bitcoinClient
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(bitcoin_exports);
|
|
30
|
+
var import_types = require("./types.native.js");
|
|
31
|
+
var txTodo = "needs PSBT signing through the wallet (Unisat/OKX signPsbt, Phantom's bitcoin signPSBT) and a broadcast endpoint";
|
|
32
|
+
var capabilities = ["signMessage"];
|
|
33
|
+
function bitcoinClient(adapter) {
|
|
34
|
+
if (!adapter.address) throw new Error("bitcoinClient: connect a Bitcoin wallet first");
|
|
35
|
+
return {
|
|
36
|
+
family: "bitcoin",
|
|
37
|
+
address: adapter.address,
|
|
38
|
+
chainId: "bitcoin",
|
|
39
|
+
capabilities,
|
|
40
|
+
signMessage: function signMessage(message) {
|
|
41
|
+
return adapter.signMessage(message);
|
|
42
|
+
},
|
|
43
|
+
signPsbt: async function signPsbt() {
|
|
44
|
+
throw new import_types.UnsupportedClientMethodError("bitcoin", "signPsbt", txTodo);
|
|
45
|
+
},
|
|
46
|
+
sendBitcoin: async function sendBitcoin() {
|
|
47
|
+
throw new import_types.UnsupportedClientMethodError("bitcoin", "sendBitcoin", txTodo);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=bitcoin.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","bitcoin_exports"],"sources":["../../../src/clients/bitcoin.ts"],"sourcesContent":[null],"mappings":"AACA,YAAS;;AAIT,IAAAA,SAAM,GACJC,MAAA,CAAAC,cAAA;AAkBF,IAAAC,gBAAM,GAA6CF,MAAA,CAAAG,wBAAa;AAEzD,IAAAC,iBAAS,GAAcJ,MAAA,CAAAK,mBAAwC;AACpE,IAAAC,YAAa,GAAAN,MAAS,CAAAO,SAAU,CAAAC,cAAM;AACtC,IAAAC,QAAO,GAAAA,CAAAC,MAAA,EAAAC,GAAA;EAAA,KACL,IAAAC,IAAQ,IAAAD,GAAA,EACRZ,SAAS,CAAAW,MAAA,EAAQE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAA;AACR,IACTC,WAAA,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAA,EAAAC,IAAA;EAAA,IACAF,IAAA,WAAcA,IAAA,KAAY,QAAQ,WAAAA,IAAY,KAAO;IACrD,SAAAG,GAAU,IAAAhB,iBAAY,CAAAa,IAAA,GACpB,KAAAX,YAAU,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAA6BF,MAAA,EACzCnB,SAAA,CAAAiB,EAAA,EAAAI,GAAA;MAAAP,GAAA,EAAAA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EAAA;EAEE,OAAAE,EAAA;AAAuE;AACzE,IACFM,YAAA,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA;AACF,IAAAE,eAAA","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { connectorAdapter } from "./adapter.mjs";
|
|
2
|
+
import { bitcoinClient } from "./bitcoin.mjs";
|
|
3
|
+
import { solanaMessageClient } from "./solanaMessage.mjs";
|
|
4
|
+
import { suiClient } from "./sui.mjs";
|
|
5
|
+
function clientForConnector(connector, options = {}) {
|
|
6
|
+
const adapter = connectorAdapter(connector);
|
|
7
|
+
if (!adapter?.address) return null;
|
|
8
|
+
switch (connector.ecosystem) {
|
|
9
|
+
case "solana":
|
|
10
|
+
return solanaMessageClient(adapter, options.solanaChain);
|
|
11
|
+
case "sui":
|
|
12
|
+
return suiClient(adapter);
|
|
13
|
+
case "bitcoin":
|
|
14
|
+
return bitcoinClient(adapter);
|
|
15
|
+
default:
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export { clientForConnector };
|
|
20
|
+
//# sourceMappingURL=connector.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["connectorAdapter","bitcoinClient","solanaMessageClient","suiClient","clientForConnector","connector","options","adapter","address","ecosystem","solanaChain"],"sources":["../../../src/clients/connector.ts"],"sourcesContent":[null],"mappings":"AACA,SAASA,gBAAA,QAAwB;AACjC,SAASC,aAAA,QAAyC;AAClD,SAASC,mBAAA,QAAuE;AAChF,SAASC,SAAA,QAAiC;AAenC,SAASC,mBACdC,SAAA,EACAC,OAAA,GAAkC,CAAC,GACd;EACrB,MAAMC,OAAA,GAAUP,gBAAA,CAAiBK,SAAS;EAC1C,IAAI,CAACE,OAAA,EAASC,OAAA,EAAS,OAAO;EAC9B,QAASH,SAAA,CAAoCI,SAAA;IAC3C,KAAK;MACH,OAAOP,mBAAA,CAAoBK,OAAA,EAASD,OAAA,CAAQI,WAAW;IACzD,KAAK;MACH,OAAOP,SAAA,CAAUI,OAAO;IAC1B,KAAK;MACH,OAAON,aAAA,CAAcM,OAAO;IAC9B;MACE,OAAO;EACX;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var connector_exports = {};
|
|
26
|
+
__export(connector_exports, {
|
|
27
|
+
clientForConnector: () => clientForConnector
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(connector_exports);
|
|
30
|
+
var import_adapter = require("./adapter.native.js");
|
|
31
|
+
var import_bitcoin = require("./bitcoin.native.js");
|
|
32
|
+
var import_solanaMessage = require("./solanaMessage.native.js");
|
|
33
|
+
var import_sui = require("./sui.native.js");
|
|
34
|
+
function clientForConnector(connector) {
|
|
35
|
+
var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
36
|
+
var adapter = (0, import_adapter.connectorAdapter)(connector);
|
|
37
|
+
if (!(adapter === null || adapter === void 0 ? void 0 : adapter.address)) return null;
|
|
38
|
+
switch (connector.ecosystem) {
|
|
39
|
+
case "solana":
|
|
40
|
+
return (0, import_solanaMessage.solanaMessageClient)(adapter, options.solanaChain);
|
|
41
|
+
case "sui":
|
|
42
|
+
return (0, import_sui.suiClient)(adapter);
|
|
43
|
+
case "bitcoin":
|
|
44
|
+
return (0, import_bitcoin.bitcoinClient)(adapter);
|
|
45
|
+
default:
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=connector.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value"],"sources":["../../../src/clients/connector.ts"],"sourcesContent":[null],"mappings":"AACA,YAAS;;AACT,IAAAA,SAAS,GAAAC,MAAA,CAAAC,cAAyC;AAClD,IAAAC,gBAAS,GAAAF,MAAA,CAAAG,wBAAuE;AAChF,IAAAC,iBAAS,GAAAJ,MAAiC,CAAAK,mBAAA;AAenC,IAAAC,YAAS,GAAAN,MAAA,CAAAO,SACd,CAAAC,cACmC;AAEnC,IAAAC,QAAM,GAAAA,CAAAC,MAAU,EAAAC,GAAA;EAChB,KAAK,IAAAC,IAAA,IAASD,GAAA,EACdZ,SAAS,CAAAW,MAAoC,EAAAE,IAAA;IAAAC,GAAW,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AAAA;AAEpD,IAAAC,WAAO,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAAC,MAAoB,EAAAC,IAAA,KAAS;EAAmB,IACzDF,IAAK,WAAAA,IAAA,wBAAAA,IAAA;IACH,SAAOG,GAAA,IAAAhB,iBAAiB,CAAAa,IAAA,GAC1B,IAAK,CAAAX,YAAA,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,EACHnB,SAAO,CAAAiB,EAAA,EAAAI,GAAA,EAAc;MAAAP,GAAA,EAAOA,CAAA,KAAAI,IAAA,CAAAG,GAAA;MAAAN,UAAA,IAAAK,IAAA,GAAAjB,gBAAA,CAAAe,IAAA,EAAAG,GAAA,MAAAD,IAAA,CAAAL;IAAA;EAAA;EAE5B,OAAAE,EAAA;AAAO;AAEb,IAAAM,YAAA,GAAAC,GAAA,IAAAR,WAAA,CAAAhB,SAAA;EAAAyB,KAAA;AAAA,IAAAD,GAAA","ignoreList":[]}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { createPublicClient, createWalletClient, custom, erc20Abi, http } from "viem";
|
|
2
|
+
const erc20WriteAbi = [{
|
|
3
|
+
type: "function",
|
|
4
|
+
name: "transfer",
|
|
5
|
+
stateMutability: "nonpayable",
|
|
6
|
+
inputs: [{
|
|
7
|
+
name: "to",
|
|
8
|
+
type: "address"
|
|
9
|
+
}, {
|
|
10
|
+
name: "amount",
|
|
11
|
+
type: "uint256"
|
|
12
|
+
}],
|
|
13
|
+
outputs: []
|
|
14
|
+
}, {
|
|
15
|
+
type: "function",
|
|
16
|
+
name: "approve",
|
|
17
|
+
stateMutability: "nonpayable",
|
|
18
|
+
inputs: [{
|
|
19
|
+
name: "spender",
|
|
20
|
+
type: "address"
|
|
21
|
+
}, {
|
|
22
|
+
name: "amount",
|
|
23
|
+
type: "uint256"
|
|
24
|
+
}],
|
|
25
|
+
outputs: []
|
|
26
|
+
}];
|
|
27
|
+
const capabilities = ["signMessage", "sendTransaction", "writeContract"];
|
|
28
|
+
function evmClient(config) {
|
|
29
|
+
const walletClient = "walletClient" in config ? config.walletClient : createWalletClient({
|
|
30
|
+
account: config.account,
|
|
31
|
+
chain: config.chain,
|
|
32
|
+
transport: custom(config.provider)
|
|
33
|
+
});
|
|
34
|
+
const chain = walletClient.chain;
|
|
35
|
+
if (!chain) throw new Error("evmClient: the wallet client has no chain");
|
|
36
|
+
const publicClient = config.publicClient ?? createPublicClient({
|
|
37
|
+
chain,
|
|
38
|
+
transport: http(config.rpcUrl)
|
|
39
|
+
});
|
|
40
|
+
const account = walletClient.account;
|
|
41
|
+
const writeContract = parameters => walletClient.writeContract({
|
|
42
|
+
account,
|
|
43
|
+
chain,
|
|
44
|
+
...parameters
|
|
45
|
+
});
|
|
46
|
+
const simulateAndWrite = async parameters => {
|
|
47
|
+
const {
|
|
48
|
+
request
|
|
49
|
+
} = await publicClient.simulateContract({
|
|
50
|
+
account,
|
|
51
|
+
address: parameters.address,
|
|
52
|
+
abi: erc20WriteAbi,
|
|
53
|
+
functionName: parameters.functionName,
|
|
54
|
+
args: parameters.args
|
|
55
|
+
});
|
|
56
|
+
return walletClient.writeContract({
|
|
57
|
+
...request,
|
|
58
|
+
account,
|
|
59
|
+
chain
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
const approveAndWait = async (token, spender, amount) => {
|
|
63
|
+
const hash = await erc20.approve({
|
|
64
|
+
token,
|
|
65
|
+
spender,
|
|
66
|
+
amount
|
|
67
|
+
});
|
|
68
|
+
const receipt = await publicClient.waitForTransactionReceipt({
|
|
69
|
+
hash
|
|
70
|
+
});
|
|
71
|
+
if (receipt.status !== "success") throw new Error(`approve ${hash} reverted`);
|
|
72
|
+
return hash;
|
|
73
|
+
};
|
|
74
|
+
const erc20 = {
|
|
75
|
+
balanceOf: (token, owner = account.address) => publicClient.readContract({
|
|
76
|
+
address: token,
|
|
77
|
+
abi: erc20Abi,
|
|
78
|
+
functionName: "balanceOf",
|
|
79
|
+
args: [owner]
|
|
80
|
+
}),
|
|
81
|
+
allowance: (token, spender, owner = account.address) => publicClient.readContract({
|
|
82
|
+
address: token,
|
|
83
|
+
abi: erc20Abi,
|
|
84
|
+
functionName: "allowance",
|
|
85
|
+
args: [owner, spender]
|
|
86
|
+
}),
|
|
87
|
+
decimals: token => publicClient.readContract({
|
|
88
|
+
address: token,
|
|
89
|
+
abi: erc20Abi,
|
|
90
|
+
functionName: "decimals"
|
|
91
|
+
}),
|
|
92
|
+
transfer: ({
|
|
93
|
+
token,
|
|
94
|
+
to,
|
|
95
|
+
amount
|
|
96
|
+
}) => simulateAndWrite({
|
|
97
|
+
address: token,
|
|
98
|
+
functionName: "transfer",
|
|
99
|
+
args: [to, amount]
|
|
100
|
+
}),
|
|
101
|
+
approve: ({
|
|
102
|
+
token,
|
|
103
|
+
spender,
|
|
104
|
+
amount
|
|
105
|
+
}) => simulateAndWrite({
|
|
106
|
+
address: token,
|
|
107
|
+
functionName: "approve",
|
|
108
|
+
args: [spender, amount]
|
|
109
|
+
}),
|
|
110
|
+
async ensureAllowance({
|
|
111
|
+
token,
|
|
112
|
+
spender,
|
|
113
|
+
amount
|
|
114
|
+
}) {
|
|
115
|
+
const current = await erc20.allowance(token, spender);
|
|
116
|
+
if (current >= amount) return null;
|
|
117
|
+
if (current > 0n) await approveAndWait(token, spender, 0n);
|
|
118
|
+
return approveAndWait(token, spender, amount);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
return {
|
|
122
|
+
family: "evm",
|
|
123
|
+
address: account.address,
|
|
124
|
+
chainId: chain.id,
|
|
125
|
+
chain,
|
|
126
|
+
capabilities,
|
|
127
|
+
walletClient,
|
|
128
|
+
publicClient,
|
|
129
|
+
signMessage: message => walletClient.signMessage({
|
|
130
|
+
account,
|
|
131
|
+
message
|
|
132
|
+
}),
|
|
133
|
+
sendTransaction: parameters => walletClient.sendTransaction({
|
|
134
|
+
account,
|
|
135
|
+
chain,
|
|
136
|
+
...parameters
|
|
137
|
+
}),
|
|
138
|
+
writeContract,
|
|
139
|
+
waitForTransactionReceipt: hash => publicClient.waitForTransactionReceipt({
|
|
140
|
+
hash
|
|
141
|
+
}),
|
|
142
|
+
erc20
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
export { evmClient };
|
|
146
|
+
//# sourceMappingURL=evm.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createPublicClient","createWalletClient","custom","erc20Abi","http","erc20WriteAbi","type","name","stateMutability","inputs","outputs","capabilities","evmClient","config","walletClient","account","chain","transport","provider","Error","publicClient","rpcUrl","writeContract","parameters","simulateAndWrite","request","simulateContract","address","abi","functionName","args","approveAndWait","token","spender","amount","hash","erc20","approve","receipt","waitForTransactionReceipt","status","balanceOf","owner","readContract","allowance","decimals","transfer","to","ensureAllowance","current","family","chainId","id","signMessage","message","sendTransaction"],"sources":["../../../src/clients/evm.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,kBAAA,EACAC,kBAAA,EACAC,MAAA,EACAC,QAAA,EACAC,IAAA,QAgBK;AAkFP,MAAMC,aAAA,GAAgB,CACpB;EACEC,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,eAAA,EAAiB;EACjBC,MAAA,EAAQ,CACN;IAAEF,IAAA,EAAM;IAAMD,IAAA,EAAM;EAAU,GAC9B;IAAEC,IAAA,EAAM;IAAUD,IAAA,EAAM;EAAU,EACpC;EACAI,OAAA,EAAS;AACX,GACA;EACEJ,IAAA,EAAM;EACNC,IAAA,EAAM;EACNC,eAAA,EAAiB;EACjBC,MAAA,EAAQ,CACN;IAAEF,IAAA,EAAM;IAAWD,IAAA,EAAM;EAAU,GACnC;IAAEC,IAAA,EAAM;IAAUD,IAAA,EAAM;EAAU,EACpC;EACAI,OAAA,EAAS;AACX,EACF;AAEA,MAAMC,YAAA,GAA4C,CAChD,eACA,mBACA,gBACF;AAGO,SAASC,UAAUC,MAAA,EAAoC;EAC5D,MAAMC,YAAA,GACJ,kBAAkBD,MAAA,GACdA,MAAA,CAAOC,YAAA,GACPb,kBAAA,CAAmB;IACjBc,OAAA,EAASF,MAAA,CAAOE,OAAA;IAChBC,KAAA,EAAOH,MAAA,CAAOG,KAAA;IACdC,SAAA,EAAWf,MAAA,CAAOW,MAAA,CAAOK,QAAQ;EACnC,CAAC;EACP,MAAMF,KAAA,GAAQF,YAAA,CAAaE,KAAA;EAC3B,IAAI,CAACA,KAAA,EAAO,MAAM,IAAIG,KAAA,CAAM,2CAA2C;EACvE,MAAMC,YAAA,GACJP,MAAA,CAAOO,YAAA,IACNpB,kBAAA,CAAmB;IAAEgB,KAAA;IAAOC,SAAA,EAAWb,IAAA,CAAKS,MAAA,CAAOQ,MAAM;EAAE,CAAC;EAC/D,MAAMN,OAAA,GAAUD,YAAA,CAAaC,OAAA;EAE7B,MAAMO,aAAA,GAAiBC,UAAA,IACrBT,YAAA,CAAaQ,aAAA,CAAc;IAAEP,OAAA;IAASC,KAAA;IAAO,GAAGO;EAAW,CAA+B;EAE5F,MAAMC,gBAAA,GAAmB,MAAOD,UAAA,IAIX;IACnB,MAAM;MAAEE;IAAQ,IAAI,MAAML,YAAA,CAAaM,gBAAA,CAAiB;MACtDX,OAAA;MACAY,OAAA,EAASJ,UAAA,CAAWI,OAAA;MACpBC,GAAA,EAAKvB,aAAA;MACLwB,YAAA,EAAcN,UAAA,CAAWM,YAAA;MACzBC,IAAA,EAAMP,UAAA,CAAWO;IACnB,CAAC;IACD,OAAOhB,YAAA,CAAaQ,aAAA,CAAc;MAAE,GAAGG,OAAA;MAASV,OAAA;MAASC;IAAM,CAA+B;EAChG;EAEA,MAAMe,cAAA,GAAiB,MAAAA,CAAOC,KAAA,EAAgBC,OAAA,EAAkBC,MAAA,KAAmB;IACjF,MAAMC,IAAA,GAAO,MAAMC,KAAA,CAAMC,OAAA,CAAQ;MAAEL,KAAA;MAAOC,OAAA;MAASC;IAAO,CAAC;IAC3D,MAAMI,OAAA,GAAU,MAAMlB,YAAA,CAAamB,yBAAA,CAA0B;MAAEJ;IAAK,CAAC;IACrE,IAAIG,OAAA,CAAQE,MAAA,KAAW,WAAW,MAAM,IAAIrB,KAAA,CAAM,WAAWgB,IAAI,WAAW;IAC5E,OAAOA,IAAA;EACT;EAEA,MAAMC,KAAA,GAAsB;IAC1BK,SAAA,EAAWA,CAACT,KAAA,EAAOU,KAAA,GAAQ3B,OAAA,CAAQY,OAAA,KACjCP,YAAA,CAAauB,YAAA,CAAa;MACxBhB,OAAA,EAASK,KAAA;MACTJ,GAAA,EAAKzB,QAAA;MACL0B,YAAA,EAAc;MACdC,IAAA,EAAM,CAACY,KAAK;IACd,CAAC;IACHE,SAAA,EAAWA,CAACZ,KAAA,EAAOC,OAAA,EAASS,KAAA,GAAQ3B,OAAA,CAAQY,OAAA,KAC1CP,YAAA,CAAauB,YAAA,CAAa;MACxBhB,OAAA,EAASK,KAAA;MACTJ,GAAA,EAAKzB,QAAA;MACL0B,YAAA,EAAc;MACdC,IAAA,EAAM,CAACY,KAAA,EAAOT,OAAO;IACvB,CAAC;IACHY,QAAA,EAAWb,KAAA,IACTZ,YAAA,CAAauB,YAAA,CAAa;MAAEhB,OAAA,EAASK,KAAA;MAAOJ,GAAA,EAAKzB,QAAA;MAAU0B,YAAA,EAAc;IAAW,CAAC;IACvFiB,QAAA,EAAUA,CAAC;MAAEd,KAAA;MAAOe,EAAA;MAAIb;IAAO,MAC7BV,gBAAA,CAAiB;MAAEG,OAAA,EAASK,KAAA;MAAOH,YAAA,EAAc;MAAYC,IAAA,EAAM,CAACiB,EAAA,EAAIb,MAAM;IAAE,CAAC;IACnFG,OAAA,EAASA,CAAC;MAAEL,KAAA;MAAOC,OAAA;MAASC;IAAO,MACjCV,gBAAA,CAAiB;MAAEG,OAAA,EAASK,KAAA;MAAOH,YAAA,EAAc;MAAWC,IAAA,EAAM,CAACG,OAAA,EAASC,MAAM;IAAE,CAAC;IACvF,MAAMc,gBAAgB;MAAEhB,KAAA;MAAOC,OAAA;MAASC;IAAO,GAAG;MAChD,MAAMe,OAAA,GAAU,MAAMb,KAAA,CAAMQ,SAAA,CAAUZ,KAAA,EAAOC,OAAO;MACpD,IAAIgB,OAAA,IAAWf,MAAA,EAAQ,OAAO;MAC9B,IAAIe,OAAA,GAAU,IAAI,MAAMlB,cAAA,CAAeC,KAAA,EAAOC,OAAA,EAAS,EAAE;MACzD,OAAOF,cAAA,CAAeC,KAAA,EAAOC,OAAA,EAASC,MAAM;IAC9C;EACF;EAEA,OAAO;IACLgB,MAAA,EAAQ;IACRvB,OAAA,EAASZ,OAAA,CAAQY,OAAA;IACjBwB,OAAA,EAASnC,KAAA,CAAMoC,EAAA;IACfpC,KAAA;IACAL,YAAA;IACAG,YAAA;IACAM,YAAA;IACAiC,WAAA,EAAcC,OAAA,IAAYxC,YAAA,CAAauC,WAAA,CAAY;MAAEtC,OAAA;MAASuC;IAAQ,CAAC;IACvEC,eAAA,EAAkBhC,UAAA,IAChBT,YAAA,CAAayC,eAAA,CAAgB;MAC3BxC,OAAA;MACAC,KAAA;MACA,GAAGO;IACL,CAAiC;IACnCD,aAAA;IACAiB,yBAAA,EAA4BJ,IAAA,IAASf,YAAA,CAAamB,yBAAA,CAA0B;MAAEJ;IAAK,CAAC;IACpFC;EACF;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var evm_exports = {};
|
|
26
|
+
__export(evm_exports, {
|
|
27
|
+
evmClient: () => evmClient
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(evm_exports);
|
|
30
|
+
var import_viem = require("viem");
|
|
31
|
+
var erc20WriteAbi = [{
|
|
32
|
+
type: "function",
|
|
33
|
+
name: "transfer",
|
|
34
|
+
stateMutability: "nonpayable",
|
|
35
|
+
inputs: [{
|
|
36
|
+
name: "to",
|
|
37
|
+
type: "address"
|
|
38
|
+
}, {
|
|
39
|
+
name: "amount",
|
|
40
|
+
type: "uint256"
|
|
41
|
+
}],
|
|
42
|
+
outputs: []
|
|
43
|
+
}, {
|
|
44
|
+
type: "function",
|
|
45
|
+
name: "approve",
|
|
46
|
+
stateMutability: "nonpayable",
|
|
47
|
+
inputs: [{
|
|
48
|
+
name: "spender",
|
|
49
|
+
type: "address"
|
|
50
|
+
}, {
|
|
51
|
+
name: "amount",
|
|
52
|
+
type: "uint256"
|
|
53
|
+
}],
|
|
54
|
+
outputs: []
|
|
55
|
+
}];
|
|
56
|
+
var capabilities = ["signMessage", "sendTransaction", "writeContract"];
|
|
57
|
+
function evmClient(config) {
|
|
58
|
+
var _config_publicClient;
|
|
59
|
+
var walletClient = "walletClient" in config ? config.walletClient : (0, import_viem.createWalletClient)({
|
|
60
|
+
account: config.account,
|
|
61
|
+
chain: config.chain,
|
|
62
|
+
transport: (0, import_viem.custom)(config.provider)
|
|
63
|
+
});
|
|
64
|
+
var chain = walletClient.chain;
|
|
65
|
+
if (!chain) throw new Error("evmClient: the wallet client has no chain");
|
|
66
|
+
var publicClient = (_config_publicClient = config.publicClient) !== null && _config_publicClient !== void 0 ? _config_publicClient : (0, import_viem.createPublicClient)({
|
|
67
|
+
chain,
|
|
68
|
+
transport: (0, import_viem.http)(config.rpcUrl)
|
|
69
|
+
});
|
|
70
|
+
var account = walletClient.account;
|
|
71
|
+
var writeContract = function writeContract2(parameters) {
|
|
72
|
+
return walletClient.writeContract({
|
|
73
|
+
account,
|
|
74
|
+
chain,
|
|
75
|
+
...parameters
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
var simulateAndWrite = async function simulateAndWrite2(parameters) {
|
|
79
|
+
var {
|
|
80
|
+
request
|
|
81
|
+
} = await publicClient.simulateContract({
|
|
82
|
+
account,
|
|
83
|
+
address: parameters.address,
|
|
84
|
+
abi: erc20WriteAbi,
|
|
85
|
+
functionName: parameters.functionName,
|
|
86
|
+
args: parameters.args
|
|
87
|
+
});
|
|
88
|
+
return walletClient.writeContract({
|
|
89
|
+
...request,
|
|
90
|
+
account,
|
|
91
|
+
chain
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
var approveAndWait = async function approveAndWait2(token, spender, amount) {
|
|
95
|
+
var hash = await erc20.approve({
|
|
96
|
+
token,
|
|
97
|
+
spender,
|
|
98
|
+
amount
|
|
99
|
+
});
|
|
100
|
+
var receipt = await publicClient.waitForTransactionReceipt({
|
|
101
|
+
hash
|
|
102
|
+
});
|
|
103
|
+
if (receipt.status !== "success") throw new Error(`approve ${hash} reverted`);
|
|
104
|
+
return hash;
|
|
105
|
+
};
|
|
106
|
+
var erc20 = {
|
|
107
|
+
balanceOf: function balanceOf(token) {
|
|
108
|
+
var owner = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : account.address;
|
|
109
|
+
return publicClient.readContract({
|
|
110
|
+
address: token,
|
|
111
|
+
abi: import_viem.erc20Abi,
|
|
112
|
+
functionName: "balanceOf",
|
|
113
|
+
args: [owner]
|
|
114
|
+
});
|
|
115
|
+
},
|
|
116
|
+
allowance: function allowance(token, spender) {
|
|
117
|
+
var owner = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : account.address;
|
|
118
|
+
return publicClient.readContract({
|
|
119
|
+
address: token,
|
|
120
|
+
abi: import_viem.erc20Abi,
|
|
121
|
+
functionName: "allowance",
|
|
122
|
+
args: [owner, spender]
|
|
123
|
+
});
|
|
124
|
+
},
|
|
125
|
+
decimals: function decimals(token) {
|
|
126
|
+
return publicClient.readContract({
|
|
127
|
+
address: token,
|
|
128
|
+
abi: import_viem.erc20Abi,
|
|
129
|
+
functionName: "decimals"
|
|
130
|
+
});
|
|
131
|
+
},
|
|
132
|
+
transfer: function transfer(param) {
|
|
133
|
+
var {
|
|
134
|
+
token,
|
|
135
|
+
to,
|
|
136
|
+
amount
|
|
137
|
+
} = param;
|
|
138
|
+
return simulateAndWrite({
|
|
139
|
+
address: token,
|
|
140
|
+
functionName: "transfer",
|
|
141
|
+
args: [to, amount]
|
|
142
|
+
});
|
|
143
|
+
},
|
|
144
|
+
approve: function approve(param) {
|
|
145
|
+
var {
|
|
146
|
+
token,
|
|
147
|
+
spender,
|
|
148
|
+
amount
|
|
149
|
+
} = param;
|
|
150
|
+
return simulateAndWrite({
|
|
151
|
+
address: token,
|
|
152
|
+
functionName: "approve",
|
|
153
|
+
args: [spender, amount]
|
|
154
|
+
});
|
|
155
|
+
},
|
|
156
|
+
async ensureAllowance(param) {
|
|
157
|
+
var {
|
|
158
|
+
token,
|
|
159
|
+
spender,
|
|
160
|
+
amount
|
|
161
|
+
} = param;
|
|
162
|
+
var current = await erc20.allowance(token, spender);
|
|
163
|
+
if (current >= amount) return null;
|
|
164
|
+
if (current > 0n) await approveAndWait(token, spender, 0n);
|
|
165
|
+
return approveAndWait(token, spender, amount);
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
return {
|
|
169
|
+
family: "evm",
|
|
170
|
+
address: account.address,
|
|
171
|
+
chainId: chain.id,
|
|
172
|
+
chain,
|
|
173
|
+
capabilities,
|
|
174
|
+
walletClient,
|
|
175
|
+
publicClient,
|
|
176
|
+
signMessage: function signMessage(message) {
|
|
177
|
+
return walletClient.signMessage({
|
|
178
|
+
account,
|
|
179
|
+
message
|
|
180
|
+
});
|
|
181
|
+
},
|
|
182
|
+
sendTransaction: function sendTransaction(parameters) {
|
|
183
|
+
return walletClient.sendTransaction({
|
|
184
|
+
account,
|
|
185
|
+
chain,
|
|
186
|
+
...parameters
|
|
187
|
+
});
|
|
188
|
+
},
|
|
189
|
+
writeContract,
|
|
190
|
+
waitForTransactionReceipt: function waitForTransactionReceipt(hash) {
|
|
191
|
+
return publicClient.waitForTransactionReceipt({
|
|
192
|
+
hash
|
|
193
|
+
});
|
|
194
|
+
},
|
|
195
|
+
erc20
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
//# sourceMappingURL=evm.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","evm_exports","evmClient","module","exports","import_viem","require","erc20WriteAbi","type","stateMutability","inputs","outputs","capabilities","config","_config_publicClient","walletClient","createWalletClient","account","chain","transport","custom","provider","Error","publicClient","createPublicClient","http","rpcUrl","writeContract","writeContract2","parameters","simulateAndWrite","simulateAndWrite2","request","simulateContract","address","abi","functionName","args","approveAndWait","approveAndWait2","token","spender","amount","hash","erc20","approve"],"sources":["../../../src/clients/evm.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["assertGpgSignature","createGpgSigner","gpgSignCommand","useGpgSigner"],"sources":["../../../src/clients/gpg.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,kBAAA,EACAC,eAAA,EACAC,cAAA,EACAC,YAAA,QAGK","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
16
|
+
get: () => from[key],
|
|
17
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
return to;
|
|
21
|
+
};
|
|
22
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
23
|
+
value: true
|
|
24
|
+
}), mod);
|
|
25
|
+
var gpg_exports = {};
|
|
26
|
+
__export(gpg_exports, {
|
|
27
|
+
assertGpgSignature: () => import_signer.assertGpgSignature,
|
|
28
|
+
createGpgSigner: () => import_signer.createGpgSigner,
|
|
29
|
+
gpgSignCommand: () => import_signer.gpgSignCommand,
|
|
30
|
+
useGpgSigner: () => import_signer.useGpgSigner
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(gpg_exports);
|
|
33
|
+
var import_signer = require("@multiplatform.one/gpg/signer");
|
|
34
|
+
//# sourceMappingURL=gpg.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all"],"sources":["../../../src/clients/gpg.ts"],"sourcesContent":[null],"mappings":"AAAA;;AAAA,IACEA,SAAA,GAAAC,MAAA,CAAAC,cAAA;AAAA,IACAC,gBAAA,GAAAF,MAAA,CAAAG,wBAAA;AAAA,IACAC,iBAAA,GAAAJ,MAAA,CAAAK,mBAAA;AAAA,IACAC,YAAA,GAAAN,MAAA,CAAAO,SAAA,CAAAC,cAAA;AAAA,IAAAC,QAGK,GAAAA,CAAAC,MAAA,EAAAC,GAAA","ignoreList":[]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
import { useAccount, usePublicClient, useWalletClient } from "wagmi";
|
|
3
|
+
import { isSyntheticChainId } from "../connectkit/connectors/syntheticChains.mjs";
|
|
4
|
+
import { bitcoinClient } from "./bitcoin.mjs";
|
|
5
|
+
import { connectorAdapter } from "./adapter.mjs";
|
|
6
|
+
import { evmClient } from "./evm.mjs";
|
|
7
|
+
import { suiClient } from "./sui.mjs";
|
|
8
|
+
function useEvmClient(parameters = {}) {
|
|
9
|
+
const {
|
|
10
|
+
connector,
|
|
11
|
+
chainId: connectedChainId
|
|
12
|
+
} = useAccount();
|
|
13
|
+
const evm = !!connector && !connectorAdapter(connector) && !isSyntheticChainId(connectedChainId);
|
|
14
|
+
const {
|
|
15
|
+
data: walletClient
|
|
16
|
+
} = useWalletClient({
|
|
17
|
+
chainId: parameters.chainId,
|
|
18
|
+
query: {
|
|
19
|
+
enabled: evm
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
const publicClient = usePublicClient({
|
|
23
|
+
chainId: walletClient?.chain.id ?? parameters.chainId
|
|
24
|
+
});
|
|
25
|
+
return useMemo(() => evm && walletClient && publicClient ? evmClient({
|
|
26
|
+
walletClient,
|
|
27
|
+
publicClient
|
|
28
|
+
}) : void 0, [evm, walletClient, publicClient]);
|
|
29
|
+
}
|
|
30
|
+
function useSuiClient() {
|
|
31
|
+
const {
|
|
32
|
+
connector,
|
|
33
|
+
address
|
|
34
|
+
} = useAccount();
|
|
35
|
+
return useMemo(() => {
|
|
36
|
+
const adapter = connectorAdapter(connector, "sui");
|
|
37
|
+
return adapter?.address ? suiClient(adapter) : void 0;
|
|
38
|
+
}, [connector, address]);
|
|
39
|
+
}
|
|
40
|
+
function useBitcoinClient() {
|
|
41
|
+
const {
|
|
42
|
+
connector,
|
|
43
|
+
address
|
|
44
|
+
} = useAccount();
|
|
45
|
+
return useMemo(() => {
|
|
46
|
+
const adapter = connectorAdapter(connector, "bitcoin");
|
|
47
|
+
return adapter?.address ? bitcoinClient(adapter) : void 0;
|
|
48
|
+
}, [connector, address]);
|
|
49
|
+
}
|
|
50
|
+
export { useBitcoinClient, useEvmClient, useSuiClient };
|
|
51
|
+
//# sourceMappingURL=hooks.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useMemo","useAccount","usePublicClient","useWalletClient","isSyntheticChainId","bitcoinClient","connectorAdapter","evmClient","suiClient","useEvmClient","parameters","connector","chainId","connectedChainId","evm","data","walletClient","query","enabled","publicClient","chain","id","useSuiClient","address","adapter","useBitcoinClient"],"sources":["../../../src/clients/hooks.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAA,QAAe;AACxB,SAASC,UAAA,EAAYC,eAAA,EAAiBC,eAAA,QAAuB;AAC7D,SAASC,kBAAA,QAA0B;AACnC,SAASC,aAAA,QAAyC;AAClD,SAASC,gBAAA,QAAwB;AACjC,SAASC,SAAA,QAAuD;AAChE,SAASC,SAAA,QAAiC;AAQnC,SAASC,aAAaC,UAAA,GAAmC,CAAC,GAA0B;EACzF,MAAM;IAAEC,SAAA;IAAWC,OAAA,EAASC;EAAiB,IAAIZ,UAAA,CAAW;EAC5D,MAAMa,GAAA,GAAM,CAAC,CAACH,SAAA,IAAa,CAACL,gBAAA,CAAiBK,SAAS,KAAK,CAACP,kBAAA,CAAmBS,gBAAgB;EAC/F,MAAM;IAAEE,IAAA,EAAMC;EAAa,IAAIb,eAAA,CAAgB;IAC7CS,OAAA,EAASF,UAAA,CAAWE,OAAA;IACpBK,KAAA,EAAO;MAAEC,OAAA,EAASJ;IAAI;EACxB,CAAC;EACD,MAAMK,YAAA,GAAejB,eAAA,CAAgB;IAAEU,OAAA,EAASI,YAAA,EAAcI,KAAA,CAAMC,EAAA,IAAMX,UAAA,CAAWE;EAAQ,CAAC;EAC9F,OAAOZ,OAAA,CACL,MACEc,GAAA,IAAOE,YAAA,IAAgBG,YAAA,GACnBZ,SAAA,CAAU;IACRS,YAAA;IACAG;EACF,CAAC,IACD,QACN,CAACL,GAAA,EAAKE,YAAA,EAAcG,YAAY,CAClC;AACF;AAGO,SAASG,aAAA,EAAsC;EACpD,MAAM;IAAEX,SAAA;IAAWY;EAAQ,IAAItB,UAAA,CAAW;EAC1C,OAAOD,OAAA,CAAQ,MAAM;IACnB,MAAMwB,OAAA,GAAUlB,gBAAA,CAAiBK,SAAA,EAAW,KAAK;IACjD,OAAOa,OAAA,EAASD,OAAA,GAAUf,SAAA,CAAUgB,OAAO,IAAI;EACjD,GAAG,CAACb,SAAA,EAAWY,OAAO,CAAC;AACzB;AAGO,SAASE,iBAAA,EAA8C;EAC5D,MAAM;IAAEd,SAAA;IAAWY;EAAQ,IAAItB,UAAA,CAAW;EAC1C,OAAOD,OAAA,CAAQ,MAAM;IACnB,MAAMwB,OAAA,GAAUlB,gBAAA,CAAiBK,SAAA,EAAW,SAAS;IACrD,OAAOa,OAAA,EAASD,OAAA,GAAUlB,aAAA,CAAcmB,OAAO,IAAI;EACrD,GAAG,CAACb,SAAA,EAAWY,OAAO,CAAC;AACzB","ignoreList":[]}
|