FRE-600: Fix code review blockers

- Consolidated duplicate UndoManagers to single instance
- Fixed connection promise to only resolve on 'connected' status
- Fixed WebSocketProvider import (WebsocketProvider)
- Added proper doc.destroy() cleanup
- Renamed isPresenceInitialized property to avoid conflict

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
2026-04-25 00:08:01 -04:00
parent 65b552bb08
commit 7c684a42cc
48450 changed files with 5679671 additions and 383 deletions

View File

@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.writeContracts = writeContracts;
const sendCalls_js_1 = require("../../../actions/wallet/sendCalls.js");
const encodeFunctionData_js_1 = require("../../../utils/abi/encodeFunctionData.js");
const getAction_js_1 = require("../../../utils/getAction.js");
async function writeContracts(client, parameters) {
const contracts = parameters.contracts;
const calls = contracts.map((contract) => {
const { address, abi, functionName, args, value } = contract;
return {
data: (0, encodeFunctionData_js_1.encodeFunctionData)({
abi,
functionName,
args,
}),
to: address,
value,
};
});
return (0, getAction_js_1.getAction)(client, sendCalls_js_1.sendCalls, 'sendCalls')({ ...parameters, calls });
}
//# sourceMappingURL=writeContracts.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"writeContracts.js","sourceRoot":"","sources":["../../../../experimental/eip5792/actions/writeContracts.ts"],"names":[],"mappings":";;AAgGA,wCAgCC;AA5HD,uEAK6C;AAc7C,oFAGiD;AACjD,8DAAuD;AAqEhD,KAAK,UAAU,cAAc,CAMlC,MAAgC,EAChC,UAKC;IAED,MAAM,SAAS,GAAG,UAAU,CAAC,SAA8C,CAAA;IAC3E,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACvC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAA;QAC5D,OAAO;YACL,IAAI,EAAE,IAAA,0CAAkB,EAAC;gBACvB,GAAG;gBACH,YAAY;gBACZ,IAAI;aACL,CAAC;YACF,EAAE,EAAE,OAAO;YACX,KAAK;SACyC,CAAA;IAClD,CAAC,CAAC,CAAA;IACF,OAAO,IAAA,wBAAS,EACd,MAAM,EACN,wBAAS,EACT,WAAW,CACZ,CAAC,EAAE,GAAG,UAAU,EAAE,KAAK,EAAyB,CAAC,CAAA;AACpD,CAAC"}

View File

@@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.eip5792Actions = eip5792Actions;
const getCallsStatus_js_1 = require("../../../actions/wallet/getCallsStatus.js");
const getCapabilities_js_1 = require("../../../actions/wallet/getCapabilities.js");
const sendCalls_js_1 = require("../../../actions/wallet/sendCalls.js");
const showCallsStatus_js_1 = require("../../../actions/wallet/showCallsStatus.js");
const waitForCallsStatus_js_1 = require("../../../actions/wallet/waitForCallsStatus.js");
const writeContracts_js_1 = require("../actions/writeContracts.js");
function eip5792Actions() {
return (client) => {
return {
getCallsStatus: (parameters) => (0, getCallsStatus_js_1.getCallsStatus)(client, parameters),
getCapabilities: ((parameters) => (0, getCapabilities_js_1.getCapabilities)(client, parameters)),
sendCalls: (parameters) => (0, sendCalls_js_1.sendCalls)(client, parameters),
showCallsStatus: (parameters) => (0, showCallsStatus_js_1.showCallsStatus)(client, parameters),
waitForCallsStatus: (parameters) => (0, waitForCallsStatus_js_1.waitForCallsStatus)(client, parameters),
writeContracts: (parameters) => (0, writeContracts_js_1.writeContracts)(client, parameters),
};
};
}
//# sourceMappingURL=eip5792.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"eip5792.js","sourceRoot":"","sources":["../../../../experimental/eip5792/decorators/eip5792.ts"],"names":[],"mappings":";;AA8PA,wCAmBC;AA/QD,iFAIkD;AAClD,mFAImD;AACnD,uEAI6C;AAC7C,mFAImD;AACnD,yFAIsD;AAKtD,oEAIqC;AA2NrC,SAAgB,cAAc;IAC5B,OAAO,CAKL,MAAyC,EACT,EAAE;QAClC,OAAO;YACL,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,kCAAc,EAAC,MAAM,EAAE,UAAU,CAAC;YAClE,eAAe,EAAE,CAAC,CAAC,UAAe,EAAE,EAAE,CACpC,IAAA,oCAAe,EAAC,MAAa,EAAE,UAAU,CAAC,CAAQ;YACpD,SAAS,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,wBAAS,EAAC,MAAM,EAAE,UAAU,CAAC;YACxD,eAAe,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,oCAAe,EAAC,MAAM,EAAE,UAAU,CAAC;YACpE,kBAAkB,EAAE,CAAC,UAAU,EAAE,EAAE,CACjC,IAAA,0CAAkB,EAAC,MAAM,EAAE,UAAU,CAAC;YACxC,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,kCAAc,EAAC,MAAM,EAAE,UAAU,CAAC;SACnE,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}

View File

@@ -0,0 +1,94 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.grantPermissions = grantPermissions;
const index_js_1 = require("../../../utils/index.js");
async function grantPermissions(client, parameters) {
const { account, expiry, permissions, signer } = parameters;
const result = await client.request({
method: 'wallet_grantPermissions',
params: [
formatParameters({ account, expiry, permissions, signer }),
],
}, { retryCount: 0 });
return formatRequest(result);
}
function formatParameters(parameters) {
const { expiry, permissions, signer: signer_ } = parameters;
const account = parameters.account
? (0, index_js_1.parseAccount)(parameters.account)
: undefined;
const signer = (() => {
if (!account && !signer_)
return undefined;
if (account?.type === 'json-rpc')
return {
type: 'wallet',
};
if (account?.type === 'local')
return {
type: 'account',
data: {
id: account.address,
},
};
return signer_;
})();
return {
expiry,
permissions: permissions.map((permission) => ({
...permission,
policies: permission.policies.map((policy) => {
const data = (() => {
if (policy.type === 'token-allowance')
return {
allowance: (0, index_js_1.numberToHex)(policy.data.allowance),
};
if (policy.type === 'gas-limit')
return {
limit: (0, index_js_1.numberToHex)(policy.data.limit),
};
return policy.data;
})();
return {
data,
type: typeof policy.type === 'string' ? policy.type : policy.type.custom,
};
}),
required: permission.required ?? false,
type: typeof permission.type === 'string'
? permission.type
: permission.type.custom,
})),
...(signer ? { signer } : {}),
};
}
function formatRequest(result) {
return {
expiry: result.expiry,
...(result.factory ? { factory: result.factory } : {}),
...(result.factoryData ? { factoryData: result.factoryData } : {}),
grantedPermissions: result.grantedPermissions.map((permission) => ({
...permission,
policies: permission.policies.map((policy) => {
const data = (() => {
if (policy.type === 'token-allowance')
return {
allowance: BigInt(policy.data.allowance),
};
if (policy.type === 'gas-limit')
return {
limit: BigInt(policy.data.limit),
};
return policy.data;
})();
return {
data,
type: policy.type,
};
}),
})),
permissionsContext: result.permissionsContext,
...(result.signerData ? { signerData: result.signerData } : {}),
};
}
//# sourceMappingURL=grantPermissions.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"grantPermissions.js","sourceRoot":"","sources":["../../../../experimental/erc7715/actions/grantPermissions.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.erc7715Actions = erc7715Actions;
const grantPermissions_js_1 = require("../actions/grantPermissions.js");
function erc7715Actions() {
return (client) => {
return {
grantPermissions: (parameters) => (0, grantPermissions_js_1.grantPermissions)(client, parameters),
};
};
}
//# sourceMappingURL=erc7715.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"erc7715.js","sourceRoot":"","sources":["../../../../experimental/erc7715/decorators/erc7715.ts"],"names":[],"mappings":";;AAmEA,wCAYC;AA3ED,wEAIuC;AA2DvC,SAAgB,cAAc;IAC5B,OAAO,CAKL,MAAyC,EACzB,EAAE;QAClB,OAAO;YACL,gBAAgB,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,sCAAgB,EAAC,MAAM,EAAE,UAAU,CAAC;SACvE,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=permission.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"permission.js","sourceRoot":"","sources":["../../../../experimental/erc7715/types/permission.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=policy.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../experimental/erc7715/types/policy.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=signer.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"signer.js","sourceRoot":"","sources":["../../../../experimental/erc7715/types/signer.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,39 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.signMessage = signMessage;
const parseAccount_js_1 = require("../../../accounts/utils/parseAccount.js");
const getEip712Domain_js_1 = require("../../../actions/public/getEip712Domain.js");
const signTypedData_js_1 = require("../../../actions/wallet/signTypedData.js");
const account_js_1 = require("../../../errors/account.js");
const getAction_js_1 = require("../../../utils/getAction.js");
const toPrefixedMessage_js_1 = require("../../../utils/signature/toPrefixedMessage.js");
async function signMessage(client, parameters) {
const { account: account_ = client.account, factory, factoryData, message, verifier, } = parameters;
if (!account_)
throw new account_js_1.AccountNotFoundError({
docsPath: '/experimental/erc7739/signMessage',
});
const account = (0, parseAccount_js_1.parseAccount)(account_);
const { salt: _, ...domain } = await (async () => {
if (parameters.verifierDomain)
return parameters.verifierDomain;
const { domain } = await (0, getAction_js_1.getAction)(client, getEip712Domain_js_1.getEip712Domain, 'getEip712Domain')({
address: verifier,
factory,
factoryData,
});
return domain;
})();
return (0, getAction_js_1.getAction)(client, signTypedData_js_1.signTypedData, 'signTypedData')({
account,
domain,
types: {
PersonalSign: [{ name: 'prefixed', type: 'bytes' }],
},
primaryType: 'PersonalSign',
message: {
prefixed: (0, toPrefixedMessage_js_1.toPrefixedMessage)(message),
},
});
}
//# sourceMappingURL=signMessage.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"signMessage.js","sourceRoot":"","sources":["../../../../experimental/erc7739/actions/signMessage.ts"],"names":[],"mappings":";;AAiGA,kCAmDC;AAlJD,6EAAsE;AACtE,mFAGmD;AACnD,+EAAwE;AAGxE,2DAAiE;AAMjE,8DAAuD;AACvD,wFAAiF;AAgF1E,KAAK,UAAU,WAAW,CAK/B,MAAyC,EACzC,UAA2D;IAE3D,MAAM,EACJ,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,OAAO,EACP,WAAW,EACX,OAAO,EACP,QAAQ,GACT,GAAG,UAAU,CAAA;IAEd,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,iCAAoB,CAAC;YAC7B,QAAQ,EAAE,mCAAmC;SAC9C,CAAC,CAAA;IACJ,MAAM,OAAO,GAAG,IAAA,8BAAY,EAAC,QAAQ,CAAC,CAAA;IAEtC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;QAC/C,IAAI,UAAU,CAAC,cAAc;YAAE,OAAO,UAAU,CAAC,cAAc,CAAA;QAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,wBAAS,EAChC,MAAM,EACN,oCAAe,EACf,iBAAiB,CAClB,CAAC;YACA,OAAO,EAAE,QAAS;YAClB,OAAO;YACP,WAAW;SACZ,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC,CAAC,EAAE,CAAA;IAEJ,OAAO,IAAA,wBAAS,EACd,MAAM,EACN,gCAAa,EACb,eAAe,CAChB,CAAC;QACA,OAAO;QACP,MAAM;QACN,KAAK,EAAE;YACL,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SACpD;QACD,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE;YACP,QAAQ,EAAE,IAAA,wCAAiB,EAAC,OAAO,CAAC;SACrC;KACF,CAAC,CAAA;AACJ,CAAC"}

