@frak-labs/core-sdk
Version:
Core SDK of the Frak wallet, low level library to interact directly with the frak ecosystem.
1 lines • 1.78 kB
JavaScript
import*as e from"viem";let r="0xc0a24ffb",t="0xd5bd0fbe",n="0xb311798f",a="0x010cc3b9",o="0xb2c0f17c",c="0xd87e90c3",i="0x8403aeb4",p="0x4d5b14e0",d="0x74489004",s={dapp:1,press:2,webshop:3,retail:4,referral:30,purchase:31};Object.entries(s).reduce((e,[r,t])=>(e[r]=BigInt(1)<<BigInt(t),e),{});let l={openArticle({articleId:t}){let n=(0,e.concatHex)([r,(0,e.pad)(t,{size:32})]);return{handlerTypeDenominator:(0,e.toHex)(s.press),interactionData:n}},readArticle({articleId:r}){let n=(0,e.concatHex)([t,(0,e.pad)(r,{size:32})]);return{handlerTypeDenominator:(0,e.toHex)(s.press),interactionData:n}}},x={createLink:()=>({handlerTypeDenominator:(0,e.toHex)(s.referral),interactionData:o}),referred({referrer:r}){let t=(0,e.concatHex)([a,(0,e.pad)(r,{size:32})]);return{handlerTypeDenominator:(0,e.toHex)(s.referral),interactionData:t}}},h={startPurchase({purchaseId:r}){let t=(0,e.concatHex)([c,(0,e.pad)(r,{size:32})]);return{handlerTypeDenominator:(0,e.toHex)(s.purchase),interactionData:t}},completedPurchase({purchaseId:r,proof:t}){let n=(0,e.encodeAbiParameters)([{type:"uint256"},{type:"bytes32[]"}],[BigInt(r),t]),a=(0,e.concatHex)([i,n]);return{handlerTypeDenominator:(0,e.toHex)(s.purchase),interactionData:a}},unsafeCompletedPurchase({purchaseId:r}){let t=(0,e.concatHex)([p,(0,e.pad)(r,{size:32})]);return{handlerTypeDenominator:(0,e.toHex)(s.purchase),interactionData:t}}},u={open:()=>({handlerTypeDenominator:(0,e.toHex)(s.webshop),interactionData:n})},m={customerMeeting({agencyId:r}){let t=(0,e.concatHex)([d,(0,e.pad)(r,{size:32})]);return{handlerTypeDenominator:(0,e.toHex)(s.retail),interactionData:t}}};export{l as PressInteractionEncoder,h as PurchaseInteractionEncoder,x as ReferralInteractionEncoder,m as RetailInteractionEncoder,u as WebShopInteractionEncoder};