@rango-dev/widget-embedded 0.5.1-next.28 → 0.5.1-next.29

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.
@@ -1 +1 @@
1
- {"version":3,"file":"bestRoute.d.ts","sourceRoot":"","sources":["../../src/store/bestRoute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC,OAAO,SAAS,MAAM,cAAc,CAAC;AAkBrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AAShF,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,KAAK,EAAE,CAAC;IACtB,iBAAiB,EAAE,KAAK,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,EAAE,CACZ,KAAK,EAAE,cAAc,GAAG,IAAI,EAC5B,eAAe,CAAC,EAAE,OAAO,KACtB,IAAI,CAAC;IACV,UAAU,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,EAAE,eAAe,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9E,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5D,KAAK,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;gCAfV,IAAI;oCAEb,cAAc,GAAG,IAAI,oBACV,OAAO,KACtB,IAAI;kCACW,cAAc,GAAG,IAAI,oBAAoB,OAAO,KAAK,IAAI;oCACvD,KAAK,GAAG,IAAI,KAAK,IAAI;kCACvB,KAAK,GAAG,IAAI,KAAK,IAAI;uCAChB,MAAM,KAAK,IAAI;;wCAEd,iBAAiB,GAAG,IAAI,KAAK,IAAI;mCACtC,WAAW,KAAK,IAAI;qCAClB,IAAI;;CAwM5B,CAAC;AAuHF,eAAO,MAAQ,cAAc,YAG5B,CAAC"}
1
+ {"version":3,"file":"bestRoute.d.ts","sourceRoot":"","sources":["../../src/store/bestRoute.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAElC,OAAO,SAAS,MAAM,cAAc,CAAC;AAkBrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mDAAmD,CAAC;AAShF,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,SAAS,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,KAAK,EAAE,CAAC;IACtB,iBAAiB,EAAE,KAAK,EAAE,CAAC;IAC3B,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,YAAY,EAAE,CACZ,KAAK,EAAE,cAAc,GAAG,IAAI,EAC5B,eAAe,CAAC,EAAE,OAAO,KACtB,IAAI,CAAC;IACV,UAAU,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,EAAE,eAAe,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9E,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5C,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,SAAS,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACpC,YAAY,EAAE,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5D,KAAK,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;gCAfV,IAAI;oCAEb,cAAc,GAAG,IAAI,oBACV,OAAO,KACtB,IAAI;kCACW,cAAc,GAAG,IAAI,oBAAoB,OAAO,KAAK,IAAI;oCACvD,KAAK,GAAG,IAAI,KAAK,IAAI;kCACvB,KAAK,GAAG,IAAI,KAAK,IAAI;uCAChB,MAAM,KAAK,IAAI;;wCAEd,iBAAiB,GAAG,IAAI,KAAK,IAAI;mCACtC,WAAW,KAAK,IAAI;qCAClB,IAAI;;CAwM5B,CAAC;AA+HF,eAAO,MAAQ,cAAc,YAG5B,CAAC"}
@@ -6,6 +6,10 @@ export interface SettingsState {
6
6
  disabledLiquiditySources: string[];
7
7
  theme: Theme;
8
8
  affiliateRef: string | null;
9
+ affiliatePercent: number | null;
10
+ affiliateWallets: {
11
+ [key: string]: string;
12
+ } | null;
9
13
  setSlippage: (slippage: number) => void;
10
14
  setCustomSlippage: (customSlippage: number | null) => void;
11
15
  toggleInfiniteApprove: () => void;
@@ -13,6 +17,10 @@ export interface SettingsState {
13
17
  setTheme: (theme: Theme) => void;
14
18
  toggleAllLiquiditySources: () => void;
15
19
  setAffiliateRef: (affiliateRef: string | null) => void;
20
+ setAffiliatePercent: (affiliatePercent: number | null) => void;
21
+ setAffiliateWallets: (affiliateWallets: {
22
+ [key: string]: string;
23
+ } | null) => void;
16
24
  }
17
25
  export declare const useSettingsStore: {
18
26
  (): SettingsState;
@@ -43,6 +51,10 @@ export declare const useSettingsStore: {
43
51
  disabledLiquiditySources: () => string[];
44
52
  theme: () => Theme;
45
53
  affiliateRef: () => string | null;
54
+ affiliatePercent: () => number | null;
55
+ affiliateWallets: () => {
56
+ [key: string]: string;
57
+ } | null;
46
58
  setSlippage: () => (slippage: number) => void;
47
59
  setCustomSlippage: () => (customSlippage: number | null) => void;
48
60
  toggleInfiniteApprove: () => () => void;
@@ -50,6 +62,10 @@ export declare const useSettingsStore: {
50
62
  setTheme: () => (theme: Theme) => void;
51
63
  toggleAllLiquiditySources: () => () => void;
52
64
  setAffiliateRef: () => (affiliateRef: string | null) => void;
65
+ setAffiliatePercent: () => (affiliatePercent: number | null) => void;
66
+ setAffiliateWallets: () => (affiliateWallets: {
67
+ [key: string]: string;
68
+ } | null) => void;
53
69
  };
54
70
  };
55
71
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/store/settings.ts"],"names":[],"mappings":"AAOA,KAAK,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvC,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,iBAAiB,EAAE,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3D,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,yBAAyB,EAAE,MAAM,IAAI,CAAC;IACtC,eAAe,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACxD;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCATH,MAAM,KAAK,IAAI;kDACH,MAAM,GAAG,IAAI,KAAK,IAAI;2CAC7B,IAAI;4CACH,MAAM,KAAK,IAAI;gCAC3B,KAAK,KAAK,IAAI;+CACC,IAAI;8CACL,MAAM,GAAG,IAAI,KAAK,IAAI;;CAoEvD,CAAC"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/store/settings.ts"],"names":[],"mappings":"AAOA,KAAK,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEvC,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACnD,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,iBAAiB,EAAE,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3D,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,yBAAyB,EAAE,MAAM,IAAI,CAAC;IACtC,eAAe,EAAE,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,mBAAmB,EAAE,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC/D,mBAAmB,EAAE,CACnB,gBAAgB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,IAAI,KAC/C,IAAI,CAAC;CACX;AAED,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCAbH,MAAM,KAAK,IAAI;kDACH,MAAM,GAAG,IAAI,KAAK,IAAI;2CAC7B,IAAI;4CACH,MAAM,KAAK,IAAI;gCAC3B,KAAK,KAAK,IAAI;+CACC,IAAI;8CACL,MAAM,GAAG,IAAI,KAAK,IAAI;sDACd,MAAM,GAAG,IAAI,KAAK,IAAI;;;qBAGzD,IAAI;;CA+EV,CAAC"}
@@ -52,6 +52,24 @@ export type WidgetTheme = {
52
52
  height?: number;
53
53
  singleTheme?: boolean;
54
54
  };
55
+ /**
56
+ * If you want to charge users fee per transaction, you should
57
+ * pass `WidgetAffiliate` including affiliateRef, affiliatePercent, and affiliateWallets.
58
+ * @property {string | null} ref - To enable dApps to charge affiliate fees and generate income from
59
+ * users' transactions, the affiliate referral code should be provided. You can create this code by
60
+ * visiting the following link: https://app.rango.exchange/affiliate.
61
+ * @property {number | null} percent - If you want to change the default affiliate fee percentage,
62
+ * you can provide a new value here.
63
+ * @property {{ [key: string]: string }} wallets - If you want to change the default affiliate wallet
64
+ * addresses, you can provide new values here. (Map of route blockchains to affiliate address)
65
+ */
66
+ export type WidgeAffiliate = {
67
+ ref?: string;
68
+ percent?: number;
69
+ wallets?: {
70
+ [key: string]: string;
71
+ };
72
+ };
55
73
  /**
56
74
  * `BlockchainAndTokenConfig`
57
75
  *
@@ -75,8 +93,8 @@ export type BlockchainAndTokenConfig = {
75
93
  * and theme.
76
94
  *
77
95
  * @property {string} apiKey - The API key used to communicate with Rango API
78
- * @property {string} affiliateRef - The affiliate reference is an optional string property in the
79
- * WidgetConfig type. It is used to set and track referrals or affiliations for the dApps.
96
+ * @property {WidgeAffiliate} affiliate - If you want to charge users fee per transaction, you should
97
+ * pass `WidgetAffiliate` including affiliateRef, affiliatePercent, and affiliateWallets.
80
98
  * @property {number} amount - The default input amount.
81
99
  * @property {BlockchainAndTokenConfig} from - The `from` property is an optional property of type
82
100
  * `BlockchainAndTokenConfig` that specifies the default blockchain and token from which the user wants to
@@ -107,7 +125,7 @@ export type BlockchainAndTokenConfig = {
107
125
  */
108
126
  export type WidgetConfig = {
109
127
  apiKey: string;
110
- affiliateRef?: string;
128
+ affiliate?: WidgeAffiliate;
111
129
  amount?: number;
112
130
  from?: BlockchainAndTokenConfig;
113
131
  to?: BlockchainAndTokenConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,wBAAwB,CAAC;IAChC,EAAE,CAAC,EAAE,wBAAwB,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,UAAU,GAAG,iBAAiB,CAAC,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC;IACrD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACrC,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;CAClB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,wBAAwB,CAAC;IAChC,EAAE,CAAC,EAAE,wBAAwB,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,UAAU,GAAG,iBAAiB,CAAC,EAAE,CAAC;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC"}
@@ -26,7 +26,9 @@ export declare function getMinRequiredSlippage(route: BestRouteResponse): string
26
26
  export declare function hasProperSlippage(userSlippage: string, minRequiredSlippage: string | null): boolean;
27
27
  export declare function hasEnoughBalance(route: BestRouteResponse, selectedWallets: Wallet[]): boolean;
28
28
  export declare function hasEnoughBalanceAndProperSlippage(route: BestRouteResponse, selectedWallets: Wallet[], userSlippage: string, minRequiredSlippage: string | null): boolean;
29
- export declare function createBestRouteRequestBody(fromToken: Token, toToken: Token, inputAmount: string, wallets: ConnectedWallet[], selectedWallets: Wallet[], disabledLiquiditySources: string[], slippage: number, affiliateRef: string | null, initialRoute?: BestRouteResponse, destination?: string): BestRouteRequest;
29
+ export declare function createBestRouteRequestBody(fromToken: Token, toToken: Token, inputAmount: string, wallets: ConnectedWallet[], selectedWallets: Wallet[], disabledLiquiditySources: string[], slippage: number, affiliateRef: string | null, affiliatePercent: number | null, affiliateWallets: {
30
+ [key: string]: string;
31
+ } | null, initialRoute?: BestRouteResponse, destination?: string): BestRouteRequest;
30
32
  export declare function getWalletsForNewSwap(selectedWallets: Wallet[]): {
31
33
  [p: string]: {
32
34
  address: string;
@@ -1 +1 @@
1
- {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../src/utils/swap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../src/utils/swap.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AACrC,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,KAAK,EACN,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAgB,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAEL,eAAe,EAChB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AAGpE,wBAAgB,cAAc,CAC5B,aAAa,EAAE,SAAS,GAAG,IAAI,EAC/B,cAAc,EAAE,SAAS,GAAG,IAAI,iBAUjC;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,SAAS,GAAG,IAAI,EAC/B,WAAW,EAAE,SAAS,GAAG,CAAC,GACzB,OAAO,CAQT;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,GAAG,OAAO,CAiB1E;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI,GAAG;IACtE,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;CACxB,CAsDA;AAED,wBAAgB,kBAAkB,CAChC,iBAAiB,EAAE,aAAa,EAChC,gBAAgB,EAAE,eAAe,EAAE,EACnC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,iBAAiB,GAAG,IAAI,EACnC,aAAa,EAAE,OAAO,EACtB,aAAa,EAAE,OAAO,EACtB,2BAA2B,EAAE,OAAO,EACpC,oBAAoB,EAAE,OAAO,EAC7B,WAAW,EAAE,MAAM,GAClB,eAAe,CA4BjB;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,iBAAiB,GAAG,IAAI,EACnC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,SAAS,GAAG,IAAI,EAC/B,cAAc,EAAE,SAAS,GAAG,IAAI,WAajC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,YAc9D;AAED,eAAO,MAAM,WAAW,eACV,MAAM,UACV,MAAM,WACL,MAAM,GAAG,IAAI,aACX,KAAK,EAAE,KACjB,MAAM,GAAG,IAQX,CAAC;AAEF,wBAAgB,eAAe,CAC7B,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,KAAK,EAAE,GACjB,SAAS,CAkBX;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,iBAAiB,GAAG,IAAI,EACnC,SAAS,EAAE,KAAK,EAAE,GACjB,SAAS,GAAG,IAAI,CAQlB;AAED,wBAAgB,UAAU,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI,WAGzD;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,CAAC,mBAAmB,GAAG,IAAI,CAAC,EAAE,GAAG,SAAS,WAGtD;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,iBAAiB,GACvB,MAAM,GAAG,IAAI,CAWf;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,GAAG,IAAI,WAInC;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,iBAAiB,EACxB,eAAe,EAAE,MAAM,EAAE,WAiB1B;AAED,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,iBAAiB,EACxB,eAAe,EAAE,MAAM,EAAE,EACzB,YAAY,EAAE,MAAM,EACpB,mBAAmB,EAAE,MAAM,GAAG,IAAI,GACjC,OAAO,CAKT;AAED,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,KAAK,EAChB,OAAO,EAAE,KAAK,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,eAAe,EAAE,EAC1B,eAAe,EAAE,MAAM,EAAE,EACzB,wBAAwB,EAAE,MAAM,EAAE,EAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,gBAAgB,EAAE,MAAM,GAAG,IAAI,EAC/B,gBAAgB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,IAAI,EAClD,YAAY,CAAC,EAAE,iBAAiB,EAChC,WAAW,CAAC,EAAE,MAAM,GACnB,gBAAgB,CAyElB;AAED,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE;;iBAI9B,MAAM;oBAAc,UAAU;;EAc7D;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,iBAEnE;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAChC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,oBAOjC;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,iBAAiB,EAC3B,QAAQ,EAAE,iBAAiB,WAY5B;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,iBAAiB,EACxB,eAAe,EAAE,MAAM,EAAE,YAkC1B;AAED,wBAAgB,kBAAkB,CAChC,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,aAK3B;AAED,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,eAAe,GAAG,IAAI,GACtC,OAAO,CAMT;AAED,wBAAgB,eAAe,CAC7B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,eAAe,GAAG,IAAI,GAClC;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;CACrD,CAoCA;AAED,wBAAgB,iCAAiC,CAC/C,WAAW,EAAE,WAAW,GACvB,cAAc,CAkBhB;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,WAAW,WAMvD;AACD,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAMT;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,OAAO,EACjB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,EACzB,SAAS,EAAE,iBAAiB,GAAG,IAAI,EACnC,eAAe,EAAE,MAAM,EAAE,WAiB1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/widget-embedded",
3
- "version": "0.5.1-next.28",
3
+ "version": "0.5.1-next.29",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -67,6 +67,8 @@ export function Layout({ config }: LayoutProps) {
67
67
  const setToToken = useBestRouteStore.use.setToToken();
68
68
  const setInputAmount = useBestRouteStore.use.setInputAmount();
69
69
  const setAffiliateRef = useSettingsStore.use.setAffiliateRef();
70
+ const setAffiliatePercent = useSettingsStore.use.setAffiliatePercent();
71
+ const setAffiliateWallets = useSettingsStore.use.setAffiliateWallets();
70
72
 
71
73
  const totalBalance = calculateWalletUsdValue(connectedWallets);
72
74
  const connectWalletsButtonDisabled =
@@ -106,8 +108,15 @@ export function Layout({ config }: LayoutProps) {
106
108
  }, [config?.from?.token, config?.from?.blockchain, loadingMetaStatus]);
107
109
 
108
110
  useEffect(() => {
109
- setAffiliateRef(config?.affiliateRef || null);
110
- }, [config?.affiliateRef]);
111
+ setAffiliateRef(config?.affiliate?.ref ?? null);
112
+ setAffiliatePercent(config?.affiliate?.percent ?? null);
113
+ setAffiliateWallets(config?.affiliate?.wallets ?? null);
114
+ }, [
115
+ config?.affiliate?.ref,
116
+ config?.affiliate?.percent,
117
+ config?.affiliate?.wallets,
118
+ ]);
119
+
111
120
  return (
112
121
  <>
113
122
  <Header>
@@ -53,6 +53,8 @@ export function useConfirmSwap(): ConfirmSwap {
53
53
  const setBestRoute = useBestRouteStore.use.setBestRoute();
54
54
  const inputUsdValue = useBestRouteStore.use.inputUsdValue();
55
55
  const affiliateRef = useSettingsStore.use.affiliateRef();
56
+ const affiliatePercent = useSettingsStore.use.affiliatePercent();
57
+ const affiliateWallets = useSettingsStore.use.affiliateWallets();
56
58
 
57
59
  const connectedWallets = useWalletsStore.use.connectedWallets();
58
60
  const destination = useWalletsStore.use.customDestination();
@@ -118,6 +120,8 @@ export function useConfirmSwap(): ConfirmSwap {
118
120
  disabledLiquiditySources,
119
121
  userSlippage,
120
122
  affiliateRef,
123
+ affiliatePercent,
124
+ affiliateWallets,
121
125
  initialRoute,
122
126
  destination
123
127
  );
@@ -264,8 +264,14 @@ const bestRoute = (
264
264
  const fetchBestRoute = () => {
265
265
  const { fromToken, toToken, inputAmount, resetRoute } =
266
266
  bestRouteStore.getState();
267
- const { slippage, customSlippage, disabledLiquiditySources, affiliateRef } =
268
- settingsStore.getState();
267
+ const {
268
+ slippage,
269
+ customSlippage,
270
+ disabledLiquiditySources,
271
+ affiliateRef,
272
+ affiliatePercent,
273
+ affiliateWallets,
274
+ } = settingsStore.getState();
269
275
  if (!fromToken || !toToken || !isPositiveNumber(inputAmount)) return;
270
276
  abortController?.abort();
271
277
  abortController = new AbortController();
@@ -278,7 +284,9 @@ const bestRoute = (
278
284
  [],
279
285
  disabledLiquiditySources,
280
286
  userSlippage,
281
- affiliateRef
287
+ affiliateRef,
288
+ affiliatePercent,
289
+ affiliateWallets
282
290
  );
283
291
 
284
292
  if (!bestRouteStore.getState().loading) {
@@ -14,6 +14,8 @@ export interface SettingsState {
14
14
  disabledLiquiditySources: string[];
15
15
  theme: Theme;
16
16
  affiliateRef: string | null;
17
+ affiliatePercent: number | null;
18
+ affiliateWallets: { [key: string]: string } | null;
17
19
  setSlippage: (slippage: number) => void;
18
20
  setCustomSlippage: (customSlippage: number | null) => void;
19
21
  toggleInfiniteApprove: () => void;
@@ -21,6 +23,10 @@ export interface SettingsState {
21
23
  setTheme: (theme: Theme) => void;
22
24
  toggleAllLiquiditySources: () => void;
23
25
  setAffiliateRef: (affiliateRef: string | null) => void;
26
+ setAffiliatePercent: (affiliatePercent: number | null) => void;
27
+ setAffiliateWallets: (
28
+ affiliateWallets: { [key: string]: string } | null
29
+ ) => void;
24
30
  }
25
31
 
26
32
  export const useSettingsStore = createSelectors(
@@ -31,6 +37,8 @@ export const useSettingsStore = createSelectors(
31
37
  customSlippage: null,
32
38
  infiniteApprove: false,
33
39
  affiliateRef: null,
40
+ affiliatePercent: null,
41
+ affiliateWallets: null,
34
42
  disabledLiquiditySources: [],
35
43
  theme: 'auto',
36
44
  setSlippage: (slippage) =>
@@ -45,6 +53,15 @@ export const useSettingsStore = createSelectors(
45
53
  set(() => ({
46
54
  affiliateRef,
47
55
  })),
56
+ setAffiliatePercent: (affiliatePercent) =>
57
+ set(() => ({
58
+ affiliatePercent,
59
+ })),
60
+
61
+ setAffiliateWallets: (affiliateWallets) =>
62
+ set(() => ({
63
+ affiliateWallets,
64
+ })),
48
65
  toggleAllLiquiditySources: () =>
49
66
  set((state) => {
50
67
  const { swappers } = useMetaStore.getState().meta;
@@ -52,6 +52,23 @@ export type WidgetTheme = {
52
52
  singleTheme?: boolean;
53
53
  };
54
54
 
55
+ /**
56
+ * If you want to charge users fee per transaction, you should
57
+ * pass `WidgetAffiliate` including affiliateRef, affiliatePercent, and affiliateWallets.
58
+ * @property {string | null} ref - To enable dApps to charge affiliate fees and generate income from
59
+ * users' transactions, the affiliate referral code should be provided. You can create this code by
60
+ * visiting the following link: https://app.rango.exchange/affiliate.
61
+ * @property {number | null} percent - If you want to change the default affiliate fee percentage,
62
+ * you can provide a new value here.
63
+ * @property {{ [key: string]: string }} wallets - If you want to change the default affiliate wallet
64
+ * addresses, you can provide new values here. (Map of route blockchains to affiliate address)
65
+ */
66
+ export type WidgeAffiliate = {
67
+ ref?: string;
68
+ percent?: number;
69
+ wallets?: { [key: string]: string };
70
+ };
71
+
55
72
  /**
56
73
  * `BlockchainAndTokenConfig`
57
74
  *
@@ -76,8 +93,8 @@ export type BlockchainAndTokenConfig = {
76
93
  * and theme.
77
94
  *
78
95
  * @property {string} apiKey - The API key used to communicate with Rango API
79
- * @property {string} affiliateRef - The affiliate reference is an optional string property in the
80
- * WidgetConfig type. It is used to set and track referrals or affiliations for the dApps.
96
+ * @property {WidgeAffiliate} affiliate - If you want to charge users fee per transaction, you should
97
+ * pass `WidgetAffiliate` including affiliateRef, affiliatePercent, and affiliateWallets.
81
98
  * @property {number} amount - The default input amount.
82
99
  * @property {BlockchainAndTokenConfig} from - The `from` property is an optional property of type
83
100
  * `BlockchainAndTokenConfig` that specifies the default blockchain and token from which the user wants to
@@ -108,7 +125,7 @@ export type BlockchainAndTokenConfig = {
108
125
  */
109
126
  export type WidgetConfig = {
110
127
  apiKey: string;
111
- affiliateRef?: string;
128
+ affiliate?: WidgeAffiliate;
112
129
  amount?: number;
113
130
  from?: BlockchainAndTokenConfig;
114
131
  to?: BlockchainAndTokenConfig;
package/src/utils/swap.ts CHANGED
@@ -330,6 +330,8 @@ export function createBestRouteRequestBody(
330
330
  disabledLiquiditySources: string[],
331
331
  slippage: number,
332
332
  affiliateRef: string | null,
333
+ affiliatePercent: number | null,
334
+ affiliateWallets: { [key: string]: string } | null,
333
335
  initialRoute?: BestRouteResponse,
334
336
  destination?: string
335
337
  ): BestRouteRequest {
@@ -381,7 +383,9 @@ export function createBestRouteRequestBody(
381
383
 
382
384
  const requestBody: BestRouteRequest = {
383
385
  amount: inputAmount.toString(),
384
- affiliateRef,
386
+ affiliateRef: affiliateRef ?? undefined,
387
+ affiliatePercent: affiliatePercent ?? undefined,
388
+ affiliateWallets: affiliateWallets ?? undefined,
385
389
  checkPrerequisites,
386
390
  from: {
387
391
  address: fromToken.address,