View File

@@ -0,0 +1,56 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.signTypedData = signTypedData;
const parseAccount_js_1 = require("../../../accounts/utils/parseAccount.js");
const getEip712Domain_js_1 = require("../../../actions/public/getEip712Domain.js");
const signTypedData_js_1 = require("../../../actions/wallet/signTypedData.js");
const account_js_1 = require("../../../errors/account.js");
const getAction_js_1 = require("../../../utils/getAction.js");
const wrapTypedDataSignature_js_1 = require("../utils/wrapTypedDataSignature.js");
async function signTypedData(client, parameters) {
const { account: account_ = client.account, domain, factory, factoryData, message, primaryType, types, verifier, } = parameters;
if (!account_)
throw new account_js_1.AccountNotFoundError({
docsPath: '/experimental/erc7739/signTypedData',
});
const account = (0, parseAccount_js_1.parseAccount)(account_);
const { domain: verifierDomain } = await (async () => {
if (parameters.verifierDomain)
return {
domain: parameters.verifierDomain,
};
return (0, getAction_js_1.getAction)(client, getEip712Domain_js_1.getEip712Domain, 'getEip712Domain')({
address: verifier,
factory,
factoryData,
});
})();
const signature = await (0, getAction_js_1.getAction)(client, signTypedData_js_1.signTypedData, 'signTypedData')({
account,
domain,
types: {
...types,
TypedDataSign: [
{ name: 'contents', type: primaryType },
{ name: 'name', type: 'string' },
{ name: 'version', type: 'string' },
{ name: 'chainId', type: 'uint256' },
{ name: 'verifyingContract', type: 'address' },
{ name: 'salt', type: 'bytes32' },
],
},
primaryType: 'TypedDataSign',
message: {
contents: message,
...verifierDomain,
},
});
return (0, wrapTypedDataSignature_js_1.wrapTypedDataSignature)({
domain,
message,
primaryType,
signature,
types,
});
}
//# sourceMappingURL=signTypedData.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"signTypedData.js","sourceRoot":"","sources":["../../../../experimental/erc7739/actions/signTypedData.ts"],"names":[],"mappings":";;AA0JA,sCAkFC;AAzOD,6EAAsE;AACtE,mFAGmD;AACnD,+EAA0F;AAG1F,2DAAiE;AAOjE,8DAAuD;AAEvD,kFAA2E;AAsIpE,KAAK,UAAU,aAAa,CAOjC,MAAyC,EACzC,UAKC;IAED,MAAM,EACJ,OAAO,EAAE,QAAQ,GAAG,MAAM,CAAC,OAAO,EAClC,MAAM,EACN,OAAO,EACP,WAAW,EACX,OAAO,EACP,WAAW,EACX,KAAK,EACL,QAAQ,GACT,GAAG,UAAgD,CAAA;IAEpD,IAAI,CAAC,QAAQ;QACX,MAAM,IAAI,iCAAoB,CAAC;YAC7B,QAAQ,EAAE,qCAAqC;SAChD,CAAC,CAAA;IACJ,MAAM,OAAO,GAAG,IAAA,8BAAY,EAAC,QAAS,CAAC,CAAA;IAGvC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;QACnD,IAAI,UAAU,CAAC,cAAc;YAC3B,OAAO;gBACL,MAAM,EAAE,UAAU,CAAC,cAAc;aAClC,CAAA;QACH,OAAO,IAAA,wBAAS,EACd,MAAM,EACN,oCAAe,EACf,iBAAiB,CAClB,CAAC;YACA,OAAO,EAAE,QAAS;YAClB,OAAO;YACP,WAAW;SACZ,CAAC,CAAA;IACJ,CAAC,CAAC,EAAE,CAAA;IAGJ,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAS,EAC/B,MAAM,EACN,gCAAc,EACd,eAAe,CAChB,CAAC;QACA,OAAO;QACP,MAAM;QACN,KAAK,EAAE;YACL,GAAG,KAAK;YACR,aAAa,EAAE;gBACb,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE;gBACvC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9C,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;aAClC;SACF;QACD,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE;YACP,QAAQ,EAAE,OAAc;YACxB,GAAI,cAAsB;SAC3B;KACF,CAAC,CAAA;IAEF,OAAO,IAAA,kDAAsB,EAAC;QAC5B,MAAM;QACN,OAAO;QACP,WAAW;QACX,SAAS;QACT,KAAK;KACN,CAAC,CAAA;AACJ,CAAC"}

View File

@@ -0,0 +1,15 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.erc7739Actions = erc7739Actions;
const signMessage_js_1 = require("../actions/signMessage.js");
const signTypedData_js_1 = require("../actions/signTypedData.js");
function erc7739Actions(parameters = {}) {
const { verifier } = parameters;
return (client) => {
return {
signMessage: (parameters) => (0, signMessage_js_1.signMessage)(client, { verifier, ...parameters }),
signTypedData: (parameters) => (0, signTypedData_js_1.signTypedData)(client, { verifier, ...parameters }),
};
};
}
//# sourceMappingURL=erc7739.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"erc7739.js","sourceRoot":"","sources":["../../../../experimental/erc7739/decorators/erc7739.ts"],"names":[],"mappings":";;AAqNA,wCAkBC;AAlOD,8DAIkC;AAClC,kEAIoC;AAuMpC,SAAgB,cAAc,CAE5B,aAAiD,EAAE;IACnD,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,CAAA;IAC/B,OAAO,CAKL,MAAyC,EACN,EAAE;QACrC,OAAO;YACL,WAAW,EAAE,CAAC,UAAU,EAAE,EAAE,CAC1B,IAAA,4BAAW,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC;YAClD,aAAa,EAAE,CAAC,UAAU,EAAE,EAAE,CAC5B,IAAA,gCAAa,EAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,GAAI,UAAkB,EAAE,CAAC;SAC9D,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}

16
node_modules/viem/_cjs/experimental/erc7739/index.js generated vendored Normal file
View File

