@pafi-dev/core 0.7.7 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abi/index.cjs +7 -3
- package/dist/abi/index.cjs.map +1 -1
- package/dist/abi/index.d.cts +451 -2
- package/dist/abi/index.d.ts +451 -2
- package/dist/abi/index.js +7 -3
- package/dist/auth/index.cjs +6 -2
- package/dist/auth/index.cjs.map +1 -1
- package/dist/auth/index.d.cts +21 -9
- package/dist/auth/index.d.ts +21 -9
- package/dist/auth/index.js +5 -1
- package/dist/{chunk-6UX2IFA2.js → chunk-4EGXLYMM.js} +20 -2
- package/dist/chunk-4EGXLYMM.js.map +1 -0
- package/dist/chunk-644KZUKR.cjs +519 -0
- package/dist/chunk-644KZUKR.cjs.map +1 -0
- package/dist/{chunk-5254AG3Z.cjs → chunk-75JWR5SA.cjs} +21 -3
- package/dist/chunk-75JWR5SA.cjs.map +1 -0
- package/dist/{chunk-6CXTFOIH.js → chunk-ABNM6LMP.js} +266 -1
- package/dist/chunk-ABNM6LMP.js.map +1 -0
- package/dist/{chunk-M5ULOZ3A.cjs → chunk-ACQHZWHP.cjs} +55 -3
- package/dist/chunk-ACQHZWHP.cjs.map +1 -0
- package/dist/{chunk-5JZOJIBT.js → chunk-B2NDSIAI.js} +1 -1095
- package/dist/chunk-B2NDSIAI.js.map +1 -0
- package/dist/{chunk-WJSIB5GF.js → chunk-BB5YW57R.js} +53 -1
- package/dist/chunk-BB5YW57R.js.map +1 -0
- package/dist/chunk-CUVUSVWR.js +519 -0
- package/dist/chunk-CUVUSVWR.js.map +1 -0
- package/dist/chunk-JEWSN7Q3.cjs +1059 -0
- package/dist/chunk-JEWSN7Q3.cjs.map +1 -0
- package/dist/{chunk-Q6WCDZXI.cjs → chunk-RFANYF24.cjs} +267 -2
- package/dist/chunk-RFANYF24.cjs.map +1 -0
- package/dist/{chunk-YDLMVWDH.js → chunk-Y4CFC4OC.js} +5 -3
- package/dist/{chunk-YDLMVWDH.js.map → chunk-Y4CFC4OC.js.map} +1 -1
- package/dist/{chunk-CLPRSQT2.cjs → chunk-YCY7MBSJ.cjs} +14 -12
- package/dist/chunk-YCY7MBSJ.cjs.map +1 -0
- package/dist/contract/index.cjs +4 -3
- package/dist/contract/index.cjs.map +1 -1
- package/dist/contract/index.d.cts +1 -1
- package/dist/contract/index.d.ts +1 -1
- package/dist/contract/index.js +3 -2
- package/dist/eip712/index.cjs +7 -2
- package/dist/eip712/index.cjs.map +1 -1
- package/dist/eip712/index.d.cts +39 -4
- package/dist/eip712/index.d.ts +39 -4
- package/dist/eip712/index.js +6 -1
- package/dist/index.cjs +169 -60
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +112 -31
- package/dist/index.d.ts +112 -31
- package/dist/index.js +132 -23
- package/dist/index.js.map +1 -1
- package/dist/{types-BAkmxgVo.d.cts → types-BS4kpO4Z.d.cts} +62 -5
- package/dist/{types-BAkmxgVo.d.ts → types-BS4kpO4Z.d.ts} +62 -5
- package/package.json +1 -1
- package/dist/chunk-5254AG3Z.cjs.map +0 -1
- package/dist/chunk-5JZOJIBT.js.map +0 -1
- package/dist/chunk-6CXTFOIH.js.map +0 -1
- package/dist/chunk-6UX2IFA2.js.map +0 -1
- package/dist/chunk-CLPRSQT2.cjs.map +0 -1
- package/dist/chunk-LRHY7GOR.cjs +0 -2153
- package/dist/chunk-LRHY7GOR.cjs.map +0 -1
- package/dist/chunk-M5ULOZ3A.cjs.map +0 -1
- package/dist/chunk-Q6WCDZXI.cjs.map +0 -1
- package/dist/chunk-WJSIB5GF.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/phitran/Pacific-Finance/pafi-backend/pafi-sdk/packages/core/dist/chunk-644KZUKR.cjs","../src/abi/pointToken.ts"],"names":[],"mappings":"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","file":"/Users/phitran/Pacific-Finance/pafi-backend/pafi-sdk/packages/core/dist/chunk-644KZUKR.cjs","sourcesContent":[null,"/** Full ABI for PointToken (ERC-20 + EIP-712 minting + roles + permits + pause + UUPS init) — hand-pasted from SC artifact pre-push, will auto-regenerate when SC merges + `forge build` */\nexport const pointTokenAbi = [\n { type: \"constructor\", inputs: [], stateMutability: \"nonpayable\" },\n {\n type: \"function\",\n name: \"DOMAIN_SEPARATOR\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"acceptOwnership\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"addBurner\",\n inputs: [{ name: \"burner\", type: \"address\", internalType: \"address\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"addMinter\",\n inputs: [{ name: \"minter\", type: \"address\", internalType: \"address\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"allowance\",\n inputs: [\n { name: \"owner\", type: \"address\", internalType: \"address\" },\n { name: \"spender\", type: \"address\", internalType: \"address\" },\n ],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"approve\",\n inputs: [\n { name: \"spender\", type: \"address\", internalType: \"address\" },\n { name: \"value\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"balanceOf\",\n inputs: [{ name: \"account\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"burn\",\n inputs: [\n { name: \"from\", type: \"address\", internalType: \"address\" },\n { name: \"amount\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"deadline\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"burnerSig\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"burn\",\n inputs: [\n { name: \"from\", type: \"address\", internalType: \"address\" },\n { name: \"amount\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"burnRequestNonces\",\n inputs: [{ name: \"from\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"burners\",\n inputs: [{ name: \"account\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"decimals\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint8\", internalType: \"uint8\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"eip712Domain\",\n inputs: [],\n outputs: [\n { name: \"fields\", type: \"bytes1\", internalType: \"bytes1\" },\n { name: \"name\", type: \"string\", internalType: \"string\" },\n { name: \"version\", type: \"string\", internalType: \"string\" },\n { name: \"chainId\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"verifyingContract\", type: \"address\", internalType: \"address\" },\n { name: \"salt\", type: \"bytes32\", internalType: \"bytes32\" },\n { name: \"extensions\", type: \"uint256[]\", internalType: \"uint256[]\" },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"initialize\",\n inputs: [\n { name: \"_tokenOwner\", type: \"address\", internalType: \"address\" },\n { name: \"_issuer\", type: \"address\", internalType: \"address\" },\n { name: \"_signerAddress\", type: \"address\", internalType: \"address\" },\n { name: \"name\", type: \"string\", internalType: \"string\" },\n { name: \"symbol\", type: \"string\", internalType: \"string\" },\n { name: \"_mintingOracle\", type: \"address\", internalType: \"address\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"issuer\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"mint\",\n inputs: [\n { name: \"to\", type: \"address\", internalType: \"address\" },\n { name: \"amount\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"mint\",\n inputs: [\n { name: \"to\", type: \"address\", internalType: \"address\" },\n { name: \"amount\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"deadline\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"minterSig\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"mintRequestNonces\",\n inputs: [{ name: \"receiver\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"minters\",\n inputs: [{ name: \"account\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"mintingOracle\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"name\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\", internalType: \"string\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"nonces\",\n inputs: [{ name: \"owner\", type: \"address\", internalType: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"owner\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"pause\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"paused\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"pendingOwner\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"permit\",\n inputs: [\n { name: \"owner\", type: \"address\", internalType: \"address\" },\n { name: \"spender\", type: \"address\", internalType: \"address\" },\n { name: \"value\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"deadline\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"v\", type: \"uint8\", internalType: \"uint8\" },\n { name: \"r\", type: \"bytes32\", internalType: \"bytes32\" },\n { name: \"s\", type: \"bytes32\", internalType: \"bytes32\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"removeBurner\",\n inputs: [{ name: \"burner\", type: \"address\", internalType: \"address\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"removeMinter\",\n inputs: [{ name: \"minter\", type: \"address\", internalType: \"address\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"renounceOwnership\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"setMintingOracle\",\n inputs: [{ name: \"_mintingOracle\", type: \"address\", internalType: \"address\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"symbol\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\", internalType: \"string\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"totalSupply\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\", internalType: \"uint256\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"transfer\",\n inputs: [\n { name: \"to\", type: \"address\", internalType: \"address\" },\n { name: \"value\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"transferFrom\",\n inputs: [\n { name: \"from\", type: \"address\", internalType: \"address\" },\n { name: \"to\", type: \"address\", internalType: \"address\" },\n { name: \"value\", type: \"uint256\", internalType: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\", internalType: \"bool\" }],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"transferOwnership\",\n inputs: [{ name: \"newOwner\", type: \"address\", internalType: \"address\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"unpause\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"event\",\n name: \"Approval\",\n inputs: [\n { name: \"owner\", type: \"address\", indexed: true, internalType: \"address\" },\n { name: \"spender\", type: \"address\", indexed: true, internalType: \"address\" },\n { name: \"value\", type: \"uint256\", indexed: false, internalType: \"uint256\" },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"BurnerAdded\",\n inputs: [{ name: \"burner\", type: \"address\", indexed: true, internalType: \"address\" }],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"BurnerRemoved\",\n inputs: [{ name: \"burner\", type: \"address\", indexed: true, internalType: \"address\" }],\n anonymous: false,\n },\n { type: \"event\", name: \"EIP712DomainChanged\", inputs: [], anonymous: false },\n {\n type: \"event\",\n name: \"Initialized\",\n inputs: [{ name: \"version\", type: \"uint64\", indexed: false, internalType: \"uint64\" }],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"MinterAdded\",\n inputs: [{ name: \"minter\", type: \"address\", indexed: true, internalType: \"address\" }],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"MinterRemoved\",\n inputs: [{ name: \"minter\", type: \"address\", indexed: true, internalType: \"address\" }],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"MintingOracleUpdated\",\n inputs: [{ name: \"mintingOracle\", type: \"address\", indexed: true, internalType: \"address\" }],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferStarted\",\n inputs: [\n { name: \"previousOwner\", type: \"address\", indexed: true, internalType: \"address\" },\n { name: \"newOwner\", type: \"address\", indexed: true, internalType: \"address\" },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferred\",\n inputs: [\n { name: \"previousOwner\", type: \"address\", indexed: true, internalType: \"address\" },\n { name: \"newOwner\", type: \"address\", indexed: true, internalType: \"address\" },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Paused\",\n inputs: [{ name: \"account\", type: \"address\", indexed: false, internalType: \"address\" }],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Transfer\",\n inputs: [\n { name: \"from\", type: \"address\", indexed: true, internalType: \"address\" },\n { name: \"to\", type: \"address\", indexed: true, internalType: \"address\" },\n { name: \"value\", type: \"uint256\", indexed: false, internalType: \"uint256\" },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Unpaused\",\n inputs: [{ name: \"account\", type: \"address\", indexed: false, internalType: \"address\" }],\n anonymous: false,\n },\n {\n type: \"error\",\n name: \"BurnerAlreadyAdded\",\n inputs: [{ name: \"burner\", type: \"address\", internalType: \"address\" }],\n },\n {\n type: \"error\",\n name: \"BurnerAlreadyRemoved\",\n inputs: [{ name: \"burner\", type: \"address\", internalType: \"address\" }],\n },\n { type: \"error\", name: \"ECDSAInvalidSignature\", inputs: [] },\n {\n type: \"error\",\n name: \"ECDSAInvalidSignatureLength\",\n inputs: [{ name: \"length\", type: \"uint256\", internalType: \"uint256\" }],\n },\n {\n type: \"error\",\n name: \"ECDSAInvalidSignatureS\",\n inputs: [{ name: \"s\", type: \"bytes32\", internalType: \"bytes32\" }],\n },\n {\n type: \"error\",\n name: \"ERC20InsufficientAllowance\",\n inputs: [\n { name: \"spender\", type: \"address\", internalType: \"address\" },\n { name: \"allowance\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"needed\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n {\n type: \"error\",\n name: \"ERC20InsufficientBalance\",\n inputs: [\n { name: \"sender\", type: \"address\", internalType: \"address\" },\n { name: \"balance\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"needed\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n {\n type: \"error\",\n name: \"ERC20InvalidApprover\",\n inputs: [{ name: \"approver\", type: \"address\", internalType: \"address\" }],\n },\n {\n type: \"error\",\n name: \"ERC20InvalidReceiver\",\n inputs: [{ name: \"receiver\", type: \"address\", internalType: \"address\" }],\n },\n {\n type: \"error\",\n name: \"ERC20InvalidSender\",\n inputs: [{ name: \"sender\", type: \"address\", internalType: \"address\" }],\n },\n {\n type: \"error\",\n name: \"ERC20InvalidSpender\",\n inputs: [{ name: \"spender\", type: \"address\", internalType: \"address\" }],\n },\n {\n type: \"error\",\n name: \"ERC2612ExpiredSignature\",\n inputs: [{ name: \"deadline\", type: \"uint256\", internalType: \"uint256\" }],\n },\n {\n type: \"error\",\n name: \"ERC2612InvalidSigner\",\n inputs: [\n { name: \"signer\", type: \"address\", internalType: \"address\" },\n { name: \"owner\", type: \"address\", internalType: \"address\" },\n ],\n },\n { type: \"error\", name: \"EnforcedPause\", inputs: [] },\n { type: \"error\", name: \"ExpectedPause\", inputs: [] },\n {\n type: \"error\",\n name: \"InvalidAccountNonce\",\n inputs: [\n { name: \"account\", type: \"address\", internalType: \"address\" },\n { name: \"currentNonce\", type: \"uint256\", internalType: \"uint256\" },\n ],\n },\n { type: \"error\", name: \"InvalidInitialization\", inputs: [] },\n { type: \"error\", name: \"InvalidSignature\", inputs: [] },\n {\n type: \"error\",\n name: \"MinterAlreadyAdded\",\n inputs: [{ name: \"minter\", type: \"address\", internalType: \"address\" }],\n },\n {\n type: \"error\",\n name: \"MinterAlreadyRemoved\",\n inputs: [{ name: \"minter\", type: \"address\", internalType: \"address\" }],\n },\n { type: \"error\", name: \"NotBurner\", inputs: [] },\n { type: \"error\", name: \"NotHolder\", inputs: [] },\n { type: \"error\", name: \"NotInitializing\", inputs: [] },\n { type: \"error\", name: \"NotIssuer\", inputs: [] },\n { type: \"error\", name: \"NotMinter\", inputs: [] },\n { type: \"error\", name: \"NotReceiver\", inputs: [] },\n {\n type: \"error\",\n name: \"OwnableInvalidOwner\",\n inputs: [{ name: \"owner\", type: \"address\", internalType: \"address\" }],\n },\n {\n type: \"error\",\n name: \"OwnableUnauthorizedAccount\",\n inputs: [{ name: \"account\", type: \"address\", internalType: \"address\" }],\n },\n { type: \"error\", name: \"SignatureExpired\", inputs: [] },\n { type: \"error\", name: \"ZeroAddress\", inputs: [] },\n] as const;\n"]}
|
|
@@ -199,12 +199,28 @@ var SPONSOR_AUTH_TYPES = {
|
|
|
199
199
|
{ name: "issuerId", type: "string" }
|
|
200
200
|
]
|
|
201
201
|
};
|
|
202
|
+
var SPONSOR_AUTH_DOMAIN_ANCHOR_BASE_MAINNET = "0x5041464953504F4E534F525F0000000000000001";
|
|
203
|
+
var SPONSOR_AUTH_DOMAIN_ANCHORS = {
|
|
204
|
+
// Base mainnet — uses the literal-tag anchor above. To migrate to a
|
|
205
|
+
// real EOA / contract, replace this entry and bump `version` to "2"
|
|
206
|
+
// so existing sigs become invalid.
|
|
207
|
+
8453: SPONSOR_AUTH_DOMAIN_ANCHOR_BASE_MAINNET
|
|
208
|
+
};
|
|
209
|
+
function getSponsorAuthDomainAnchor(chainId) {
|
|
210
|
+
const anchor = SPONSOR_AUTH_DOMAIN_ANCHORS[chainId];
|
|
211
|
+
if (!anchor) {
|
|
212
|
+
throw new Error(
|
|
213
|
+
`buildSponsorAuthDomain: no SponsorAuth domain anchor configured for chainId ${chainId}. Add an entry to SPONSOR_AUTH_DOMAIN_ANCHORS in @pafi-dev/core/auth/sponsorAuth.ts.`
|
|
214
|
+
);
|
|
215
|
+
}
|
|
216
|
+
return anchor;
|
|
217
|
+
}
|
|
202
218
|
function buildSponsorAuthDomain(chainId) {
|
|
203
219
|
return {
|
|
204
220
|
name: SPONSOR_AUTH_DOMAIN_NAME,
|
|
205
221
|
version: "1",
|
|
206
222
|
chainId,
|
|
207
|
-
verifyingContract:
|
|
223
|
+
verifyingContract: getSponsorAuthDomainAnchor(chainId)
|
|
208
224
|
};
|
|
209
225
|
}
|
|
210
226
|
function buildMessage(payload) {
|
|
@@ -303,5 +319,7 @@ async function verifySponsorAuth(payload, signature, expectedSigner) {
|
|
|
303
319
|
|
|
304
320
|
|
|
305
321
|
|
|
306
|
-
|
|
307
|
-
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
exports.createLoginMessage = createLoginMessage; exports.parseLoginMessage = parseLoginMessage; exports.verifyLoginMessage = verifyLoginMessage; exports.generateSponsorAuthNonce = generateSponsorAuthNonce; exports.SPONSOR_AUTH_DOMAIN_NAME = SPONSOR_AUTH_DOMAIN_NAME; exports.SPONSOR_AUTH_TYPES = SPONSOR_AUTH_TYPES; exports.SPONSOR_AUTH_DOMAIN_ANCHOR_BASE_MAINNET = SPONSOR_AUTH_DOMAIN_ANCHOR_BASE_MAINNET; exports.getSponsorAuthDomainAnchor = getSponsorAuthDomainAnchor; exports.buildSponsorAuthDomain = buildSponsorAuthDomain; exports.buildSponsorAuthTypedData = buildSponsorAuthTypedData; exports.computeCallDataHash = computeCallDataHash; exports.signSponsorAuth = signSponsorAuth; exports.buildAndSignSponsorAuth = buildAndSignSponsorAuth; exports.verifySponsorAuth = verifySponsorAuth;
|
|
325
|
+
//# sourceMappingURL=chunk-75JWR5SA.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/phitran/Pacific-Finance/pafi-backend/pafi-sdk/packages/core/dist/chunk-75JWR5SA.cjs","../src/auth/loginMessage.ts","../src/auth/sponsorAuth.ts"],"names":[],"mappings":"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,IAAA;AACR,MAAA;AAEF,IAAA;AACF,EAAA;AACO,EAAA;AACT;AAEgB;AACP,EAAA;AACC,IAAA;AACG,IAAA;AACT,IAAA;AACA,IAAA;AACF,EAAA;AACF;AAES;AACA,EAAA;AACI,IAAA;AACD,IAAA;AACR,IAAA;AACO,IAAA;AACP,IAAA;AACU,IAAA;AACA,IAAA;AACZ,EAAA;AACF;AAEgB;AACP,EAAA;AACG,IAAA;AACD,IAAA;AACP,IAAA;AACS,IAAA;AACX,EAAA;AACF;AAEgB;AACP,EAAA;AACT;AAEA;AAIU,EAAA;AAED,EAAA;AACI,IAAA;AACT,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACD,EAAA;AACH;AA4DA;AAGQ,EAAA;AAGA,EAAA;AAEA,EAAA;AACK,IAAA;AACD,IAAA;AACR,IAAA;AACA,IAAA;AACA,IAAA;AACU,IAAA;AACA,IAAA;AACZ,EAAA;AAEY,EAAA;AAEL,EAAA;AACL,IAAA;AACS,IAAA;AACD,IAAA;AACR,IAAA;AACO,IAAA;AACP,IAAA;AACU,IAAA;AACA,IAAA;AACZ,EAAA;AACF;AAEA;AAKQ,EAAA;AACM,EAAA;AACD,IAAA;AACX,EAAA;AAQK,EAAA;AACM,IAAA;AACX,EAAA;AAEI,EAAA;AACA,EAAA;AACM,IAAA;AAER,IAAA;AACE,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACA,MAAA;AACD,IAAA;AACK,EAAA;AACG,IAAA;AACX,EAAA;AAEI,EAAA;AACO,IAAA;AACX,EAAA;AAES,EAAA;AACX;AFEc;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"/Users/phitran/Pacific-Finance/pafi-backend/pafi-sdk/packages/core/dist/chunk-75JWR5SA.cjs","sourcesContent":[null,"import { getAddress, verifyMessage, recoverMessageAddress } from \"viem\";\nimport type { Address, Hex } from \"viem\";\nimport type { LoginMessageParams, VerifyLoginResult } from \"./types\";\n\nconst DEFAULT_VERSION = \"1\";\nconst DEFAULT_STATEMENT = \"Sign in with Ethereum to PAFI.\";\n\n/**\n * Build an EIP-4361 login message string.\n *\n * The output is a deterministic plain-text message that the wallet signs via\n * `personal_sign`. The same message can be parsed back with\n * {@link parseLoginMessage} and verified with {@link verifyLoginMessage}.\n */\nexport function createLoginMessage(params: LoginMessageParams): string {\n const {\n domain,\n address,\n chainId,\n nonce,\n uri,\n statement = DEFAULT_STATEMENT,\n version = DEFAULT_VERSION,\n issuedAt = new Date(),\n expirationTime,\n notBefore,\n requestId,\n } = params;\n\n if (!domain) throw new Error(\"createLoginMessage: domain required\");\n if (!nonce) throw new Error(\"createLoginMessage: nonce required\");\n if (!uri) throw new Error(\"createLoginMessage: uri required\");\n\n const checksummed = getAddress(address);\n\n const lines: string[] = [];\n lines.push(`${domain} wants you to sign in with your Ethereum account:`);\n lines.push(checksummed);\n lines.push(\"\");\n if (statement) {\n lines.push(statement);\n lines.push(\"\");\n }\n lines.push(`URI: ${uri}`);\n lines.push(`Version: ${version}`);\n lines.push(`Chain ID: ${chainId}`);\n lines.push(`Nonce: ${nonce}`);\n lines.push(`Issued At: ${issuedAt.toISOString()}`);\n if (expirationTime) {\n lines.push(`Expiration Time: ${expirationTime.toISOString()}`);\n }\n if (notBefore) {\n lines.push(`Not Before: ${notBefore.toISOString()}`);\n }\n if (requestId) {\n lines.push(`Request ID: ${requestId}`);\n }\n\n return lines.join(\"\\n\");\n}\n\n/**\n * Parse a login message string built by {@link createLoginMessage} back into\n * its structured fields. Throws if the message does not match the expected\n * EIP-4361 layout.\n */\nexport function parseLoginMessage(message: string): LoginMessageParams {\n const lines = message.split(\"\\n\");\n if (lines.length < 7) {\n throw new Error(\"parseLoginMessage: message too short\");\n }\n\n const headerLine = lines[0] ?? \"\";\n const headerMatch = headerLine.match(\n /^(?<domain>.+) wants you to sign in with your Ethereum account:$/,\n );\n if (!headerMatch || !headerMatch.groups) {\n throw new Error(\"parseLoginMessage: invalid header line\");\n }\n const domain = headerMatch.groups[\"domain\"]!;\n\n const addressLine = lines[1] ?? \"\";\n if (!/^0x[0-9a-fA-F]{40}$/.test(addressLine)) {\n throw new Error(\"parseLoginMessage: invalid address line\");\n }\n const address = getAddress(addressLine);\n\n // After address: blank line, optional statement + blank line, then key:value lines.\n let cursor = 2;\n if (lines[cursor] !== \"\") {\n throw new Error(\"parseLoginMessage: missing blank line after address\");\n }\n cursor++;\n\n let statement: string | undefined;\n // Statement is present if the next line is not a known key.\n if (cursor < lines.length && !looksLikeKeyValue(lines[cursor]!)) {\n statement = lines[cursor];\n cursor++;\n if (lines[cursor] !== \"\") {\n throw new Error(\"parseLoginMessage: missing blank line after statement\");\n }\n cursor++;\n }\n\n const fields = new Map<string, string>();\n for (; cursor < lines.length; cursor++) {\n const line = lines[cursor]!;\n if (line === \"\") continue;\n const idx = line.indexOf(\": \");\n if (idx === -1) {\n throw new Error(`parseLoginMessage: malformed field line: \"${line}\"`);\n }\n const key = line.slice(0, idx);\n const value = line.slice(idx + 2);\n fields.set(key, value);\n }\n\n const uri = requireField(fields, \"URI\");\n const version = requireField(fields, \"Version\");\n const chainId = Number(requireField(fields, \"Chain ID\"));\n if (!Number.isInteger(chainId)) {\n throw new Error(\"parseLoginMessage: Chain ID is not an integer\");\n }\n const nonce = requireField(fields, \"Nonce\");\n const issuedAt = new Date(requireField(fields, \"Issued At\"));\n const expirationTime = optionalDate(fields, \"Expiration Time\");\n const notBefore = optionalDate(fields, \"Not Before\");\n const requestId = fields.get(\"Request ID\");\n\n const result: LoginMessageParams = {\n domain,\n address,\n chainId,\n nonce,\n uri,\n version,\n issuedAt,\n };\n if (statement !== undefined) result.statement = statement;\n if (expirationTime !== undefined) result.expirationTime = expirationTime;\n if (notBefore !== undefined) result.notBefore = notBefore;\n if (requestId !== undefined) result.requestId = requestId;\n return result;\n}\n\n/**\n * Verify that a login message was signed by the address embedded in the\n * message. Returns `{ valid, address }` where `address` is the recovered\n * signer (checksummed). Does NOT check expiration / not-before / nonce\n * consumption — those are the AuthService's responsibility.\n */\nexport async function verifyLoginMessage(\n message: string,\n signature: Hex,\n): Promise<VerifyLoginResult> {\n const parsed = parseLoginMessage(message);\n const valid = await verifyMessage({\n address: parsed.address,\n message,\n signature,\n });\n if (valid) {\n return { valid: true, address: parsed.address };\n }\n // Recover anyway so callers can log the mismatch.\n const recovered = await recoverMessageAddress({ message, signature });\n return { valid: false, address: getAddress(recovered) as Address };\n}\n\n// -------------------------------------------------------------------------\n// helpers\n// -------------------------------------------------------------------------\n\nconst KNOWN_KEYS = new Set([\n \"URI\",\n \"Version\",\n \"Chain ID\",\n \"Nonce\",\n \"Issued At\",\n \"Expiration Time\",\n \"Not Before\",\n \"Request ID\",\n]);\n\nfunction looksLikeKeyValue(line: string): boolean {\n const idx = line.indexOf(\": \");\n if (idx === -1) return false;\n return KNOWN_KEYS.has(line.slice(0, idx));\n}\n\nfunction requireField(fields: Map<string, string>, key: string): string {\n const value = fields.get(key);\n if (value === undefined) {\n throw new Error(`parseLoginMessage: missing required field \"${key}\"`);\n }\n return value;\n}\n\nfunction optionalDate(\n fields: Map<string, string>,\n key: string,\n): Date | undefined {\n const raw = fields.get(key);\n if (raw === undefined) return undefined;\n return new Date(raw);\n}\n","import { keccak256, recoverTypedDataAddress } from \"viem\";\nimport type { Address, Hex, WalletClient } from \"viem\";\n\n/**\n * Generate a high-entropy nonce for SponsorAuth. Uses 64 bits of CSPRNG\n * (`crypto.randomBytes` Node, `crypto.getRandomValues` browser) in the low\n * half plus a millisecond timestamp prefix in the high half — keeps\n * sponsor-relayer's single-use nonce gate clean at scale.\n */\nexport function generateSponsorAuthNonce(): bigint {\n // Per-spec timestamp prefix (high 64 bits, ms precision) so server-side\n // freshness checks can derive an approx age from the nonce alone.\n const tsMs = BigInt(Date.now());\n\n // 64 bits of CSPRNG entropy in the low half. Try Web Crypto first (browser\n // + modern Node), fall back to node:crypto.\n let randHigh: number;\n let randLow: number;\n const g = globalThis as unknown as {\n crypto?: { getRandomValues?: (a: Uint32Array) => Uint32Array };\n };\n if (g.crypto?.getRandomValues) {\n const buf = new Uint32Array(2);\n g.crypto.getRandomValues(buf);\n randHigh = buf[0]!;\n randLow = buf[1]!;\n } else {\n // Node fallback — require lazily so browser bundlers can tree-shake.\n // eslint-disable-next-line @typescript-eslint/no-require-imports\n const nodeCrypto = require(\"node:crypto\") as {\n randomBytes: (n: number) => Buffer;\n };\n const b = nodeCrypto.randomBytes(8);\n randHigh = b.readUInt32BE(0);\n randLow = b.readUInt32BE(4);\n }\n\n const rand =\n (BigInt(randHigh) << 32n) | BigInt(randLow);\n return (tsMs << 64n) | rand;\n}\n\n/**\n * Validate hex-encoded signature shape: starts with `0x`, even length\n * AFTER the prefix, and 65 bytes (`0x` + 130 hex) minimum. Allows\n * larger sizes for EIP-1271 contract signatures.\n */\nfunction isValidHexSignature(sig: string): boolean {\n if (!sig.startsWith(\"0x\")) return false;\n const hex = sig.slice(2);\n // Must be even length (each byte = 2 hex chars).\n if (hex.length % 2 !== 0) return false;\n // ECDSA = 65 bytes = 130 hex chars. EIP-1271 may be longer; reject\n // shorter lengths.\n if (hex.length < 130) return false;\n // Hex regex (0–9, a–f, A–F).\n return /^[0-9a-fA-F]+$/.test(hex);\n}\n\nexport const SPONSOR_AUTH_DOMAIN_NAME = \"PafiSponsorAuth\";\n\nexport const SPONSOR_AUTH_TYPES = {\n SponsorAuth: [\n { name: \"chainId\", type: \"uint256\" },\n { name: \"sender\", type: \"address\" },\n { name: \"callDataHash\", type: \"bytes32\" },\n { name: \"nonce\", type: \"uint256\" },\n { name: \"expiresAt\", type: \"uint256\" },\n { name: \"scenario\", type: \"string\" },\n { name: \"issuerId\", type: \"string\" },\n ],\n} as const;\n\nexport interface SponsorAuthPayload {\n chainId: number;\n sender: Address;\n callDataHash: Hex;\n nonce: bigint;\n expiresAt: number;\n scenario: string;\n issuerId: string;\n}\n\nexport interface SponsorAuthVerifyResult {\n ok: boolean;\n recoveredAddress?: Address;\n reason?: \"EXPIRED\" | \"INVALID_SIGNER\" | \"INVALID_SIGNATURE_FORMAT\";\n}\n\n/**\n * Domain anchor for SponsorAuth EIP-712 signatures. The relayer service\n * is off-chain (no on-chain SponsorRelayer contract), so we bind to a\n * stable PAFI-controlled marker registered as `SPONSOR_AUTH_DOMAIN_ANCHOR`\n * in the relayer config. This rules out cross-system replay (a sibling\n * EIP-712 payload with the same field names cannot validate against\n * this domain) and gives wallets a meaningful \"verifying contract\"\n * preview instead of `0x0`.\n *\n * If you ever deploy an on-chain `SponsorRelayer` contract, switch this\n * to its address.\n */\n// Bytes 1-4 = \"PAFI\" (0x50414649); bytes 5-12 = \"SPONSOR_\" (0x53504F4E534F525F);\n// bytes 13-19 = padding; byte 20 = version tag (0x01). Total = 20 bytes.\n// Stable, system-specific marker. To migrate to a real EOA / on-chain\n// SponsorRelayer contract, replace this constant and bump `version` to \"2\".\nexport const SPONSOR_AUTH_DOMAIN_ANCHOR_BASE_MAINNET: Address =\n \"0x5041464953504F4E534F525F0000000000000001\" as Address;\n\nconst SPONSOR_AUTH_DOMAIN_ANCHORS: Record<number, Address> = {\n // Base mainnet — uses the literal-tag anchor above. To migrate to a\n // real EOA / contract, replace this entry and bump `version` to \"2\"\n // so existing sigs become invalid.\n 8453: SPONSOR_AUTH_DOMAIN_ANCHOR_BASE_MAINNET,\n};\n\nexport function getSponsorAuthDomainAnchor(chainId: number): Address {\n const anchor = SPONSOR_AUTH_DOMAIN_ANCHORS[chainId];\n if (!anchor) {\n throw new Error(\n `buildSponsorAuthDomain: no SponsorAuth domain anchor configured for chainId ${chainId}. ` +\n `Add an entry to SPONSOR_AUTH_DOMAIN_ANCHORS in @pafi-dev/core/auth/sponsorAuth.ts.`,\n );\n }\n return anchor;\n}\n\nexport function buildSponsorAuthDomain(chainId: number) {\n return {\n name: SPONSOR_AUTH_DOMAIN_NAME,\n version: \"1\",\n chainId,\n verifyingContract: getSponsorAuthDomainAnchor(chainId),\n };\n}\n\nfunction buildMessage(payload: SponsorAuthPayload) {\n return {\n chainId: BigInt(payload.chainId),\n sender: payload.sender,\n callDataHash: payload.callDataHash,\n nonce: payload.nonce,\n expiresAt: BigInt(payload.expiresAt),\n scenario: payload.scenario,\n issuerId: payload.issuerId,\n };\n}\n\nexport function buildSponsorAuthTypedData(payload: SponsorAuthPayload) {\n return {\n domain: buildSponsorAuthDomain(payload.chainId),\n types: SPONSOR_AUTH_TYPES,\n primaryType: \"SponsorAuth\" as const,\n message: buildMessage(payload),\n };\n}\n\nexport function computeCallDataHash(callData: Hex): Hex {\n return keccak256(callData);\n}\n\nexport async function signSponsorAuth(\n wallet: WalletClient,\n payload: SponsorAuthPayload,\n): Promise<Hex> {\n const { domain, types, primaryType, message } =\n buildSponsorAuthTypedData(payload);\n return wallet.signTypedData({\n account: wallet.account!,\n domain,\n types,\n primaryType,\n message,\n });\n}\n\nexport interface BuiltSponsorAuth {\n sig: Hex;\n chainId: number;\n sender: Address;\n callDataHash: Hex;\n /** Decimal-string for JSON transport (bigint not safely serializable). */\n nonce: string;\n expiresAt: number;\n scenario: string;\n issuerId: string;\n}\n\nexport interface BuildSponsorAuthParams {\n /** User EOA the sponsorship is for. */\n userAddress: Address;\n /** UserOp `callData` to bind the auth to (hashed via keccak256). */\n callData: Hex;\n /** Chain id the UserOp will execute on. */\n chainId: number;\n /** Scenario tag for audit / rate-limiter (`mint` / `burn` / `swap` / etc.). */\n scenario: string;\n /** Issuer id (matches `pafi_issuers` row in PAFI's sponsor-relayer). */\n issuerId: string;\n /** Issuer signer wallet (HSM/KMS-backed in production). */\n issuerSignerWallet: WalletClient;\n /** Validity window in seconds. Default 600 (10 min). */\n expiresInSeconds?: number;\n /**\n * Optional explicit nonce. When omitted, defaults to a unique\n * `Date.now() * 1e6 + random` — matches the gg56 reference impl.\n * Override for test fixtures or when chaining replay-protection.\n */\n nonce?: bigint;\n}\n\n/**\n * Build, sign, and serialize a `SponsorAuth` payload in one call.\n * Replaces the ~30 LoC private `buildSponsorAuth` helper that every\n * issuer would otherwise reimplement on each sponsored endpoint.\n *\n * Output is JSON-safe (`nonce` as decimal string) and matches the\n * shape sponsor-relayer's `/paymaster/sponsor` accepts as the\n * `sponsorAuth` field.\n *\n * Issuer typically calls this from each sponsored controller route:\n *\n * ```ts\n * const sponsorAuth = await buildAndSignSponsorAuth({\n * userAddress: user.userAddress,\n * callData: userOp.callData,\n * chainId,\n * scenario: 'mint',\n * issuerId: this.config.get('PAFI_ISSUER_ID'),\n * issuerSignerWallet: this.issuerSignerWallet,\n * });\n * return { ...response, sponsorAuth };\n * ```\n */\nexport async function buildAndSignSponsorAuth(\n params: BuildSponsorAuthParams,\n): Promise<BuiltSponsorAuth> {\n const expiresAt =\n Math.floor(Date.now() / 1000) + (params.expiresInSeconds ?? 600);\n\n const nonce = params.nonce ?? generateSponsorAuthNonce();\n\n const payload: SponsorAuthPayload = {\n chainId: params.chainId,\n sender: params.userAddress,\n callDataHash: computeCallDataHash(params.callData),\n nonce,\n expiresAt,\n scenario: params.scenario,\n issuerId: params.issuerId,\n };\n\n const sig = await signSponsorAuth(params.issuerSignerWallet, payload);\n\n return {\n sig,\n chainId: payload.chainId,\n sender: payload.sender,\n callDataHash: payload.callDataHash,\n nonce: payload.nonce.toString(),\n expiresAt: payload.expiresAt,\n scenario: payload.scenario,\n issuerId: payload.issuerId,\n };\n}\n\nexport async function verifySponsorAuth(\n payload: SponsorAuthPayload,\n signature: Hex,\n expectedSigner: Address,\n): Promise<SponsorAuthVerifyResult> {\n const nowSec = Math.floor(Date.now() / 1000);\n if (payload.expiresAt < nowSec) {\n return { ok: false, reason: \"EXPIRED\" };\n }\n\n // v0.7.1 — strict hex format check before deferring to viem. Previous\n // length-only `< 132` accepted arbitrary 132+ char strings even when\n // not valid hex; recoverTypedDataAddress would throw and the catch\n // collapsed both cases to INVALID_SIGNATURE_FORMAT. Verify hex shape\n // up front + accept ECDSA (65 byte = 132 hex char) AND EIP-1271\n // (variable-length, must still be valid hex).\n if (!isValidHexSignature(signature)) {\n return { ok: false, reason: \"INVALID_SIGNATURE_FORMAT\" };\n }\n\n let recovered: Address;\n try {\n const { domain, types, primaryType, message } =\n buildSponsorAuthTypedData(payload);\n recovered = await recoverTypedDataAddress({\n domain,\n types,\n primaryType,\n message,\n signature,\n });\n } catch {\n return { ok: false, reason: \"INVALID_SIGNATURE_FORMAT\" };\n }\n\n if (recovered.toLowerCase() !== expectedSigner.toLowerCase()) {\n return { ok: false, reason: \"INVALID_SIGNER\", recoveredAddress: recovered };\n }\n\n return { ok: true, recoveredAddress: recovered };\n}\n"]}
|
|
@@ -471,6 +471,270 @@ var pointTokenFactoryAbi = [
|
|
|
471
471
|
}
|
|
472
472
|
];
|
|
473
473
|
|
|
474
|
+
// src/abi/mintFeeWrapper.ts
|
|
475
|
+
var mintFeeWrapperAbi = [
|
|
476
|
+
{ type: "constructor", inputs: [], stateMutability: "nonpayable" },
|
|
477
|
+
{
|
|
478
|
+
type: "function",
|
|
479
|
+
name: "MAX_BASIS_POINTS",
|
|
480
|
+
inputs: [],
|
|
481
|
+
outputs: [{ name: "", type: "uint16", internalType: "uint16" }],
|
|
482
|
+
stateMutability: "view"
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
type: "function",
|
|
486
|
+
name: "MAX_TOTAL_FEE_BPS",
|
|
487
|
+
inputs: [],
|
|
488
|
+
outputs: [{ name: "", type: "uint16", internalType: "uint16" }],
|
|
489
|
+
stateMutability: "view"
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
type: "function",
|
|
493
|
+
name: "UPGRADE_INTERFACE_VERSION",
|
|
494
|
+
inputs: [],
|
|
495
|
+
outputs: [{ name: "", type: "string", internalType: "string" }],
|
|
496
|
+
stateMutability: "view"
|
|
497
|
+
},
|
|
498
|
+
{
|
|
499
|
+
type: "function",
|
|
500
|
+
name: "acceptOwnership",
|
|
501
|
+
inputs: [],
|
|
502
|
+
outputs: [],
|
|
503
|
+
stateMutability: "nonpayable"
|
|
504
|
+
},
|
|
505
|
+
{
|
|
506
|
+
type: "function",
|
|
507
|
+
name: "getRecipients",
|
|
508
|
+
inputs: [],
|
|
509
|
+
outputs: [
|
|
510
|
+
{
|
|
511
|
+
name: "",
|
|
512
|
+
type: "tuple[]",
|
|
513
|
+
internalType: "struct IMintFeeWrapper.Recipient[]",
|
|
514
|
+
components: [
|
|
515
|
+
{ name: "account", type: "address", internalType: "address" },
|
|
516
|
+
{ name: "basisPoints", type: "uint16", internalType: "uint16" }
|
|
517
|
+
]
|
|
518
|
+
}
|
|
519
|
+
],
|
|
520
|
+
stateMutability: "view"
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
type: "function",
|
|
524
|
+
name: "initialize",
|
|
525
|
+
inputs: [
|
|
526
|
+
{ name: "initialOwner", type: "address", internalType: "address" },
|
|
527
|
+
{ name: "_pointToken", type: "address", internalType: "address" },
|
|
528
|
+
{
|
|
529
|
+
name: "initialRecipients",
|
|
530
|
+
type: "tuple[]",
|
|
531
|
+
internalType: "struct IMintFeeWrapper.Recipient[]",
|
|
532
|
+
components: [
|
|
533
|
+
{ name: "account", type: "address", internalType: "address" },
|
|
534
|
+
{ name: "basisPoints", type: "uint16", internalType: "uint16" }
|
|
535
|
+
]
|
|
536
|
+
}
|
|
537
|
+
],
|
|
538
|
+
outputs: [],
|
|
539
|
+
stateMutability: "nonpayable"
|
|
540
|
+
},
|
|
541
|
+
{
|
|
542
|
+
type: "function",
|
|
543
|
+
name: "mintWithFee",
|
|
544
|
+
inputs: [
|
|
545
|
+
{ name: "to", type: "address", internalType: "address" },
|
|
546
|
+
{ name: "grossAmount", type: "uint256", internalType: "uint256" },
|
|
547
|
+
{ name: "deadline", type: "uint256", internalType: "uint256" },
|
|
548
|
+
{ name: "minterSig", type: "bytes", internalType: "bytes" }
|
|
549
|
+
],
|
|
550
|
+
outputs: [],
|
|
551
|
+
stateMutability: "nonpayable"
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
type: "function",
|
|
555
|
+
name: "owner",
|
|
556
|
+
inputs: [],
|
|
557
|
+
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
558
|
+
stateMutability: "view"
|
|
559
|
+
},
|
|
560
|
+
{
|
|
561
|
+
type: "function",
|
|
562
|
+
name: "pendingOwner",
|
|
563
|
+
inputs: [],
|
|
564
|
+
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
565
|
+
stateMutability: "view"
|
|
566
|
+
},
|
|
567
|
+
{
|
|
568
|
+
type: "function",
|
|
569
|
+
name: "pointToken",
|
|
570
|
+
inputs: [],
|
|
571
|
+
outputs: [{ name: "", type: "address", internalType: "address" }],
|
|
572
|
+
stateMutability: "view"
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
type: "function",
|
|
576
|
+
name: "proxiableUUID",
|
|
577
|
+
inputs: [],
|
|
578
|
+
outputs: [{ name: "", type: "bytes32", internalType: "bytes32" }],
|
|
579
|
+
stateMutability: "view"
|
|
580
|
+
},
|
|
581
|
+
{
|
|
582
|
+
type: "function",
|
|
583
|
+
name: "renounceOwnership",
|
|
584
|
+
inputs: [],
|
|
585
|
+
outputs: [],
|
|
586
|
+
stateMutability: "nonpayable"
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
type: "function",
|
|
590
|
+
name: "setRecipients",
|
|
591
|
+
inputs: [
|
|
592
|
+
{
|
|
593
|
+
name: "newRecipients",
|
|
594
|
+
type: "tuple[]",
|
|
595
|
+
internalType: "struct IMintFeeWrapper.Recipient[]",
|
|
596
|
+
components: [
|
|
597
|
+
{ name: "account", type: "address", internalType: "address" },
|
|
598
|
+
{ name: "basisPoints", type: "uint16", internalType: "uint16" }
|
|
599
|
+
]
|
|
600
|
+
}
|
|
601
|
+
],
|
|
602
|
+
outputs: [],
|
|
603
|
+
stateMutability: "nonpayable"
|
|
604
|
+
},
|
|
605
|
+
{
|
|
606
|
+
type: "function",
|
|
607
|
+
name: "totalFeeBps",
|
|
608
|
+
inputs: [],
|
|
609
|
+
outputs: [{ name: "", type: "uint16", internalType: "uint16" }],
|
|
610
|
+
stateMutability: "view"
|
|
611
|
+
},
|
|
612
|
+
{
|
|
613
|
+
type: "function",
|
|
614
|
+
name: "transferOwnership",
|
|
615
|
+
inputs: [{ name: "newOwner", type: "address", internalType: "address" }],
|
|
616
|
+
outputs: [],
|
|
617
|
+
stateMutability: "nonpayable"
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
type: "function",
|
|
621
|
+
name: "upgradeToAndCall",
|
|
622
|
+
inputs: [
|
|
623
|
+
{ name: "newImplementation", type: "address", internalType: "address" },
|
|
624
|
+
{ name: "data", type: "bytes", internalType: "bytes" }
|
|
625
|
+
],
|
|
626
|
+
outputs: [],
|
|
627
|
+
stateMutability: "payable"
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
type: "event",
|
|
631
|
+
name: "FeeDistributed",
|
|
632
|
+
inputs: [
|
|
633
|
+
{ name: "recipient", type: "address", indexed: true, internalType: "address" },
|
|
634
|
+
{ name: "amount", type: "uint256", indexed: false, internalType: "uint256" }
|
|
635
|
+
],
|
|
636
|
+
anonymous: false
|
|
637
|
+
},
|
|
638
|
+
{
|
|
639
|
+
type: "event",
|
|
640
|
+
name: "Initialized",
|
|
641
|
+
inputs: [{ name: "version", type: "uint64", indexed: false, internalType: "uint64" }],
|
|
642
|
+
anonymous: false
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
type: "event",
|
|
646
|
+
name: "MintWithFee",
|
|
647
|
+
inputs: [
|
|
648
|
+
{ name: "to", type: "address", indexed: true, internalType: "address" },
|
|
649
|
+
{ name: "grossAmount", type: "uint256", indexed: false, internalType: "uint256" },
|
|
650
|
+
{ name: "netAmount", type: "uint256", indexed: false, internalType: "uint256" },
|
|
651
|
+
{ name: "feeAmount", type: "uint256", indexed: false, internalType: "uint256" }
|
|
652
|
+
],
|
|
653
|
+
anonymous: false
|
|
654
|
+
},
|
|
655
|
+
{
|
|
656
|
+
type: "event",
|
|
657
|
+
name: "OwnershipTransferStarted",
|
|
658
|
+
inputs: [
|
|
659
|
+
{ name: "previousOwner", type: "address", indexed: true, internalType: "address" },
|
|
660
|
+
{ name: "newOwner", type: "address", indexed: true, internalType: "address" }
|
|
661
|
+
],
|
|
662
|
+
anonymous: false
|
|
663
|
+
},
|
|
664
|
+
{
|
|
665
|
+
type: "event",
|
|
666
|
+
name: "OwnershipTransferred",
|
|
667
|
+
inputs: [
|
|
668
|
+
{ name: "previousOwner", type: "address", indexed: true, internalType: "address" },
|
|
669
|
+
{ name: "newOwner", type: "address", indexed: true, internalType: "address" }
|
|
670
|
+
],
|
|
671
|
+
anonymous: false
|
|
672
|
+
},
|
|
673
|
+
{
|
|
674
|
+
type: "event",
|
|
675
|
+
name: "RecipientsUpdated",
|
|
676
|
+
inputs: [
|
|
677
|
+
{
|
|
678
|
+
name: "recipients",
|
|
679
|
+
type: "tuple[]",
|
|
680
|
+
indexed: false,
|
|
681
|
+
internalType: "struct IMintFeeWrapper.Recipient[]",
|
|
682
|
+
components: [
|
|
683
|
+
{ name: "account", type: "address", internalType: "address" },
|
|
684
|
+
{ name: "basisPoints", type: "uint16", internalType: "uint16" }
|
|
685
|
+
]
|
|
686
|
+
}
|
|
687
|
+
],
|
|
688
|
+
anonymous: false
|
|
689
|
+
},
|
|
690
|
+
{
|
|
691
|
+
type: "event",
|
|
692
|
+
name: "Upgraded",
|
|
693
|
+
inputs: [
|
|
694
|
+
{ name: "implementation", type: "address", indexed: true, internalType: "address" }
|
|
695
|
+
],
|
|
696
|
+
anonymous: false
|
|
697
|
+
},
|
|
698
|
+
{
|
|
699
|
+
type: "error",
|
|
700
|
+
name: "AddressEmptyCode",
|
|
701
|
+
inputs: [{ name: "target", type: "address", internalType: "address" }]
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
type: "error",
|
|
705
|
+
name: "ERC1967InvalidImplementation",
|
|
706
|
+
inputs: [{ name: "implementation", type: "address", internalType: "address" }]
|
|
707
|
+
},
|
|
708
|
+
{ type: "error", name: "ERC1967NonPayable", inputs: [] },
|
|
709
|
+
{ type: "error", name: "FailedCall", inputs: [] },
|
|
710
|
+
{ type: "error", name: "InvalidInitialization", inputs: [] },
|
|
711
|
+
{ type: "error", name: "NotInitializing", inputs: [] },
|
|
712
|
+
{ type: "error", name: "NotReceiver", inputs: [] },
|
|
713
|
+
{
|
|
714
|
+
type: "error",
|
|
715
|
+
name: "OwnableInvalidOwner",
|
|
716
|
+
inputs: [{ name: "owner", type: "address", internalType: "address" }]
|
|
717
|
+
},
|
|
718
|
+
{
|
|
719
|
+
type: "error",
|
|
720
|
+
name: "OwnableUnauthorizedAccount",
|
|
721
|
+
inputs: [{ name: "account", type: "address", internalType: "address" }]
|
|
722
|
+
},
|
|
723
|
+
{
|
|
724
|
+
type: "error",
|
|
725
|
+
name: "TotalFeeTooHigh",
|
|
726
|
+
inputs: [{ name: "totalBps", type: "uint16", internalType: "uint16" }]
|
|
727
|
+
},
|
|
728
|
+
{ type: "error", name: "UUPSUnauthorizedCallContext", inputs: [] },
|
|
729
|
+
{
|
|
730
|
+
type: "error",
|
|
731
|
+
name: "UUPSUnsupportedProxiableUUID",
|
|
732
|
+
inputs: [{ name: "slot", type: "bytes32", internalType: "bytes32" }]
|
|
733
|
+
},
|
|
734
|
+
{ type: "error", name: "ZeroAddress", inputs: [] },
|
|
735
|
+
{ type: "error", name: "ZeroAmount", inputs: [] }
|
|
736
|
+
];
|
|
737
|
+
|
|
474
738
|
// src/abi/erc20.ts
|
|
475
739
|
var erc20Abi = [
|
|
476
740
|
{
|
|
@@ -663,9 +927,10 @@ var v4QuoterAbi = [
|
|
|
663
927
|
|
|
664
928
|
export {
|
|
665
929
|
pointTokenFactoryAbi,
|
|
930
|
+
mintFeeWrapperAbi,
|
|
666
931
|
erc20Abi,
|
|
667
932
|
universalRouterAbi,
|
|
668
933
|
permit2Abi,
|
|
669
934
|
v4QuoterAbi
|
|
670
935
|
};
|
|
671
|
-
//# sourceMappingURL=chunk-
|
|
936
|
+
//# sourceMappingURL=chunk-ABNM6LMP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/abi/pointTokenFactory.ts","../src/abi/mintFeeWrapper.ts","../src/abi/erc20.ts","../src/abi/universalRouter.ts","../src/abi/permit2.ts","../src/abi/v4Quoter.ts"],"sourcesContent":["/** ABI for PointTokenFactory (EIP-1167 proxy cloning, UUPS upgradeable) — auto-generated from Foundry artifacts, do not edit */\nexport const pointTokenFactoryAbi = [\n {\n \"type\": \"constructor\",\n \"inputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"UPGRADE_INTERFACE_VERSION\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"acceptOwnership\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"createToken\",\n \"inputs\": [\n {\n \"name\": \"tokenOwner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"issuer\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"signerAddress\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"name\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n },\n {\n \"name\": \"symbol\",\n \"type\": \"string\",\n \"internalType\": \"string\"\n }\n ],\n \"outputs\": [\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"initialize\",\n \"inputs\": [\n {\n \"name\": \"initialOwner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"_issuerRegistry\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"_mintingOracle\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"_tokenImplementation\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"issuerRegistry\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"mintingOracle\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"owner\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"pendingOwner\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"proxiableUUID\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"renounceOwnership\",\n \"inputs\": [],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setMintingOracle\",\n \"inputs\": [\n {\n \"name\": \"_mintingOracle\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"setTokenImplementationAddress\",\n \"inputs\": [\n {\n \"name\": \"impl\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"tokenImplementation\",\n \"inputs\": [],\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"stateMutability\": \"view\"\n },\n {\n \"type\": \"function\",\n \"name\": \"transferOwnership\",\n \"inputs\": [\n {\n \"name\": \"newOwner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\"\n },\n {\n \"type\": \"function\",\n \"name\": \"upgradeToAndCall\",\n \"inputs\": [\n {\n \"name\": \"newImplementation\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n },\n {\n \"name\": \"data\",\n \"type\": \"bytes\",\n \"internalType\": \"bytes\"\n }\n ],\n \"outputs\": [],\n \"stateMutability\": \"payable\"\n },\n {\n \"type\": \"event\",\n \"name\": \"Initialized\",\n \"inputs\": [\n {\n \"name\": \"version\",\n \"type\": \"uint64\",\n \"indexed\": false,\n \"internalType\": \"uint64\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"MintingOracleUpdated\",\n \"inputs\": [\n {\n \"name\": \"mintingOracle\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"OwnershipTransferStarted\",\n \"inputs\": [\n {\n \"name\": \"previousOwner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newOwner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"OwnershipTransferred\",\n \"inputs\": [\n {\n \"name\": \"previousOwner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"newOwner\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"TokenCreated\",\n \"inputs\": [\n {\n \"name\": \"issuer\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n },\n {\n \"name\": \"token\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"TokenImplementationAddressUpdated\",\n \"inputs\": [\n {\n \"name\": \"tokenImplementation\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"event\",\n \"name\": \"Upgraded\",\n \"inputs\": [\n {\n \"name\": \"implementation\",\n \"type\": \"address\",\n \"indexed\": true,\n \"internalType\": \"address\"\n }\n ],\n \"anonymous\": false\n },\n {\n \"type\": \"error\",\n \"name\": \"AddressEmptyCode\",\n \"inputs\": [\n {\n \"name\": \"target\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ERC1967InvalidImplementation\",\n \"inputs\": [\n {\n \"name\": \"implementation\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ERC1967NonPayable\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"FailedCall\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"FailedDeployment\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"ImplementationNotSet\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"InsufficientBalance\",\n \"inputs\": [\n {\n \"name\": \"balance\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n },\n {\n \"name\": \"needed\",\n \"type\": \"uint256\",\n \"internalType\": \"uint256\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"InvalidInitialization\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"MintingOracleNotSet\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"NotInitializing\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OnlyIssuerRegistry\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"OwnableInvalidOwner\",\n \"inputs\": [\n {\n \"name\": \"owner\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"OwnableUnauthorizedAccount\",\n \"inputs\": [\n {\n \"name\": \"account\",\n \"type\": \"address\",\n \"internalType\": \"address\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"UUPSUnauthorizedCallContext\",\n \"inputs\": []\n },\n {\n \"type\": \"error\",\n \"name\": \"UUPSUnsupportedProxiableUUID\",\n \"inputs\": [\n {\n \"name\": \"slot\",\n \"type\": \"bytes32\",\n \"internalType\": \"bytes32\"\n }\n ]\n },\n {\n \"type\": \"error\",\n \"name\": \"ZeroAddress\",\n \"inputs\": []\n }\n] as const;\n","/** ABI for MintFeeWrapper (mint-time fee split between user + N recipients) — hand-pasted from SC artifact pre-push, will auto-regenerate when SC merges + `forge build` */\nexport const mintFeeWrapperAbi = [\n { type: \"constructor\", inputs: [], stateMutability: \"nonpayable\" },\n {\n type: \"function\",\n name: \"MAX_BASIS_POINTS\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint16\", internalType: \"uint16\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"MAX_TOTAL_FEE_BPS\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint16\", internalType: \"uint16\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"UPGRADE_INTERFACE_VERSION\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\", internalType: \"string\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"acceptOwnership\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"getRecipients\",\n inputs: [],\n outputs: [\n {\n name: \"\",\n type: \"tuple[]\",\n internalType: \"struct IMintFeeWrapper.Recipient[]\",\n components: [\n { name: \"account\", type: \"address\", internalType: \"address\" },\n { name: \"basisPoints\", type: \"uint16\", internalType: \"uint16\" },\n ],\n },\n ],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"initialize\",\n inputs: [\n { name: \"initialOwner\", type: \"address\", internalType: \"address\" },\n { name: \"_pointToken\", type: \"address\", internalType: \"address\" },\n {\n name: \"initialRecipients\",\n type: \"tuple[]\",\n internalType: \"struct IMintFeeWrapper.Recipient[]\",\n components: [\n { name: \"account\", type: \"address\", internalType: \"address\" },\n { name: \"basisPoints\", type: \"uint16\", internalType: \"uint16\" },\n ],\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"mintWithFee\",\n inputs: [\n { name: \"to\", type: \"address\", internalType: \"address\" },\n { name: \"grossAmount\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"deadline\", type: \"uint256\", internalType: \"uint256\" },\n { name: \"minterSig\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"owner\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"pendingOwner\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"pointToken\",\n inputs: [],\n outputs: [{ name: \"\", type: \"address\", internalType: \"address\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"proxiableUUID\",\n inputs: [],\n outputs: [{ name: \"\", type: \"bytes32\", internalType: \"bytes32\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"renounceOwnership\",\n inputs: [],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"setRecipients\",\n inputs: [\n {\n name: \"newRecipients\",\n type: \"tuple[]\",\n internalType: \"struct IMintFeeWrapper.Recipient[]\",\n components: [\n { name: \"account\", type: \"address\", internalType: \"address\" },\n { name: \"basisPoints\", type: \"uint16\", internalType: \"uint16\" },\n ],\n },\n ],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"totalFeeBps\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint16\", internalType: \"uint16\" }],\n stateMutability: \"view\",\n },\n {\n type: \"function\",\n name: \"transferOwnership\",\n inputs: [{ name: \"newOwner\", type: \"address\", internalType: \"address\" }],\n outputs: [],\n stateMutability: \"nonpayable\",\n },\n {\n type: \"function\",\n name: \"upgradeToAndCall\",\n inputs: [\n { name: \"newImplementation\", type: \"address\", internalType: \"address\" },\n { name: \"data\", type: \"bytes\", internalType: \"bytes\" },\n ],\n outputs: [],\n stateMutability: \"payable\",\n },\n {\n type: \"event\",\n name: \"FeeDistributed\",\n inputs: [\n { name: \"recipient\", type: \"address\", indexed: true, internalType: \"address\" },\n { name: \"amount\", type: \"uint256\", indexed: false, internalType: \"uint256\" },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Initialized\",\n inputs: [{ name: \"version\", type: \"uint64\", indexed: false, internalType: \"uint64\" }],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"MintWithFee\",\n inputs: [\n { name: \"to\", type: \"address\", indexed: true, internalType: \"address\" },\n { name: \"grossAmount\", type: \"uint256\", indexed: false, internalType: \"uint256\" },\n { name: \"netAmount\", type: \"uint256\", indexed: false, internalType: \"uint256\" },\n { name: \"feeAmount\", type: \"uint256\", indexed: false, internalType: \"uint256\" },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferStarted\",\n inputs: [\n { name: \"previousOwner\", type: \"address\", indexed: true, internalType: \"address\" },\n { name: \"newOwner\", type: \"address\", indexed: true, internalType: \"address\" },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"OwnershipTransferred\",\n inputs: [\n { name: \"previousOwner\", type: \"address\", indexed: true, internalType: \"address\" },\n { name: \"newOwner\", type: \"address\", indexed: true, internalType: \"address\" },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"RecipientsUpdated\",\n inputs: [\n {\n name: \"recipients\",\n type: \"tuple[]\",\n indexed: false,\n internalType: \"struct IMintFeeWrapper.Recipient[]\",\n components: [\n { name: \"account\", type: \"address\", internalType: \"address\" },\n { name: \"basisPoints\", type: \"uint16\", internalType: \"uint16\" },\n ],\n },\n ],\n anonymous: false,\n },\n {\n type: \"event\",\n name: \"Upgraded\",\n inputs: [\n { name: \"implementation\", type: \"address\", indexed: true, internalType: \"address\" },\n ],\n anonymous: false,\n },\n {\n type: \"error\",\n name: \"AddressEmptyCode\",\n inputs: [{ name: \"target\", type: \"address\", internalType: \"address\" }],\n },\n {\n type: \"error\",\n name: \"ERC1967InvalidImplementation\",\n inputs: [{ name: \"implementation\", type: \"address\", internalType: \"address\" }],\n },\n { type: \"error\", name: \"ERC1967NonPayable\", inputs: [] },\n { type: \"error\", name: \"FailedCall\", inputs: [] },\n { type: \"error\", name: \"InvalidInitialization\", inputs: [] },\n { type: \"error\", name: \"NotInitializing\", inputs: [] },\n { type: \"error\", name: \"NotReceiver\", inputs: [] },\n {\n type: \"error\",\n name: \"OwnableInvalidOwner\",\n inputs: [{ name: \"owner\", type: \"address\", internalType: \"address\" }],\n },\n {\n type: \"error\",\n name: \"OwnableUnauthorizedAccount\",\n inputs: [{ name: \"account\", type: \"address\", internalType: \"address\" }],\n },\n {\n type: \"error\",\n name: \"TotalFeeTooHigh\",\n inputs: [{ name: \"totalBps\", type: \"uint16\", internalType: \"uint16\" }],\n },\n { type: \"error\", name: \"UUPSUnauthorizedCallContext\", inputs: [] },\n {\n type: \"error\",\n name: \"UUPSUnsupportedProxiableUUID\",\n inputs: [{ name: \"slot\", type: \"bytes32\", internalType: \"bytes32\" }],\n },\n { type: \"error\", name: \"ZeroAddress\", inputs: [] },\n { type: \"error\", name: \"ZeroAmount\", inputs: [] },\n] as const;\n","export const erc20Abi = [\n {\n type: \"function\",\n name: \"name\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\" }],\n },\n {\n type: \"function\",\n name: \"symbol\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"string\" }],\n },\n {\n type: \"function\",\n name: \"decimals\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint8\" }],\n },\n {\n type: \"function\",\n name: \"totalSupply\",\n stateMutability: \"view\",\n inputs: [],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n type: \"function\",\n name: \"balanceOf\",\n stateMutability: \"view\",\n inputs: [{ name: \"account\", type: \"address\" }],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n type: \"function\",\n name: \"transfer\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"to\", type: \"address\" },\n { name: \"amount\", type: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n type: \"function\",\n name: \"approve\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"spender\", type: \"address\" },\n { name: \"amount\", type: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n type: \"function\",\n name: \"allowance\",\n stateMutability: \"view\",\n inputs: [\n { name: \"owner\", type: \"address\" },\n { name: \"spender\", type: \"address\" },\n ],\n outputs: [{ name: \"\", type: \"uint256\" }],\n },\n {\n type: \"function\",\n name: \"transferFrom\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"from\", type: \"address\" },\n { name: \"to\", type: \"address\" },\n { name: \"amount\", type: \"uint256\" },\n ],\n outputs: [{ name: \"\", type: \"bool\" }],\n },\n {\n type: \"event\",\n name: \"Transfer\",\n inputs: [\n { name: \"from\", type: \"address\", indexed: true },\n { name: \"to\", type: \"address\", indexed: true },\n { name: \"value\", type: \"uint256\", indexed: false },\n ],\n },\n {\n type: \"event\",\n name: \"Approval\",\n inputs: [\n { name: \"owner\", type: \"address\", indexed: true },\n { name: \"spender\", type: \"address\", indexed: true },\n { name: \"value\", type: \"uint256\", indexed: false },\n ],\n },\n] as const;\n","export const universalRouterAbi = [\n {\n type: \"function\",\n name: \"execute\",\n stateMutability: \"payable\",\n inputs: [\n { name: \"commands\", type: \"bytes\" },\n { name: \"inputs\", type: \"bytes[]\" },\n { name: \"deadline\", type: \"uint256\" },\n ],\n outputs: [],\n },\n] as const;\n","export const permit2Abi = [\n {\n type: \"function\",\n name: \"approve\",\n stateMutability: \"nonpayable\",\n inputs: [\n { name: \"token\", type: \"address\" },\n { name: \"spender\", type: \"address\" },\n { name: \"amount\", type: \"uint160\" },\n { name: \"expiration\", type: \"uint48\" },\n ],\n outputs: [],\n },\n] as const;\n","// IV4Quoter — Uniswap V4 Quoter interface\n\nconst poolKeyComponents = [\n { name: \"currency0\", type: \"address\" },\n { name: \"currency1\", type: \"address\" },\n { name: \"fee\", type: \"uint24\" },\n { name: \"tickSpacing\", type: \"int24\" },\n { name: \"hooks\", type: \"address\" },\n] as const;\n\nconst pathKeyComponents = [\n { name: \"intermediateCurrency\", type: \"address\" },\n { name: \"fee\", type: \"uint24\" },\n { name: \"tickSpacing\", type: \"int24\" },\n { name: \"hooks\", type: \"address\" },\n { name: \"hookData\", type: \"bytes\" },\n] as const;\n\nexport const v4QuoterAbi = [\n // quoteExactInputSingle — single-hop quote\n {\n type: \"function\",\n name: \"quoteExactInputSingle\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"params\",\n type: \"tuple\",\n components: [\n { name: \"poolKey\", type: \"tuple\", components: poolKeyComponents },\n { name: \"zeroForOne\", type: \"bool\" },\n { name: \"exactAmount\", type: \"uint128\" },\n { name: \"hookData\", type: \"bytes\" },\n ],\n },\n ],\n outputs: [\n { name: \"amountOut\", type: \"uint256\" },\n { name: \"gasEstimate\", type: \"uint256\" },\n ],\n },\n // quoteExactInput — multi-hop quote\n {\n type: \"function\",\n name: \"quoteExactInput\",\n stateMutability: \"nonpayable\",\n inputs: [\n {\n name: \"params\",\n type: \"tuple\",\n components: [\n { name: \"exactCurrency\", type: \"address\" },\n { name: \"path\", type: \"tuple[]\", components: pathKeyComponents },\n { name: \"exactAmount\", type: \"uint128\" },\n ],\n },\n ],\n outputs: [\n { name: \"amountOut\", type: \"uint256\" },\n { name: \"gasEstimate\", type: \"uint256\" },\n ],\n },\n] as const;\n"],"mappings":"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","names":[]}
|