@weblock-wallet/sdk 0.1.74 → 0.1.76
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/index.cjs +148 -7
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +148 -7
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -106908,12 +106908,128 @@ var UserModule = class {
|
|
|
106908
106908
|
}
|
|
106909
106909
|
};
|
|
106910
106910
|
|
|
106911
|
+
// src/core/config/weblockFujiDeployment.ts
|
|
106912
|
+
var WEBLOCK_FUJI_DEPLOYMENT = {
|
|
106913
|
+
chainId: 43113,
|
|
106914
|
+
network: "fuji",
|
|
106915
|
+
rpcUrl: "https://api.avax-test.network/ext/bc/C/rpc",
|
|
106916
|
+
explorerBaseUrl: "https://testnet.snowtrace.io",
|
|
106917
|
+
treasury: "0x67394081091BDE902b38774076a332240Aa14b27",
|
|
106918
|
+
tokens: {
|
|
106919
|
+
USDR: {
|
|
106920
|
+
address: "0xbc3A31c1788624E5bFf69cdC3a1E7405A01C6De2",
|
|
106921
|
+
decimals: 18,
|
|
106922
|
+
symbol: "USDR"
|
|
106923
|
+
},
|
|
106924
|
+
USDT: {
|
|
106925
|
+
address: "0x4CcEF90D730AB83366a3936FA301536649E105Ed",
|
|
106926
|
+
decimals: 6,
|
|
106927
|
+
symbol: "USDT"
|
|
106928
|
+
},
|
|
106929
|
+
WFT: {
|
|
106930
|
+
address: "0x64529efA2bF566794d051f7531B53EE9413E7794",
|
|
106931
|
+
decimals: 18,
|
|
106932
|
+
symbol: "WFT"
|
|
106933
|
+
}
|
|
106934
|
+
},
|
|
106935
|
+
contracts: {
|
|
106936
|
+
rbtFactory: "0x6bF159f474094915805c9768c533c6c24737F8a3",
|
|
106937
|
+
investRouter: "0x41c1EeD232D29FCc19c09b0e26A70e4B8c9b34e6",
|
|
106938
|
+
product1: {
|
|
106939
|
+
offeringId: 1n,
|
|
106940
|
+
seriesId: 1n,
|
|
106941
|
+
rbtAsset: "0x6173a35cBB99B82c51c6A0e0265C06B7955Eb017",
|
|
106942
|
+
unitPriceWei: 1000000000000000000n,
|
|
106943
|
+
// 1 USDR
|
|
106944
|
+
paymentToken: "0xbc3A31c1788624E5bFf69cdC3a1E7405A01C6De2"
|
|
106945
|
+
// USDR
|
|
106946
|
+
}
|
|
106947
|
+
}
|
|
106948
|
+
};
|
|
106949
|
+
|
|
106911
106950
|
// src/modules/wallet.ts
|
|
106951
|
+
var FUJI_CHAIN_ID = WEBLOCK_FUJI_DEPLOYMENT.chainId;
|
|
106952
|
+
var FUJI_USDR_ADDRESS = WEBLOCK_FUJI_DEPLOYMENT.tokens.USDR.address.toLowerCase();
|
|
106953
|
+
var FUJI_RBT_ADDRESS = WEBLOCK_FUJI_DEPLOYMENT.contracts.product1.rbtAsset.toLowerCase();
|
|
106954
|
+
var FUJI_RBT_SERIES_ID = Number(
|
|
106955
|
+
WEBLOCK_FUJI_DEPLOYMENT.contracts.product1.seriesId
|
|
106956
|
+
);
|
|
106912
106957
|
var WalletModule = class {
|
|
106913
106958
|
constructor(options, core) {
|
|
106914
106959
|
this.options = options;
|
|
106915
106960
|
this.core = core;
|
|
106916
106961
|
}
|
|
106962
|
+
pickDefaultNetwork(availableNetworks) {
|
|
106963
|
+
if (!availableNetworks.length) return null;
|
|
106964
|
+
const fuji = availableNetworks.find(
|
|
106965
|
+
(network) => network.chainId === FUJI_CHAIN_ID && (network.isTestnet || (network.name || "").toLowerCase().includes("fuji") || (network.rpcUrl || "").toLowerCase().includes("avax-test"))
|
|
106966
|
+
) ?? null;
|
|
106967
|
+
if (fuji) return fuji;
|
|
106968
|
+
return availableNetworks.find((network) => !network.isTestnet) ?? availableNetworks[0];
|
|
106969
|
+
}
|
|
106970
|
+
withDefaultRegisteredCoins(network, registered) {
|
|
106971
|
+
if (!network) return registered;
|
|
106972
|
+
const map = /* @__PURE__ */ new Map();
|
|
106973
|
+
for (const coin of registered) {
|
|
106974
|
+
if (!coin?.contractAddress) continue;
|
|
106975
|
+
map.set(coin.contractAddress.toLowerCase(), {
|
|
106976
|
+
...coin,
|
|
106977
|
+
contractAddress: coin.contractAddress.toLowerCase()
|
|
106978
|
+
});
|
|
106979
|
+
}
|
|
106980
|
+
if (network.chainId === FUJI_CHAIN_ID && !map.has(FUJI_USDR_ADDRESS)) {
|
|
106981
|
+
map.set(FUJI_USDR_ADDRESS, {
|
|
106982
|
+
id: "default-fuji-usdr",
|
|
106983
|
+
blockchainId: network.id,
|
|
106984
|
+
name: "WeBlock USD Settlement Token",
|
|
106985
|
+
symbol: "USDR",
|
|
106986
|
+
contractAddress: FUJI_USDR_ADDRESS,
|
|
106987
|
+
decimals: 18
|
|
106988
|
+
});
|
|
106989
|
+
}
|
|
106990
|
+
return Array.from(map.values());
|
|
106991
|
+
}
|
|
106992
|
+
decodeHexBalanceToDecimal(value) {
|
|
106993
|
+
if (!value) return "0";
|
|
106994
|
+
try {
|
|
106995
|
+
return BigInt(value).toString();
|
|
106996
|
+
} catch {
|
|
106997
|
+
return "0";
|
|
106998
|
+
}
|
|
106999
|
+
}
|
|
107000
|
+
async getFujiRbtTokenInfo(networkId, walletAddress) {
|
|
107001
|
+
try {
|
|
107002
|
+
const rawHex = await this.core.asset.getERC1155Balance({
|
|
107003
|
+
networkId,
|
|
107004
|
+
tokenAddress: FUJI_RBT_ADDRESS,
|
|
107005
|
+
walletAddress,
|
|
107006
|
+
tokenId: FUJI_RBT_SERIES_ID
|
|
107007
|
+
});
|
|
107008
|
+
const raw = this.decodeHexBalanceToDecimal(rawHex);
|
|
107009
|
+
const balance = {
|
|
107010
|
+
raw,
|
|
107011
|
+
formatted: TokenAmount.fromWei(raw, 0),
|
|
107012
|
+
decimals: 0,
|
|
107013
|
+
symbol: "RBT"
|
|
107014
|
+
};
|
|
107015
|
+
return {
|
|
107016
|
+
address: FUJI_RBT_ADDRESS,
|
|
107017
|
+
name: "RBT Property Token",
|
|
107018
|
+
symbol: "RBT",
|
|
107019
|
+
decimals: 0,
|
|
107020
|
+
balance,
|
|
107021
|
+
totalSupply: {
|
|
107022
|
+
raw: "0",
|
|
107023
|
+
formatted: "0",
|
|
107024
|
+
decimals: 0,
|
|
107025
|
+
symbol: "RBT"
|
|
107026
|
+
}
|
|
107027
|
+
};
|
|
107028
|
+
} catch (error) {
|
|
107029
|
+
console.warn("Failed to load default RBT balance:", error);
|
|
107030
|
+
return null;
|
|
107031
|
+
}
|
|
107032
|
+
}
|
|
106917
107033
|
async getInfo() {
|
|
106918
107034
|
try {
|
|
106919
107035
|
console.log("1. \uB85C\uADF8\uC778 \uC0C1\uD0DC \uD655\uC778 \uC2DC\uC791");
|
|
@@ -106939,7 +107055,13 @@ var WalletModule = class {
|
|
|
106939
107055
|
console.log("\uD604\uC7AC \uB124\uD2B8\uC6CC\uD06C:", currentNetwork);
|
|
106940
107056
|
console.log("\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uB124\uD2B8\uC6CC\uD06C:", availableNetworks);
|
|
106941
107057
|
if (!currentNetwork) {
|
|
106942
|
-
const defaultNetwork =
|
|
107058
|
+
const defaultNetwork = this.pickDefaultNetwork(availableNetworks);
|
|
107059
|
+
if (!defaultNetwork) {
|
|
107060
|
+
throw new SDKError(
|
|
107061
|
+
"\uC0AC\uC6A9 \uAC00\uB2A5\uD55C \uB124\uD2B8\uC6CC\uD06C\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4",
|
|
107062
|
+
"NETWORK_ERROR" /* NETWORK_ERROR */
|
|
107063
|
+
);
|
|
107064
|
+
}
|
|
106943
107065
|
await this.core.network.switchNetwork(defaultNetwork.id);
|
|
106944
107066
|
console.log("\uAE30\uBCF8 \uB124\uD2B8\uC6CC\uD06C\uB85C \uC124\uC815:", defaultNetwork.name);
|
|
106945
107067
|
}
|
|
@@ -106965,12 +107087,14 @@ var WalletModule = class {
|
|
|
106965
107087
|
let tokens = [];
|
|
106966
107088
|
try {
|
|
106967
107089
|
const registered = await this.core.asset.getRegisteredCoins(network.id);
|
|
106968
|
-
|
|
106969
|
-
|
|
106970
|
-
|
|
106971
|
-
|
|
106972
|
-
|
|
106973
|
-
|
|
107090
|
+
const targetCoins = this.withDefaultRegisteredCoins(
|
|
107091
|
+
network,
|
|
107092
|
+
registered ?? []
|
|
107093
|
+
);
|
|
107094
|
+
const tokenMap = /* @__PURE__ */ new Map();
|
|
107095
|
+
if (targetCoins.length) {
|
|
107096
|
+
const results = await Promise.allSettled(
|
|
107097
|
+
targetCoins.map(async (coin) => {
|
|
106974
107098
|
const full = await this.core.asset.getTokenFullInfo({
|
|
106975
107099
|
networkId: network.id,
|
|
106976
107100
|
tokenAddress: coin.contractAddress,
|
|
@@ -106985,7 +107109,24 @@ var WalletModule = class {
|
|
|
106985
107109
|
};
|
|
106986
107110
|
})
|
|
106987
107111
|
);
|
|
107112
|
+
results.forEach((result) => {
|
|
107113
|
+
if (result.status === "fulfilled") {
|
|
107114
|
+
tokenMap.set(
|
|
107115
|
+
result.value.address.toLowerCase(),
|
|
107116
|
+
result.value
|
|
107117
|
+
);
|
|
107118
|
+
return;
|
|
107119
|
+
}
|
|
107120
|
+
console.warn("Registered token load failed:", result.reason);
|
|
107121
|
+
});
|
|
107122
|
+
}
|
|
107123
|
+
if (network.chainId === FUJI_CHAIN_ID) {
|
|
107124
|
+
const rbtToken = await this.getFujiRbtTokenInfo(network.id, address);
|
|
107125
|
+
if (rbtToken) {
|
|
107126
|
+
tokenMap.set(rbtToken.address.toLowerCase(), rbtToken);
|
|
107127
|
+
}
|
|
106988
107128
|
}
|
|
107129
|
+
tokens = Array.from(tokenMap.values());
|
|
106989
107130
|
} catch (e7) {
|
|
106990
107131
|
console.warn("Registered token load failed:", e7);
|
|
106991
107132
|
tokens = [];
|