@@ -0,0 +1,16 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.wrapTypedDataSignature = exports.hashTypedData = exports.hashMessage = exports.erc7739Actions = exports.signTypedData = exports.signMessage = void 0;
var signMessage_js_1 = require("./actions/signMessage.js");
Object.defineProperty(exports, "signMessage", { enumerable: true, get: function () { return signMessage_js_1.signMessage; } });
var signTypedData_js_1 = require("./actions/signTypedData.js");
Object.defineProperty(exports, "signTypedData", { enumerable: true, get: function () { return signTypedData_js_1.signTypedData; } });
var erc7739_js_1 = require("./decorators/erc7739.js");
Object.defineProperty(exports, "erc7739Actions", { enumerable: true, get: function () { return erc7739_js_1.erc7739Actions; } });
var hashMessage_js_1 = require("./utils/hashMessage.js");
Object.defineProperty(exports, "hashMessage", { enumerable: true, get: function () { return hashMessage_js_1.hashMessage; } });
var hashTypedData_js_1 = require("./utils/hashTypedData.js");
Object.defineProperty(exports, "hashTypedData", { enumerable: true, get: function () { return hashTypedData_js_1.hashTypedData; } });
var wrapTypedDataSignature_js_1 = require("./utils/wrapTypedDataSignature.js");
Object.defineProperty(exports, "wrapTypedDataSignature", { enumerable: true, get: function () { return wrapTypedDataSignature_js_1.wrapTypedDataSignature; } });
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../experimental/erc7739/index.ts"],"names":[],"mappings":";;;AACA,2DAKiC;AAD/B,6GAAA,WAAW,OAAA;AAEb,+DAKmC;AADjC,iHAAA,aAAa,OAAA;AAEf,sDAIgC;AAD9B,4GAAA,cAAc,OAAA;AAEhB,yDAK+B;AAD7B,6GAAA,WAAW,OAAA;AAEb,6DAKiC;AAD/B,iHAAA,aAAa,OAAA;AAEf,+EAK0C;AADxC,mIAAA,sBAAsB,OAAA"}

3
node_modules/viem/_cjs/experimental/erc7739/types.js generated vendored Normal file
View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=types.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../experimental/erc7739/types.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.hashMessage = hashMessage;
const index_js_1 = require("../../../utils/index.js");
const toPrefixedMessage_js_1 = require("../../../utils/signature/toPrefixedMessage.js");
function hashMessage(parameters) {
const { message, verifierDomain: { salt: _, ...domain }, } = parameters;
return (0, index_js_1.hashTypedData)({
domain,
types: {
PersonalSign: [{ name: 'prefixed', type: 'bytes' }],
},
primaryType: 'PersonalSign',
message: {
prefixed: (0, toPrefixedMessage_js_1.toPrefixedMessage)(message),
},
});
}
//# sourceMappingURL=hashMessage.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"hashMessage.js","sourceRoot":"","sources":["../../../../experimental/erc7739/utils/hashMessage.ts"],"names":[],"mappings":";;AA0CA,kCAiBC;AAvDD,sDAAuD;AAEvD,wFAGsD;AAiCtD,SAAgB,WAAW,CACzB,UAAiC;IAEjC,MAAM,EACJ,OAAO,EACP,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,GACvC,GAAG,UAAU,CAAA;IACd,OAAO,IAAA,wBAAa,EAAC;QACnB,MAAM;QACN,KAAK,EAAE;YACL,YAAY,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;SACpD;QACD,WAAW,EAAE,cAAc;QAC3B,OAAO,EAAE;YACP,QAAQ,EAAE,IAAA,wCAAiB,EAAC,OAAO,CAAC;SACrC;KACF,CAAC,CAAA;AACJ,CAAC"}

View File

@@ -0,0 +1,27 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.hashTypedData = hashTypedData;
const hashTypedData_js_1 = require("../../../utils/signature/hashTypedData.js");
function hashTypedData(parameters) {
const { domain, message, primaryType, types, verifierDomain } = parameters;
return (0, hashTypedData_js_1.hashTypedData)({
domain: domain,
types: {
...types,
TypedDataSign: [
{ name: 'contents', type: primaryType },
{ name: 'name', type: 'string' },
{ name: 'version', type: 'string' },
{ name: 'chainId', type: 'uint256' },
{ name: 'verifyingContract', type: 'address' },
{ name: 'salt', type: 'bytes32' },
],
},
primaryType: 'TypedDataSign',
message: {
contents: message,
...verifierDomain,
},
});
}
//# sourceMappingURL=hashTypedData.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"hashTypedData.js","sourceRoot":"","sources":["../../../../experimental/erc7739/utils/hashTypedData.ts"],"names":[],"mappings":";;AAsEA,sCA2BC;AA5FD,gFAGkD;AA8DlD,SAAgB,aAAa,CAI3B,UAA2D;IAE3D,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,GAAG,UAAU,CAAA;IAE1E,OAAO,IAAA,gCAAc,EAAC;QACpB,MAAM,EAAE,MAAa;QACrB,KAAK,EAAE;YACL,GAAG,KAAK;YACR,aAAa,EAAE;gBACb,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,WAAW,EAAE;gBACvC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAChC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACnC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;gBACpC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;gBAC9C,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;aAClC;SACF;QACD,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE;YACP,QAAQ,EAAE,OAAc;YACxB,GAAI,cAAsB;SAC3B;KACF,CAAC,CAAA;AACJ,CAAC"}

View File

@@ -0,0 +1,44 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.wrapTypedDataSignature = wrapTypedDataSignature;
const index_js_1 = require("../../../accounts/index.js");
const encodePacked_js_1 = require("../../../utils/abi/encodePacked.js");
const isHex_js_1 = require("../../../utils/data/isHex.js");
const size_js_1 = require("../../../utils/data/size.js");
const toHex_js_1 = require("../../../utils/encoding/toHex.js");
const hashTypedData_js_1 = require("../../../utils/signature/hashTypedData.js");
const typedData_js_1 = require("../../../utils/typedData.js");
function wrapTypedDataSignature(parameters) {
const { domain, message, primaryType, signature, types } = parameters;
const signatureHex = (() => {
if ((0, isHex_js_1.isHex)(signature))
return signature;
if (typeof signature === 'object' && 'r' in signature && 's' in signature)
return (0, index_js_1.serializeSignature)(signature);
return (0, toHex_js_1.bytesToHex)(signature);
})();
const hashedDomain = (0, hashTypedData_js_1.hashStruct)({
data: domain ?? {},
types: {
EIP712Domain: (0, typedData_js_1.getTypesForEIP712Domain)({ domain }),
},
primaryType: 'EIP712Domain',
});
const hashedContents = (0, hashTypedData_js_1.hashStruct)({
data: message,
types: types,
primaryType,
});
const encodedType = (0, hashTypedData_js_1.encodeType)({
primaryType,
types: types,
});
return (0, encodePacked_js_1.encodePacked)(['bytes', 'bytes32', 'bytes32', 'bytes', 'uint16'], [
signatureHex,
hashedDomain,
hashedContents,
(0, toHex_js_1.stringToHex)(encodedType),
(0, size_js_1.size)((0, toHex_js_1.stringToHex)(encodedType)),
]);
}
//# sourceMappingURL=wrapTypedDataSignature.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"wrapTypedDataSignature.js","sourceRoot":"","sources":["../../../../experimental/erc7739/utils/wrapTypedDataSignature.ts"],"names":[],"mappings":";;AAkEA,wDAyCC;AA1GD,yDAA+D;AAG/D,wEAAiE;AACjE,2DAAyE;AACzE,yDAAkD;AAClD,+DAA0E;AAC1E,gFAGkD;AAClD,8DAAqE;AAsDrE,SAAgB,sBAAsB,CACpC,UAA4C;IAE5C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,UAAU,CAAA;IAErE,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;QACzB,IAAI,IAAA,gBAAK,EAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAA;QACtC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS;YACvE,OAAO,IAAA,6BAAkB,EAAC,SAAS,CAAC,CAAA;QACtC,OAAO,IAAA,qBAAU,EAAC,SAAS,CAAC,CAAA;IAC9B,CAAC,CAAC,EAAE,CAAA;IAGJ,MAAM,YAAY,GAAG,IAAA,6BAAU,EAAC;QAC9B,IAAI,EAAE,MAAM,IAAI,EAAE;QAClB,KAAK,EAAE;YACL,YAAY,EAAE,IAAA,sCAAuB,EAAC,EAAE,MAAM,EAAE,CAAC;SAClD;QACD,WAAW,EAAE,cAAc;KAC5B,CAAC,CAAA;IACF,MAAM,cAAc,GAAG,IAAA,6BAAU,EAAC;QAChC,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,KAAY;QACnB,WAAW;KACZ,CAAC,CAAA;IACF,MAAM,WAAW,GAAG,IAAA,6BAAU,EAAC;QAC7B,WAAW;QACX,KAAK,EAAE,KAAY;KACpB,CAAC,CAAA;IAGF,OAAO,IAAA,8BAAY,EACjB,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,EAClD;QACE,YAAY;QACZ,YAAY;QACZ,cAAc;QACd,IAAA,sBAAW,EAAC,WAAW,CAAC;QACxB,IAAA,cAAI,EAAC,IAAA,sBAAW,EAAC,WAAW,CAAC,CAAC;KAC/B,CACF,CAAA;AACH,CAAC"}

View File

