@ember-finance/sdk 2.11.0-pre.7 → 2.12.0-ccip.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.
Files changed (72) hide show
  1. package/dist/src/abis/CcipRouter.json +58 -0
  2. package/dist/src/abis/EmberDepositParkingLot.json +175 -43
  3. package/dist/src/abis/index.d.ts +3 -1
  4. package/dist/src/abis/index.js +4 -1
  5. package/dist/src/api/v2/models/evm-ccip-lane.d.ts +73 -0
  6. package/dist/src/api/v2/models/evm-ccip-lane.js +14 -0
  7. package/dist/src/api/v2/models/evm-ccip-rate-limits.d.ts +36 -0
  8. package/dist/src/api/v2/models/evm-ccip-rate-limits.js +14 -0
  9. package/dist/src/api/v2/models/evm-ccip-token-pool.d.ts +122 -0
  10. package/dist/src/api/v2/models/evm-ccip-token-pool.js +17 -0
  11. package/dist/src/api/v2/models/evm-contracts.d.ts +9 -0
  12. package/dist/src/api/v2/models/evm-oftadapter.d.ts +11 -0
  13. package/dist/src/api/v2/models/evm-oftadapter.js +4 -1
  14. package/dist/src/api/v2/models/evm-oftpeer.d.ts +12 -0
  15. package/dist/src/api/v2/models/index.d.ts +3 -0
  16. package/dist/src/api/v2/models/index.js +3 -0
  17. package/dist/src/evm-vaults/interfaces/index.d.ts +44 -0
  18. package/dist/src/evm-vaults/on-chain-calls/operator.d.ts +16 -0
  19. package/dist/src/evm-vaults/on-chain-calls/operator.js +20 -0
  20. package/dist/src/evm-vaults/on-chain-calls/tx-builder.d.ts +36 -1
  21. package/dist/src/evm-vaults/on-chain-calls/tx-builder.js +75 -0
  22. package/dist/src/evm-vaults/on-chain-calls/user.d.ts +33 -1
  23. package/dist/src/evm-vaults/on-chain-calls/user.js +61 -0
  24. package/dist/src/evm-vaults/on-chain-calls/vault-admin.d.ts +16 -0
  25. package/dist/src/evm-vaults/on-chain-calls/vault-admin.js +20 -0
  26. package/dist/src/evm-vaults/on-chain-calls/vault-reader.d.ts +14 -1
  27. package/dist/src/evm-vaults/on-chain-calls/vault-reader.js +33 -1
  28. package/dist/src/evm-vaults/utils/ccip.d.ts +23 -0
  29. package/dist/src/evm-vaults/utils/ccip.js +32 -0
  30. package/dist/src/evm-vaults/utils/deployment-parser.d.ts +27 -1
  31. package/dist/src/evm-vaults/utils/deployment-parser.js +37 -0
  32. package/dist/src/evm-vaults/utils/index.d.ts +1 -0
  33. package/dist/src/evm-vaults/utils/index.js +1 -0
  34. package/package.json +1 -6
  35. package/dist/src/placements/adapters/alphalend.d.ts +0 -1
  36. package/dist/src/placements/adapters/alphalend.js +0 -58
  37. package/dist/src/placements/adapters/bluefin-spot.d.ts +0 -1
  38. package/dist/src/placements/adapters/bluefin-spot.js +0 -78
  39. package/dist/src/placements/adapters/current.d.ts +0 -1
  40. package/dist/src/placements/adapters/current.js +0 -70
  41. package/dist/src/placements/adapters/evm-protocols.d.ts +0 -1
  42. package/dist/src/placements/adapters/evm-protocols.js +0 -8
  43. package/dist/src/placements/adapters/factory.d.ts +0 -15
  44. package/dist/src/placements/adapters/factory.js +0 -62
  45. package/dist/src/placements/adapters/index.d.ts +0 -14
  46. package/dist/src/placements/adapters/index.js +0 -25
  47. package/dist/src/placements/adapters/navi.d.ts +0 -1
  48. package/dist/src/placements/adapters/navi.js +0 -53
  49. package/dist/src/placements/adapters/pendle.d.ts +0 -9
  50. package/dist/src/placements/adapters/pendle.js +0 -108
  51. package/dist/src/placements/adapters/royco.d.ts +0 -2
  52. package/dist/src/placements/adapters/royco.js +0 -49
  53. package/dist/src/placements/adapters/suilend.d.ts +0 -1
  54. package/dist/src/placements/adapters/suilend.js +0 -57
  55. package/dist/src/placements/batch.d.ts +0 -70
  56. package/dist/src/placements/batch.js +0 -197
  57. package/dist/src/placements/client.d.ts +0 -17
  58. package/dist/src/placements/client.js +0 -194
  59. package/dist/src/placements/evm.d.ts +0 -29
  60. package/dist/src/placements/evm.js +0 -280
  61. package/dist/src/placements/index.d.ts +0 -9
  62. package/dist/src/placements/index.js +0 -9
  63. package/dist/src/placements/pointers.d.ts +0 -24
  64. package/dist/src/placements/pointers.js +0 -126
  65. package/dist/src/placements/registry.d.ts +0 -11
  66. package/dist/src/placements/registry.js +0 -19
  67. package/dist/src/placements/sui.d.ts +0 -47
  68. package/dist/src/placements/sui.js +0 -302
  69. package/dist/src/placements/types.d.ts +0 -147
  70. package/dist/src/placements/types.js +0 -1
  71. package/dist/src/placements/vaults.d.ts +0 -15
  72. package/dist/src/placements/vaults.js +0 -97
