@unlink-xyz/core 0.1.6 → 0.1.7-canary.252b8ea
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/browser/index.js +257 -154
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/wallet/index.js +209 -153
- package/dist/browser/wallet/index.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +180 -77
- package/dist/index.js.map +1 -1
- package/dist/transactions/adapter.d.ts +34 -1
- package/dist/transactions/adapter.d.ts.map +1 -1
- package/dist/transactions/index.d.ts +1 -1
- package/dist/transactions/index.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/wallet/adapter.d.ts +2 -2
- package/dist/wallet/adapter.d.ts.map +1 -1
- package/dist/wallet/burner/service.d.ts +1 -0
- package/dist/wallet/burner/service.d.ts.map +1 -1
- package/dist/wallet/burner/types.d.ts +2 -2
- package/dist/wallet/burner/types.d.ts.map +1 -1
- package/dist/wallet/index.d.ts +2 -2
- package/dist/wallet/index.d.ts.map +1 -1
- package/dist/wallet/index.js +132 -76
- package/dist/wallet/index.js.map +1 -1
- package/dist/wallet/sdk.d.ts +2 -2
- package/dist/wallet/types.d.ts +49 -38
- package/dist/wallet/types.d.ts.map +1 -1
- package/dist/wallet/{unlink-wallet.d.ts → unlink.d.ts} +38 -31
- package/dist/wallet/unlink.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/wallet/unlink-wallet.d.ts.map +0 -1
package/dist/browser/index.js
CHANGED
|
@@ -27209,8 +27209,8 @@ var ContractUnknownEventPayload = class extends EventPayload {
|
|
|
27209
27209
|
/**
|
|
27210
27210
|
* @_event:
|
|
27211
27211
|
*/
|
|
27212
|
-
constructor(
|
|
27213
|
-
super(
|
|
27212
|
+
constructor(contract2, listener, filter, log) {
|
|
27213
|
+
super(contract2, listener, filter);
|
|
27214
27214
|
defineProperties(this, { log });
|
|
27215
27215
|
}
|
|
27216
27216
|
/**
|
|
@@ -27236,9 +27236,9 @@ var ContractEventPayload = class extends ContractUnknownEventPayload {
|
|
|
27236
27236
|
/**
|
|
27237
27237
|
* @_ignore:
|
|
27238
27238
|
*/
|
|
27239
|
-
constructor(
|
|
27240
|
-
super(
|
|
27241
|
-
const args =
|
|
27239
|
+
constructor(contract2, listener, filter, fragment, _log) {
|
|
27240
|
+
super(contract2, listener, filter, new EventLog(_log, contract2.interface, fragment));
|
|
27241
|
+
const args = contract2.interface.decodeEventLog(fragment, this.log.data, this.log.topics);
|
|
27242
27242
|
defineProperties(this, { args, fragment });
|
|
27243
27243
|
}
|
|
27244
27244
|
/**
|
|
@@ -27283,12 +27283,12 @@ function getResolver(value) {
|
|
|
27283
27283
|
var PreparedTopicFilter = class {
|
|
27284
27284
|
#filter;
|
|
27285
27285
|
fragment;
|
|
27286
|
-
constructor(
|
|
27286
|
+
constructor(contract2, fragment, args) {
|
|
27287
27287
|
defineProperties(this, { fragment });
|
|
27288
27288
|
if (fragment.inputs.length < args.length) {
|
|
27289
27289
|
throw new Error("too many arguments");
|
|
27290
27290
|
}
|
|
27291
|
-
const runner = getRunner(
|
|
27291
|
+
const runner = getRunner(contract2.runner, "resolveName");
|
|
27292
27292
|
const resolver = canResolve(runner) ? runner : null;
|
|
27293
27293
|
this.#filter = (async function() {
|
|
27294
27294
|
const resolvedArgs = await Promise.all(fragment.inputs.map((param, index) => {
|
|
@@ -27306,7 +27306,7 @@ var PreparedTopicFilter = class {
|
|
|
27306
27306
|
return value;
|
|
27307
27307
|
});
|
|
27308
27308
|
}));
|
|
27309
|
-
return
|
|
27309
|
+
return contract2.interface.encodeFilterTopics(fragment, resolvedArgs);
|
|
27310
27310
|
})();
|
|
27311
27311
|
}
|
|
27312
27312
|
getTopicFilter() {
|
|
@@ -27355,14 +27355,14 @@ async function resolveArgs(_runner, inputs, args) {
|
|
|
27355
27355
|
});
|
|
27356
27356
|
}));
|
|
27357
27357
|
}
|
|
27358
|
-
function buildWrappedFallback(
|
|
27358
|
+
function buildWrappedFallback(contract2) {
|
|
27359
27359
|
const populateTransaction = async function(overrides) {
|
|
27360
27360
|
const tx = await copyOverrides(overrides, ["data"]);
|
|
27361
|
-
tx.to = await
|
|
27361
|
+
tx.to = await contract2.getAddress();
|
|
27362
27362
|
if (tx.from) {
|
|
27363
|
-
tx.from = await resolveAddress(tx.from, getResolver(
|
|
27363
|
+
tx.from = await resolveAddress(tx.from, getResolver(contract2.runner));
|
|
27364
27364
|
}
|
|
27365
|
-
const iface =
|
|
27365
|
+
const iface = contract2.interface;
|
|
27366
27366
|
const noValue = getBigInt(tx.value || BN_09, "overrides.value") === BN_09;
|
|
27367
27367
|
const noData = (tx.data || "0x") === "0x";
|
|
27368
27368
|
if (iface.fallback && !iface.fallback.payable && iface.receive && !noData && !noValue) {
|
|
@@ -27375,27 +27375,27 @@ function buildWrappedFallback(contract) {
|
|
|
27375
27375
|
return tx;
|
|
27376
27376
|
};
|
|
27377
27377
|
const staticCall = async function(overrides) {
|
|
27378
|
-
const runner = getRunner(
|
|
27378
|
+
const runner = getRunner(contract2.runner, "call");
|
|
27379
27379
|
assert(canCall(runner), "contract runner does not support calling", "UNSUPPORTED_OPERATION", { operation: "call" });
|
|
27380
27380
|
const tx = await populateTransaction(overrides);
|
|
27381
27381
|
try {
|
|
27382
27382
|
return await runner.call(tx);
|
|
27383
27383
|
} catch (error) {
|
|
27384
27384
|
if (isCallException(error) && error.data) {
|
|
27385
|
-
throw
|
|
27385
|
+
throw contract2.interface.makeError(error.data, tx);
|
|
27386
27386
|
}
|
|
27387
27387
|
throw error;
|
|
27388
27388
|
}
|
|
27389
27389
|
};
|
|
27390
27390
|
const send = async function(overrides) {
|
|
27391
|
-
const runner =
|
|
27391
|
+
const runner = contract2.runner;
|
|
27392
27392
|
assert(canSend(runner), "contract runner does not support sending transactions", "UNSUPPORTED_OPERATION", { operation: "sendTransaction" });
|
|
27393
27393
|
const tx = await runner.sendTransaction(await populateTransaction(overrides));
|
|
27394
|
-
const provider = getProvider(
|
|
27395
|
-
return new ContractTransactionResponse(
|
|
27394
|
+
const provider = getProvider(contract2.runner);
|
|
27395
|
+
return new ContractTransactionResponse(contract2.interface, provider, tx);
|
|
27396
27396
|
};
|
|
27397
27397
|
const estimateGas = async function(overrides) {
|
|
27398
|
-
const runner = getRunner(
|
|
27398
|
+
const runner = getRunner(contract2.runner, "estimateGas");
|
|
27399
27399
|
assert(canEstimate(runner), "contract runner does not support gas estimation", "UNSUPPORTED_OPERATION", { operation: "estimateGas" });
|
|
27400
27400
|
return await runner.estimateGas(await populateTransaction(overrides));
|
|
27401
27401
|
};
|
|
@@ -27403,7 +27403,7 @@ function buildWrappedFallback(contract) {
|
|
|
27403
27403
|
return await send(overrides);
|
|
27404
27404
|
};
|
|
27405
27405
|
defineProperties(method, {
|
|
27406
|
-
_contract:
|
|
27406
|
+
_contract: contract2,
|
|
27407
27407
|
estimateGas,
|
|
27408
27408
|
populateTransaction,
|
|
27409
27409
|
send,
|
|
@@ -27411,9 +27411,9 @@ function buildWrappedFallback(contract) {
|
|
|
27411
27411
|
});
|
|
27412
27412
|
return method;
|
|
27413
27413
|
}
|
|
27414
|
-
function buildWrappedMethod(
|
|
27414
|
+
function buildWrappedMethod(contract2, key) {
|
|
27415
27415
|
const getFragment = function(...args) {
|
|
27416
|
-
const fragment =
|
|
27416
|
+
const fragment = contract2.interface.getFunction(key, args);
|
|
27417
27417
|
assert(fragment, "no matching fragment", "UNSUPPORTED_OPERATION", {
|
|
27418
27418
|
operation: "fragment",
|
|
27419
27419
|
info: { key, args }
|
|
@@ -27426,16 +27426,16 @@ function buildWrappedMethod(contract, key) {
|
|
|
27426
27426
|
if (fragment.inputs.length + 1 === args.length) {
|
|
27427
27427
|
overrides = await copyOverrides(args.pop());
|
|
27428
27428
|
if (overrides.from) {
|
|
27429
|
-
overrides.from = await resolveAddress(overrides.from, getResolver(
|
|
27429
|
+
overrides.from = await resolveAddress(overrides.from, getResolver(contract2.runner));
|
|
27430
27430
|
}
|
|
27431
27431
|
}
|
|
27432
27432
|
if (fragment.inputs.length !== args.length) {
|
|
27433
27433
|
throw new Error("internal error: fragment inputs doesn't match arguments; should not happen");
|
|
27434
27434
|
}
|
|
27435
|
-
const resolvedArgs = await resolveArgs(
|
|
27435
|
+
const resolvedArgs = await resolveArgs(contract2.runner, fragment.inputs, args);
|
|
27436
27436
|
return Object.assign({}, overrides, await resolveProperties({
|
|
27437
|
-
to:
|
|
27438
|
-
data:
|
|
27437
|
+
to: contract2.getAddress(),
|
|
27438
|
+
data: contract2.interface.encodeFunctionData(fragment, resolvedArgs)
|
|
27439
27439
|
}));
|
|
27440
27440
|
};
|
|
27441
27441
|
const staticCall = async function(...args) {
|
|
@@ -27446,19 +27446,19 @@ function buildWrappedMethod(contract, key) {
|
|
|
27446
27446
|
return result;
|
|
27447
27447
|
};
|
|
27448
27448
|
const send = async function(...args) {
|
|
27449
|
-
const runner =
|
|
27449
|
+
const runner = contract2.runner;
|
|
27450
27450
|
assert(canSend(runner), "contract runner does not support sending transactions", "UNSUPPORTED_OPERATION", { operation: "sendTransaction" });
|
|
27451
27451
|
const tx = await runner.sendTransaction(await populateTransaction(...args));
|
|
27452
|
-
const provider = getProvider(
|
|
27453
|
-
return new ContractTransactionResponse(
|
|
27452
|
+
const provider = getProvider(contract2.runner);
|
|
27453
|
+
return new ContractTransactionResponse(contract2.interface, provider, tx);
|
|
27454
27454
|
};
|
|
27455
27455
|
const estimateGas = async function(...args) {
|
|
27456
|
-
const runner = getRunner(
|
|
27456
|
+
const runner = getRunner(contract2.runner, "estimateGas");
|
|
27457
27457
|
assert(canEstimate(runner), "contract runner does not support gas estimation", "UNSUPPORTED_OPERATION", { operation: "estimateGas" });
|
|
27458
27458
|
return await runner.estimateGas(await populateTransaction(...args));
|
|
27459
27459
|
};
|
|
27460
27460
|
const staticCallResult = async function(...args) {
|
|
27461
|
-
const runner = getRunner(
|
|
27461
|
+
const runner = getRunner(contract2.runner, "call");
|
|
27462
27462
|
assert(canCall(runner), "contract runner does not support calling", "UNSUPPORTED_OPERATION", { operation: "call" });
|
|
27463
27463
|
const tx = await populateTransaction(...args);
|
|
27464
27464
|
let result = "0x";
|
|
@@ -27466,12 +27466,12 @@ function buildWrappedMethod(contract, key) {
|
|
|
27466
27466
|
result = await runner.call(tx);
|
|
27467
27467
|
} catch (error) {
|
|
27468
27468
|
if (isCallException(error) && error.data) {
|
|
27469
|
-
throw
|
|
27469
|
+
throw contract2.interface.makeError(error.data, tx);
|
|
27470
27470
|
}
|
|
27471
27471
|
throw error;
|
|
27472
27472
|
}
|
|
27473
27473
|
const fragment = getFragment(...args);
|
|
27474
|
-
return
|
|
27474
|
+
return contract2.interface.decodeFunctionResult(fragment, result);
|
|
27475
27475
|
};
|
|
27476
27476
|
const method = async (...args) => {
|
|
27477
27477
|
const fragment = getFragment(...args);
|
|
@@ -27481,8 +27481,8 @@ function buildWrappedMethod(contract, key) {
|
|
|
27481
27481
|
return await send(...args);
|
|
27482
27482
|
};
|
|
27483
27483
|
defineProperties(method, {
|
|
27484
|
-
name:
|
|
27485
|
-
_contract:
|
|
27484
|
+
name: contract2.interface.getFunctionName(key),
|
|
27485
|
+
_contract: contract2,
|
|
27486
27486
|
_key: key,
|
|
27487
27487
|
getFragment,
|
|
27488
27488
|
estimateGas,
|
|
@@ -27495,7 +27495,7 @@ function buildWrappedMethod(contract, key) {
|
|
|
27495
27495
|
configurable: false,
|
|
27496
27496
|
enumerable: true,
|
|
27497
27497
|
get: () => {
|
|
27498
|
-
const fragment =
|
|
27498
|
+
const fragment = contract2.interface.getFunction(key);
|
|
27499
27499
|
assert(fragment, "no matching fragment", "UNSUPPORTED_OPERATION", {
|
|
27500
27500
|
operation: "fragment",
|
|
27501
27501
|
info: { key }
|
|
@@ -27505,9 +27505,9 @@ function buildWrappedMethod(contract, key) {
|
|
|
27505
27505
|
});
|
|
27506
27506
|
return method;
|
|
27507
27507
|
}
|
|
27508
|
-
function buildWrappedEvent(
|
|
27508
|
+
function buildWrappedEvent(contract2, key) {
|
|
27509
27509
|
const getFragment = function(...args) {
|
|
27510
|
-
const fragment =
|
|
27510
|
+
const fragment = contract2.interface.getEvent(key, args);
|
|
27511
27511
|
assert(fragment, "no matching fragment", "UNSUPPORTED_OPERATION", {
|
|
27512
27512
|
operation: "fragment",
|
|
27513
27513
|
info: { key, args }
|
|
@@ -27515,11 +27515,11 @@ function buildWrappedEvent(contract, key) {
|
|
|
27515
27515
|
return fragment;
|
|
27516
27516
|
};
|
|
27517
27517
|
const method = function(...args) {
|
|
27518
|
-
return new PreparedTopicFilter(
|
|
27518
|
+
return new PreparedTopicFilter(contract2, getFragment(...args), args);
|
|
27519
27519
|
};
|
|
27520
27520
|
defineProperties(method, {
|
|
27521
|
-
name:
|
|
27522
|
-
_contract:
|
|
27521
|
+
name: contract2.interface.getEventName(key),
|
|
27522
|
+
_contract: contract2,
|
|
27523
27523
|
_key: key,
|
|
27524
27524
|
getFragment
|
|
27525
27525
|
});
|
|
@@ -27527,7 +27527,7 @@ function buildWrappedEvent(contract, key) {
|
|
|
27527
27527
|
configurable: false,
|
|
27528
27528
|
enumerable: true,
|
|
27529
27529
|
get: () => {
|
|
27530
|
-
const fragment =
|
|
27530
|
+
const fragment = contract2.interface.getEvent(key);
|
|
27531
27531
|
assert(fragment, "no matching fragment", "UNSUPPORTED_OPERATION", {
|
|
27532
27532
|
operation: "fragment",
|
|
27533
27533
|
info: { key }
|
|
@@ -27539,16 +27539,16 @@ function buildWrappedEvent(contract, key) {
|
|
|
27539
27539
|
}
|
|
27540
27540
|
var internal2 = /* @__PURE__ */ Symbol.for("_ethersInternal_contract");
|
|
27541
27541
|
var internalValues = /* @__PURE__ */ new WeakMap();
|
|
27542
|
-
function setInternal(
|
|
27543
|
-
internalValues.set(
|
|
27542
|
+
function setInternal(contract2, values) {
|
|
27543
|
+
internalValues.set(contract2[internal2], values);
|
|
27544
27544
|
}
|
|
27545
|
-
function getInternal(
|
|
27546
|
-
return internalValues.get(
|
|
27545
|
+
function getInternal(contract2) {
|
|
27546
|
+
return internalValues.get(contract2[internal2]);
|
|
27547
27547
|
}
|
|
27548
27548
|
function isDeferred(value) {
|
|
27549
27549
|
return value && typeof value === "object" && "getTopicFilter" in value && typeof value.getTopicFilter === "function" && value.fragment;
|
|
27550
27550
|
}
|
|
27551
|
-
async function getSubInfo(
|
|
27551
|
+
async function getSubInfo(contract2, event) {
|
|
27552
27552
|
let topics;
|
|
27553
27553
|
let fragment = null;
|
|
27554
27554
|
if (Array.isArray(event)) {
|
|
@@ -27556,7 +27556,7 @@ async function getSubInfo(contract, event) {
|
|
|
27556
27556
|
if (isHexString(name, 32)) {
|
|
27557
27557
|
return name;
|
|
27558
27558
|
}
|
|
27559
|
-
const fragment2 =
|
|
27559
|
+
const fragment2 = contract2.interface.getEvent(name);
|
|
27560
27560
|
assertArgument(fragment2, "unknown fragment", "name", name);
|
|
27561
27561
|
return fragment2.topicHash;
|
|
27562
27562
|
};
|
|
@@ -27575,7 +27575,7 @@ async function getSubInfo(contract, event) {
|
|
|
27575
27575
|
if (isHexString(event, 32)) {
|
|
27576
27576
|
topics = [event];
|
|
27577
27577
|
} else {
|
|
27578
|
-
fragment =
|
|
27578
|
+
fragment = contract2.interface.getEvent(event);
|
|
27579
27579
|
assertArgument(fragment, "unknown fragment", "event", event);
|
|
27580
27580
|
topics = [fragment.topicHash];
|
|
27581
27581
|
}
|
|
@@ -27612,36 +27612,36 @@ async function getSubInfo(contract, event) {
|
|
|
27612
27612
|
}).join("&");
|
|
27613
27613
|
return { fragment, tag, topics };
|
|
27614
27614
|
}
|
|
27615
|
-
async function hasSub(
|
|
27616
|
-
const { subs } = getInternal(
|
|
27617
|
-
return subs.get((await getSubInfo(
|
|
27615
|
+
async function hasSub(contract2, event) {
|
|
27616
|
+
const { subs } = getInternal(contract2);
|
|
27617
|
+
return subs.get((await getSubInfo(contract2, event)).tag) || null;
|
|
27618
27618
|
}
|
|
27619
|
-
async function getSub(
|
|
27620
|
-
const provider = getProvider(
|
|
27619
|
+
async function getSub(contract2, operation, event) {
|
|
27620
|
+
const provider = getProvider(contract2.runner);
|
|
27621
27621
|
assert(provider, "contract runner does not support subscribing", "UNSUPPORTED_OPERATION", { operation });
|
|
27622
|
-
const { fragment, tag, topics } = await getSubInfo(
|
|
27623
|
-
const { addr, subs } = getInternal(
|
|
27622
|
+
const { fragment, tag, topics } = await getSubInfo(contract2, event);
|
|
27623
|
+
const { addr, subs } = getInternal(contract2);
|
|
27624
27624
|
let sub2 = subs.get(tag);
|
|
27625
27625
|
if (!sub2) {
|
|
27626
|
-
const address = addr ? addr :
|
|
27626
|
+
const address = addr ? addr : contract2;
|
|
27627
27627
|
const filter = { address, topics };
|
|
27628
27628
|
const listener = (log) => {
|
|
27629
27629
|
let foundFragment = fragment;
|
|
27630
27630
|
if (foundFragment == null) {
|
|
27631
27631
|
try {
|
|
27632
|
-
foundFragment =
|
|
27632
|
+
foundFragment = contract2.interface.getEvent(log.topics[0]);
|
|
27633
27633
|
} catch (error) {
|
|
27634
27634
|
}
|
|
27635
27635
|
}
|
|
27636
27636
|
if (foundFragment) {
|
|
27637
27637
|
const _foundFragment = foundFragment;
|
|
27638
|
-
const args = fragment ?
|
|
27639
|
-
emit2(
|
|
27640
|
-
return new ContractEventPayload(
|
|
27638
|
+
const args = fragment ? contract2.interface.decodeEventLog(fragment, log.data, log.topics) : [];
|
|
27639
|
+
emit2(contract2, event, args, (listener2) => {
|
|
27640
|
+
return new ContractEventPayload(contract2, listener2, event, _foundFragment, log);
|
|
27641
27641
|
});
|
|
27642
27642
|
} else {
|
|
27643
|
-
emit2(
|
|
27644
|
-
return new ContractUnknownEventPayload(
|
|
27643
|
+
emit2(contract2, event, [], (listener2) => {
|
|
27644
|
+
return new ContractUnknownEventPayload(contract2, listener2, event, log);
|
|
27645
27645
|
});
|
|
27646
27646
|
}
|
|
27647
27647
|
};
|
|
@@ -27667,9 +27667,9 @@ async function getSub(contract, operation, event) {
|
|
|
27667
27667
|
return sub2;
|
|
27668
27668
|
}
|
|
27669
27669
|
var lastEmit = Promise.resolve();
|
|
27670
|
-
async function _emit(
|
|
27670
|
+
async function _emit(contract2, event, args, payloadFunc) {
|
|
27671
27671
|
await lastEmit;
|
|
27672
|
-
const sub2 = await hasSub(
|
|
27672
|
+
const sub2 = await hasSub(contract2, event);
|
|
27673
27673
|
if (!sub2) {
|
|
27674
27674
|
return false;
|
|
27675
27675
|
}
|
|
@@ -27680,23 +27680,23 @@ async function _emit(contract, event, args, payloadFunc) {
|
|
|
27680
27680
|
passArgs.push(payloadFunc(once2 ? null : listener));
|
|
27681
27681
|
}
|
|
27682
27682
|
try {
|
|
27683
|
-
listener.call(
|
|
27683
|
+
listener.call(contract2, ...passArgs);
|
|
27684
27684
|
} catch (error) {
|
|
27685
27685
|
}
|
|
27686
27686
|
return !once2;
|
|
27687
27687
|
});
|
|
27688
27688
|
if (sub2.listeners.length === 0) {
|
|
27689
27689
|
sub2.stop();
|
|
27690
|
-
getInternal(
|
|
27690
|
+
getInternal(contract2).subs.delete(sub2.tag);
|
|
27691
27691
|
}
|
|
27692
27692
|
return count > 0;
|
|
27693
27693
|
}
|
|
27694
|
-
async function emit2(
|
|
27694
|
+
async function emit2(contract2, event, args, payloadFunc) {
|
|
27695
27695
|
try {
|
|
27696
27696
|
await lastEmit;
|
|
27697
27697
|
} catch (error) {
|
|
27698
27698
|
}
|
|
27699
|
-
const resultPromise = _emit(
|
|
27699
|
+
const resultPromise = _emit(contract2, event, args, payloadFunc);
|
|
27700
27700
|
lastEmit = resultPromise;
|
|
27701
27701
|
return await resultPromise;
|
|
27702
27702
|
}
|
|
@@ -28122,8 +28122,8 @@ var BaseContract = class _BaseContract {
|
|
|
28122
28122
|
if (runner == null) {
|
|
28123
28123
|
runner = null;
|
|
28124
28124
|
}
|
|
28125
|
-
const
|
|
28126
|
-
return
|
|
28125
|
+
const contract2 = new this(target, abi, runner);
|
|
28126
|
+
return contract2;
|
|
28127
28127
|
}
|
|
28128
28128
|
};
|
|
28129
28129
|
function _ContractBase() {
|
|
@@ -28424,7 +28424,7 @@ var EnsResolver = class _EnsResolver {
|
|
|
28424
28424
|
return { url: null, linkage };
|
|
28425
28425
|
}
|
|
28426
28426
|
const tokenId = comps[1];
|
|
28427
|
-
const
|
|
28427
|
+
const contract2 = new Contract(comps[0], [
|
|
28428
28428
|
// ERC-721
|
|
28429
28429
|
"function tokenURI(uint) view returns (string)",
|
|
28430
28430
|
"function ownerOf(uint) view returns (address)",
|
|
@@ -28433,21 +28433,21 @@ var EnsResolver = class _EnsResolver {
|
|
|
28433
28433
|
"function balanceOf(address, uint256) view returns (uint)"
|
|
28434
28434
|
], this.provider);
|
|
28435
28435
|
if (scheme === "erc721") {
|
|
28436
|
-
const tokenOwner = await
|
|
28436
|
+
const tokenOwner = await contract2.ownerOf(tokenId);
|
|
28437
28437
|
if (owner !== tokenOwner) {
|
|
28438
28438
|
linkage.push({ type: "!owner", value: tokenOwner });
|
|
28439
28439
|
return { url: null, linkage };
|
|
28440
28440
|
}
|
|
28441
28441
|
linkage.push({ type: "owner", value: tokenOwner });
|
|
28442
28442
|
} else if (scheme === "erc1155") {
|
|
28443
|
-
const balance = await
|
|
28443
|
+
const balance = await contract2.balanceOf(owner, tokenId);
|
|
28444
28444
|
if (!balance) {
|
|
28445
28445
|
linkage.push({ type: "!balance", value: "0" });
|
|
28446
28446
|
return { url: null, linkage };
|
|
28447
28447
|
}
|
|
28448
28448
|
linkage.push({ type: "balance", value: balance.toString() });
|
|
28449
28449
|
}
|
|
28450
|
-
let metadataUrl = await
|
|
28450
|
+
let metadataUrl = await contract2[selector](tokenId);
|
|
28451
28451
|
if (metadataUrl == null || metadataUrl === "0x") {
|
|
28452
28452
|
linkage.push({ type: "!metadata-url", value: "" });
|
|
28453
28453
|
return { url: null, linkage };
|
|
@@ -28519,10 +28519,10 @@ var EnsResolver = class _EnsResolver {
|
|
|
28519
28519
|
static async #getResolver(provider, name) {
|
|
28520
28520
|
const ensAddr = await _EnsResolver.getEnsAddress(provider);
|
|
28521
28521
|
try {
|
|
28522
|
-
const
|
|
28522
|
+
const contract2 = new Contract(ensAddr, [
|
|
28523
28523
|
"function resolver(bytes32) view returns (address)"
|
|
28524
28524
|
], provider);
|
|
28525
|
-
const addr = await
|
|
28525
|
+
const addr = await contract2.resolver(namehash(name), {
|
|
28526
28526
|
enableCcipRead: true
|
|
28527
28527
|
});
|
|
28528
28528
|
if (addr === ZeroAddress) {
|
|
@@ -34869,6 +34869,10 @@ var Runtime = {
|
|
|
34869
34869
|
};
|
|
34870
34870
|
|
|
34871
34871
|
// config.ts
|
|
34872
|
+
var DEFAULT_RPC_URLS = {
|
|
34873
|
+
"monad-testnet": "https://testnet-rpc.monad.xyz",
|
|
34874
|
+
"monad-testnet-staging": "https://testnet-rpc.monad.xyz"
|
|
34875
|
+
};
|
|
34872
34876
|
var CONFIG_URL = "https://config.unlink.xyz/networks.json";
|
|
34873
34877
|
function parseRequiredString(chain2, field, value) {
|
|
34874
34878
|
if (typeof value !== "string" || value.trim().length === 0) {
|
|
@@ -34918,6 +34922,11 @@ function parseChainConfig(chain2, value) {
|
|
|
34918
34922
|
"artifactVersion",
|
|
34919
34923
|
raw.artifactVersion
|
|
34920
34924
|
).replace(/^\/+|\/+$/g, "");
|
|
34925
|
+
const adapterAddress = parseOptionalString(
|
|
34926
|
+
chain2,
|
|
34927
|
+
"adapterAddress",
|
|
34928
|
+
raw.adapterAddress
|
|
34929
|
+
);
|
|
34921
34930
|
const frostUrl = parseOptionalString(
|
|
34922
34931
|
chain2,
|
|
34923
34932
|
"frostUrl",
|
|
@@ -34928,13 +34937,33 @@ function parseChainConfig(chain2, value) {
|
|
|
34928
34937
|
"artifactBaseUrl",
|
|
34929
34938
|
raw.artifactBaseUrl
|
|
34930
34939
|
)?.replace(/\/+$/, "");
|
|
34940
|
+
let tokenAddresses;
|
|
34941
|
+
if (raw.tokenAddresses !== void 0) {
|
|
34942
|
+
if (raw.tokenAddresses === null || typeof raw.tokenAddresses !== "object" || Array.isArray(raw.tokenAddresses)) {
|
|
34943
|
+
throw new InitializationError(
|
|
34944
|
+
`Invalid SDK config for ${chain2}: tokenAddresses must be an object`
|
|
34945
|
+
);
|
|
34946
|
+
}
|
|
34947
|
+
tokenAddresses = {};
|
|
34948
|
+
for (const [name, addr] of Object.entries(
|
|
34949
|
+
raw.tokenAddresses
|
|
34950
|
+
)) {
|
|
34951
|
+
tokenAddresses[name] = parseRequiredString(
|
|
34952
|
+
chain2,
|
|
34953
|
+
`tokenAddresses.${name}`,
|
|
34954
|
+
addr
|
|
34955
|
+
);
|
|
34956
|
+
}
|
|
34957
|
+
}
|
|
34931
34958
|
return {
|
|
34932
34959
|
chainId,
|
|
34933
34960
|
gatewayUrl,
|
|
34934
34961
|
...frostUrl !== void 0 ? { frostUrl } : {},
|
|
34935
34962
|
poolAddress,
|
|
34963
|
+
...adapterAddress !== void 0 ? { adapterAddress } : {},
|
|
34936
34964
|
artifactVersion,
|
|
34937
|
-
...artifactBaseUrl !== void 0 ? { artifactBaseUrl } : { artifactBaseUrl: DEFAULT_ARTIFACT_BASE_URL }
|
|
34965
|
+
...artifactBaseUrl !== void 0 ? { artifactBaseUrl } : { artifactBaseUrl: DEFAULT_ARTIFACT_BASE_URL },
|
|
34966
|
+
...tokenAddresses !== void 0 ? { tokenAddresses } : {}
|
|
34938
34967
|
};
|
|
34939
34968
|
}
|
|
34940
34969
|
async function fetchChainConfig(chain2) {
|
|
@@ -53345,7 +53374,7 @@ function buildCall(params) {
|
|
|
53345
53374
|
}
|
|
53346
53375
|
return { to, data, value };
|
|
53347
53376
|
}
|
|
53348
|
-
function
|
|
53377
|
+
function approve(token, spender, amount) {
|
|
53349
53378
|
const normalizedToken = ensureAddress("token", token);
|
|
53350
53379
|
const normalizedSpender = ensureAddress("spender", spender);
|
|
53351
53380
|
const normalizedAmount = ensureNonNegative("amount", amount);
|
|
@@ -53359,6 +53388,44 @@ function buildApproveCall(token, spender, amount) {
|
|
|
53359
53388
|
value: 0n
|
|
53360
53389
|
};
|
|
53361
53390
|
}
|
|
53391
|
+
function toCall(tx) {
|
|
53392
|
+
if (tx.to == null) {
|
|
53393
|
+
throw new AdapterError("tx.to is required");
|
|
53394
|
+
}
|
|
53395
|
+
const to = ensureAddress("tx.to", tx.to);
|
|
53396
|
+
if (tx.data == null) {
|
|
53397
|
+
throw new AdapterError("tx.data is required");
|
|
53398
|
+
}
|
|
53399
|
+
const data = ensureHexData("tx.data", tx.data);
|
|
53400
|
+
let value;
|
|
53401
|
+
if (tx.value == null) {
|
|
53402
|
+
value = 0n;
|
|
53403
|
+
} else {
|
|
53404
|
+
try {
|
|
53405
|
+
value = BigInt(tx.value);
|
|
53406
|
+
} catch {
|
|
53407
|
+
throw new AdapterError(
|
|
53408
|
+
`tx.value must be convertible to bigint, received: ${String(tx.value)}`
|
|
53409
|
+
);
|
|
53410
|
+
}
|
|
53411
|
+
}
|
|
53412
|
+
return { to, data, value: ensureNonNegative("tx.value", value) };
|
|
53413
|
+
}
|
|
53414
|
+
function contract(address, abi) {
|
|
53415
|
+
const to = ensureAddress("contract.address", address);
|
|
53416
|
+
const iface = new Interface(abi);
|
|
53417
|
+
return new Proxy(
|
|
53418
|
+
{},
|
|
53419
|
+
{
|
|
53420
|
+
get(_, method) {
|
|
53421
|
+
return (...args) => {
|
|
53422
|
+
const data = iface.encodeFunctionData(method, args);
|
|
53423
|
+
return { to, data, value: 0n };
|
|
53424
|
+
};
|
|
53425
|
+
}
|
|
53426
|
+
}
|
|
53427
|
+
);
|
|
53428
|
+
}
|
|
53362
53429
|
function encodeAdapterExecute(params) {
|
|
53363
53430
|
const transactCalldata = ensureHexData(
|
|
53364
53431
|
"transactCalldata",
|
|
@@ -53382,6 +53449,7 @@ function encodeAdapterExecute(params) {
|
|
|
53382
53449
|
deadline
|
|
53383
53450
|
]);
|
|
53384
53451
|
}
|
|
53452
|
+
var buildApproveCall = approve;
|
|
53385
53453
|
|
|
53386
53454
|
// transactions/transaction-planner.ts
|
|
53387
53455
|
init_process();
|
|
@@ -54499,7 +54567,7 @@ function createNoteSyncService(stateStore, options = {}) {
|
|
|
54499
54567
|
};
|
|
54500
54568
|
}
|
|
54501
54569
|
|
|
54502
|
-
// wallet/unlink
|
|
54570
|
+
// wallet/unlink.ts
|
|
54503
54571
|
init_process();
|
|
54504
54572
|
init_buffer();
|
|
54505
54573
|
|
|
@@ -54796,26 +54864,34 @@ function normalizeCall2(call, index) {
|
|
|
54796
54864
|
value: call.value
|
|
54797
54865
|
};
|
|
54798
54866
|
}
|
|
54799
|
-
function
|
|
54800
|
-
const token = ensureAddress(`
|
|
54867
|
+
function normalizeSpendInput(input, index) {
|
|
54868
|
+
const token = ensureAddress(`spend[${index}].token`, input.token);
|
|
54869
|
+
if (token.toLowerCase() === ETH_TOKEN.toLowerCase()) {
|
|
54870
|
+
throw new AdapterError(
|
|
54871
|
+
`spend[${index}].token: native ETH is not supported in adapter execution`
|
|
54872
|
+
);
|
|
54873
|
+
}
|
|
54801
54874
|
if (input.amount <= 0n) {
|
|
54802
|
-
throw new AdapterError(`
|
|
54875
|
+
throw new AdapterError(`spend[${index}].amount must be greater than zero`);
|
|
54803
54876
|
}
|
|
54804
54877
|
return {
|
|
54805
54878
|
token,
|
|
54806
54879
|
amount: input.amount
|
|
54807
54880
|
};
|
|
54808
54881
|
}
|
|
54809
|
-
function
|
|
54810
|
-
const token = ensureAddress(`
|
|
54811
|
-
if (
|
|
54882
|
+
function normalizeReceiveInput(receive, index) {
|
|
54883
|
+
const token = ensureAddress(`receive[${index}].token`, receive.token);
|
|
54884
|
+
if (token.toLowerCase() === ETH_TOKEN.toLowerCase()) {
|
|
54812
54885
|
throw new AdapterError(
|
|
54813
|
-
`
|
|
54886
|
+
`receive[${index}].token: native ETH is not supported in adapter execution`
|
|
54814
54887
|
);
|
|
54815
54888
|
}
|
|
54889
|
+
if (receive.minAmount < 0n) {
|
|
54890
|
+
throw new AdapterError(`receive[${index}].minAmount must be non-negative`);
|
|
54891
|
+
}
|
|
54816
54892
|
return {
|
|
54817
54893
|
token,
|
|
54818
|
-
minAmount:
|
|
54894
|
+
minAmount: receive.minAmount
|
|
54819
54895
|
};
|
|
54820
54896
|
}
|
|
54821
54897
|
function randomFieldElement(randomBigintFn) {
|
|
@@ -54835,41 +54911,41 @@ function createAdapterService(deps) {
|
|
|
54835
54911
|
"adapterAddress",
|
|
54836
54912
|
params.adapterAddress
|
|
54837
54913
|
);
|
|
54838
|
-
if (!params.
|
|
54839
|
-
throw new AdapterError("at least one
|
|
54914
|
+
if (!params.spend.length) {
|
|
54915
|
+
throw new AdapterError("at least one spend token is required");
|
|
54840
54916
|
}
|
|
54841
54917
|
if (!params.calls.length) {
|
|
54842
54918
|
throw new AdapterError("at least one adapter call is required");
|
|
54843
54919
|
}
|
|
54844
|
-
if (!params.
|
|
54845
|
-
throw new AdapterError("at least one
|
|
54920
|
+
if (!params.receive.length) {
|
|
54921
|
+
throw new AdapterError("at least one receive output is required");
|
|
54846
54922
|
}
|
|
54847
|
-
const
|
|
54848
|
-
(input, i) =>
|
|
54923
|
+
const spendInputs = params.spend.map(
|
|
54924
|
+
(input, i) => normalizeSpendInput(input, i)
|
|
54849
54925
|
);
|
|
54850
54926
|
const seenTokens = /* @__PURE__ */ new Set();
|
|
54851
|
-
for (const input of
|
|
54927
|
+
for (const input of spendInputs) {
|
|
54852
54928
|
const lower = input.token.toLowerCase();
|
|
54853
54929
|
if (seenTokens.has(lower)) {
|
|
54854
54930
|
throw new AdapterError(
|
|
54855
|
-
`duplicate
|
|
54931
|
+
`duplicate spend token ${input.token}; combine amounts per token instead`
|
|
54856
54932
|
);
|
|
54857
54933
|
}
|
|
54858
54934
|
seenTokens.add(lower);
|
|
54859
54935
|
}
|
|
54860
54936
|
const calls = params.calls.map((call, i) => normalizeCall2(call, i));
|
|
54861
|
-
const
|
|
54862
|
-
(
|
|
54937
|
+
const receiveSpecs = params.receive.map(
|
|
54938
|
+
(receive, i) => normalizeReceiveInput(receive, i)
|
|
54863
54939
|
);
|
|
54864
|
-
const
|
|
54865
|
-
for (const r2 of
|
|
54940
|
+
const seenReceiveTokens = /* @__PURE__ */ new Set();
|
|
54941
|
+
for (const r2 of receiveSpecs) {
|
|
54866
54942
|
const lower = r2.token.toLowerCase();
|
|
54867
|
-
if (
|
|
54943
|
+
if (seenReceiveTokens.has(lower)) {
|
|
54868
54944
|
throw new AdapterError(
|
|
54869
|
-
`duplicate
|
|
54945
|
+
`duplicate receive token ${r2.token}; each receive must target a unique token`
|
|
54870
54946
|
);
|
|
54871
54947
|
}
|
|
54872
|
-
|
|
54948
|
+
seenReceiveTokens.add(lower);
|
|
54873
54949
|
}
|
|
54874
54950
|
const account = overrides?.account ?? await deps.requireActiveAccount();
|
|
54875
54951
|
const signer = overrides?.signer ?? deps.requireSigner(account);
|
|
@@ -54879,19 +54955,19 @@ function createAdapterService(deps) {
|
|
|
54879
54955
|
throw new AdapterError("deadline must be in the future");
|
|
54880
54956
|
}
|
|
54881
54957
|
const executionCalls = calls;
|
|
54882
|
-
const reshields =
|
|
54883
|
-
(
|
|
54958
|
+
const reshields = receiveSpecs.map(
|
|
54959
|
+
(receive) => {
|
|
54884
54960
|
const random = randomFieldElement(randomBigintImpl);
|
|
54885
54961
|
const npk = poseidon([account.masterPublicKey, random]);
|
|
54886
54962
|
return {
|
|
54887
54963
|
npk,
|
|
54888
54964
|
random,
|
|
54889
|
-
token:
|
|
54890
|
-
minAmount:
|
|
54965
|
+
token: receive.token,
|
|
54966
|
+
minAmount: receive.minAmount
|
|
54891
54967
|
};
|
|
54892
54968
|
}
|
|
54893
54969
|
);
|
|
54894
|
-
const inputTokens =
|
|
54970
|
+
const inputTokens = spendInputs.map((input) => input.token);
|
|
54895
54971
|
const nonce = randomFieldElement(randomBigintImpl);
|
|
54896
54972
|
const adapterDataHash = computeAdapterDataHash({
|
|
54897
54973
|
calls: executionCalls,
|
|
@@ -54908,7 +54984,7 @@ function createAdapterService(deps) {
|
|
|
54908
54984
|
});
|
|
54909
54985
|
const withdrawalPlans = planWithdrawalsImpl(
|
|
54910
54986
|
notes,
|
|
54911
|
-
|
|
54987
|
+
spendInputs.map((input) => ({
|
|
54912
54988
|
token: input.token,
|
|
54913
54989
|
amount: input.amount,
|
|
54914
54990
|
recipient: adapterAddress
|
|
@@ -54991,7 +55067,7 @@ function createAdapterService(deps) {
|
|
|
54991
55067
|
adapterCalldata,
|
|
54992
55068
|
historyPreview: {
|
|
54993
55069
|
kind: "Withdraw",
|
|
54994
|
-
amounts:
|
|
55070
|
+
amounts: spendInputs.map((input) => ({
|
|
54995
55071
|
token: input.token,
|
|
54996
55072
|
delta: (-input.amount).toString()
|
|
54997
55073
|
}))
|
|
@@ -55013,6 +55089,9 @@ init_process();
|
|
|
55013
55089
|
init_buffer();
|
|
55014
55090
|
var BIP44_ETH_PREFIX = "m/44'/60'/0'/0";
|
|
55015
55091
|
var ERC20_BALANCE_OF = "function balanceOf(address) view returns (uint256)";
|
|
55092
|
+
function isNativeToken(token) {
|
|
55093
|
+
return token.toLowerCase() === ETH_TOKEN.toLowerCase();
|
|
55094
|
+
}
|
|
55016
55095
|
function createBurnerService(deps) {
|
|
55017
55096
|
const { chainRpcUrl, getMasterSeed, withdrawToAddress, requestDeposit } = deps;
|
|
55018
55097
|
const provider = new JsonRpcProvider(chainRpcUrl);
|
|
@@ -55060,8 +55139,8 @@ function createBurnerService(deps) {
|
|
|
55060
55139
|
}
|
|
55061
55140
|
async function getTokenBalance(address, token) {
|
|
55062
55141
|
const iface = new Interface([ERC20_BALANCE_OF]);
|
|
55063
|
-
const
|
|
55064
|
-
const bal = await
|
|
55142
|
+
const contract2 = new Contract(token, iface, provider);
|
|
55143
|
+
const bal = await contract2.getFunction("balanceOf")(address);
|
|
55065
55144
|
return BigInt(bal ?? 0);
|
|
55066
55145
|
}
|
|
55067
55146
|
async function getBalance(address) {
|
|
@@ -55080,6 +55159,12 @@ function createBurnerService(deps) {
|
|
|
55080
55159
|
}
|
|
55081
55160
|
async function sweepToPool(index, params) {
|
|
55082
55161
|
const { address } = await addressOf(index);
|
|
55162
|
+
const native = isNativeToken(params.token);
|
|
55163
|
+
if (native && params.amount == null) {
|
|
55164
|
+
throw new Error(
|
|
55165
|
+
"amount is required for native ETH sweeps (needed to reserve gas)"
|
|
55166
|
+
);
|
|
55167
|
+
}
|
|
55083
55168
|
const amount = params.amount ?? await getTokenBalance(address, params.token);
|
|
55084
55169
|
if (amount === 0n) {
|
|
55085
55170
|
throw new Error("No token balance to sweep");
|
|
@@ -55090,17 +55175,20 @@ function createBurnerService(deps) {
|
|
|
55090
55175
|
depositor: address,
|
|
55091
55176
|
deposits: [{ token: params.token, amount }]
|
|
55092
55177
|
});
|
|
55093
|
-
|
|
55094
|
-
|
|
55095
|
-
|
|
55096
|
-
|
|
55097
|
-
|
|
55098
|
-
|
|
55099
|
-
|
|
55100
|
-
|
|
55178
|
+
if (!native) {
|
|
55179
|
+
const erc20Iface = new Interface([
|
|
55180
|
+
"function approve(address spender, uint256 amount)"
|
|
55181
|
+
]);
|
|
55182
|
+
const approveData = erc20Iface.encodeFunctionData("approve", [
|
|
55183
|
+
params.poolAddress,
|
|
55184
|
+
amount
|
|
55185
|
+
]);
|
|
55186
|
+
await send(index, { to: params.token, data: approveData });
|
|
55187
|
+
}
|
|
55101
55188
|
const { txHash } = await send(index, {
|
|
55102
55189
|
to: depositResult.to,
|
|
55103
|
-
data: depositResult.calldata
|
|
55190
|
+
data: depositResult.calldata,
|
|
55191
|
+
value: depositResult.value
|
|
55104
55192
|
});
|
|
55105
55193
|
return { txHash };
|
|
55106
55194
|
}
|
|
@@ -55810,21 +55898,27 @@ async function createBrowserWalletSDK(options) {
|
|
|
55810
55898
|
};
|
|
55811
55899
|
}
|
|
55812
55900
|
|
|
55813
|
-
// wallet/unlink
|
|
55814
|
-
var
|
|
55901
|
+
// wallet/unlink.ts
|
|
55902
|
+
var Unlink = class _Unlink {
|
|
55815
55903
|
/** @internal */
|
|
55816
55904
|
sdk;
|
|
55817
55905
|
/** Chain ID this wallet operates on. */
|
|
55818
55906
|
chainId;
|
|
55819
55907
|
/** Pool contract address this wallet transacts with. */
|
|
55820
55908
|
poolAddress;
|
|
55821
|
-
|
|
55909
|
+
/** Adapter contract address for DeFi operations. */
|
|
55910
|
+
adapterAddress;
|
|
55911
|
+
constructor(sdk, chainId, poolAddress, adapterAddress) {
|
|
55822
55912
|
this.sdk = sdk;
|
|
55823
55913
|
this.chainId = chainId;
|
|
55824
55914
|
this.poolAddress = poolAddress;
|
|
55915
|
+
this.adapterAddress = adapterAddress;
|
|
55916
|
+
this.adapter = {
|
|
55917
|
+
address: adapterAddress
|
|
55918
|
+
};
|
|
55825
55919
|
}
|
|
55826
55920
|
/**
|
|
55827
|
-
* Create a new
|
|
55921
|
+
* Create a new Unlink instance.
|
|
55828
55922
|
*
|
|
55829
55923
|
* Handles all initialization internally:
|
|
55830
55924
|
* - Resolves chain config (if using `chain` instead of explicit URLs)
|
|
@@ -55836,12 +55930,14 @@ var UnlinkWallet = class _UnlinkWallet {
|
|
|
55836
55930
|
let chainId;
|
|
55837
55931
|
let gatewayUrl;
|
|
55838
55932
|
let poolAddress;
|
|
55933
|
+
let adapterAddress;
|
|
55839
55934
|
let proverConfig = config2.prover;
|
|
55840
55935
|
if ("chain" in config2) {
|
|
55841
55936
|
const chainConfig = await fetchChainConfig(config2.chain);
|
|
55842
55937
|
chainId = chainConfig.chainId;
|
|
55843
55938
|
gatewayUrl = chainConfig.gatewayUrl;
|
|
55844
55939
|
poolAddress = config2.poolAddress ?? chainConfig.poolAddress;
|
|
55940
|
+
adapterAddress = config2.adapterAddress ?? chainConfig.adapterAddress;
|
|
55845
55941
|
proverConfig = {
|
|
55846
55942
|
artifactSource: {
|
|
55847
55943
|
baseUrl: config2.prover?.artifactSource?.baseUrl ?? chainConfig.artifactBaseUrl,
|
|
@@ -55853,6 +55949,7 @@ var UnlinkWallet = class _UnlinkWallet {
|
|
|
55853
55949
|
chainId = config2.chainId;
|
|
55854
55950
|
gatewayUrl = config2.gatewayUrl;
|
|
55855
55951
|
poolAddress = config2.poolAddress;
|
|
55952
|
+
adapterAddress = config2.adapterAddress;
|
|
55856
55953
|
if (typeof window !== "undefined" && !config2.prover?.artifactSource?.version) {
|
|
55857
55954
|
throw new InitializationError(
|
|
55858
55955
|
"prover.artifactSource.version is required in browser when using explicit gatewayUrl mode. Use chain mode or provide a pinned artifact version."
|
|
@@ -55873,7 +55970,7 @@ var UnlinkWallet = class _UnlinkWallet {
|
|
|
55873
55970
|
autoSync: config2.autoSync
|
|
55874
55971
|
}
|
|
55875
55972
|
);
|
|
55876
|
-
return new
|
|
55973
|
+
return new _Unlink(sdk, chainId, poolAddress, adapterAddress ?? "");
|
|
55877
55974
|
}
|
|
55878
55975
|
// ===== Seed Lifecycle =====
|
|
55879
55976
|
/** Seed management (create, import, export, delete mnemonic). */
|
|
@@ -55904,10 +56001,10 @@ var UnlinkWallet = class _UnlinkWallet {
|
|
|
55904
56001
|
return this.sdk.deposit.reconcile(relayId);
|
|
55905
56002
|
}
|
|
55906
56003
|
/**
|
|
55907
|
-
*
|
|
56004
|
+
* Send a private transfer (1 or more recipients).
|
|
55908
56005
|
* Handles note selection, circuit selection, and proof generation automatically.
|
|
55909
56006
|
*/
|
|
55910
|
-
async
|
|
56007
|
+
async send(params, overrides) {
|
|
55911
56008
|
return this.sdk.transfer.send(
|
|
55912
56009
|
{
|
|
55913
56010
|
chainId: this.chainId,
|
|
@@ -55918,9 +56015,9 @@ var UnlinkWallet = class _UnlinkWallet {
|
|
|
55918
56015
|
);
|
|
55919
56016
|
}
|
|
55920
56017
|
/**
|
|
55921
|
-
* Get a
|
|
56018
|
+
* Get a send plan without executing (for preview/confirmation UIs).
|
|
55922
56019
|
*/
|
|
55923
|
-
async
|
|
56020
|
+
async planSend(params, account) {
|
|
55924
56021
|
return this.sdk.transfer.plan(
|
|
55925
56022
|
{
|
|
55926
56023
|
chainId: this.chainId,
|
|
@@ -55930,8 +56027,8 @@ var UnlinkWallet = class _UnlinkWallet {
|
|
|
55930
56027
|
account
|
|
55931
56028
|
);
|
|
55932
56029
|
}
|
|
55933
|
-
/** Execute a pre-built
|
|
55934
|
-
async
|
|
56030
|
+
/** Execute a pre-built send plan. */
|
|
56031
|
+
async executeSend(plans, overrides) {
|
|
55935
56032
|
return this.sdk.transfer.execute(
|
|
55936
56033
|
plans,
|
|
55937
56034
|
{ chainId: this.chainId, poolAddress: this.poolAddress },
|
|
@@ -56080,31 +56177,31 @@ var UnlinkWallet = class _UnlinkWallet {
|
|
|
56080
56177
|
return this.sdk.burner.getBalance(address);
|
|
56081
56178
|
}
|
|
56082
56179
|
};
|
|
56083
|
-
// =====
|
|
56180
|
+
// ===== Interact (Private DeFi) =====
|
|
56084
56181
|
/**
|
|
56085
|
-
*
|
|
56086
|
-
*
|
|
56182
|
+
* Adapter contract address (resolved from config).
|
|
56183
|
+
* Use for building DeFi calls that reference the adapter.
|
|
56087
56184
|
*/
|
|
56088
|
-
adapter
|
|
56089
|
-
|
|
56090
|
-
|
|
56091
|
-
|
|
56092
|
-
|
|
56093
|
-
|
|
56094
|
-
|
|
56095
|
-
|
|
56096
|
-
|
|
56097
|
-
|
|
56098
|
-
|
|
56099
|
-
|
|
56100
|
-
|
|
56101
|
-
|
|
56102
|
-
|
|
56103
|
-
|
|
56104
|
-
|
|
56105
|
-
|
|
56106
|
-
|
|
56107
|
-
}
|
|
56185
|
+
adapter;
|
|
56186
|
+
/**
|
|
56187
|
+
* Execute an atomic unshield -> DeFi call(s) -> reshield flow through an adapter.
|
|
56188
|
+
* chainId/poolAddress/adapterAddress are injected automatically.
|
|
56189
|
+
*/
|
|
56190
|
+
async interact(params, opts, overrides) {
|
|
56191
|
+
return this.sdk.adapter.execute(
|
|
56192
|
+
{
|
|
56193
|
+
chainId: this.chainId,
|
|
56194
|
+
poolAddress: this.poolAddress,
|
|
56195
|
+
adapterAddress: this.adapterAddress,
|
|
56196
|
+
spend: params.spend,
|
|
56197
|
+
calls: params.calls,
|
|
56198
|
+
receive: params.receive,
|
|
56199
|
+
deadline: params.deadline
|
|
56200
|
+
},
|
|
56201
|
+
opts,
|
|
56202
|
+
overrides
|
|
56203
|
+
);
|
|
56204
|
+
}
|
|
56108
56205
|
// ===== Advanced =====
|
|
56109
56206
|
/**
|
|
56110
56207
|
* Advanced escape hatch for raw JoinSplit transaction building.
|
|
@@ -56152,12 +56249,14 @@ var defaultRng = (n2) => {
|
|
|
56152
56249
|
}
|
|
56153
56250
|
return globalThis.crypto.getRandomValues(new Uint8Array(n2));
|
|
56154
56251
|
};
|
|
56252
|
+
var UnlinkWallet = Unlink;
|
|
56155
56253
|
export {
|
|
56156
56254
|
ADAPTER_EXECUTE_ABI,
|
|
56157
56255
|
AdapterError,
|
|
56158
56256
|
CORE_SCHEMA_VERSION,
|
|
56159
56257
|
CoreError,
|
|
56160
56258
|
DEFAULT_JOB_TIMEOUT_MS,
|
|
56259
|
+
DEFAULT_RPC_URLS,
|
|
56161
56260
|
DEPOSIT_ABI,
|
|
56162
56261
|
ETH_TOKEN,
|
|
56163
56262
|
FieldSize,
|
|
@@ -56175,8 +56274,10 @@ export {
|
|
|
56175
56274
|
ReconcileError,
|
|
56176
56275
|
SNARK_SCALAR_FIELD,
|
|
56177
56276
|
SchemaMismatchError,
|
|
56277
|
+
Unlink,
|
|
56178
56278
|
UnlinkWallet,
|
|
56179
56279
|
ValidationError,
|
|
56280
|
+
approve,
|
|
56180
56281
|
assertNonNegative,
|
|
56181
56282
|
buildApproveCall,
|
|
56182
56283
|
buildCall,
|
|
@@ -56186,6 +56287,7 @@ export {
|
|
|
56186
56287
|
computeCommitment,
|
|
56187
56288
|
computeMasterPublicKey,
|
|
56188
56289
|
computeNullifyingKey,
|
|
56290
|
+
contract,
|
|
56189
56291
|
createBroadcasterClient,
|
|
56190
56292
|
createBrowserWalletSDK,
|
|
56191
56293
|
createCiphertextStore,
|
|
@@ -56258,6 +56360,7 @@ export {
|
|
|
56258
56360
|
syncDeposit,
|
|
56259
56361
|
syncTransact,
|
|
56260
56362
|
toAccountView,
|
|
56363
|
+
toCall,
|
|
56261
56364
|
transact,
|
|
56262
56365
|
validateKey,
|
|
56263
56366
|
verifySignature,
|