@@ -0,0 +1,93 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getAssets = getAssets;
const parseAccount_js_1 = require("../../../accounts/utils/parseAccount.js");
const address_js_1 = require("../../../constants/address.js");
const account_js_1 = require("../../../errors/account.js");
const fromHex_js_1 = require("../../../utils/encoding/fromHex.js");
const toHex_js_1 = require("../../../utils/encoding/toHex.js");
async function getAssets(client, ...[parameters]) {
const { account = client.account, aggregate = true } = parameters ?? {};
const result = await client.request({
method: 'wallet_getAssets',
params: [formatRequest({ ...parameters, account })],
});
const response = formatResponse(result);
const aggregated = (() => {
if (!aggregate)
return undefined;
const aggregated = {};
for (const [chainId, assets] of Object.entries(response)) {
if (chainId === '0')
continue;
const seen = new Set();
for (const asset of assets) {
const key = typeof aggregate === 'function'
? aggregate(asset)
: (asset.address ?? address_js_1.ethAddress);
const item = (aggregated[key] ?? {});
if (seen.has(key))
continue;
seen.add(key);
aggregated[key] = {
...asset,
balance: asset.balance + (item?.balance ?? 0n),
chainIds: [...(item?.chainIds ?? []), Number(chainId)],
};
}
}
return Object.values(aggregated);
})();
if (aggregated)
return { 0: aggregated, ...response };
return response;
}
function formatRequest(parameters = {}) {
const { account: account_, assets, assetTypes, chainIds } = parameters;
if (typeof account_ === 'undefined')
throw new account_js_1.AccountNotFoundError({
docsPath: '/experimental/erc7811/getAssets',
});
const account = (0, parseAccount_js_1.parseAccount)(account_);
return {
account: account.address,
assetFilter: assets,
assetTypeFilter: assetTypes,
chainFilter: chainIds?.map((chainId) => (0, toHex_js_1.numberToHex)(chainId)),
};
}
function formatResponse(response) {
return Object.fromEntries(Object.entries(response).map(([chainId, assets]) => [
Number(chainId),
assets.map((asset) => {
const balance = (0, fromHex_js_1.hexToBigInt)(asset.balance);
const metadata = asset.metadata;
const type = (() => {
if (asset.type === 'native')
return 'native';
if (asset.type === 'erc20')
return 'erc20';
if (asset.type === 'erc721')
return 'erc721';
return { custom: asset.type };
})();
const address = type === 'native' ? undefined : asset.address;
return {
balance,
type,
...(address ? { address } : {}),
...(metadata
? {
metadata: {
...metadata,
...('tokenId' in metadata
? { tokenId: (0, fromHex_js_1.hexToBigInt)(metadata.tokenId) }
: {}),
},
}
: {}),
};
}),
]));
}
//# sourceMappingURL=getAssets.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getAssets.js","sourceRoot":"","sources":["../../../../experimental/erc7811/actions/getAssets.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.erc7811Actions = erc7811Actions;
const getAssets_js_1 = require("../actions/getAssets.js");
function erc7811Actions() {
return (client) => {
return {
getAssets: (...[parameters]) => (0, getAssets_js_1.getAssets)(client, parameters),
};
};
}
//# sourceMappingURL=erc7811.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"erc7811.js","sourceRoot":"","sources":["../../../../experimental/erc7811/decorators/erc7811.ts"],"names":[],"mappings":";;AAiEA,wCAaC;AA1ED,0DAIgC;AAyDhC,SAAgB,cAAc;IAC5B,OAAO,CAKL,MAAyC,EAChB,EAAE;QAC3B,OAAO;YAEL,SAAS,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,IAAA,wBAAS,EAAC,MAAM,EAAE,UAAU,CAAC;SAC9D,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}

8
node_modules/viem/_cjs/experimental/erc7811/index.js generated vendored Normal file
View File

@@ -0,0 +1,8 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.erc7811Actions = exports.getAssets = void 0;
var getAssets_js_1 = require("./actions/getAssets.js");
Object.defineProperty(exports, "getAssets", { enumerable: true, get: function () { return getAssets_js_1.getAssets; } });
var erc7811_js_1 = require("./decorators/erc7811.js");
Object.defineProperty(exports, "erc7811Actions", { enumerable: true, get: function () { return erc7811_js_1.erc7811Actions; } });
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../experimental/erc7811/index.ts"],"names":[],"mappings":";;;AACA,uDAK+B;AAD7B,yGAAA,SAAS,OAAA;AAGX,sDAA6E;AAA/C,4GAAA,cAAc,OAAA"}

View File

@@ -0,0 +1,34 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.execute = execute;
const sendTransaction_js_1 = require("../../../actions/wallet/sendTransaction.js");
const withCache_js_1 = require("../../../utils/promise/withCache.js");
const constants_js_1 = require("../constants.js");
const errors_js_1 = require("../errors.js");
const encodeExecuteData_js_1 = require("../utils/encodeExecuteData.js");
const getExecuteError_js_1 = require("../utils/getExecuteError.js");
const supportsExecutionMode_js_1 = require("./supportsExecutionMode.js");
async function execute(client, parameters) {
const { authorizationList, calls, opData } = parameters;
const address = authorizationList?.[0]?.address ?? parameters.address;
const mode = opData ? constants_js_1.executionMode.opData : constants_js_1.executionMode.default;
const supported = await (0, withCache_js_1.withCache)(() => (0, supportsExecutionMode_js_1.supportsExecutionMode)(client, {
address,
mode,
}), {
cacheKey: `supportsExecutionMode.${client.uid}.${address}.${mode}`,
});
if (!supported)
throw new errors_js_1.ExecuteUnsupportedError();
try {
return await (0, sendTransaction_js_1.sendTransaction)(client, {
...parameters,
to: parameters.address,
data: (0, encodeExecuteData_js_1.encodeExecuteData)({ calls, opData }),
});
}
catch (e) {
throw (0, getExecuteError_js_1.getExecuteError)(e, { calls });
}
}
//# sourceMappingURL=execute.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../../../experimental/erc7821/actions/execute.ts"],"names":[],"mappings":";;AAuIA,0BAmCC;AAxKD,mFAGmD;AAenD,sEAA+D;AAC/D,kDAA+C;AAC/C,4CAAsD;AACtD,wEAGsC;AACtC,oEAGoC;AACpC,yEAAkE;AAwG3D,KAAK,UAAU,OAAO,CAM3B,MAAyC,EACzC,UAAmE;IAEnE,MAAM,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAEvD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,UAAU,CAAC,OAAO,CAAA;IACrE,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,4BAAa,CAAC,MAAM,CAAC,CAAC,CAAC,4BAAa,CAAC,OAAO,CAAA;IAElE,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAS,EAC/B,GAAG,EAAE,CACH,IAAA,gDAAqB,EAAC,MAAM,EAAE;QAC5B,OAAO;QACP,IAAI;KACL,CAAC,EACJ;QACE,QAAQ,EAAE,yBAAyB,MAAM,CAAC,GAAG,IAAI,OAAO,IAAI,IAAI,EAAE;KACnE,CACF,CAAA;IACD,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,mCAAuB,EAAE,CAAA;IAEnD,IAAI,CAAC;QACH,OAAO,MAAM,IAAA,oCAAe,EAAC,MAAM,EAAE;YACnC,GAAG,UAAU;YACb,EAAE,EAAE,UAAU,CAAC,OAAO;YACtB,IAAI,EAAE,IAAA,wCAAiB,EAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;SACpC,CAAC,CAAA;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,IAAA,oCAAe,EAAC,CAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAClD,CAAC;AACH,CAAC"}

View File

@@ -0,0 +1,33 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.executeBatches = executeBatches;
const sendTransaction_js_1 = require("../../../actions/wallet/sendTransaction.js");
const withCache_js_1 = require("../../../utils/promise/withCache.js");
const errors_js_1 = require("../errors.js");
const encodeExecuteBatchesData_js_1 = require("../utils/encodeExecuteBatchesData.js");
const getExecuteError_js_1 = require("../utils/getExecuteError.js");
const supportsExecutionMode_js_1 = require("./supportsExecutionMode.js");
async function executeBatches(client, parameters) {
const { authorizationList, batches } = parameters;
const address = authorizationList?.[0]?.address ?? parameters.address;
const supported = await (0, withCache_js_1.withCache)(() => (0, supportsExecutionMode_js_1.supportsExecutionMode)(client, {
address,
mode: 'batchOfBatches',
}), {
cacheKey: `supportsExecutionMode.${client.uid}.${address}.batchOfBatches`,
});
if (!supported)
throw new errors_js_1.ExecuteUnsupportedError();
try {
return await (0, sendTransaction_js_1.sendTransaction)(client, {
...parameters,
to: parameters.address,
data: (0, encodeExecuteBatchesData_js_1.encodeExecuteBatchesData)({ batches }),
});
}
catch (e) {
const calls = batches.flatMap((b) => b.calls);
throw (0, getExecuteError_js_1.getExecuteError)(e, { calls });
}
}
//# sourceMappingURL=executeBatches.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"executeBatches.js","sourceRoot":"","sources":["../../../../experimental/erc7821/actions/executeBatches.ts"],"names":[],"mappings":";;AA8JA,wCAmCC;AA/LD,mFAGmD;AAenD,sEAA+D;AAC/D,4CAAsD;AACtD,sFAG6C;AAC7C,oEAGoC;AACpC,yEAAkE;AAgI3D,KAAK,UAAU,cAAc,CAMlC,MAAyC,EACzC,UAA4E;IAE5E,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAEjD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,UAAU,CAAC,OAAO,CAAA;IAErE,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAS,EAC/B,GAAG,EAAE,CACH,IAAA,gDAAqB,EAAC,MAAM,EAAE;QAC5B,OAAO;QACP,IAAI,EAAE,gBAAgB;KACvB,CAAC,EACJ;QACE,QAAQ,EAAE,yBAAyB,MAAM,CAAC,GAAG,IAAI,OAAO,iBAAiB;KAC1E,CACF,CAAA;IACD,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,mCAAuB,EAAE,CAAA;IAEnD,IAAI,CAAC;QACH,OAAO,MAAM,IAAA,oCAAe,EAAC,MAAM,EAAE;YACnC,GAAG,UAAU;YACb,EAAE,EAAE,UAAU,CAAC,OAAO;YACtB,IAAI,EAAE,IAAA,sDAAwB,EAAC,EAAE,OAAO,EAAE,CAAC;SACrC,CAAC,CAAA;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAA2B,CAAA;QACvE,MAAM,IAAA,oCAAe,EAAC,CAAc,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAClD,CAAC;AACH,CAAC"}