@@ -0,0 +1,58 @@
1
+ {
2
+ "abi": [
3
+ {
4
+ "type": "function",
5
+ "name": "getFee",
6
+ "stateMutability": "view",
7
+ "inputs": [
8
+ { "name": "destChainSelector", "type": "uint64" },
9
+ {
10
+ "name": "message",
11
+ "type": "tuple",
12
+ "components": [
13
+ { "name": "receiver", "type": "bytes" },
14
+ { "name": "data", "type": "bytes" },
15
+ {
16
+ "name": "tokenAmounts",
17
+ "type": "tuple[]",
18
+ "components": [
19
+ { "name": "token", "type": "address" },
20
+ { "name": "amount", "type": "uint256" }
21
+ ]
22
+ },
23
+ { "name": "feeToken", "type": "address" },
24
+ { "name": "extraArgs", "type": "bytes" }
25
+ ]
26
+ }
27
+ ],
28
+ "outputs": [{ "name": "fee", "type": "uint256" }]
29
+ },
30
+ {
31
+ "type": "function",
32
+ "name": "ccipSend",
33
+ "stateMutability": "payable",
34
+ "inputs": [
35
+ { "name": "destinationChainSelector", "type": "uint64" },
36
+ {
37
+ "name": "message",
38
+ "type": "tuple",
39
+ "components": [
40
+ { "name": "receiver", "type": "bytes" },
41
+ { "name": "data", "type": "bytes" },
42
+ {
43
+ "name": "tokenAmounts",
44
+ "type": "tuple[]",
45
+ "components": [
46
+ { "name": "token", "type": "address" },
47
+ { "name": "amount", "type": "uint256" }
48
+ ]
49
+ },
50
+ { "name": "feeToken", "type": "address" },
51
+ { "name": "extraArgs", "type": "bytes" }
52
+ ]
53
+ }
54
+ ],
55
+ "outputs": [{ "name": "messageId", "type": "bytes32" }]
56
+ }
57
+ ]
58
+ }
@@ -24,6 +24,11 @@
24
24
  "name": "Blacklisted",
25
25
  "type": "error"
26
26
  },
