@matchain/matchid-sdk-react 0.1.53-alpha.19 → 0.1.53-alpha.20
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/dist/{chunk-Z7L7RRWB.mjs → chunk-CLMSEFOV.mjs} +692 -184
- package/dist/chunk-CLMSEFOV.mjs.map +1 -0
- package/dist/components/index.js +629 -121
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +1 -1
- package/dist/hooks/api/index.js +52 -36
- package/dist/hooks/api/index.js.map +1 -1
- package/dist/hooks/api/index.mjs +1 -1
- package/dist/hooks/index.js +120 -104
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +1 -1
- package/dist/index.js +725 -217
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +1 -1
- package/dist/chunk-Z7L7RRWB.mjs.map +0 -1
package/dist/components/index.js
CHANGED
|
@@ -4372,34 +4372,8 @@ function UsernameModal({
|
|
|
4372
4372
|
}
|
|
4373
4373
|
|
|
4374
4374
|
// src/components/EVMModal/index.tsx
|
|
4375
|
+
var import_react31 = require("react");
|
|
4375
4376
|
var import_react_intl14 = require("react-intl");
|
|
4376
|
-
var import_styles = require("@rainbow-me/rainbowkit/styles.css");
|
|
4377
|
-
var import_jsx_runtime87 = require("react/jsx-runtime");
|
|
4378
|
-
function WalletContent({
|
|
4379
|
-
onSuccess,
|
|
4380
|
-
type
|
|
4381
|
-
}) {
|
|
4382
|
-
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_jsx_runtime87.Fragment, {});
|
|
4383
|
-
}
|
|
4384
|
-
function EVMConnectModal({
|
|
4385
|
-
type = "login",
|
|
4386
|
-
onSuccess,
|
|
4387
|
-
...props
|
|
4388
|
-
}) {
|
|
4389
|
-
const intl = (0, import_react_intl14.useIntl)();
|
|
4390
|
-
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
4391
|
-
id: type == "bind" ? "bindWith" : "loginWith"
|
|
4392
|
-
}, {
|
|
4393
|
-
name: "EVM"
|
|
4394
|
-
}), children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(WalletContent, { onSuccess, type }) });
|
|
4395
|
-
}
|
|
4396
|
-
function EVMModal(props) {
|
|
4397
|
-
return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(EVMConnectModal, { ...props });
|
|
4398
|
-
}
|
|
4399
|
-
|
|
4400
|
-
// src/components/TRONModal/index.tsx
|
|
4401
|
-
var import_react31 = __toESM(require("react"));
|
|
4402
|
-
var import_react_intl15 = require("react-intl");
|
|
4403
4377
|
|
|
4404
4378
|
// src/components/WalletModalContent/index.tsx
|
|
4405
4379
|
var import_react29 = require("react");
|
|
@@ -4412,7 +4386,7 @@ var walletConnectImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEA
|
|
|
4412
4386
|
var walletSigningImage = "data:image/png;base64,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";
|
|
4413
4387
|
|
|
4414
4388
|
// src/components/WalletModalContent/index.tsx
|
|
4415
|
-
var
|
|
4389
|
+
var import_jsx_runtime87 = require("react/jsx-runtime");
|
|
4416
4390
|
function WalletModalContent({
|
|
4417
4391
|
status,
|
|
4418
4392
|
error,
|
|
@@ -4482,12 +4456,93 @@ function WalletModalContent({
|
|
|
4482
4456
|
statusImage: walletConnectImage
|
|
4483
4457
|
};
|
|
4484
4458
|
}, [visible, connected, status, error, address]);
|
|
4485
|
-
return /* @__PURE__ */ (0,
|
|
4486
|
-
/* @__PURE__ */ (0,
|
|
4487
|
-
/* @__PURE__ */ (0,
|
|
4488
|
-
/* @__PURE__ */ (0,
|
|
4459
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: `matchid-wallet-box`, children: [
|
|
4460
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: `matchid-wallet-content`, children: [
|
|
4461
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)("img", { src: pageData.statusImage }),
|
|
4462
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: pageData.isError ? "matchid-error" : "", children: pageData.text })
|
|
4463
|
+
] }),
|
|
4464
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
4465
|
+
Button,
|
|
4466
|
+
{
|
|
4467
|
+
block: true,
|
|
4468
|
+
size: "lg",
|
|
4469
|
+
onClick: pageData.btnClick,
|
|
4470
|
+
loading: pageData.btnLoading,
|
|
4471
|
+
disabled: pageData.btnDisabled,
|
|
4472
|
+
children: pageData.btnText
|
|
4473
|
+
}
|
|
4474
|
+
)
|
|
4475
|
+
] }) });
|
|
4476
|
+
}
|
|
4477
|
+
function WalletModalContentV2(props) {
|
|
4478
|
+
const [submitting, setSubmitting] = (0, import_react29.useState)(false);
|
|
4479
|
+
const pageData = (0, import_react29.useMemo)(() => {
|
|
4480
|
+
const { status } = props;
|
|
4481
|
+
if (status == "success") {
|
|
4482
|
+
return {
|
|
4483
|
+
btnText: "Disconnect Wallet",
|
|
4484
|
+
btnClick: async () => {
|
|
4485
|
+
setSubmitting(true);
|
|
4486
|
+
await props.onDisconnect?.();
|
|
4487
|
+
setSubmitting(false);
|
|
4488
|
+
},
|
|
4489
|
+
text: "Wallet connection successful!",
|
|
4490
|
+
statusImage: walletConnectedImage,
|
|
4491
|
+
btnLoading: submitting
|
|
4492
|
+
};
|
|
4493
|
+
}
|
|
4494
|
+
if (status == "error") {
|
|
4495
|
+
return {
|
|
4496
|
+
text: props.error || "Unknown Error",
|
|
4497
|
+
btnText: "Reconnect Wallet",
|
|
4498
|
+
btnClick: async () => {
|
|
4499
|
+
setSubmitting(true);
|
|
4500
|
+
await props.onError?.();
|
|
4501
|
+
setSubmitting(false);
|
|
4502
|
+
},
|
|
4503
|
+
statusImage: walletErrorImage,
|
|
4504
|
+
isError: true,
|
|
4505
|
+
btnLoading: submitting
|
|
4506
|
+
};
|
|
4507
|
+
}
|
|
4508
|
+
if (status == "nonce") {
|
|
4509
|
+
return {
|
|
4510
|
+
btnLoading: true,
|
|
4511
|
+
text: "Connecting",
|
|
4512
|
+
statusImage: walletConnectingImage
|
|
4513
|
+
};
|
|
4514
|
+
}
|
|
4515
|
+
if (status == "signer") {
|
|
4516
|
+
return {
|
|
4517
|
+
btnLoading: true,
|
|
4518
|
+
text: "Signing",
|
|
4519
|
+
statusImage: walletSigningImage
|
|
4520
|
+
};
|
|
4521
|
+
}
|
|
4522
|
+
if (status == "connecting") {
|
|
4523
|
+
return {
|
|
4524
|
+
btnLoading: true,
|
|
4525
|
+
text: "Connecting",
|
|
4526
|
+
statusImage: walletConnectingImage
|
|
4527
|
+
};
|
|
4528
|
+
}
|
|
4529
|
+
return {
|
|
4530
|
+
btnText: "Connect Wallet",
|
|
4531
|
+
btnClick: async () => {
|
|
4532
|
+
setSubmitting(true);
|
|
4533
|
+
await props.onConnect?.();
|
|
4534
|
+
setSubmitting(false);
|
|
4535
|
+
},
|
|
4536
|
+
text: "Please Connect your wallet",
|
|
4537
|
+
statusImage: walletConnectImage
|
|
4538
|
+
};
|
|
4539
|
+
}, [props, submitting]);
|
|
4540
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: "matchid-wallet-container", children: /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: `matchid-wallet-box`, children: [
|
|
4541
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: `matchid-wallet-content`, children: [
|
|
4542
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)("img", { src: pageData.statusImage }),
|
|
4543
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)("div", { className: props.status == "error" ? "matchid-error" : "", children: pageData.text })
|
|
4489
4544
|
] }),
|
|
4490
|
-
/* @__PURE__ */ (0,
|
|
4545
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
4491
4546
|
Button,
|
|
4492
4547
|
{
|
|
4493
4548
|
block: true,
|
|
@@ -4501,6 +4556,459 @@ function WalletModalContent({
|
|
|
4501
4556
|
] }) });
|
|
4502
4557
|
}
|
|
4503
4558
|
|
|
4559
|
+
// src/components/EVMModal/index.tsx
|
|
4560
|
+
var import_rainbowkit2 = require("@rainbow-me/rainbowkit");
|
|
4561
|
+
var import_wagmi3 = require("wagmi");
|
|
4562
|
+
|
|
4563
|
+
// src/hooks/useWalletBox.ts
|
|
4564
|
+
var import_react30 = require("react");
|
|
4565
|
+
function useWalletBox({
|
|
4566
|
+
onInit
|
|
4567
|
+
}) {
|
|
4568
|
+
const [status, setStateStatus] = (0, import_react30.useState)("start");
|
|
4569
|
+
const [error, setError] = (0, import_react30.useState)("");
|
|
4570
|
+
const statusRef = (0, import_react30.useRef)(status);
|
|
4571
|
+
const [nonce, setNonce] = (0, import_react30.useState)();
|
|
4572
|
+
const setStatus = (status2) => {
|
|
4573
|
+
statusRef.current = status2;
|
|
4574
|
+
setStateStatus(status2);
|
|
4575
|
+
};
|
|
4576
|
+
const init = () => {
|
|
4577
|
+
setError("");
|
|
4578
|
+
setNonce(null);
|
|
4579
|
+
};
|
|
4580
|
+
(0, import_react30.useEffect)(() => {
|
|
4581
|
+
init();
|
|
4582
|
+
onInit({
|
|
4583
|
+
setStatus
|
|
4584
|
+
});
|
|
4585
|
+
return () => {
|
|
4586
|
+
setStatus("start");
|
|
4587
|
+
setNonce(null);
|
|
4588
|
+
setError("");
|
|
4589
|
+
};
|
|
4590
|
+
}, []);
|
|
4591
|
+
return {
|
|
4592
|
+
status,
|
|
4593
|
+
statusRef,
|
|
4594
|
+
setStatus,
|
|
4595
|
+
error,
|
|
4596
|
+
setError,
|
|
4597
|
+
nonce,
|
|
4598
|
+
setNonce,
|
|
4599
|
+
init
|
|
4600
|
+
};
|
|
4601
|
+
}
|
|
4602
|
+
|
|
4603
|
+
// src/hooks/useEthersSigner.ts
|
|
4604
|
+
var React8 = __toESM(require("react"));
|
|
4605
|
+
var import_wagmi2 = require("wagmi");
|
|
4606
|
+
var import_ethers = require("ethers");
|
|
4607
|
+
|
|
4608
|
+
// node_modules/@wagmi/core/dist/esm/version.js
|
|
4609
|
+
var version = "2.16.3";
|
|
4610
|
+
|
|
4611
|
+
// node_modules/@wagmi/core/dist/esm/utils/getVersion.js
|
|
4612
|
+
var getVersion2 = () => `@wagmi/core@${version}`;
|
|
4613
|
+
|
|
4614
|
+
// node_modules/@wagmi/core/dist/esm/errors/base.js
|
|
4615
|
+
var __classPrivateFieldGet = function(receiver, state, kind, f) {
|
|
4616
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4617
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4618
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
4619
|
+
};
|
|
4620
|
+
var _BaseError_instances;
|
|
4621
|
+
var _BaseError_walk;
|
|
4622
|
+
var BaseError = class _BaseError extends Error {
|
|
4623
|
+
get docsBaseUrl() {
|
|
4624
|
+
return "https://wagmi.sh/core";
|
|
4625
|
+
}
|
|
4626
|
+
get version() {
|
|
4627
|
+
return getVersion2();
|
|
4628
|
+
}
|
|
4629
|
+
constructor(shortMessage, options = {}) {
|
|
4630
|
+
super();
|
|
4631
|
+
_BaseError_instances.add(this);
|
|
4632
|
+
Object.defineProperty(this, "details", {
|
|
4633
|
+
enumerable: true,
|
|
4634
|
+
configurable: true,
|
|
4635
|
+
writable: true,
|
|
4636
|
+
value: void 0
|
|
4637
|
+
});
|
|
4638
|
+
Object.defineProperty(this, "docsPath", {
|
|
4639
|
+
enumerable: true,
|
|
4640
|
+
configurable: true,
|
|
4641
|
+
writable: true,
|
|
4642
|
+
value: void 0
|
|
4643
|
+
});
|
|
4644
|
+
Object.defineProperty(this, "metaMessages", {
|
|
4645
|
+
enumerable: true,
|
|
4646
|
+
configurable: true,
|
|
4647
|
+
writable: true,
|
|
4648
|
+
value: void 0
|
|
4649
|
+
});
|
|
4650
|
+
Object.defineProperty(this, "shortMessage", {
|
|
4651
|
+
enumerable: true,
|
|
4652
|
+
configurable: true,
|
|
4653
|
+
writable: true,
|
|
4654
|
+
value: void 0
|
|
4655
|
+
});
|
|
4656
|
+
Object.defineProperty(this, "name", {
|
|
4657
|
+
enumerable: true,
|
|
4658
|
+
configurable: true,
|
|
4659
|
+
writable: true,
|
|
4660
|
+
value: "WagmiCoreError"
|
|
4661
|
+
});
|
|
4662
|
+
const details = options.cause instanceof _BaseError ? options.cause.details : options.cause?.message ? options.cause.message : options.details;
|
|
4663
|
+
const docsPath = options.cause instanceof _BaseError ? options.cause.docsPath || options.docsPath : options.docsPath;
|
|
4664
|
+
this.message = [
|
|
4665
|
+
shortMessage || "An error occurred.",
|
|
4666
|
+
"",
|
|
4667
|
+
...options.metaMessages ? [...options.metaMessages, ""] : [],
|
|
4668
|
+
...docsPath ? [
|
|
4669
|
+
`Docs: ${this.docsBaseUrl}${docsPath}.html${options.docsSlug ? `#${options.docsSlug}` : ""}`
|
|
4670
|
+
] : [],
|
|
4671
|
+
...details ? [`Details: ${details}`] : [],
|
|
4672
|
+
`Version: ${this.version}`
|
|
4673
|
+
].join("\n");
|
|
4674
|
+
if (options.cause)
|
|
4675
|
+
this.cause = options.cause;
|
|
4676
|
+
this.details = details;
|
|
4677
|
+
this.docsPath = docsPath;
|
|
4678
|
+
this.metaMessages = options.metaMessages;
|
|
4679
|
+
this.shortMessage = shortMessage;
|
|
4680
|
+
}
|
|
4681
|
+
walk(fn) {
|
|
4682
|
+
return __classPrivateFieldGet(this, _BaseError_instances, "m", _BaseError_walk).call(this, this, fn);
|
|
4683
|
+
}
|
|
4684
|
+
};
|
|
4685
|
+
_BaseError_instances = /* @__PURE__ */ new WeakSet(), _BaseError_walk = function _BaseError_walk2(err, fn) {
|
|
4686
|
+
if (fn?.(err))
|
|
4687
|
+
return err;
|
|
4688
|
+
if (err.cause)
|
|
4689
|
+
return __classPrivateFieldGet(this, _BaseError_instances, "m", _BaseError_walk2).call(this, err.cause, fn);
|
|
4690
|
+
return err;
|
|
4691
|
+
};
|
|
4692
|
+
|
|
4693
|
+
// node_modules/@wagmi/core/dist/esm/errors/config.js
|
|
4694
|
+
var ConnectorNotConnectedError = class extends BaseError {
|
|
4695
|
+
constructor() {
|
|
4696
|
+
super("Connector not connected.");
|
|
4697
|
+
Object.defineProperty(this, "name", {
|
|
4698
|
+
enumerable: true,
|
|
4699
|
+
configurable: true,
|
|
4700
|
+
writable: true,
|
|
4701
|
+
value: "ConnectorNotConnectedError"
|
|
4702
|
+
});
|
|
4703
|
+
}
|
|
4704
|
+
};
|
|
4705
|
+
var ConnectorAccountNotFoundError = class extends BaseError {
|
|
4706
|
+
constructor({ address, connector }) {
|
|
4707
|
+
super(`Account "${address}" not found for connector "${connector.name}".`);
|
|
4708
|
+
Object.defineProperty(this, "name", {
|
|
4709
|
+
enumerable: true,
|
|
4710
|
+
configurable: true,
|
|
4711
|
+
writable: true,
|
|
4712
|
+
value: "ConnectorAccountNotFoundError"
|
|
4713
|
+
});
|
|
4714
|
+
}
|
|
4715
|
+
};
|
|
4716
|
+
var ConnectorChainMismatchError = class extends BaseError {
|
|
4717
|
+
constructor({ connectionChainId, connectorChainId }) {
|
|
4718
|
+
super(`The current chain of the connector (id: ${connectorChainId}) does not match the connection's chain (id: ${connectionChainId}).`, {
|
|
4719
|
+
metaMessages: [
|
|
4720
|
+
`Current Chain ID: ${connectorChainId}`,
|
|
4721
|
+
`Expected Chain ID: ${connectionChainId}`
|
|
4722
|
+
]
|
|
4723
|
+
});
|
|
4724
|
+
Object.defineProperty(this, "name", {
|
|
4725
|
+
enumerable: true,
|
|
4726
|
+
configurable: true,
|
|
4727
|
+
writable: true,
|
|
4728
|
+
value: "ConnectorChainMismatchError"
|
|
4729
|
+
});
|
|
4730
|
+
}
|
|
4731
|
+
};
|
|
4732
|
+
var ConnectorUnavailableReconnectingError = class extends BaseError {
|
|
4733
|
+
constructor({ connector }) {
|
|
4734
|
+
super(`Connector "${connector.name}" unavailable while reconnecting.`, {
|
|
4735
|
+
details: [
|
|
4736
|
+
"During the reconnection step, the only connector methods guaranteed to be available are: `id`, `name`, `type`, `uid`.",
|
|
4737
|
+
"All other methods are not guaranteed to be available until reconnection completes and connectors are fully restored.",
|
|
4738
|
+
"This error commonly occurs for connectors that asynchronously inject after reconnection has already started."
|
|
4739
|
+
].join(" ")
|
|
4740
|
+
});
|
|
4741
|
+
Object.defineProperty(this, "name", {
|
|
4742
|
+
enumerable: true,
|
|
4743
|
+
configurable: true,
|
|
4744
|
+
writable: true,
|
|
4745
|
+
value: "ConnectorUnavailableReconnectingError"
|
|
4746
|
+
});
|
|
4747
|
+
}
|
|
4748
|
+
};
|
|
4749
|
+
|
|
4750
|
+
// node_modules/@wagmi/core/dist/esm/actions/getConnectorClient.js
|
|
4751
|
+
var import_viem13 = require("viem");
|
|
4752
|
+
var import_utils9 = require("viem/utils");
|
|
4753
|
+
async function getConnectorClient(config, parameters = {}) {
|
|
4754
|
+
let connection;
|
|
4755
|
+
if (parameters.connector) {
|
|
4756
|
+
const { connector: connector2 } = parameters;
|
|
4757
|
+
if (config.state.status === "reconnecting" && !connector2.getAccounts && !connector2.getChainId)
|
|
4758
|
+
throw new ConnectorUnavailableReconnectingError({ connector: connector2 });
|
|
4759
|
+
const [accounts, chainId2] = await Promise.all([
|
|
4760
|
+
connector2.getAccounts(),
|
|
4761
|
+
connector2.getChainId()
|
|
4762
|
+
]);
|
|
4763
|
+
connection = {
|
|
4764
|
+
accounts,
|
|
4765
|
+
chainId: chainId2,
|
|
4766
|
+
connector: connector2
|
|
4767
|
+
};
|
|
4768
|
+
} else
|
|
4769
|
+
connection = config.state.connections.get(config.state.current);
|
|
4770
|
+
if (!connection)
|
|
4771
|
+
throw new ConnectorNotConnectedError();
|
|
4772
|
+
const chainId = parameters.chainId ?? connection.chainId;
|
|
4773
|
+
const connectorChainId = await connection.connector.getChainId();
|
|
4774
|
+
if (connectorChainId !== connection.chainId)
|
|
4775
|
+
throw new ConnectorChainMismatchError({
|
|
4776
|
+
connectionChainId: connection.chainId,
|
|
4777
|
+
connectorChainId
|
|
4778
|
+
});
|
|
4779
|
+
const connector = connection.connector;
|
|
4780
|
+
if (connector.getClient)
|
|
4781
|
+
return connector.getClient({ chainId });
|
|
4782
|
+
const account = (0, import_utils9.parseAccount)(parameters.account ?? connection.accounts[0]);
|
|
4783
|
+
account.address = (0, import_utils9.getAddress)(account.address);
|
|
4784
|
+
if (parameters.account && !connection.accounts.some((x) => x.toLowerCase() === account.address.toLowerCase()))
|
|
4785
|
+
throw new ConnectorAccountNotFoundError({
|
|
4786
|
+
address: account.address,
|
|
4787
|
+
connector
|
|
4788
|
+
});
|
|
4789
|
+
const chain = config.chains.find((chain2) => chain2.id === chainId);
|
|
4790
|
+
const provider = await connection.connector.getProvider({ chainId });
|
|
4791
|
+
return (0, import_viem13.createClient)({
|
|
4792
|
+
account,
|
|
4793
|
+
chain,
|
|
4794
|
+
name: "Connector Client",
|
|
4795
|
+
transport: (opts) => (0, import_viem13.custom)(provider)({ ...opts, retryCount: 0 })
|
|
4796
|
+
});
|
|
4797
|
+
}
|
|
4798
|
+
|
|
4799
|
+
// node_modules/@wagmi/core/dist/esm/exports/index.js
|
|
4800
|
+
var import_viem14 = require("viem");
|
|
4801
|
+
|
|
4802
|
+
// src/hooks/useEthersSigner.ts
|
|
4803
|
+
function clientToSigner(client) {
|
|
4804
|
+
const { account, chain, transport } = client;
|
|
4805
|
+
const network = {
|
|
4806
|
+
chainId: chain.id,
|
|
4807
|
+
name: chain.name,
|
|
4808
|
+
ensAddress: chain.contracts?.ensRegistry?.address
|
|
4809
|
+
};
|
|
4810
|
+
const provider = new import_ethers.providers.Web3Provider(transport, network);
|
|
4811
|
+
const signer = provider.getSigner(account.address);
|
|
4812
|
+
return signer;
|
|
4813
|
+
}
|
|
4814
|
+
async function getEthersSigner(config, { chainId } = {}) {
|
|
4815
|
+
const client = await getConnectorClient(config, { chainId });
|
|
4816
|
+
return clientToSigner(client);
|
|
4817
|
+
}
|
|
4818
|
+
|
|
4819
|
+
// src/components/EVMModal/index.tsx
|
|
4820
|
+
var import_siwe = require("siwe");
|
|
4821
|
+
var import_styles = require("@rainbow-me/rainbowkit/styles.css");
|
|
4822
|
+
var import_jsx_runtime88 = require("react/jsx-runtime");
|
|
4823
|
+
function WalletContent({
|
|
4824
|
+
onSuccess,
|
|
4825
|
+
type
|
|
4826
|
+
}) {
|
|
4827
|
+
const config = (0, import_wagmi3.useConfig)();
|
|
4828
|
+
const { openConnectModal, connectModalOpen } = (0, import_rainbowkit2.useConnectModal)();
|
|
4829
|
+
const { address, connector, isConnected } = (0, import_wagmi3.useAccount)();
|
|
4830
|
+
const { disconnectAsync } = (0, import_wagmi3.useDisconnect)({ config });
|
|
4831
|
+
const chainId = (0, import_wagmi3.useChainId)();
|
|
4832
|
+
const { events, login } = useMatch();
|
|
4833
|
+
const [inited, setInited] = (0, import_react31.useState)(false);
|
|
4834
|
+
const { status, setStatus, error, setError, statusRef, nonce, setNonce, init } = useWalletBox({
|
|
4835
|
+
onInit: async ({ setStatus: setStatus2 }) => {
|
|
4836
|
+
setStatus2("start");
|
|
4837
|
+
}
|
|
4838
|
+
});
|
|
4839
|
+
(0, import_react31.useEffect)(() => {
|
|
4840
|
+
matchlog_default.log(`status=${status}`, `connectModalOpen=${connectModalOpen}`, `address=${address}`, `isConnected=${isConnected}`);
|
|
4841
|
+
}, [status, connectModalOpen, isConnected, address]);
|
|
4842
|
+
(0, import_react31.useEffect)(() => {
|
|
4843
|
+
if (connectModalOpen) {
|
|
4844
|
+
setStatus("connecting");
|
|
4845
|
+
return;
|
|
4846
|
+
}
|
|
4847
|
+
if (!connectModalOpen && address) {
|
|
4848
|
+
toLoginInWallet(address);
|
|
4849
|
+
return;
|
|
4850
|
+
}
|
|
4851
|
+
if (!connectModalOpen && !address) {
|
|
4852
|
+
setStatus("start");
|
|
4853
|
+
}
|
|
4854
|
+
}, [connectModalOpen, address]);
|
|
4855
|
+
(0, import_react31.useEffect)(() => {
|
|
4856
|
+
if (openConnectModal && !isConnected && !inited) {
|
|
4857
|
+
openConnectModal && openConnectModal();
|
|
4858
|
+
setInited(true);
|
|
4859
|
+
}
|
|
4860
|
+
}, [openConnectModal, inited]);
|
|
4861
|
+
const toLoginInWallet = async (address2) => {
|
|
4862
|
+
if (statusRef.current != "start" && statusRef.current != "connecting") return;
|
|
4863
|
+
try {
|
|
4864
|
+
if (!address2) {
|
|
4865
|
+
throw new Error("Wallet address is empty");
|
|
4866
|
+
}
|
|
4867
|
+
setStatus("nonce");
|
|
4868
|
+
const res = type == "bind" ? await getWalletInitApi({
|
|
4869
|
+
address: address2,
|
|
4870
|
+
type: "EVM"
|
|
4871
|
+
}) : await getWalletNonceApi({ address: address2, type: "EVM" });
|
|
4872
|
+
if (!isSuccess(res)) {
|
|
4873
|
+
throw new Error(res.message);
|
|
4874
|
+
}
|
|
4875
|
+
setNonce(res.data.nonce);
|
|
4876
|
+
} catch (error2) {
|
|
4877
|
+
console.error("toLoginInWallet", error2);
|
|
4878
|
+
setStatus("error");
|
|
4879
|
+
setError(error2.message);
|
|
4880
|
+
}
|
|
4881
|
+
};
|
|
4882
|
+
const signature = (0, import_react31.useCallback)(async () => {
|
|
4883
|
+
if (!nonce || status != "nonce") {
|
|
4884
|
+
return;
|
|
4885
|
+
}
|
|
4886
|
+
try {
|
|
4887
|
+
const signer = await getEthersSigner(config);
|
|
4888
|
+
if (!signer) return;
|
|
4889
|
+
matchlog_default.log("signature", nonce, status);
|
|
4890
|
+
if (!address) {
|
|
4891
|
+
throw new Error("Wallet address is empty");
|
|
4892
|
+
}
|
|
4893
|
+
setStatus("signer");
|
|
4894
|
+
const params = {
|
|
4895
|
+
domain: window.location.host,
|
|
4896
|
+
address,
|
|
4897
|
+
statement: "By signing, you are proving you own this wallet and logging in. This does not initiate a transaction or cost any fees.",
|
|
4898
|
+
uri: window.location.origin,
|
|
4899
|
+
nonce,
|
|
4900
|
+
version: "1",
|
|
4901
|
+
chainId
|
|
4902
|
+
};
|
|
4903
|
+
const message = new import_siwe.SiweMessage({ ...params });
|
|
4904
|
+
const signature2 = await signer.signMessage(message.prepareMessage());
|
|
4905
|
+
const obj = {
|
|
4906
|
+
type: "EVM",
|
|
4907
|
+
address,
|
|
4908
|
+
signature: signature2,
|
|
4909
|
+
message: `${message.prepareMessage()}`,
|
|
4910
|
+
connector_type: connector?.type || "",
|
|
4911
|
+
wallet_client_type: connector?.name || ""
|
|
4912
|
+
};
|
|
4913
|
+
const res = type == "bind" ? await toBindWalletApi(obj) : await loginByWalletApi(obj);
|
|
4914
|
+
if (!isSuccess(res)) {
|
|
4915
|
+
throw new Error(res.message);
|
|
4916
|
+
}
|
|
4917
|
+
matchlog_default.log(res);
|
|
4918
|
+
setStatus("success");
|
|
4919
|
+
if (type == "bind") {
|
|
4920
|
+
events.onBind && events.onBind({
|
|
4921
|
+
type: "evm"
|
|
4922
|
+
});
|
|
4923
|
+
eventManager_default.emit("onBind", {
|
|
4924
|
+
type: "evm"
|
|
4925
|
+
});
|
|
4926
|
+
} else {
|
|
4927
|
+
await login({
|
|
4928
|
+
token: `${res.data.token_type} ${res.data.access_token}`
|
|
4929
|
+
});
|
|
4930
|
+
}
|
|
4931
|
+
onSuccess && onSuccess();
|
|
4932
|
+
} catch (error2) {
|
|
4933
|
+
console.error("signature", error2);
|
|
4934
|
+
setStatus("error");
|
|
4935
|
+
setError(error2.reason || error2.message);
|
|
4936
|
+
}
|
|
4937
|
+
}, [nonce, status, address]);
|
|
4938
|
+
(0, import_react31.useEffect)(() => {
|
|
4939
|
+
if (signature) {
|
|
4940
|
+
signature();
|
|
4941
|
+
}
|
|
4942
|
+
}, [signature]);
|
|
4943
|
+
const onError = async () => {
|
|
4944
|
+
if (isConnected) {
|
|
4945
|
+
try {
|
|
4946
|
+
await disconnectAsync();
|
|
4947
|
+
} catch (error2) {
|
|
4948
|
+
console.error("disconnectAsync", error2);
|
|
4949
|
+
}
|
|
4950
|
+
}
|
|
4951
|
+
setError("");
|
|
4952
|
+
setNonce(void 0);
|
|
4953
|
+
setStatus("start");
|
|
4954
|
+
openConnectModal?.();
|
|
4955
|
+
};
|
|
4956
|
+
const onConnect = async () => {
|
|
4957
|
+
if (isConnected) {
|
|
4958
|
+
try {
|
|
4959
|
+
await disconnectAsync();
|
|
4960
|
+
} catch (error2) {
|
|
4961
|
+
console.error("disconnectAsync", error2);
|
|
4962
|
+
}
|
|
4963
|
+
}
|
|
4964
|
+
setError("");
|
|
4965
|
+
setNonce(void 0);
|
|
4966
|
+
openConnectModal?.();
|
|
4967
|
+
};
|
|
4968
|
+
const onDisconnect = async () => {
|
|
4969
|
+
if (isConnected) {
|
|
4970
|
+
try {
|
|
4971
|
+
await disconnectAsync();
|
|
4972
|
+
} catch (error2) {
|
|
4973
|
+
console.error("disconnectAsync", error2);
|
|
4974
|
+
}
|
|
4975
|
+
}
|
|
4976
|
+
setError("");
|
|
4977
|
+
setNonce(void 0);
|
|
4978
|
+
setStatus("start");
|
|
4979
|
+
};
|
|
4980
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
|
|
4981
|
+
WalletModalContentV2,
|
|
4982
|
+
{
|
|
4983
|
+
status,
|
|
4984
|
+
onSuccess: async () => onSuccess?.(),
|
|
4985
|
+
error,
|
|
4986
|
+
onError,
|
|
4987
|
+
onConnect,
|
|
4988
|
+
onDisconnect
|
|
4989
|
+
}
|
|
4990
|
+
);
|
|
4991
|
+
}
|
|
4992
|
+
function EVMConnectModal({
|
|
4993
|
+
type = "login",
|
|
4994
|
+
onSuccess,
|
|
4995
|
+
...props
|
|
4996
|
+
}) {
|
|
4997
|
+
const intl = (0, import_react_intl14.useIntl)();
|
|
4998
|
+
return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(ModalWithHeader, { ...props, title: props.title || intl.formatMessage({
|
|
4999
|
+
id: type == "bind" ? "bindWith" : "loginWith"
|
|
5000
|
+
}, {
|
|
5001
|
+
name: "EVM"
|
|
5002
|
+
}), children: /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(WalletContent, { onSuccess, type }) });
|
|
5003
|
+
}
|
|
5004
|
+
function EVMModal(props) {
|
|
5005
|
+
return props.isOpen && /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(EVMConnectModal, { ...props });
|
|
5006
|
+
}
|
|
5007
|
+
|
|
5008
|
+
// src/components/TRONModal/index.tsx
|
|
5009
|
+
var import_react33 = __toESM(require("react"));
|
|
5010
|
+
var import_react_intl15 = require("react-intl");
|
|
5011
|
+
|
|
4504
5012
|
// src/lib/tron/TronLinkAdapter.ts
|
|
4505
5013
|
var TronLinkAdapter = class {
|
|
4506
5014
|
constructor() {
|
|
@@ -4532,7 +5040,7 @@ var TronLinkAdapter = class {
|
|
|
4532
5040
|
};
|
|
4533
5041
|
|
|
4534
5042
|
// src/hooks/useTRONWallet.ts
|
|
4535
|
-
var
|
|
5043
|
+
var import_react32 = require("react");
|
|
4536
5044
|
|
|
4537
5045
|
// src/lib/tron/BitgetAdapter.ts
|
|
4538
5046
|
var BitgetAdapter = class {
|
|
@@ -4577,9 +5085,9 @@ var OKXAdapter = class {
|
|
|
4577
5085
|
// src/hooks/useTRONWallet.ts
|
|
4578
5086
|
var useTRONWallet = () => {
|
|
4579
5087
|
const wallets = [new TronLinkAdapter(), new BitgetAdapter(), new OKXAdapter()];
|
|
4580
|
-
const [installedWallets, setInstalledWallets] = (0,
|
|
4581
|
-
const [address, setAddress] = (0,
|
|
4582
|
-
(0,
|
|
5088
|
+
const [installedWallets, setInstalledWallets] = (0, import_react32.useState)([]);
|
|
5089
|
+
const [address, setAddress] = (0, import_react32.useState)(null);
|
|
5090
|
+
(0, import_react32.useEffect)(() => {
|
|
4583
5091
|
const getInstalled = async () => {
|
|
4584
5092
|
const installed = await Promise.all(wallets.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
|
|
4585
5093
|
wallet: wallet2,
|
|
@@ -4589,11 +5097,11 @@ var useTRONWallet = () => {
|
|
|
4589
5097
|
};
|
|
4590
5098
|
getInstalled();
|
|
4591
5099
|
}, []);
|
|
4592
|
-
const [wallet, chooseWallet] = (0,
|
|
5100
|
+
const [wallet, chooseWallet] = (0, import_react32.useState)(null);
|
|
4593
5101
|
const onConnect = async () => {
|
|
4594
5102
|
setAddress(await wallet.connect());
|
|
4595
5103
|
};
|
|
4596
|
-
(0,
|
|
5104
|
+
(0, import_react32.useEffect)(() => {
|
|
4597
5105
|
if (!wallet) {
|
|
4598
5106
|
setAddress(null);
|
|
4599
5107
|
}
|
|
@@ -4624,10 +5132,10 @@ function TRONConnectModal({
|
|
|
4624
5132
|
okx: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(OKXIcon, { size: isDownMd ? 36 : 40 })
|
|
4625
5133
|
};
|
|
4626
5134
|
const { events, login } = useMatch();
|
|
4627
|
-
const [status, setStatus] = (0,
|
|
4628
|
-
const statusRef =
|
|
4629
|
-
const [error, setError] = (0,
|
|
4630
|
-
const connected = (0,
|
|
5135
|
+
const [status, setStatus] = (0, import_react33.useState)("");
|
|
5136
|
+
const statusRef = import_react33.default.useRef(status);
|
|
5137
|
+
const [error, setError] = (0, import_react33.useState)("");
|
|
5138
|
+
const connected = (0, import_react33.useMemo)(() => {
|
|
4631
5139
|
return !!address;
|
|
4632
5140
|
}, [address]);
|
|
4633
5141
|
const disconnect = async () => {
|
|
@@ -4695,7 +5203,7 @@ function TRONConnectModal({
|
|
|
4695
5203
|
statusRef.current = "";
|
|
4696
5204
|
}
|
|
4697
5205
|
};
|
|
4698
|
-
(0,
|
|
5206
|
+
(0, import_react33.useEffect)(() => {
|
|
4699
5207
|
if (wallet) {
|
|
4700
5208
|
console.log("onConnect");
|
|
4701
5209
|
onConnect();
|
|
@@ -4703,12 +5211,12 @@ function TRONConnectModal({
|
|
|
4703
5211
|
setStatus("");
|
|
4704
5212
|
}
|
|
4705
5213
|
}, [wallet]);
|
|
4706
|
-
(0,
|
|
5214
|
+
(0, import_react33.useEffect)(() => {
|
|
4707
5215
|
if (address) {
|
|
4708
5216
|
toLoginInWallet();
|
|
4709
5217
|
}
|
|
4710
5218
|
}, [address]);
|
|
4711
|
-
(0,
|
|
5219
|
+
(0, import_react33.useEffect)(() => {
|
|
4712
5220
|
if (!props.isOpen) {
|
|
4713
5221
|
disconnect();
|
|
4714
5222
|
}
|
|
@@ -4766,7 +5274,7 @@ function TRONModal(props) {
|
|
|
4766
5274
|
}
|
|
4767
5275
|
|
|
4768
5276
|
// src/components/TONModal/index.tsx
|
|
4769
|
-
var
|
|
5277
|
+
var import_react34 = __toESM(require("react"));
|
|
4770
5278
|
var import_react_intl16 = require("react-intl");
|
|
4771
5279
|
var import_ui_react = require("@tonconnect/ui-react");
|
|
4772
5280
|
var import_jsx_runtime90 = require("react/jsx-runtime");
|
|
@@ -4775,15 +5283,15 @@ function WalletContent2({
|
|
|
4775
5283
|
type
|
|
4776
5284
|
}) {
|
|
4777
5285
|
const { events, login } = useMatch();
|
|
4778
|
-
const [connected, setConnected] = (0,
|
|
5286
|
+
const [connected, setConnected] = (0, import_react34.useState)(false);
|
|
4779
5287
|
const wallet = (0, import_ui_react.useTonWallet)();
|
|
4780
5288
|
const userFriendlyAddress = (0, import_ui_react.useTonAddress)();
|
|
4781
5289
|
const [tonConnectUI] = (0, import_ui_react.useTonConnectUI)();
|
|
4782
5290
|
const { state, open, close } = (0, import_ui_react.useTonConnectModal)();
|
|
4783
|
-
const [status, setStatus] = (0,
|
|
4784
|
-
const statusRef =
|
|
4785
|
-
const [error, setError] = (0,
|
|
4786
|
-
(0,
|
|
5291
|
+
const [status, setStatus] = (0, import_react34.useState)("");
|
|
5292
|
+
const statusRef = import_react34.default.useRef(status);
|
|
5293
|
+
const [error, setError] = (0, import_react34.useState)("");
|
|
5294
|
+
(0, import_react34.useEffect)(() => {
|
|
4787
5295
|
const init = async () => {
|
|
4788
5296
|
if (tonConnectUI.connected) {
|
|
4789
5297
|
await tonConnectUI.disconnect();
|
|
@@ -4856,7 +5364,7 @@ function WalletContent2({
|
|
|
4856
5364
|
}
|
|
4857
5365
|
});
|
|
4858
5366
|
}, []);
|
|
4859
|
-
(0,
|
|
5367
|
+
(0, import_react34.useEffect)(() => {
|
|
4860
5368
|
if (wallet) {
|
|
4861
5369
|
setConnected(true);
|
|
4862
5370
|
console.log("Wallet connected:", wallet);
|
|
@@ -4867,7 +5375,7 @@ function WalletContent2({
|
|
|
4867
5375
|
setStatus("");
|
|
4868
5376
|
}
|
|
4869
5377
|
}, [wallet]);
|
|
4870
|
-
(0,
|
|
5378
|
+
(0, import_react34.useEffect)(() => {
|
|
4871
5379
|
console.log({
|
|
4872
5380
|
state,
|
|
4873
5381
|
wallet
|
|
@@ -4947,7 +5455,7 @@ function TONModal(props) {
|
|
|
4947
5455
|
}
|
|
4948
5456
|
|
|
4949
5457
|
// src/components/BTCModal/index.tsx
|
|
4950
|
-
var
|
|
5458
|
+
var import_react36 = __toESM(require("react"));
|
|
4951
5459
|
var import_react_intl17 = require("react-intl");
|
|
4952
5460
|
|
|
4953
5461
|
// src/lib/btc/UnisatAdapter.ts
|
|
@@ -5096,7 +5604,7 @@ var LeatherAdapter = class {
|
|
|
5096
5604
|
};
|
|
5097
5605
|
|
|
5098
5606
|
// src/hooks/useBTCWallet.ts
|
|
5099
|
-
var
|
|
5607
|
+
var import_react35 = require("react");
|
|
5100
5608
|
|
|
5101
5609
|
// src/lib/btc/PhantomAdapter.ts
|
|
5102
5610
|
var PhantomAdapter = class {
|
|
@@ -5134,9 +5642,9 @@ var PhantomAdapter = class {
|
|
|
5134
5642
|
// src/hooks/useBTCWallet.ts
|
|
5135
5643
|
var useBTCWallet = () => {
|
|
5136
5644
|
const wallets = [new UnisatAdapter(), new XverseAdapter(), new LeatherAdapter(), new PhantomAdapter()];
|
|
5137
|
-
const [installedWallets, setInstalledWallets] = (0,
|
|
5138
|
-
const [address, setAddress] = (0,
|
|
5139
|
-
(0,
|
|
5645
|
+
const [installedWallets, setInstalledWallets] = (0, import_react35.useState)([]);
|
|
5646
|
+
const [address, setAddress] = (0, import_react35.useState)(null);
|
|
5647
|
+
(0, import_react35.useEffect)(() => {
|
|
5140
5648
|
const getInstalled = async () => {
|
|
5141
5649
|
const installed = await Promise.all(wallets.map((wallet2) => wallet2.isInstalled().then((isInstalled) => ({
|
|
5142
5650
|
wallet: wallet2,
|
|
@@ -5146,11 +5654,11 @@ var useBTCWallet = () => {
|
|
|
5146
5654
|
};
|
|
5147
5655
|
getInstalled();
|
|
5148
5656
|
}, []);
|
|
5149
|
-
const [wallet, chooseWallet] = (0,
|
|
5657
|
+
const [wallet, chooseWallet] = (0, import_react35.useState)(null);
|
|
5150
5658
|
const onConnect = async () => {
|
|
5151
5659
|
setAddress(await wallet.connect());
|
|
5152
5660
|
};
|
|
5153
|
-
(0,
|
|
5661
|
+
(0, import_react35.useEffect)(() => {
|
|
5154
5662
|
if (!wallet) {
|
|
5155
5663
|
setAddress(null);
|
|
5156
5664
|
}
|
|
@@ -5182,10 +5690,10 @@ function BTCConnectModal({
|
|
|
5182
5690
|
phantom: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(PhantomIcon, { size: isDownMd ? 36 : 40 })
|
|
5183
5691
|
};
|
|
5184
5692
|
const { events, login } = useMatch();
|
|
5185
|
-
const [status, setStatus] = (0,
|
|
5186
|
-
const statusRef =
|
|
5187
|
-
const [error, setError] = (0,
|
|
5188
|
-
const connected = (0,
|
|
5693
|
+
const [status, setStatus] = (0, import_react36.useState)("");
|
|
5694
|
+
const statusRef = import_react36.default.useRef(status);
|
|
5695
|
+
const [error, setError] = (0, import_react36.useState)("");
|
|
5696
|
+
const connected = (0, import_react36.useMemo)(() => {
|
|
5189
5697
|
return !!address;
|
|
5190
5698
|
}, [address]);
|
|
5191
5699
|
const disconnect = async () => {
|
|
@@ -5249,7 +5757,7 @@ function BTCConnectModal({
|
|
|
5249
5757
|
statusRef.current = "";
|
|
5250
5758
|
}
|
|
5251
5759
|
};
|
|
5252
|
-
(0,
|
|
5760
|
+
(0, import_react36.useEffect)(() => {
|
|
5253
5761
|
if (wallet) {
|
|
5254
5762
|
console.log("onConnect");
|
|
5255
5763
|
try {
|
|
@@ -5262,12 +5770,12 @@ function BTCConnectModal({
|
|
|
5262
5770
|
setStatus("");
|
|
5263
5771
|
}
|
|
5264
5772
|
}, [wallet]);
|
|
5265
|
-
(0,
|
|
5773
|
+
(0, import_react36.useEffect)(() => {
|
|
5266
5774
|
if (address) {
|
|
5267
5775
|
toLoginInWallet();
|
|
5268
5776
|
}
|
|
5269
5777
|
}, [address]);
|
|
5270
|
-
(0,
|
|
5778
|
+
(0, import_react36.useEffect)(() => {
|
|
5271
5779
|
if (!props.isOpen) {
|
|
5272
5780
|
disconnect();
|
|
5273
5781
|
}
|
|
@@ -5332,7 +5840,7 @@ function BTCModal(props) {
|
|
|
5332
5840
|
}
|
|
5333
5841
|
|
|
5334
5842
|
// src/components/WalletModal/index.tsx
|
|
5335
|
-
var
|
|
5843
|
+
var import_react37 = require("react");
|
|
5336
5844
|
var import_react_intl18 = require("react-intl");
|
|
5337
5845
|
var import_jsx_runtime92 = require("react/jsx-runtime");
|
|
5338
5846
|
function WalletConnectModal({
|
|
@@ -5344,7 +5852,7 @@ function WalletConnectModal({
|
|
|
5344
5852
|
const { walletMap } = useWalletConfig();
|
|
5345
5853
|
const { bind, login } = useUserInfo();
|
|
5346
5854
|
const config = useAppConfig();
|
|
5347
|
-
const methods = (0,
|
|
5855
|
+
const methods = (0, import_react37.useMemo)(() => {
|
|
5348
5856
|
if (_methods) return _methods;
|
|
5349
5857
|
if (!config.platform) {
|
|
5350
5858
|
return [];
|
|
@@ -5376,11 +5884,11 @@ function WalletModal(props) {
|
|
|
5376
5884
|
}
|
|
5377
5885
|
|
|
5378
5886
|
// src/components/AlphaAvatar/index.tsx
|
|
5379
|
-
var
|
|
5887
|
+
var import_react38 = require("react");
|
|
5380
5888
|
var import_jsx_runtime93 = require("react/jsx-runtime");
|
|
5381
5889
|
function AlphaAvatar2({ name, size = 40, className = "" }) {
|
|
5382
|
-
const [avatar, setAvatar] = (0,
|
|
5383
|
-
(0,
|
|
5890
|
+
const [avatar, setAvatar] = (0, import_react38.useState)(void 0);
|
|
5891
|
+
(0, import_react38.useEffect)(() => {
|
|
5384
5892
|
if (name) {
|
|
5385
5893
|
const char = name[0].toUpperCase();
|
|
5386
5894
|
setAvatar(char);
|
|
@@ -5477,8 +5985,8 @@ function WalletAsset({
|
|
|
5477
5985
|
}
|
|
5478
5986
|
|
|
5479
5987
|
// src/components/TokenSend/index.tsx
|
|
5480
|
-
var
|
|
5481
|
-
var
|
|
5988
|
+
var import_react39 = require("react");
|
|
5989
|
+
var import_viem15 = require("viem");
|
|
5482
5990
|
var import_react_intl19 = require("react-intl");
|
|
5483
5991
|
var import_jsx_runtime95 = require("react/jsx-runtime");
|
|
5484
5992
|
function Input2({
|
|
@@ -5515,33 +6023,33 @@ function TokenSend({
|
|
|
5515
6023
|
const intl = (0, import_react_intl19.useIntl)();
|
|
5516
6024
|
const { createWalletClient: createWalletClient2 } = useWallet();
|
|
5517
6025
|
const isNative = token.address.toLowerCase() == NATIVE_TOKEN_ADDRESS;
|
|
5518
|
-
const chain = (0,
|
|
6026
|
+
const chain = (0, import_react39.useMemo)(() => {
|
|
5519
6027
|
return chainList?.find((m) => m.id.toString() === token.chain_id);
|
|
5520
6028
|
}, [chainList, token.chain_id]);
|
|
5521
|
-
const walletClient = (0,
|
|
6029
|
+
const walletClient = (0, import_react39.useMemo)(() => {
|
|
5522
6030
|
return createWalletClient2({
|
|
5523
6031
|
// @ts-ignore
|
|
5524
|
-
chain: (0,
|
|
5525
|
-
transport: (0,
|
|
6032
|
+
chain: (0, import_viem15.defineChain)(chain),
|
|
6033
|
+
transport: (0, import_viem15.http)()
|
|
5526
6034
|
});
|
|
5527
6035
|
}, [chain]);
|
|
5528
|
-
const [amount, setAmount] = (0,
|
|
5529
|
-
const [address, setAddress] = (0,
|
|
5530
|
-
const [loading, setLoading] = (0,
|
|
5531
|
-
const [sending, setSending] = (0,
|
|
5532
|
-
const [txError, setTxError] = (0,
|
|
5533
|
-
const transaction = (0,
|
|
6036
|
+
const [amount, setAmount] = (0, import_react39.useState)("");
|
|
6037
|
+
const [address, setAddress] = (0, import_react39.useState)("");
|
|
6038
|
+
const [loading, setLoading] = (0, import_react39.useState)(false);
|
|
6039
|
+
const [sending, setSending] = (0, import_react39.useState)(false);
|
|
6040
|
+
const [txError, setTxError] = (0, import_react39.useState)("");
|
|
6041
|
+
const transaction = (0, import_react39.useMemo)(() => {
|
|
5534
6042
|
const reg = /^0x[a-fA-F0-9]{40}$/;
|
|
5535
6043
|
if (!amount || !address || !reg.test(address)) {
|
|
5536
6044
|
return;
|
|
5537
6045
|
}
|
|
5538
|
-
const viemChain = (0,
|
|
6046
|
+
const viemChain = (0, import_viem15.defineChain)(chain);
|
|
5539
6047
|
const to = isNative ? address : token.address;
|
|
5540
|
-
const value = isNative ? (0,
|
|
5541
|
-
const data = isNative ? "0x" : (0,
|
|
5542
|
-
abi:
|
|
6048
|
+
const value = isNative ? (0, import_viem15.parseUnits)(amount, parseInt(token?.decimals || "18")) : BigInt(0);
|
|
6049
|
+
const data = isNative ? "0x" : (0, import_viem15.encodeFunctionData)({
|
|
6050
|
+
abi: import_viem15.erc20Abi,
|
|
5543
6051
|
functionName: "transfer",
|
|
5544
|
-
args: [address, (0,
|
|
6052
|
+
args: [address, (0, import_viem15.parseUnits)(amount, parseInt(token?.decimals || "18"))]
|
|
5545
6053
|
});
|
|
5546
6054
|
return {
|
|
5547
6055
|
to,
|
|
@@ -5561,7 +6069,7 @@ function TokenSend({
|
|
|
5561
6069
|
setLoading(false);
|
|
5562
6070
|
}
|
|
5563
6071
|
};
|
|
5564
|
-
const error = (0,
|
|
6072
|
+
const error = (0, import_react39.useMemo)(() => {
|
|
5565
6073
|
setTxError("");
|
|
5566
6074
|
let amountError = "";
|
|
5567
6075
|
let addressError = "";
|
|
@@ -5604,7 +6112,7 @@ function TokenSend({
|
|
|
5604
6112
|
setAmount(value);
|
|
5605
6113
|
}
|
|
5606
6114
|
};
|
|
5607
|
-
const canSend = (0,
|
|
6115
|
+
const canSend = (0, import_react39.useMemo)(() => {
|
|
5608
6116
|
return !error.amount && !error.address && amount && address;
|
|
5609
6117
|
}, [error]);
|
|
5610
6118
|
const onNext = async () => {
|
|
@@ -5614,7 +6122,7 @@ function TokenSend({
|
|
|
5614
6122
|
}
|
|
5615
6123
|
onClose();
|
|
5616
6124
|
};
|
|
5617
|
-
(0,
|
|
6125
|
+
(0, import_react39.useEffect)(() => {
|
|
5618
6126
|
const receiveMessage = (event) => {
|
|
5619
6127
|
if (event.data) {
|
|
5620
6128
|
if (event.data.source == "match-wallet") {
|
|
@@ -5746,7 +6254,7 @@ function TokenDetail({
|
|
|
5746
6254
|
}
|
|
5747
6255
|
|
|
5748
6256
|
// src/components/TokenSendList/index.tsx
|
|
5749
|
-
var
|
|
6257
|
+
var import_react40 = require("react");
|
|
5750
6258
|
var import_react_intl21 = require("react-intl");
|
|
5751
6259
|
var import_jsx_runtime97 = require("react/jsx-runtime");
|
|
5752
6260
|
function TokenSendList({ close }) {
|
|
@@ -5756,7 +6264,7 @@ function TokenSendList({ close }) {
|
|
|
5756
6264
|
list: walletAssets.mergedAssets
|
|
5757
6265
|
});
|
|
5758
6266
|
const { list } = useMatchChain();
|
|
5759
|
-
const [checked, setChecked] = (0,
|
|
6267
|
+
const [checked, setChecked] = (0, import_react40.useState)();
|
|
5760
6268
|
const modal = useModal();
|
|
5761
6269
|
const onNext = () => {
|
|
5762
6270
|
checked && modal.show((props) => {
|
|
@@ -5813,9 +6321,9 @@ function TokenSendList({ close }) {
|
|
|
5813
6321
|
|
|
5814
6322
|
// src/components/TransactionList/index.tsx
|
|
5815
6323
|
var import_react_infinite_scroll_component = __toESM(require("react-infinite-scroll-component"));
|
|
5816
|
-
var
|
|
5817
|
-
var
|
|
5818
|
-
var
|
|
6324
|
+
var import_react41 = require("react");
|
|
6325
|
+
var import_viem16 = require("viem");
|
|
6326
|
+
var import_viem17 = require("viem");
|
|
5819
6327
|
var import_react_intl22 = require("react-intl");
|
|
5820
6328
|
var import_jsx_runtime98 = require("react/jsx-runtime");
|
|
5821
6329
|
var Item = ({ data }) => {
|
|
@@ -5823,8 +6331,8 @@ var Item = ({ data }) => {
|
|
|
5823
6331
|
const isOut = data.from.toLowerCase() == address.toLowerCase();
|
|
5824
6332
|
const { chain, chainId, explorerLink, formatUnits: chainFormatUnits } = useMatchChain();
|
|
5825
6333
|
const { contracts } = useContractStore_default();
|
|
5826
|
-
const [shouldRefetch, setShouldRefetch] = (0,
|
|
5827
|
-
const transferType = (0,
|
|
6334
|
+
const [shouldRefetch, setShouldRefetch] = (0, import_react41.useState)(true);
|
|
6335
|
+
const transferType = (0, import_react41.useMemo)(() => {
|
|
5828
6336
|
const methodId = data.input.substring(2, 10);
|
|
5829
6337
|
if (methodId == "095ea7b3") {
|
|
5830
6338
|
return "erc20_approve";
|
|
@@ -5834,38 +6342,38 @@ var Item = ({ data }) => {
|
|
|
5834
6342
|
}
|
|
5835
6343
|
return "unknown";
|
|
5836
6344
|
}, [data.input]);
|
|
5837
|
-
const to = (0,
|
|
6345
|
+
const to = (0, import_react41.useMemo)(() => {
|
|
5838
6346
|
if (!isOut) {
|
|
5839
6347
|
return data.from;
|
|
5840
6348
|
}
|
|
5841
6349
|
if (transferType == "erc20_transfer") {
|
|
5842
|
-
const decodeData = (0,
|
|
5843
|
-
abi:
|
|
6350
|
+
const decodeData = (0, import_viem16.decodeFunctionData)({
|
|
6351
|
+
abi: import_viem17.erc20Abi,
|
|
5844
6352
|
data: data.input
|
|
5845
6353
|
});
|
|
5846
6354
|
return decodeData.args[0];
|
|
5847
6355
|
}
|
|
5848
6356
|
return data.to;
|
|
5849
6357
|
}, [data.input, transferType, data.to, isOut]);
|
|
5850
|
-
const amount = (0,
|
|
6358
|
+
const amount = (0, import_react41.useMemo)(() => {
|
|
5851
6359
|
if (transferType == "erc20_transfer") {
|
|
5852
|
-
const decodeData = (0,
|
|
5853
|
-
abi:
|
|
6360
|
+
const decodeData = (0, import_viem16.decodeFunctionData)({
|
|
6361
|
+
abi: import_viem17.erc20Abi,
|
|
5854
6362
|
data: data.input
|
|
5855
6363
|
});
|
|
5856
6364
|
const value = decodeData.args[1];
|
|
5857
|
-
return (0,
|
|
6365
|
+
return (0, import_viem16.formatUnits)(value, contracts[`${chainId}-${data.to.toLowerCase()}`]?.decimals || 18);
|
|
5858
6366
|
}
|
|
5859
6367
|
return chainFormatUnits(BigInt(data.value));
|
|
5860
6368
|
}, [data.input, transferType, data.value, contracts, chainId, data.to]);
|
|
5861
6369
|
const hashQuery = useHash({
|
|
5862
6370
|
hash: data.hash,
|
|
5863
6371
|
//@ts-ignore
|
|
5864
|
-
chain: (0,
|
|
6372
|
+
chain: (0, import_viem16.defineChain)(chain),
|
|
5865
6373
|
refetchInterval: shouldRefetch ? 3e3 : false,
|
|
5866
6374
|
enabled: shouldRefetch && data.source == "local"
|
|
5867
6375
|
});
|
|
5868
|
-
const status = (0,
|
|
6376
|
+
const status = (0, import_react41.useMemo)(() => {
|
|
5869
6377
|
if (data.source == "matchain") {
|
|
5870
6378
|
switch (data.extra.status) {
|
|
5871
6379
|
case "ok":
|
|
@@ -5892,12 +6400,12 @@ var Item = ({ data }) => {
|
|
|
5892
6400
|
}
|
|
5893
6401
|
return "loading";
|
|
5894
6402
|
}, [data.extra?.status, data.source, hashQuery.data]);
|
|
5895
|
-
(0,
|
|
6403
|
+
(0, import_react41.useEffect)(() => {
|
|
5896
6404
|
if (data.hash) {
|
|
5897
6405
|
setShouldRefetch(status == "loading");
|
|
5898
6406
|
}
|
|
5899
6407
|
}, [status, data.hash]);
|
|
5900
|
-
const symbol = (0,
|
|
6408
|
+
const symbol = (0, import_react41.useMemo)(() => {
|
|
5901
6409
|
if (transferType == "erc20_transfer") {
|
|
5902
6410
|
const contract = contracts[`${chainId}-${data.to.toLowerCase()}`];
|
|
5903
6411
|
return contract?.symbol || contract?.name || "unknown";
|
|
@@ -5973,10 +6481,10 @@ __export(contact_exports, {
|
|
|
5973
6481
|
});
|
|
5974
6482
|
var import_react_query13 = require("@tanstack/react-query");
|
|
5975
6483
|
var import_last = __toESM(require("lodash/last"));
|
|
5976
|
-
var
|
|
6484
|
+
var import_react42 = require("react");
|
|
5977
6485
|
function useContactList(page_size = 10, type = "Friend") {
|
|
5978
6486
|
const { token } = useLocalStore_default();
|
|
5979
|
-
const limitIdRef = (0,
|
|
6487
|
+
const limitIdRef = (0, import_react42.useRef)(0);
|
|
5980
6488
|
const queryClient2 = (0, import_react_query13.useQueryClient)();
|
|
5981
6489
|
const contactQuery = (0, import_react_query13.useInfiniteQuery)({
|
|
5982
6490
|
queryKey: ["matchid-contacts-list", type, token],
|
|
@@ -5998,7 +6506,7 @@ function useContactList(page_size = 10, type = "Friend") {
|
|
|
5998
6506
|
return allPages.length >= lastPageNum ? void 0 : allPages.length + 1;
|
|
5999
6507
|
}
|
|
6000
6508
|
});
|
|
6001
|
-
(0,
|
|
6509
|
+
(0, import_react42.useEffect)(() => {
|
|
6002
6510
|
if (!contactQuery.data?.pages || contactQuery.data?.pages.length == 0) {
|
|
6003
6511
|
limitIdRef.current = 0;
|
|
6004
6512
|
} else {
|
|
@@ -6012,10 +6520,10 @@ function useContactList(page_size = 10, type = "Friend") {
|
|
|
6012
6520
|
limitIdRef.current = lastItem?.limit_id || 0;
|
|
6013
6521
|
}
|
|
6014
6522
|
}, [contactQuery.data?.pages]);
|
|
6015
|
-
(0,
|
|
6523
|
+
(0, import_react42.useEffect)(() => {
|
|
6016
6524
|
console.log("contactQuery.data", contactQuery.data);
|
|
6017
6525
|
}, [contactQuery.data]);
|
|
6018
|
-
const data = (0,
|
|
6526
|
+
const data = (0, import_react42.useMemo)(() => {
|
|
6019
6527
|
return (contactQuery.data?.pages ?? []).reduce(
|
|
6020
6528
|
(a, b) => {
|
|
6021
6529
|
return a.concat(b?.items ?? []);
|
|
@@ -6085,7 +6593,7 @@ var delContact = async (friend_id) => {
|
|
|
6085
6593
|
|
|
6086
6594
|
// src/components/ContactList/index.tsx
|
|
6087
6595
|
var import_react_virtuoso = require("react-virtuoso");
|
|
6088
|
-
var
|
|
6596
|
+
var import_react43 = require("react");
|
|
6089
6597
|
var import_react_intl23 = require("react-intl");
|
|
6090
6598
|
var import_jsx_runtime99 = require("react/jsx-runtime");
|
|
6091
6599
|
function ContactCard({
|
|
@@ -6106,7 +6614,7 @@ function ContactCard({
|
|
|
6106
6614
|
] });
|
|
6107
6615
|
}
|
|
6108
6616
|
function RequestAction({ data, onSuccess }) {
|
|
6109
|
-
const [loading, setLoading] = (0,
|
|
6617
|
+
const [loading, setLoading] = (0, import_react43.useState)(false);
|
|
6110
6618
|
const toast = useToast();
|
|
6111
6619
|
const intl = (0, import_react_intl23.useIntl)();
|
|
6112
6620
|
const onApprove = async () => {
|
|
@@ -6130,7 +6638,7 @@ function FriendsAction({
|
|
|
6130
6638
|
data,
|
|
6131
6639
|
onSuccess
|
|
6132
6640
|
}) {
|
|
6133
|
-
const [loading, setLoading] = (0,
|
|
6641
|
+
const [loading, setLoading] = (0, import_react43.useState)(false);
|
|
6134
6642
|
const toast = useToast();
|
|
6135
6643
|
const intl = (0, import_react_intl23.useIntl)();
|
|
6136
6644
|
const onRemove = async () => {
|
|
@@ -6156,9 +6664,9 @@ function ContactList({
|
|
|
6156
6664
|
type = "Friend"
|
|
6157
6665
|
}) {
|
|
6158
6666
|
const { loading, totalCount, data, onLoadMore } = contact_exports.useContactList(limit, type);
|
|
6159
|
-
const [hiddenList, setHiddenList] = (0,
|
|
6667
|
+
const [hiddenList, setHiddenList] = (0, import_react43.useState)([]);
|
|
6160
6668
|
const { address } = useWallet();
|
|
6161
|
-
(0,
|
|
6669
|
+
(0, import_react43.useEffect)(() => {
|
|
6162
6670
|
setHiddenList([]);
|
|
6163
6671
|
}, [type]);
|
|
6164
6672
|
return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|