View File

@@ -0,0 +1,29 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.supportsExecutionMode = supportsExecutionMode;
const readContract_js_1 = require("../../../actions/public/readContract.js");
const withCache_js_1 = require("../../../utils/promise/withCache.js");
const constants_js_1 = require("../constants.js");
const toSerializedMode = {
default: constants_js_1.executionMode.default,
opData: constants_js_1.executionMode.opData,
batchOfBatches: constants_js_1.executionMode.batchOfBatches,
};
async function supportsExecutionMode(client, parameters) {
const { address, mode: m = 'default' } = parameters;
const mode = m.startsWith('0x') ? m : toSerializedMode[m];
try {
return await (0, withCache_js_1.withCache)(() => (0, readContract_js_1.readContract)(client, {
abi: constants_js_1.abi,
address,
functionName: 'supportsExecutionMode',
args: [mode],
}), {
cacheKey: `supportsExecutionMode.${address}.${mode}`,
});
}
catch {
return false;
}
}
//# sourceMappingURL=supportsExecutionMode.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"supportsExecutionMode.js","sourceRoot":"","sources":["../../../../experimental/erc7821/actions/supportsExecutionMode.ts"],"names":[],"mappings":";;AAgDA,sDAwBC;AAvED,6EAAsE;AAMtE,sEAA+D;AAC/D,kDAAoD;AAWpD,MAAM,gBAAgB,GAAG;IACvB,OAAO,EAAE,4BAAa,CAAC,OAAO;IAC9B,MAAM,EAAE,4BAAa,CAAC,MAAM;IAC5B,cAAc,EAAE,4BAAa,CAAC,cAAc;CACpC,CAAA;AAyBH,KAAK,UAAU,qBAAqB,CAGzC,MAAgC,EAChC,UAA2C;IAE3C,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,UAAU,CAAA;IACnD,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,gBAAwB,CAAC,CAAC,CAAC,CAAA;IAClE,IAAI,CAAC;QACH,OAAO,MAAM,IAAA,wBAAS,EACpB,GAAG,EAAE,CACH,IAAA,8BAAY,EAAC,MAAM,EAAE;YACnB,GAAG,EAAH,kBAAG;YACH,OAAO;YACP,YAAY,EAAE,uBAAuB;YACrC,IAAI,EAAE,CAAC,IAAI,CAAC;SACb,CAAC,EACJ;YACE,QAAQ,EAAE,yBAAyB,OAAO,IAAI,IAAI,EAAE;SACrD,CACF,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}

View File

@@ -0,0 +1,66 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.executionMode = exports.abi = void 0;
exports.abi = [
{
type: 'fallback',
stateMutability: 'payable',
},
{
type: 'receive',
stateMutability: 'payable',
},
{
type: 'function',
name: 'execute',
inputs: [
{
name: 'mode',
type: 'bytes32',
internalType: 'bytes32',
},
{
name: 'executionData',
type: 'bytes',
internalType: 'bytes',
},
],
outputs: [],
stateMutability: 'payable',
},
{
type: 'function',
name: 'supportsExecutionMode',
inputs: [
{
name: 'mode',
type: 'bytes32',
internalType: 'bytes32',
},
],
outputs: [
{
name: 'result',
type: 'bool',
internalType: 'bool',
},
],
stateMutability: 'view',
},
{
type: 'error',
name: 'FnSelectorNotRecognized',
inputs: [],
},
{
type: 'error',
name: 'UnsupportedExecutionMode',
inputs: [],
},
];
exports.executionMode = {
default: '0x0100000000000000000000000000000000000000000000000000000000000000',
opData: '0x0100000000007821000100000000000000000000000000000000000000000000',
batchOfBatches: '0x0100000000007821000200000000000000000000000000000000000000000000',
};
//# sourceMappingURL=constants.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../experimental/erc7821/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,GAAG,GAAG;IACjB;QACE,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,SAAS;KAC3B;IACD;QACE,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,SAAS;KAC3B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACtB;SACF;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,SAAS;KAC3B;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACxB;SACF;QACD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,MAAM;aACrB;SACF;QACD,eAAe,EAAE,MAAM;KACxB;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,EAAE;KACX;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,0BAA0B;QAChC,MAAM,EAAE,EAAE;KACX;CACO,CAAA;AAEG,QAAA,aAAa,GAAG;IAC3B,OAAO,EAAE,oEAAoE;IAC7E,MAAM,EAAE,oEAAoE;IAC5E,cAAc,EACZ,oEAAoE;CAC9D,CAAA"}

View File

@@ -0,0 +1,16 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.erc7821Actions = erc7821Actions;
const execute_js_1 = require("../actions/execute.js");
const executeBatches_js_1 = require("../actions/executeBatches.js");
const supportsExecutionMode_js_1 = require("../actions/supportsExecutionMode.js");
function erc7821Actions() {
return (client) => {
return {
execute: (parameters) => (0, execute_js_1.execute)(client, parameters),
executeBatches: (parameters) => (0, executeBatches_js_1.executeBatches)(client, parameters),
supportsExecutionMode: (parameters) => (0, supportsExecutionMode_js_1.supportsExecutionMode)(client, parameters),
};
};
}
//# sourceMappingURL=erc7821.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"erc7821.js","sourceRoot":"","sources":["../../../../experimental/erc7821/decorators/erc7821.ts"],"names":[],"mappings":";;AAkPA,wCAeC;AA7PD,sDAI8B;AAC9B,oEAKqC;AACrC,kFAI4C;AA+N5C,SAAgB,cAAc;IAC5B,OAAO,CAKL,MAAyC,EACT,EAAE;QAClC,OAAO;YACL,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,oBAAO,EAAC,MAAM,EAAE,UAAU,CAAC;YACpD,cAAc,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,kCAAc,EAAC,MAAM,EAAE,UAAU,CAAC;YAClE,qBAAqB,EAAE,CAAC,UAAU,EAAE,EAAE,CACpC,IAAA,gDAAqB,EAAC,MAAM,EAAE,UAAU,CAAC;SAC5C,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}

26
node_modules/viem/_cjs/experimental/erc7821/errors.js generated vendored Normal file
View File

@@ -0,0 +1,26 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FunctionSelectorNotRecognizedError = exports.ExecuteUnsupportedError = void 0;
const base_js_1 = require("../../errors/base.js");
class ExecuteUnsupportedError extends base_js_1.BaseError {
constructor() {
super('ERC-7821 execution is not supported.', {
name: 'ExecuteUnsupportedError',
});
}
}
exports.ExecuteUnsupportedError = ExecuteUnsupportedError;
class FunctionSelectorNotRecognizedError extends base_js_1.BaseError {
constructor() {
super('Function is not recognized.', {
metaMessages: [
'This could be due to any of the following:',
' - The contract does not have the function,',
' - The address is not a contract.',
],
name: 'FunctionSelectorNotRecognizedError',
});
}
}
exports.FunctionSelectorNotRecognizedError = FunctionSelectorNotRecognizedError;
//# sourceMappingURL=errors.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../experimental/erc7821/errors.ts"],"names":[],"mappings":";;;AAAA,kDAAgD;AAKhD,MAAa,uBAAwB,SAAQ,mBAAS;IACpD;QACE,KAAK,CAAC,sCAAsC,EAAE;YAC5C,IAAI,EAAE,yBAAyB;SAChC,CAAC,CAAA;IACJ,CAAC;CACF;AAND,0DAMC;AAMD,MAAa,kCAAmC,SAAQ,mBAAS;IAC/D;QACE,KAAK,CAAC,6BAA6B,EAAE;YACnC,YAAY,EAAE;gBACZ,4CAA4C;gBAC5C,8CAA8C;gBAC9C,oCAAoC;aACrC;YACD,IAAI,EAAE,oCAAoC;SAC3C,CAAC,CAAA;IACJ,CAAC;CACF;AAXD,gFAWC"}

23
node_modules/viem/_cjs/experimental/erc7821/index.js generated vendored Normal file
View File