27
+ {
28
+ "inputs": [],
29
+ "name": "DepositNotAllowed",
30
+ "type": "error"
31
+ },
27
32
  {
28
33
  "inputs": [
29
34
  {
@@ -45,6 +50,11 @@
45
50
  "name": "FailedCall",
46
51
  "type": "error"
47
52
  },
53
+ {
54
+ "inputs": [],
55
+ "name": "FeeOnTransferNotSupported",
56
+ "type": "error"
57
+ },
48
58
  {
49
59
  "inputs": [],
50
60
  "name": "IndexOutOfBounds",
@@ -149,6 +159,25 @@
149
159
  "name": "ZeroAmount",
150
160
  "type": "error"
151
161
  },
162
+ {
163
+ "anonymous": false,
164
+ "inputs": [
165
+ {
166
+ "indexed": true,
167
+ "internalType": "address",
168
+ "name": "vault",
169
+ "type": "address"
170
+ },
171
+ {
172
+ "indexed": false,
173
+ "internalType": "bool",
174
+ "name": "paused",
175
+ "type": "bool"
176
+ }
177
+ ],
178
+ "name": "CancellationsPausedUpdated",
179
+ "type": "event"
180
+ },
152
181
  {
153
182
  "anonymous": false,
154
183
  "inputs": [
@@ -174,6 +203,37 @@
174
203
  "name": "Claimed",
175
204
  "type": "event"
176
205
  },
206
+ {
207
+ "anonymous": false,
208
+ "inputs": [
209
+ {
210
+ "indexed": true,
211
+ "internalType": "address",
212
+ "name": "vault",
213
+ "type": "address"
214
+ },
215
+ {
216
+ "indexed": true,
217
+ "internalType": "address",
218
+ "name": "account",
219
+ "type": "address"
220
+ },
221
+ {
222
+ "indexed": false,
223
+ "internalType": "bool",
224
+ "name": "status",
225
+ "type": "bool"
226
+ },
227
+ {
228
+ "indexed": false,
229
+ "internalType": "uint256",
230
+ "name": "count",
231
+ "type": "uint256"
232
+ }
233
+ ],
234
+ "name": "DepositAllowListUpdated",
235
+ "type": "event"
236
+ },
177
237
  {
178
238
  "anonymous": false,
179
239
  "inputs": [
@@ -499,6 +559,19 @@
499
559
  "stateMutability": "nonpayable",
500
560
  "type": "function"
501
561
  },
562
+ {
563
+ "inputs": [],
564
+ "name": "cancellationsPaused",
565
+ "outputs": [
566
+ {
567
+ "internalType": "bool",
568
+ "name": "",
569
+ "type": "bool"
570
+ }
571
+ ],
572
+ "stateMutability": "view",
573
+ "type": "function"
574
+ },
502
575
  {
503
576
  "inputs": [],
504
577
  "name": "claim",
@@ -568,6 +641,38 @@
568
641
  "stateMutability": "nonpayable",
569
642
  "type": "function"
570
643
  },
644
+ {
645
+ "inputs": [
646
+ {
647
+ "internalType": "address",
648
+ "name": "",
649
+ "type": "address"
650
+ }
651
+ ],
652
+ "name": "depositAllowList",
653
+ "outputs": [
654
+ {
655
+ "internalType": "bool",
656
+ "name": "",
657
+ "type": "bool"
658
+ }
659
+ ],
660
+ "stateMutability": "view",
661
+ "type": "function"
662
+ },
663
+ {
664
+ "inputs": [],
665
+ "name": "depositAllowListCount",
666
+ "outputs": [
667
+ {
668
+ "internalType": "uint256",
669
+ "name": "",
670
+ "type": "uint256"
671
+ }
672
+ ],
673
+ "stateMutability": "view",
674
+ "type": "function"
675
+ },
571
676
  {
572
677
  "inputs": [
573
678
  {
@@ -710,6 +815,25 @@
710
815
  "stateMutability": "nonpayable",
711
816
  "type": "function"
712
817
  },
818
+ {
819
+ "inputs": [
820
+ {
821
+ "internalType": "address",
822
+ "name": "account",
823
+ "type": "address"
824
+ }
825
+ ],
826
+ "name": "isDepositAllowed",
827
+ "outputs": [
828
+ {
829
+ "internalType": "bool",
830
+ "name": "",
831
+ "type": "bool"
832
+ }
833
+ ],
834
+ "stateMutability": "view",
835
+ "type": "function"
836
+ },
713
837
  {
714
838
  "inputs": [],
715
839
  "name": "operator",
@@ -749,6 +873,19 @@
749
873
  "stateMutability": "nonpayable",
750
874
  "type": "function"
751
875
  },
876
+ {
877
+ "inputs": [
878
+ {
879
+ "internalType": "uint256",
880
+ "name": "upToSequenceNumber",
881
+ "type": "uint256"
882
+ }
883
+ ],
884
+ "name": "processDepositsUpTo",
885
+ "outputs": [],
886
+ "stateMutability": "nonpayable",
887
+ "type": "function"
888
+ },
752
889
  {
753
890
  "inputs": [],
754
891
  "name": "protocolConfig",
@@ -808,6 +945,37 @@
808
945
  "stateMutability": "view",
809
946
  "type": "function"
810
947
  },
948
+ {
949
+ "inputs": [
950
+ {
951
+ "internalType": "bool",
952
+ "name": "paused",
953
+ "type": "bool"
954
+ }
955
+ ],
956
+ "name": "setCancellationsPaused",
957
+ "outputs": [],
958
+ "stateMutability": "nonpayable",
959
+ "type": "function"
960
+ },
961
+ {
962
+ "inputs": [
963
+ {
964
+ "internalType": "address",
965
+ "name": "account",
966
+ "type": "address"
967
+ },
968
+ {
969
+ "internalType": "bool",
970
+ "name": "status",
971
+ "type": "bool"
972
+ }
973
+ ],
974
+ "name": "setDepositAllowListStatus",
975
+ "outputs": [],
976
+ "stateMutability": "nonpayable",
977
+ "type": "function"
978
+ },
811
979
  {
812
980
  "inputs": [
813
981
  {
@@ -892,53 +1060,17 @@
892
1060
  "type": "function"
893
1061
  },
894
1062
  {
895
- "inputs": [
896
- {
897
- "internalType": "address",
898
- "name": "account",
899
- "type": "address"
900
- },
1063
+ "inputs": [],
1064
+ "name": "version",
1065
+ "outputs": [
901
1066
  {
902
- "internalType": "bool",
903
- "name": "status",
904
- "type": "bool"
1067
+ "internalType": "string",
1068
+ "name": "",
1069
+ "type": "string"
905
1070
  }
906
1071
  ],
907
- "name": "setDepositAllowListStatus",
908
- "outputs": [],
909
- "stateMutability": "nonpayable",
1072
+ "stateMutability": "pure",
910
1073
  "type": "function"
911
- },
912
- {
913
- "anonymous": false,
914
- "inputs": [
915
- {
916
- "indexed": true,
917
- "internalType": "address",
918
- "name": "vault",
919
- "type": "address"
920
- },
921
- {
922
- "indexed": true,
923
- "internalType": "address",
924
- "name": "account",
925
- "type": "address"
926
- },
927
- {
928
- "indexed": false,
929
- "internalType": "bool",
930
- "name": "status",
931
- "type": "bool"
932
- },
933
- {
934
- "indexed": false,
935
- "internalType": "uint256",
936
- "name": "count",
937
- "type": "uint256"
938
- }
939
- ],
940
- "name": "DepositAllowListUpdated",
941
- "type": "event"
942
1074
  }
943
1075
  ],
944
1076
  "bytecode": "0x60a080604052346100cc57306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c166100bd57506001600160401b036002600160401b031982821601610078575b604051611eab90816100d2823960805181818161144301526115160152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1388080610059565b63f92ee8a960e01b8152600490fd5b600080fdfe608080604052600436101561001357600080fd5b60003560e01c9081631c481e2d1461189957508063402914f51461185f578063482c9e21146118415780634cde335c1461176e5780634e71d92d146116a15780634f1ef2861461149b57806352d1902d14611430578063570ca7351461140757806360da3e83146113e157806364ca23ef146113c35780636e553f6514610e94578063715018a614610e2a57806372fada5c14610ca15780638da5cb5b14610c6b578063ab4f0f0114610c4d578063ad3cb1cc14610ba3578063b0b1f9e91461071e578063b2016bd4146106f5578063b3ab15fb1461057c578063b54e0f69146104fd578063d1378a0d146104d3578063f2fde38b146104ad578063f5efbb4f14610484578063f8c8765e146101c4578063fabd03411461016b5763fbfa77cf1461013d57600080fd5b34610166576000366003190112610166576001546040516001600160a01b039091168152602090f35b600080fd5b346101665760203660031901126101665760043560005260066020526080604060002060018060a01b03908181541691600182015416906003600282015491015491604051938452602084015260408301526060820152f35b34610166576080366003190112610166576101dd6119de565b6101e56119f4565b6001600160a01b03916044358381169290839003610166576064359380851690818603610166577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009586549360ff8560401c1615946001600160401b0381169687158061047d575b60018099149081610473575b15908161046a575b506104585767ffffffffffffffff19821688178a55849187610439575b501693841590811561042e575b8115610425575b811561041c575b5061040a576102b883926102ab611d71565b6102b3611d71565b611ae7565b6102c0611d71565b6102c8611d71565b6102d0611d71565b85600080516020611e568339815191525560018060a01b031993846000541617600055169081838654161785556040516338d52e0f60e01b81526020968782600481875afa80156103fe5788926000916103a2575b507f5164fbb07e919fc22c6fcdb6ca7140848539c83b823fe61799f77506db05ba199382911695868160025416176002556003541617600355604051908152a361036b57005b825460ff60401b19169092556040519182527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d291a1005b8381959492503d83116103f7575b6103ba8183611a25565b81010312610166578088926103ef7f5164fbb07e919fc22c6fcdb6ca7140848539c83b823fe61799f77506db05ba1995611a61565b915093610325565b503d6103b0565b6040513d6000823e3d90fd5b60405163d92e233d60e01b8152600490fd5b90501589610299565b88159150610292565b82851615915061028b565b68ffffffffffffffffff191668010000000000000001178a558a61027e565b60405163f92ee8a960e01b8152600490fd5b9050158b610261565b303b159150610259565b508661024d565b34610166576000366003190112610166576000546040516001600160a01b039091168152602090f35b34610166576020366003190112610166576104d16104c96119de565b6102b3611ba1565b005b346101665760003660031901126101665760206104f560045460055490611ada565b604051908152f35b346101665760003660031901126101665760006004546005549060019160018101809111610566575b8181111561053957602084604051908152f35b6000818152600660205260409020546001600160a01b031661055d575b8201610526565b92820192610556565b634e487b7160e01b600052601160045260246000fd5b34610166576020366003190112610166576105956119de565b600154604051630e4bd7d960e21b81526001600160a01b039182169290606081600481875afa80156103fe5783916000916106c6575b50511633036106b557811691821561040a5760246020836000541660405192838092630f1d76c160e01b82528860048301525afa9081156103fe5760009161067b575b50610669576003549182168084146106575783917f758820d0b14a01c1fa60b8d2bbef25ed1b6a5af4802e5dec3f08679255ba8bf3600080a46001600160a01b03191617600355005b60405163c23f6ccb60e01b8152600490fd5b6040516309550c7760e01b8152600490fd5b90506020813d6020116106ad575b8161069660209383611a25565b81010312610166576106a790611acd565b8461060e565b3d9150610689565b6040516282b42960e81b8152600490fd5b6106e8915060603d6060116106ee575b6106e08183611a25565b810190611a75565b856105cb565b503d6106d6565b34610166576000366003190112610166576002546040516001600160a01b039091168152602090f35b346101665760203660031901126101665760043561073a611b5b565b6003546001600160a01b031633036106b55760005460405163019db35d60e11b81528291602090829060049082906001600160a01b03165afa9081156103fe57600091610b69575b50610b58578115610b46576005549161079d83600454611ada565b809111610b3e575b506000905b8082106107ca5760058390556001600080516020611e5683398151915255005b9091600180910192019082600052600680602052604060002090604051916107f183611a0a565b80546001600160a01b039081168085526001830154909116602085015260028201546040850152600390910154606084015215610b37578460005260205261084f604060002060036000918281558260018201558260028201550155565b604081810151600780548290039055600254600154925163095ea7b360e01b60208201526001600160a01b039384166024820181905260448201939093529192166108a782606481015b03601f198101845283611a25565b60206000835182850182855af16000513d82610b1b575b505015610ae3575b50506001546040838101516020858101519251636e553f6560e01b815260048101929092526001600160a01b0392831660248301529093509183916044918391600091165af160009181610aaf575b50610a4c575060018060a01b036002541660018060a01b036001541690604051906020600081840163095ea7b360e01b81528560248601528160448601526044855261096085611a0a565b84519082855af16000513d82610a30575b5050156109ec575b5050815160408301516109969250906001600160a01b0316611c0a565b600154815160208084015160409485015185519081529182018890526001600160a01b03908116949281169316917f676a69c1213f814ebbd99afbd321247de207b8228518bb9af26a519a6db915ef91a46107aa565b610a23610a28936040519063095ea7b360e01b602083015260248201526000604482015260448152610a1d81611a0a565b82611d15565b611d15565b848080610979565b909150610a445750803b15155b8880610971565b600114610a3d565b60018060a01b03600154167f1296cfaf1497e6e2e05eae3b8ed088781c70a7f202609c61014952b5b38a53f1606060018060a01b0385511693604060018060a01b03602088015116960151906040519182526020820152886040820152a46107aa565b9091506020813d602011610adb575b81610acb60209383611a25565b8101031261016657519086610915565b3d9150610abe565b610a23610b13936040519063095ea7b360e01b6020830152602482015260446000818301528152610a1d81611a0a565b8480806108c6565b909150610b2f5750803b15155b88806108be565b600114610b28565b50506107aa565b9050826107a5565b604051631f2a200560e01b8152600490fd5b60405162332c3760e81b8152600490fd5b90506020813d602011610b9b575b81610b8460209383611a25565b8101031261016657610b9590611acd565b83610782565b3d9150610b77565b3461016657600036600319011261016657604051604081018181106001600160401b03821117610c375760405260058152602090640352e302e360dc1b60208201526040518092602082528251908160208401526000935b828510610c1e575050604092506000838284010152601f80199101168101030190f35b8481018201518686016040015293810193859350610bfb565b634e487b7160e01b600052604160045260246000fd5b34610166576000366003190112610166576020600754604051908152f35b3461016657600036600319011261016657600080516020611e16833981519152546040516001600160a01b039091168152602090f35b34610166576020806003193601126101665760043590610cbf611b5b565b816000526006906006815260406000209260405193610cdd85611a0a565b60018060a01b03908181541680875260019683888401541686820152606060036002850154946040840195865201549101523303610e185751938260005260068452610d3f604060002060036000918281558260018201558260028201550155565b8460075403600755600554868101809111610566578314610dab575b50610d668433611c0a565b845416916040519384528301527f627946b6a26beee83b76408c8e5af8b2ebb67bc0b7566767d80153797b98fd7960403393a3600080516020611e5683398151915255005b85839181600454905b610dc5575b50505060055585610d5b565b9091969594939281811080610df6575b15610deb57870196919082979394959697610db4565b929394959691610db9565b5096870196878111610566578897600052828652836040600020541615610dd5565b6040516341abc80160e01b8152600490fd5b3461016657600036600319011261016657610e43611ba1565b600080516020611e1683398151915280546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461016657604036600319011261016657600435610eb06119f4565b90610eb9611b5b565b60005460405163019db35d60e11b81526020936001600160a01b0393929091908416908581600481855afa9081156103fe5760009161138e575b50610b585760ff60035460a01c16610b5857836001541692604051926323348b6560e11b84526060938481600481895afa9081156103fe57600091611340575b50610b58578115610b4657851693841561040a573085148015611337575b801561132a575b61127157604051630e4bd7d960e21b81528481600481855afa9182156103fe57889160009361130b575b50878084511688149384156112fc575b84156112ec575b50508215611283575b505061127157604051630f1d76c160e01b8082523360048301526024939188818681865afa9081156103fe5760009161123c575b50610669578790846040518094819382528960048301525afa9081156103fe57600091611207575b50610669578460025416604051916370a0823160e01b9182845230600485015288848681845afa9384156103fe576000946111d8575b50604051916323b872dd60e01b8a840152338684015230604484015260648301526064825260a082018281106001600160401b038211176111c35760405288929161107e91611d15565b8660025416936040518095819382523060048301525afa80156103fe57600090611194575b6110ad9250611ada565b908115610b4657600160045401938460045582600754016007556110cf611b8b565b6003604051916110de83611a0a565b33835288830187815260408401908782528685019283528960005260068b5285604060002095511660018060a01b0319908187541617865586600187019251169082541617905551600284015551910155600154169060075490611140611b8b565b91604051948552878501528560408501528301527f9cc70bb6a09a5acbc601adcc20be0a54c387cf46be845b91914bafb7ac93335e60803393a46001600080516020611e5683398151915255604051908152f35b508582813d83116111bc575b6111aa8183611a25565b81010312610166576110ad91516110a3565b503d6111a0565b85634e487b7160e01b60005260416004526000fd5b9093508881813d8311611200575b6111f08183611a25565b8101031261016657519289611034565b503d6111e6565b90508681813d8311611235575b61121e8183611a25565b810103126101665761122f90611acd565b87610ffe565b503d611214565b90508881813d831161126a575b6112538183611a25565b810103126101665761126490611acd565b89610fd6565b503d611249565b604051631e4ec46b60e01b8152600490fd5b602492506040519283809263368d094360e21b82528960048301525afa9081156103fe576000916112b7575b508688610fa2565b90508681813d83116112e5575b6112ce8183611a25565b81010312610166576112df90611acd565b876112af565b503d6112c4565b604001511687149250878a610f99565b83810151821689149450610f92565b611323919350863d88116106ee576106e08183611a25565b9189610f82565b5085600254168514610f58565b50808514610f51565b90508481813d8311611387575b6113578183611a25565b8101031261016657611380604061136d83611acd565b926113798b8201611acd565b5001611acd565b5088610f33565b503d61134d565b90508581813d83116113bc575b6113a58183611a25565b81010312610166576113b690611acd565b86610ef3565b503d61139b565b34610166576000366003190112610166576020600454604051908152f35b3461016657600036600319011261016657602060ff60035460a01c166040519015158152f35b34610166576000366003190112610166576003546040516001600160a01b039091168152602090f35b34610166576000366003190112610166577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003611489576020604051600080516020611e368339815191528152f35b60405163703e46dd60e11b8152600490fd5b6040366003190112610166576114af6119de565b60249081356001600160401b0381116101665736602382011215610166578060040135916114dc83611a46565b6114e96040519182611a25565b83815260209384820193368783830101116101665781600092888893018737830101526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116308114908115611685575b506114895761154f611ba1565b6040516352d1902d60e01b8152908316948082600481895afa918291600093611655575b505061159157604051634c9c8ce360e01b8152600481018690528690fd5b849086600080516020611e36833981519152918281036116405750843b1561162a575080546001600160a01b03191682179055604051907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2815115611610575060006104d19381925190845af461160a611bda565b91611db2565b925050503461161b57005b63b398979f60e01b8152600490fd5b604051634c9c8ce360e01b815260048101849052fd5b60405190632a87526960e21b82526004820152fd5b9080929350813d831161167e575b61166d8183611a25565b810103126101665751908780611573565b503d611663565b905081600080516020611e368339815191525416141587611542565b34610166576000366003190112610166576116ba611b5b565b3360005260086020526040600020548015610b465733600081815260086020908152604080832092909255600254915163a9059cbb60e01b8183015260248101939093526044830184905292916001600160a01b039161172491908316610a238260648101610899565b60015416604051908282527ff7a40077ff7a04c7e61f6f26fb13774259ddf1b6bce9ecf26a8276cdd3992683843393a36001600080516020611e5683398151915255604051908152f35b34610166576020366003190112610166576000606060405161178f81611a0a565b82815282602082015282604082015201526005546004358101809111610566576001810180911161056657600454811161182f576000526006602052608060406000206040516117de81611a0a565b60018060a01b03918281541692838352806001830154166020840190815260606003600285015494604087019586520154940193845260405194855251166020840152516040830152516060820152f35b604051634e23d03560e01b8152600490fd5b34610166576000366003190112610166576020600554604051908152f35b34610166576020366003190112610166576001600160a01b036118806119de565b1660005260086020526020604060002054604051908152f35b3461016657602080600319360112610166576004359081151580920361016657600154630e4bd7d960e21b84526001600160a01b0390811693606081600481885afa80156103fe5782916000916119bf575b5051163314159081611953575b506106b5576003549160ff8360a01c16151581146106575760ff60a01b1990921660a083901b60ff60a01b16176003556040519182527f96702072881dc08bdd4e8a499d291bdcb2b3cd7cdafa21de42b6275c3c29bb8491a2005b9050600482826000541660405192838092630229549960e51b82525afa9081156103fe5760009161198a575b5016331415846118f8565b90508281813d83116119b8575b6119a18183611a25565b81010312610166576119b290611a61565b8561197f565b503d611997565b6119d8915060603d6060116106ee576106e08183611a25565b866118eb565b600435906001600160a01b038216820361016657565b602435906001600160a01b038216820361016657565b608081019081106001600160401b03821117610c3757604052565b90601f801991011681019081106001600160401b03821117610c3757604052565b6001600160401b038111610c3757601f01601f191660200190565b51906001600160a01b038216820361016657565b908160609103126101665760405190606082018281106001600160401b03821117610c3757611ac5916040918252611aac81611a61565b8452611aba60208201611a61565b602085015201611a61565b604082015290565b5190811515820361016657565b9190820391821161056657565b6001600160a01b03908116908115611b4257600080516020611e1683398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b604051631e4fbdf760e01b815260006004820152602490fd5b600080516020611e568339815191526002815414611b795760029055565b604051633ee5aeb560e01b8152600490fd5b6103e88042029042820414421517156105665790565b600080516020611e16833981519152546001600160a01b03163303611bc257565b60405163118cdaa760e01b8152336004820152602490fd5b3d15611c05573d90611beb82611a46565b91611bf96040519384611a25565b82523d6000602084013e565b606090565b908015611d115760025460405163a9059cbb60e01b60208083019182526001600160a01b0386811660248501526044808501879052845293841695939092909190611c56606482611a25565b600096879283809351925af1611c6a611bda565b81611cbf575b50611cb8576040817f09217e2b0e70868e1ad68bbeca2d4df1becf381268310884e1a742e674c7a03094169586815260088452208481540190556001541692604051908152a3565b5050505050565b8051801592508215611cd4575b505038611c70565b90915083808210159182611cee575b505090503880611ccc565b8380929350010312611d0d5782611d059101611acd565b808338611ce3565b8580fd5b5050565b906000602091828151910182855af1156103fe576000513d611d6857506001600160a01b0381163b155b611d465750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415611d3f565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c1615611da057565b604051631afcd79f60e31b8152600490fd5b90611dd95750805115611dc757602081519101fd5b60405163d6bda27560e01b8152600490fd5b81511580611e0c575b611dea575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15611de256fe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220c7525297e2b37a75c54f1eafe8fc4c00d5759ec75e34e6bfa74cf57c93a7872264736f6c63430008160033",
@@ -3,6 +3,7 @@ import EmberProtocolConfigABI from "./EmberProtocolConfig.json";
3
3
  import ERC20TokenABI from "./ERC20Token.json";
4
4
  import EmberVaultOFTAdapterABI from "./EmberVaultMintBurnOFTAdapter.json";
5
5
  import OpenCoverVaultABI from "./OpenCoverVault.json";
6
+ import CcipRouterABI from "./CcipRouter.json";
6
7
  import { Interface } from "ethers";
7
8
  declare const EmberVault: Interface;
8
9
  declare const EmberProtocolConfig: Interface;
@@ -10,4 +11,5 @@ declare const ERC20Token: Interface;
10
11
  declare const EmberETHVault: Interface;
11
12
  declare const EmberVaultOFTAdapter: Interface;
12
13
  declare const OpenCoverVault: Interface;
13
- export { EmberVaultABI, EmberProtocolConfigABI, ERC20TokenABI, EmberVault, EmberProtocolConfig, ERC20Token, EmberETHVault, EmberVaultOFTAdapterABI, EmberVaultOFTAdapter, OpenCoverVaultABI, OpenCoverVault };
14
+ declare const CcipRouter: Interface;
15
+ export { EmberVaultABI, EmberProtocolConfigABI, ERC20TokenABI, EmberVault, EmberProtocolConfig, ERC20Token, EmberETHVault, EmberVaultOFTAdapterABI, EmberVaultOFTAdapter, OpenCoverVaultABI, OpenCoverVault, CcipRouterABI, CcipRouter };
@@ -4,6 +4,7 @@ import ERC20TokenABI from "./ERC20Token.json" with { type: "json" };
4
4
  import EmberETHVaultABI from "./EmberETHVault.json" with { type: "json" };
5
5
  import EmberVaultOFTAdapterABI from "./EmberVaultMintBurnOFTAdapter.json" with { type: "json" };
6
6
  import OpenCoverVaultABI from "./OpenCoverVault.json" with { type: "json" };
7
+ import CcipRouterABI from "./CcipRouter.json" with { type: "json" };
7
8
  import { Interface } from "ethers";
8
9
  const EmberVault = new Interface(EmberVaultABI.abi);
9
10
  const EmberProtocolConfig = new Interface(EmberProtocolConfigABI.abi);
@@ -11,4 +12,6 @@ const ERC20Token = new Interface(ERC20TokenABI.abi);
11
12
  const EmberETHVault = new Interface(EmberETHVaultABI.abi);
12
13
  const EmberVaultOFTAdapter = new Interface(EmberVaultOFTAdapterABI.abi);
13
14
  const OpenCoverVault = new Interface(OpenCoverVaultABI.abi);
14
- export { EmberVaultABI, EmberProtocolConfigABI, ERC20TokenABI, EmberVault, EmberProtocolConfig, ERC20Token, EmberETHVault, EmberVaultOFTAdapterABI, EmberVaultOFTAdapter, OpenCoverVaultABI, OpenCoverVault };
15
+ // Chainlink's Router, trimmed to what a bridge send needs: quote, then send.
16
+ const CcipRouter = new Interface(CcipRouterABI.abi);
17
+ export { EmberVaultABI, EmberProtocolConfigABI, ERC20TokenABI, EmberVault, EmberProtocolConfig, ERC20Token, EmberETHVault, EmberVaultOFTAdapterABI, EmberVaultOFTAdapter, OpenCoverVaultABI, OpenCoverVault, CcipRouterABI, CcipRouter };
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Ember Protocol Vaults API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { EvmCcipRateLimits } from "./evm-ccip-rate-limits.js";
13
+ /**
14
+ * One configured destination. remoteNetwork and remoteAddress mean the same as on an OFT peer; the rest has no LayerZero equivalent.
15
+ * @export
16
+ * @interface EvmCcipLane
17
+ */
18
+ export interface EvmCcipLane {
19
+ /**
20
+ * The remote chain\'s network name, e.g. atlantic. The map key is a CCIP chain selector, so read this instead.
21
+ * @type {string}
22
+ * @memberof EvmCcipLane
23
+ */
24
+ remoteNetwork?: string;
25
+ /**
26
+ * The bridge contract at the far end, as a plain address. Same meaning as remoteAddress on an OFT peer.
27
+ * @type {string}
28
+ * @memberof EvmCcipLane
29
+ */
30
+ remoteAddress?: string;
31
+ /**
32
+ * The remote chain\'s CCIP selector, carried as a string because it is 64-bit
33
+ * @type {string}
34
+ * @memberof EvmCcipLane
35
+ */
36
+ remoteChainSelector?: string;
37
+ /**
38
+ * The remote CCIP token pool address
39
+ * @type {string}
40
+ * @memberof EvmCcipLane
41
+ */
42
+ remotePool?: string;
43
+ /**
44
+ * The remote receipt token address
45
+ * @type {string}
46
+ * @memberof EvmCcipLane
47
+ */
48
+ remoteToken?: string;
49
+ /**
50
+ *
51
+ * @type {EvmCcipRateLimits}
52
+ * @memberof EvmCcipLane
53
+ */
54
+ rateLimits?: EvmCcipRateLimits;
55
+ /**
56
+ * The timestamp when the lane was configured
57
+ * @type {string}
58
+ * @memberof EvmCcipLane
59
+ */
60
+ configuredAt?: string;
61
+ /**
62
+ * The transaction hash of the lane configuration
63
+ * @type {string}
64
+ * @memberof EvmCcipLane
65
+ */
66
+ txHash?: string;
67
+ /**
68
+ * The block number of the lane configuration
69
+ * @type {number}
70
+ * @memberof EvmCcipLane
71
+ */
72
+ blockNumber?: number;
73
+ }
@@ -0,0 +1,14 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Ember Protocol Vaults API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ export {};
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Ember Protocol Vaults API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Per-lane outbound rate limiting. Has no LayerZero equivalent, so it is deliberately not flattened into a shared shape.
14
+ * @export
15
+ * @interface EvmCcipRateLimits
16
+ */
17
+ export interface EvmCcipRateLimits {
18
+ /**
19
+ * Whether rate limiting is enforced on this lane
20
+ * @type {boolean}
21
+ * @memberof EvmCcipRateLimits
22
+ */
23
+ enabled?: boolean;
24
+ /**
25
+ * Token bucket capacity, in receipt token base units
26
+ * @type {string}
27
+ * @memberof EvmCcipRateLimits
28
+ */
29
+ capacity?: string;
30
+ /**
31
+ * Refill rate, in receipt token base units per second
32
+ * @type {string}
33
+ * @memberof EvmCcipRateLimits
34
+ */
35
+ rate?: string;
36
+ }
@@ -0,0 +1,14 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Ember Protocol Vaults API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: 2.0.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ export {};
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Ember Protocol Vaults API
3
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { EvmCcipLane } from "./evm-ccip-lane.js";
13
+ /**
14
+ * The CCIP half of a vault\'s bridge, the counterpart to EvmOFTAdapter. A vault has one active transport; different vaults use different ones.
15
+ * @export
16
+ * @interface EvmCcipTokenPool
17
+ */
18
+ export interface EvmCcipTokenPool {
19
+ /**
20
+ * The CCIP token pool contract address
21
+ * @type {string}
22
+ * @memberof EvmCcipTokenPool
23
+ */
24
+ address?: string;
25
+ /**
26
+ * The contract name (e.g., EmberTokenPool)
27
+ * @type {string}
28
+ * @memberof EvmCcipTokenPool
29
+ */
30
+ contractName?: string;
31
+ /**
32
+ * Which bridge this entry describes. Read this rather than inferring the transport from which map the entry was found in.
33
+ * @type {string}
34
+ * @memberof EvmCcipTokenPool
35
+ */
36
+ bridgeTransport?: EvmCcipTokenPoolBridgeTransportEnum;
37
+ /**
38
+ * The pool\'s on-chain typeAndVersion (e.g., EmberBurnMintTokenPool 1.0.0)
39
+ * @type {string}
40
+ * @memberof EvmCcipTokenPool
41
+ */
42
+ typeAndVersion?: string;
43
+ /**
44
+ * The key of the associated vault
45
+ * @type {string}
46
+ * @memberof EvmCcipTokenPool
47
+ */
48
+ vaultKey?: string;
49
+ /**
50
+ * The address of the associated vault
51
+ * @type {string}
52
+ * @memberof EvmCcipTokenPool
53
+ */
54
+ vaultAddress?: string;
55
+ /**
56
+ * The receipt token symbol
57
+ * @type {string}
58
+ * @memberof EvmCcipTokenPool
59
+ */
60
+ receiptTokenSymbol?: string;
61
+ /**
62
+ * The receipt token decimals
63
+ * @type {number}
64
+ * @memberof EvmCcipTokenPool
65
+ */
66
+ decimals?: number;
67
+ /**
68
+ * The CCIP Router for this chain
69
+ * @type {string}
70
+ * @memberof EvmCcipTokenPool
71
+ */
72
+ router?: string;
73
+ /**
74
+ * The CCIP RMN proxy for this chain
75
+ * @type {string}
76
+ * @memberof EvmCcipTokenPool
77
+ */
78
+ rmnProxy?: string;
79
+ /**
80
+ * The CCIP token admin registry for this chain
81
+ * @type {string}
82
+ * @memberof EvmCcipTokenPool
83
+ */
84
+ tokenAdminRegistry?: string;
85
+ /**
86
+ * This chain\'s CCIP selector. A 64-bit value, carried as a string because it exceeds what a JSON number holds exactly.
87
+ * @type {string}
88
+ * @memberof EvmCcipTokenPool
89
+ */
90
+ chainSelector?: string;
91
+ /**
92
+ * The owner address
93
+ * @type {string}
94
+ * @memberof EvmCcipTokenPool
95
+ */
96
+ owner?: string;
97
+ /**
98
+ * The deployment timestamp
99
+ * @type {string}
100
+ * @memberof EvmCcipTokenPool
101
+ */
102
+ deployedAt?: string;
103
+ /**
104
+ * The block number at which the pool was deployed
105
+ * @type {number}
106
+ * @memberof EvmCcipTokenPool
107
+ */
108
+ deploymentBlockNumber?: number;
109
+ /**
110
+ * Map of configured destinations by remote CCIP chain selector
111
+ * @type {{ [key: string]: EvmCcipLane; }}
112
+ * @memberof EvmCcipTokenPool
113
+ */
114
+ lanes?: {
115
+ [key: string]: EvmCcipLane;
116
+ };
117
+ }
118
+ export declare const EvmCcipTokenPoolBridgeTransportEnum: {
119
+ readonly LayerZero: "LayerZero";
120
+ readonly Ccip: "CCIP";
121
+ };
122
+ export type EvmCcipTokenPoolBridgeTransportEnum = (typeof EvmCcipTokenPoolBridgeTransportEnum)[keyof typeof EvmCcipTokenPoolBridgeTransportEnum];