@@ -0,0 +1,23 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getExecuteError = exports.encodeExecuteData = exports.encodeExecuteBatchesData = exports.encodeCalls = exports.FunctionSelectorNotRecognizedError = exports.ExecuteUnsupportedError = exports.erc7821Actions = exports.supportsExecutionMode = exports.executeBatches = exports.execute = void 0;
var execute_js_1 = require("./actions/execute.js");
Object.defineProperty(exports, "execute", { enumerable: true, get: function () { return execute_js_1.execute; } });
var executeBatches_js_1 = require("./actions/executeBatches.js");
Object.defineProperty(exports, "executeBatches", { enumerable: true, get: function () { return executeBatches_js_1.executeBatches; } });
var supportsExecutionMode_js_1 = require("./actions/supportsExecutionMode.js");
Object.defineProperty(exports, "supportsExecutionMode", { enumerable: true, get: function () { return supportsExecutionMode_js_1.supportsExecutionMode; } });
var erc7821_js_1 = require("./decorators/erc7821.js");
Object.defineProperty(exports, "erc7821Actions", { enumerable: true, get: function () { return erc7821_js_1.erc7821Actions; } });
var errors_js_1 = require("./errors.js");
Object.defineProperty(exports, "ExecuteUnsupportedError", { enumerable: true, get: function () { return errors_js_1.ExecuteUnsupportedError; } });
Object.defineProperty(exports, "FunctionSelectorNotRecognizedError", { enumerable: true, get: function () { return errors_js_1.FunctionSelectorNotRecognizedError; } });
var encodeCalls_js_1 = require("./utils/encodeCalls.js");
Object.defineProperty(exports, "encodeCalls", { enumerable: true, get: function () { return encodeCalls_js_1.encodeCalls; } });
var encodeExecuteBatchesData_js_1 = require("./utils/encodeExecuteBatchesData.js");
Object.defineProperty(exports, "encodeExecuteBatchesData", { enumerable: true, get: function () { return encodeExecuteBatchesData_js_1.encodeExecuteBatchesData; } });
var encodeExecuteData_js_1 = require("./utils/encodeExecuteData.js");
Object.defineProperty(exports, "encodeExecuteData", { enumerable: true, get: function () { return encodeExecuteData_js_1.encodeExecuteData; } });
var getExecuteError_js_1 = require("./utils/getExecuteError.js");
Object.defineProperty(exports, "getExecuteError", { enumerable: true, get: function () { return getExecuteError_js_1.getExecuteError; } });
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../experimental/erc7821/index.ts"],"names":[],"mappings":";;;AACA,mDAK6B;AAD3B,qGAAA,OAAO,OAAA;AAET,iEAKoC;AADlC,mHAAA,cAAc,OAAA;AAEhB,+EAK2C;AADzC,iIAAA,qBAAqB,OAAA;AAEvB,sDAA6E;AAA/C,4GAAA,cAAc,OAAA;AAC5C,yCAKoB;AAJlB,oHAAA,uBAAuB,OAAA;AAEvB,+HAAA,kCAAkC,OAAA;AAIpC,yDAG+B;AAD7B,6GAAA,WAAW,OAAA;AAEb,mFAK4C;AAD1C,uIAAA,wBAAwB,OAAA;AAE1B,qEAKqC;AADnC,yHAAA,iBAAiB,OAAA;AAEnB,iEAImC;AADjC,qHAAA,eAAe,OAAA"}

View File

@@ -0,0 +1,21 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.encodeCalls = encodeCalls;
const AbiParameters = require("ox/AbiParameters");
const encodeFunctionData_js_1 = require("../../../utils/abi/encodeFunctionData.js");
function encodeCalls(calls_, opData) {
const calls = calls_.map((call_) => {
const call = call_;
return {
data: call.abi ? (0, encodeFunctionData_js_1.encodeFunctionData)(call) : (call.data ?? '0x'),
value: call.value ?? 0n,
target: call.to,
};
});
return AbiParameters.encode(AbiParameters.from([
'struct Call { address target; uint256 value; bytes data; }',
'Call[] calls',
...(opData ? ['bytes opData'] : []),
]), [calls, ...(opData ? [opData] : [])]);
}
//# sourceMappingURL=encodeCalls.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"encodeCalls.js","sourceRoot":"","sources":["../../../../experimental/erc7821/utils/encodeCalls.ts"],"names":[],"mappings":";;AAgBA,kCAqBC;AArCD,kDAAiD;AAKjD,oFAGiD;AAQjD,SAAgB,WAAW,CACzB,MAAiC,EACjC,MAAwB;IAExB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACjC,MAAM,IAAI,GAAG,KAAa,CAAA;QAC1B,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAA,0CAAkB,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC;YAC/D,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;YACvB,MAAM,EAAE,IAAI,CAAC,EAAE;SAChB,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,aAAa,CAAC,MAAM,CACzB,aAAa,CAAC,IAAI,CAAC;QACjB,4DAA4D;QAC5D,cAAc;QACd,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACpC,CAAC,EACF,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAQ,CAC5C,CAAA;AACH,CAAC"}

View File

@@ -0,0 +1,22 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.encodeExecuteBatchesData = encodeExecuteBatchesData;
const AbiParameters = require("ox/AbiParameters");
const encodeFunctionData_js_1 = require("../../../utils/abi/encodeFunctionData.js");
const constants_js_1 = require("../constants.js");
const encodeCalls_js_1 = require("./encodeCalls.js");
function encodeExecuteBatchesData(parameters) {
const { batches } = parameters;
const encodedBatches = AbiParameters.encode(AbiParameters.from('bytes[]'), [
batches.map((b) => {
const batch = b;
return (0, encodeCalls_js_1.encodeCalls)(batch.calls, batch.opData);
}),
]);
return (0, encodeFunctionData_js_1.encodeFunctionData)({
abi: constants_js_1.abi,
functionName: 'execute',
args: [constants_js_1.executionMode.batchOfBatches, encodedBatches],
});
}
//# sourceMappingURL=encodeExecuteBatchesData.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"encodeExecuteBatchesData.js","sourceRoot":"","sources":["../../../../experimental/erc7821/utils/encodeExecuteBatchesData.ts"],"names":[],"mappings":";;AA8BA,4DAiBC;AA9CD,kDAAiD;AAKjD,oFAGiD;AACjD,kDAAoD;AACpD,qDAAyE;AAmBzE,SAAgB,wBAAwB,CACtC,UAAuD;IAEvD,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAA;IAE9B,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;QACzE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAChB,MAAM,KAAK,GAAG,CAAU,CAAA;YACxB,OAAO,IAAA,4BAAW,EAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QAC/C,CAAC,CAAC;KACH,CAAC,CAAA;IAEF,OAAO,IAAA,0CAAkB,EAAC;QACxB,GAAG,EAAH,kBAAG;QACH,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,CAAC,4BAAa,CAAC,cAAc,EAAE,cAAc,CAAC;KACrD,CAAC,CAAA;AACJ,CAAC"}

View File

@@ -0,0 +1,17 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.encodeExecuteData = encodeExecuteData;
const encodeFunctionData_js_1 = require("../../../utils/abi/encodeFunctionData.js");
const constants_js_1 = require("../constants.js");
const encodeCalls_js_1 = require("./encodeCalls.js");
function encodeExecuteData(parameters) {
const { calls, opData } = parameters;
const encodedCalls = (0, encodeCalls_js_1.encodeCalls)(calls, opData);
const mode = opData ? constants_js_1.executionMode.opData : constants_js_1.executionMode.default;
return (0, encodeFunctionData_js_1.encodeFunctionData)({
abi: constants_js_1.abi,
functionName: 'execute',
args: [mode, encodedCalls],
});
}
//# sourceMappingURL=encodeExecuteData.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"encodeExecuteData.js","sourceRoot":"","sources":["../../../../experimental/erc7821/utils/encodeExecuteData.ts"],"names":[],"mappings":";;AA4BA,8CAaC;AApCD,oFAGiD;AACjD,kDAAoD;AACpD,qDAAyE;AAkBzE,SAAgB,iBAAiB,CAC/B,UAA8C;IAE9C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,CAAA;IAEpC,MAAM,YAAY,GAAG,IAAA,4BAAW,EAAC,KAAK,EAAE,MAAM,CAAC,CAAA;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,4BAAa,CAAC,MAAM,CAAC,CAAC,CAAC,4BAAa,CAAC,OAAO,CAAA;IAElE,OAAO,IAAA,0CAAkB,EAAC;QACxB,GAAG,EAAH,kBAAG;QACH,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC;KAC3B,CAAC,CAAA;AACJ,CAAC"}

View File

@@ -0,0 +1,40 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getExecuteError = getExecuteError;
const AbiError = require("ox/AbiError");
const decodeErrorResult_js_1 = require("../../../utils/abi/decodeErrorResult.js");
const getContractError_js_1 = require("../../../utils/errors/getContractError.js");
const errors_js_1 = require("../errors.js");
function getExecuteError(e, parameters) {
const error = e.walk((e) => 'data' in e);
if (!error?.data)
return e;
if (error.data ===
AbiError.getSelector(AbiError.from('error FnSelectorNotRecognized()')))
return new errors_js_1.FunctionSelectorNotRecognizedError();
let matched = null;
for (const c of parameters.calls) {
const call = c;
if (!call.abi)
continue;
try {
const matches = Boolean((0, decodeErrorResult_js_1.decodeErrorResult)({
abi: call.abi,
data: error.data,
}));
if (!matches)
continue;
matched = call;
}
catch { }
}
if (matched)
return (0, getContractError_js_1.getContractError)(error, {
abi: matched.abi,
address: matched.to,
args: matched.args,
functionName: matched.functionName,
});
return e;
}
//# sourceMappingURL=getExecuteError.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"getExecuteError.js","sourceRoot":"","sources":["../../../../experimental/erc7821/utils/getExecuteError.ts"],"names":[],"mappings":";;AA2BA,0CAuCC;AAjED,wCAAuC;AAKvC,kFAA2E;AAC3E,mFAGkD;AAClD,4CAGqB;AAarB,SAAgB,eAAe,CAC7B,CAAY,EACZ,UAA4C;IAE5C,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,IAAK,CAAW,CAErC,CAAA;IAEb,IAAI,CAAC,KAAK,EAAE,IAAI;QAAE,OAAO,CAAU,CAAA;IACnC,IACE,KAAK,CAAC,IAAI;QACV,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAEtE,OAAO,IAAI,8CAAkC,EAAW,CAAA;IAE1D,IAAI,OAAO,GAAgB,IAAI,CAAA;IAC/B,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,CAAS,CAAA;QACtB,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,SAAQ;QACvB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,CACrB,IAAA,wCAAiB,EAAC;gBAChB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,IAAI,EAAE,KAAK,CAAC,IAAK;aAClB,CAAC,CACH,CAAA;YACD,IAAI,CAAC,OAAO;gBAAE,SAAQ;YACtB,OAAO,GAAG,IAAI,CAAA;QAChB,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAA,sCAAgB,EAAC,KAAkB,EAAE;YAC1C,GAAG,EAAE,OAAO,CAAC,GAAU;YACvB,OAAO,EAAE,OAAO,CAAC,EAAE;YACnB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,YAAY,EAAE,OAAO,CAAC,YAAY;SACnC,CAAC,CAAA;IAEJ,OAAO,CAAU,CAAA;AACnB,CAAC"}

View File

@@ -0,0 +1,108 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.connect = connect;
const requestAddresses_js_1 = require("../../../actions/wallet/requestAddresses.js");
const toHex_js_1 = require("../../../utils/encoding/toHex.js");
async function connect(client, parameters = {}) {
const capabilities = formatRequestCapabilities(parameters.capabilities);
const response = await (async () => {
try {
return await client.request({ method: 'wallet_connect', params: [{ capabilities, version: '1' }] }, { dedupe: true, retryCount: 0 });
}
catch (e) {
const error = e;
if (!parameters.capabilities &&
(error.name === 'InvalidInputRpcError' ||
error.name === 'InvalidParamsRpcError' ||
error.name === 'MethodNotFoundRpcError' ||
error.name === 'MethodNotSupportedRpcError' ||
error.name === 'UnsupportedProviderMethodError')) {
const addresses = await (0, requestAddresses_js_1.requestAddresses)(client);
return {
accounts: addresses.map((address) => ({
address,
capabilities: {},
})),
};
}
throw error;
}
})();
return {
...response,
accounts: (response.accounts ?? []).map((account) => ({
...account,
capabilities: formatResponseCapabilities(account.capabilities),
})),
};
}
function formatRequestCapabilities(capabilities) {
const { unstable_addSubAccount, unstable_getSubAccounts: getSubAccounts, unstable_signInWithEthereum, ...rest } = capabilities ?? {};
const addSubAccount = unstable_addSubAccount
? {
...unstable_addSubAccount,
account: {
...unstable_addSubAccount.account,
...(unstable_addSubAccount.account.chainId
? {
chainId: (0, toHex_js_1.numberToHex)(unstable_addSubAccount.account.chainId),
}
: {}),
},
}
: undefined;
const { chainId, expirationTime, issuedAt, notBefore } = unstable_signInWithEthereum ?? {};
const signInWithEthereum = unstable_signInWithEthereum
? {
...unstable_signInWithEthereum,
chainId: (0, toHex_js_1.numberToHex)(chainId),
...(expirationTime
? {
expirationTime: expirationTime.toISOString(),
}
: {}),
...(issuedAt
? {
issuedAt: issuedAt.toISOString(),
}
: {}),
...(notBefore
? {
notBefore: notBefore.toISOString(),
}
: {}),
}
: undefined;
return {
...rest,
...(addSubAccount
? {
addSubAccount,
}
: {}),
...(getSubAccounts
? {
getSubAccounts,
}
: {}),
...(signInWithEthereum
? {
signInWithEthereum,
}
: {}),
};
}
function formatResponseCapabilities(capabilities) {
return Object.entries(capabilities ?? {}).reduce((capabilities, [key, value]) => {
const k = (() => {
if (key === 'signInWithEthereum')
return 'unstable_signInWithEthereum';
if (key === 'subAccounts')
return 'unstable_subAccounts';
return key;
})();
capabilities[k] = value;
return capabilities;
}, {});
}
//# sourceMappingURL=connect.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"connect.js","sourceRoot":"","sources":["../../../../experimental/erc7846/actions/connect.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,7 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.disconnect = disconnect;
async function disconnect(client) {
return await client.request({ method: 'wallet_disconnect' }, { dedupe: true, retryCount: 0 });
}
//# sourceMappingURL=disconnect.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"disconnect.js","sourceRoot":"","sources":["../../../../experimental/erc7846/actions/disconnect.ts"],"names":[],"mappings":";;AA4BA,gCAOC;AAPM,KAAK,UAAU,UAAU,CAC9B,MAAgC;IAEhC,OAAO,MAAM,MAAM,CAAC,OAAO,CACzB,EAAE,MAAM,EAAE,mBAAmB,EAAE,EAC/B,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAChC,CAAA;AACH,CAAC"}

View File

@@ -0,0 +1,14 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.erc7846Actions = erc7846Actions;
const connect_js_1 = require("../actions/connect.js");
const disconnect_js_1 = require("../actions/disconnect.js");
function erc7846Actions() {
return (client) => {
return {
connect: (parameters) => (0, connect_js_1.connect)(client, parameters),
disconnect: () => (0, disconnect_js_1.disconnect)(client),
};
};
}
//# sourceMappingURL=erc7846.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"erc7846.js","sourceRoot":"","sources":["../../../../experimental/erc7846/decorators/erc7846.ts"],"names":[],"mappings":";;AA2EA,wCAYC;AApFD,sDAI8B;AAC9B,4DAAqD;AAmErD,SAAgB,cAAc;IAC5B,OAAO,CAIL,MAAgC,EAChB,EAAE;QAClB,OAAO;YACL,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,oBAAO,EAAC,MAAM,EAAE,UAAU,CAAC;YACpD,UAAU,EAAE,GAAG,EAAE,CAAC,IAAA,0BAAU,EAAC,MAAM,CAAC;SACrC,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}

10
node_modules/viem/_cjs/experimental/erc7846/index.js generated vendored Normal file
View File

@@ -0,0 +1,10 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.erc7846Actions = exports.disconnect = exports.connect = void 0;
var connect_js_1 = require("./actions/connect.js");
Object.defineProperty(exports, "connect", { enumerable: true, get: function () { return connect_js_1.connect; } });
var disconnect_js_1 = require("./actions/disconnect.js");
Object.defineProperty(exports, "disconnect", { enumerable: true, get: function () { return disconnect_js_1.disconnect; } });
var erc7846_js_1 = require("./decorators/erc7846.js");
Object.defineProperty(exports, "erc7846Actions", { enumerable: true, get: function () { return erc7846_js_1.erc7846Actions; } });
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../experimental/erc7846/index.ts"],"names":[],"mappings":";;;AACA,mDAK6B;AAD3B,qGAAA,OAAO,OAAA;AAET,yDAGgC;AAD9B,2GAAA,UAAU,OAAA;AAGZ,sDAA6E;AAA/C,4GAAA,cAAc,OAAA"}

View File

@@ -0,0 +1,21 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.addSubAccount = addSubAccount;
const index_js_1 = require("../../../utils/index.js");
async function addSubAccount(client, parameters) {
return client.request({
method: 'wallet_addSubAccount',
params: [
{
account: {
...parameters,
...(parameters.chainId
? { chainId: (0, index_js_1.numberToHex)(parameters.chainId) }
: {}),
},
version: '1',
},
],
});
}
//# sourceMappingURL=addSubAccount.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"addSubAccount.js","sourceRoot":"","sources":["../../../../experimental/erc7895/actions/addSubAccount.ts"],"names":[],"mappings":";;AAmEA,sCAkBC;AA9ED,sDAAqD;AA4D9C,KAAK,UAAU,aAAa,CACjC,MAAgC,EAChC,UAAmC;IAEnC,OAAO,MAAM,CAAC,OAAO,CAAC;QACpB,MAAM,EAAE,sBAAsB;QAC9B,MAAM,EAAE;YACN;gBACE,OAAO,EAAE;oBACP,GAAG,UAAU;oBACb,GAAG,CAAC,UAAU,CAAC,OAAO;wBACpB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAA,sBAAW,EAAC,UAAU,CAAC,OAAO,CAAC,EAAE;wBAC9C,CAAC,CAAC,EAAE,CAAC;iBACC;gBACV,OAAO,EAAE,GAAG;aACb;SACF;KACF,CAAC,CAAA;AACJ,CAAC"}

View File

@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.erc7895Actions = erc7895Actions;
const addSubAccount_js_1 = require("../actions/addSubAccount.js");
function erc7895Actions() {
return (client) => {
return {
addSubAccount: (parameters) => (0, addSubAccount_js_1.addSubAccount)(client, parameters),
};
};
}
//# sourceMappingURL=erc7895.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"erc7895.js","sourceRoot":"","sources":["../../../../experimental/erc7895/decorators/erc7895.ts"],"names":[],"mappings":";;AA0DA,wCAWC;AAlED,kEAIoC;AAmDpC,SAAgB,cAAc;IAC5B,OAAO,CAIL,MAAgC,EAChB,EAAE;QAClB,OAAO;YACL,aAAa,EAAE,CAAC,UAAU,EAAE,EAAE,CAAC,IAAA,gCAAa,EAAC,MAAM,EAAE,UAAU,CAAC;SACjE,CAAA;IACH,CAAC,CAAA;AACH,CAAC"}

8
node_modules/viem/_cjs/experimental/erc7895/index.js generated vendored Normal file
View File

@@ -0,0 +1,8 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.erc7895Actions = exports.addSubAccount = void 0;
var addSubAccount_js_1 = require("./actions/addSubAccount.js");
Object.defineProperty(exports, "addSubAccount", { enumerable: true, get: function () { return addSubAccount_js_1.addSubAccount; } });
var erc7895_js_1 = require("./decorators/erc7895.js");
Object.defineProperty(exports, "erc7895Actions", { enumerable: true, get: function () { return erc7895_js_1.erc7895Actions; } });
//# sourceMappingURL=index.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../experimental/erc7895/index.ts"],"names":[],"mappings":";;;AACA,+DAKmC;AADjC,iHAAA,aAAa,OAAA;AAGf,sDAA6E;AAA/C,4GAAA,cAAc,OAAA"}

46
node_modules/viem/_cjs/experimental/index.js generated vendored Normal file
View File

@@ -0,0 +1,46 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.erc7895Actions = exports.erc7846Actions = exports.erc7821Actions = exports.erc7811Actions = exports.erc7739Actions = exports.erc7715Actions = exports.grantPermissions = exports.eip5792Actions = exports.writeContracts = exports.verifyAuthorization = exports.serializeAuthorizationList = exports.recoverAuthorizationAddress = exports.hashAuthorization = exports.eip7702Actions = exports.waitForCallsStatus = exports.signAuthorization = exports.showCallsStatus = exports.sendCalls = exports.prepareAuthorization = exports.getCapabilities = exports.getCallsStatus = void 0;
var getCallsStatus_js_1 = require("../actions/wallet/getCallsStatus.js");
Object.defineProperty(exports, "getCallsStatus", { enumerable: true, get: function () { return getCallsStatus_js_1.getCallsStatus; } });
var getCapabilities_js_1 = require("../actions/wallet/getCapabilities.js");
Object.defineProperty(exports, "getCapabilities", { enumerable: true, get: function () { return getCapabilities_js_1.getCapabilities; } });
var prepareAuthorization_js_1 = require("../actions/wallet/prepareAuthorization.js");
Object.defineProperty(exports, "prepareAuthorization", { enumerable: true, get: function () { return prepareAuthorization_js_1.prepareAuthorization; } });
var sendCalls_js_1 = require("../actions/wallet/sendCalls.js");
Object.defineProperty(exports, "sendCalls", { enumerable: true, get: function () { return sendCalls_js_1.sendCalls; } });
var showCallsStatus_js_1 = require("../actions/wallet/showCallsStatus.js");
Object.defineProperty(exports, "showCallsStatus", { enumerable: true, get: function () { return showCallsStatus_js_1.showCallsStatus; } });
var signAuthorization_js_1 = require("../actions/wallet/signAuthorization.js");
Object.defineProperty(exports, "signAuthorization", { enumerable: true, get: function () { return signAuthorization_js_1.signAuthorization; } });
var waitForCallsStatus_js_1 = require("../actions/wallet/waitForCallsStatus.js");
Object.defineProperty(exports, "waitForCallsStatus", { enumerable: true, get: function () { return waitForCallsStatus_js_1.waitForCallsStatus; } });
var wallet_js_1 = require("../clients/decorators/wallet.js");
Object.defineProperty(exports, "eip7702Actions", { enumerable: true, get: function () { return wallet_js_1.walletActions; } });
var hashAuthorization_js_1 = require("../utils/authorization/hashAuthorization.js");
Object.defineProperty(exports, "hashAuthorization", { enumerable: true, get: function () { return hashAuthorization_js_1.hashAuthorization; } });
var recoverAuthorizationAddress_js_1 = require("../utils/authorization/recoverAuthorizationAddress.js");
Object.defineProperty(exports, "recoverAuthorizationAddress", { enumerable: true, get: function () { return recoverAuthorizationAddress_js_1.recoverAuthorizationAddress; } });
var serializeAuthorizationList_js_1 = require("../utils/authorization/serializeAuthorizationList.js");
Object.defineProperty(exports, "serializeAuthorizationList", { enumerable: true, get: function () { return serializeAuthorizationList_js_1.serializeAuthorizationList; } });
var verifyAuthorization_js_1 = require("../utils/authorization/verifyAuthorization.js");
Object.defineProperty(exports, "verifyAuthorization", { enumerable: true, get: function () { return verifyAuthorization_js_1.verifyAuthorization; } });
var writeContracts_js_1 = require("./eip5792/actions/writeContracts.js");
Object.defineProperty(exports, "writeContracts", { enumerable: true, get: function () { return writeContracts_js_1.writeContracts; } });
var eip5792_js_1 = require("./eip5792/decorators/eip5792.js");
Object.defineProperty(exports, "eip5792Actions", { enumerable: true, get: function () { return eip5792_js_1.eip5792Actions; } });
var grantPermissions_js_1 = require("./erc7715/actions/grantPermissions.js");
Object.defineProperty(exports, "grantPermissions", { enumerable: true, get: function () { return grantPermissions_js_1.grantPermissions; } });
var erc7715_js_1 = require("./erc7715/decorators/erc7715.js");
Object.defineProperty(exports, "erc7715Actions", { enumerable: true, get: function () { return erc7715_js_1.erc7715Actions; } });
var erc7739_js_1 = require("./erc7739/decorators/erc7739.js");
Object.defineProperty(exports, "erc7739Actions", { enumerable: true, get: function () { return erc7739_js_1.erc7739Actions; } });
var erc7811_js_1 = require("./erc7811/decorators/erc7811.js");
Object.defineProperty(exports, "erc7811Actions", { enumerable: true, get: function () { return erc7811_js_1.erc7811Actions; } });
var erc7821_js_1 = require("./erc7821/decorators/erc7821.js");
Object.defineProperty(exports, "erc7821Actions", { enumerable: true, get: function () { return erc7821_js_1.erc7821Actions; } });
var erc7846_js_1 = require("./erc7846/decorators/erc7846.js");
Object.defineProperty(exports, "erc7846Actions", { enumerable: true, get: function () { return erc7846_js_1.erc7846Actions; } });
var erc7895_js_1 = require("./erc7895/decorators/erc7895.js");
Object.defineProperty(exports, "erc7895Actions", { enumerable: true, get: function () { return erc7895_js_1.erc7895Actions; } });
//# sourceMappingURL=index.js.map

1
node_modules/viem/_cjs/experimental/index.js.map generated vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../experimental/index.ts"],"names":[],"mappings":";;;AACA,yEAS4C;AAD1C,mHAAA,cAAc,OAAA;AAEhB,2EAS6C;AAD3C,qHAAA,eAAe,OAAA;AAEjB,qFASkD;AADhD,+HAAA,oBAAoB,OAAA;AAEtB,+DASuC;AADrC,yGAAA,SAAS,OAAA;AAEX,2EAS6C;AAD3C,qHAAA,eAAe,OAAA;AAEjB,+EAS+C;AAD7C,yHAAA,iBAAiB,OAAA;AAEnB,iFAWgD;AAD9C,2HAAA,kBAAkB,OAAA;AAGpB,6DAKwC;AADtC,2GAAA,aAAa,OAAkB;AAsBjC,oFASoD;AADlD,yHAAA,iBAAiB,OAAA;AAEnB,wGAS8D;AAD5D,6IAAA,2BAA2B,OAAA;AAE7B,sGAO6D;AAD3D,2IAAA,0BAA0B,OAAA;AAE5B,wFASsD;AADpD,6HAAA,mBAAmB,OAAA;AAErB,yEAW4C;AAD1C,mHAAA,cAAc,OAAA;AAEhB,8DAKwC;AADtC,4GAAA,cAAc,OAAA;AAGhB,6EAI8C;AAD5C,uHAAA,gBAAgB,OAAA;AAElB,8DAGwC;AADtC,4GAAA,cAAc,OAAA;AAGhB,8DAIwC;AADtC,4GAAA,cAAc,OAAA;AAEhB,8DAGwC;AADtC,4GAAA,cAAc,OAAA;AAEhB,8DAGwC;AADtC,4GAAA,cAAc,OAAA;AAEhB,8DAGwC;AADtC,4GAAA,cAAc,OAAA;AAGhB,8DAGwC;AADtC,4GAAA,cAAc,OAAA"}