@superfluid-finance/ethereum-contracts 1.4.4-dev.b157ec2.0 → 1.4.4-dev.c2b2de3.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 (146) hide show
  1. package/artifacts/contracts/utils/TOGA.sol/ITOGAv3.json +194 -0
  2. package/artifacts/contracts/utils/TOGA.sol/TOGA.json +2 -33
  3. package/build/contracts/AccessControl.json +1 -1
  4. package/build/contracts/AccessControlEnumerable.json +1 -1
  5. package/build/contracts/Address.json +1 -1
  6. package/build/contracts/AgreementBase.json +1 -1
  7. package/build/contracts/AgreementLibrary.json +1 -1
  8. package/build/contracts/BaseRelayRecipient.json +1 -1
  9. package/build/contracts/BatchLiquidator.json +723 -723
  10. package/build/contracts/BatchOperation.json +1 -1
  11. package/build/contracts/CFAv1Forwarder.json +2050 -2050
  12. package/build/contracts/CFAv1Library.json +1 -1
  13. package/build/contracts/CallUtils.json +1 -1
  14. package/build/contracts/ClosingOnUpdateFlowTestApp.json +1566 -1566
  15. package/build/contracts/ConstantFlowAgreementV1.json +4582 -4582
  16. package/build/contracts/Context.json +1 -1
  17. package/build/contracts/ContextDefinitions.json +1 -1
  18. package/build/contracts/CustomSuperTokenBase.json +1 -1
  19. package/build/contracts/ERC165.json +1 -1
  20. package/build/contracts/ERC1820Implementer.json +79 -79
  21. package/build/contracts/ERC1820RegistryCompiled.json +1 -1
  22. package/build/contracts/ERC20.json +1289 -1289
  23. package/build/contracts/ERC20WithTokenInfo.json +1 -1
  24. package/build/contracts/ERC777Helper.json +1 -1
  25. package/build/contracts/ERC777RecipientDrainingGas.json +350 -350
  26. package/build/contracts/ERC777RecipientReverting.json +373 -373
  27. package/build/contracts/EnumerableSet.json +1 -1
  28. package/build/contracts/EventsEmitter.json +1 -1
  29. package/build/contracts/ExclusiveInflowTestApp.json +1594 -1594
  30. package/build/contracts/FixedSizeData.json +1 -1
  31. package/build/contracts/FlowExchangeTestApp.json +1704 -1704
  32. package/build/contracts/FlowOperatorDefinitions.json +1 -1
  33. package/build/contracts/FullUpgradableSuperTokenProxy.json +74 -74
  34. package/build/contracts/IAccessControl.json +1 -1
  35. package/build/contracts/IAccessControlEnumerable.json +1 -1
  36. package/build/contracts/IConstantFlowAgreementHook.json +1 -1
  37. package/build/contracts/IConstantFlowAgreementV1.json +1 -1
  38. package/build/contracts/IDAv1Library.json +1 -1
  39. package/build/contracts/IERC165.json +1 -1
  40. package/build/contracts/IERC1820Implementer.json +1 -1
  41. package/build/contracts/IERC1820Registry.json +1 -1
  42. package/build/contracts/IERC20.json +1 -1
  43. package/build/contracts/IERC20Metadata.json +1 -1
  44. package/build/contracts/IERC20Permit.json +1 -1
  45. package/build/contracts/IERC777.json +1 -1
  46. package/build/contracts/IERC777Recipient.json +1 -1
  47. package/build/contracts/IERC777Sender.json +1 -1
  48. package/build/contracts/IInstantDistributionAgreementV1.json +1 -1
  49. package/build/contracts/IMultiSigWallet.json +1 -1
  50. package/build/contracts/IPureSuperToken.json +1 -1
  51. package/build/contracts/IPureSuperTokenCustom.json +1 -1
  52. package/build/contracts/IRelayRecipient.json +1 -1
  53. package/build/contracts/IResolver.json +1 -1
  54. package/build/contracts/ISETH.json +1 -1
  55. package/build/contracts/ISETHCustom.json +1 -1
  56. package/build/contracts/ISuperAgreement.json +1 -1
  57. package/build/contracts/ISuperApp.json +1 -1
  58. package/build/contracts/ISuperToken.json +1 -1
  59. package/build/contracts/ISuperTokenFactory.json +1 -1
  60. package/build/contracts/ISuperfluid.json +1 -1
  61. package/build/contracts/ISuperfluidGovernance.json +1 -1
  62. package/build/contracts/ISuperfluidToken.json +1 -1
  63. package/build/contracts/ITOGAv1.json +2099 -2898
  64. package/build/contracts/ITOGAv2.json +2098 -2897
  65. package/build/contracts/ITOGAv3.json +10990 -0
  66. package/build/contracts/Initializable.json +1 -1
  67. package/build/contracts/InstantDistributionAgreementV1.json +5077 -5077
  68. package/build/contracts/NonClosableOutflowTestApp.json +1469 -1469
  69. package/build/contracts/Ownable.json +1 -1
  70. package/build/contracts/Proxy.json +1 -1
  71. package/build/contracts/PureSuperToken.json +534 -534
  72. package/build/contracts/Resolver.json +885 -885
  73. package/build/contracts/SETHProxy.json +293 -293
  74. package/build/contracts/SafeCast.json +1 -1
  75. package/build/contracts/SafeERC20.json +1 -1
  76. package/build/contracts/SafeMath.json +1 -1
  77. package/build/contracts/SelfDeletingFlowTestApp.json +1566 -1566
  78. package/build/contracts/SlotsBitmapLibrary.json +971 -971
  79. package/build/contracts/StreamRedirector.json +1956 -1956
  80. package/build/contracts/Strings.json +1 -1
  81. package/build/contracts/SuperAppBase.json +1 -1
  82. package/build/contracts/SuperAppDefinitions.json +1 -1
  83. package/build/contracts/SuperToken.json +4575 -4575
  84. package/build/contracts/SuperTokenFactory.json +1753 -1753
  85. package/build/contracts/SuperTokenFactoryBase.json +1 -1
  86. package/build/contracts/SuperTokenFactoryHelper.json +104 -104
  87. package/build/contracts/SuperUpgrader.json +1718 -1718
  88. package/build/contracts/Superfluid.json +4566 -4566
  89. package/build/contracts/SuperfluidFrameworkDeployer.json +2400 -2400
  90. package/build/contracts/SuperfluidGovernanceBase.json +1 -1
  91. package/build/contracts/SuperfluidGovernanceConfigs.json +1 -1
  92. package/build/contracts/SuperfluidGovernanceII.json +2438 -2438
  93. package/build/contracts/SuperfluidGovernanceIIProxy.json +211 -211
  94. package/build/contracts/SuperfluidLoader.json +500 -500
  95. package/build/contracts/SuperfluidToken.json +1 -1
  96. package/build/contracts/TOGA.json +4255 -6226
  97. package/build/contracts/TestGovernance.json +2494 -2494
  98. package/build/contracts/TestResolver.json +964 -964
  99. package/build/contracts/TestToken.json +1478 -1478
  100. package/build/contracts/TokenInfo.json +1 -1
  101. package/build/contracts/UUPSProxiable.json +1 -1
  102. package/build/contracts/UUPSProxy.json +116 -116
  103. package/build/contracts/UUPSUtils.json +1 -1
  104. package/build/typechain/contracts/utils/TOGA.sol/ITOGAv3.d.ts +158 -0
  105. package/build/typechain/contracts/utils/TOGA.sol/ITOGAv3.d.ts.map +1 -0
  106. package/build/typechain/contracts/utils/{TokenCustodian.js → TOGA.sol/ITOGAv3.js} +1 -1
  107. package/build/typechain/contracts/utils/TOGA.sol/ITOGAv3.js.map +1 -0
  108. package/build/typechain/contracts/utils/TOGA.sol/TOGA.d.ts +1 -25
  109. package/build/typechain/contracts/utils/TOGA.sol/TOGA.d.ts.map +1 -1
  110. package/build/typechain/contracts/utils/TOGA.sol/index.d.ts +1 -0
  111. package/build/typechain/contracts/utils/TOGA.sol/index.d.ts.map +1 -1
  112. package/build/typechain/contracts/utils/index.d.ts +0 -1
  113. package/build/typechain/contracts/utils/index.d.ts.map +1 -1
  114. package/build/typechain/factories/contracts/utils/TOGA.sol/ITOGAv3__factory.d.ts +36 -0
  115. package/build/typechain/factories/contracts/utils/TOGA.sol/ITOGAv3__factory.d.ts.map +1 -0
  116. package/build/typechain/factories/contracts/utils/TOGA.sol/ITOGAv3__factory.js +203 -0
  117. package/build/typechain/factories/contracts/utils/TOGA.sol/ITOGAv3__factory.js.map +1 -0
  118. package/build/typechain/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts +3 -3
  119. package/build/typechain/factories/contracts/utils/TOGA.sol/TOGA__factory.d.ts.map +1 -1
  120. package/build/typechain/factories/contracts/utils/TOGA.sol/TOGA__factory.js +5 -36
  121. package/build/typechain/factories/contracts/utils/TOGA.sol/TOGA__factory.js.map +1 -1
  122. package/build/typechain/factories/contracts/utils/TOGA.sol/index.d.ts +1 -0
  123. package/build/typechain/factories/contracts/utils/TOGA.sol/index.d.ts.map +1 -1
  124. package/build/typechain/factories/contracts/utils/TOGA.sol/index.js +3 -1
  125. package/build/typechain/factories/contracts/utils/TOGA.sol/index.js.map +1 -1
  126. package/build/typechain/factories/contracts/utils/index.d.ts +0 -1
  127. package/build/typechain/factories/contracts/utils/index.d.ts.map +1 -1
  128. package/build/typechain/factories/contracts/utils/index.js +1 -3
  129. package/build/typechain/factories/contracts/utils/index.js.map +1 -1
  130. package/build/typechain/index.d.ts +2 -2
  131. package/build/typechain/index.d.ts.map +1 -1
  132. package/build/typechain/index.js +3 -3
  133. package/build/typechain/index.js.map +1 -1
  134. package/contracts/utils/TOGA.sol +16 -28
  135. package/package.json +2 -2
  136. package/scripts/deploy-aux-contracts.js +1 -5
  137. package/artifacts/contracts/utils/TokenCustodian.sol/TokenCustodian.json +0 -146
  138. package/build/contracts/TokenCustodian.json +0 -5052
  139. package/build/typechain/contracts/utils/TokenCustodian.d.ts +0 -114
  140. package/build/typechain/contracts/utils/TokenCustodian.d.ts.map +0 -1
  141. package/build/typechain/contracts/utils/TokenCustodian.js.map +0 -1
  142. package/build/typechain/factories/contracts/utils/TokenCustodian__factory.d.ts +0 -56
  143. package/build/typechain/factories/contracts/utils/TokenCustodian__factory.d.ts.map +0 -1
  144. package/build/typechain/factories/contracts/utils/TokenCustodian__factory.js +0 -178
  145. package/build/typechain/factories/contracts/utils/TokenCustodian__factory.js.map +0 -1
  146. package/contracts/utils/TokenCustodian.sol +0 -55
@@ -1,114 +0,0 @@
1
- import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers";
2
- import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi";
3
- import type { Listener, Provider } from "@ethersproject/providers";
4
- import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from "../../common";
5
- export interface TokenCustodianInterface extends utils.Interface {
6
- functions: {
7
- "balances(address,address)": FunctionFragment;
8
- "flush(address,address)": FunctionFragment;
9
- "tokensReceived(address,address,address,uint256,bytes,bytes)": FunctionFragment;
10
- };
11
- getFunction(nameOrSignatureOrTopic: "balances" | "flush" | "tokensReceived"): FunctionFragment;
12
- encodeFunctionData(functionFragment: "balances", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
13
- encodeFunctionData(functionFragment: "flush", values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
14
- encodeFunctionData(functionFragment: "tokensReceived", values: [
15
- PromiseOrValue<string>,
16
- PromiseOrValue<string>,
17
- PromiseOrValue<string>,
18
- PromiseOrValue<BigNumberish>,
19
- PromiseOrValue<BytesLike>,
20
- PromiseOrValue<BytesLike>
21
- ]): string;
22
- decodeFunctionResult(functionFragment: "balances", data: BytesLike): Result;
23
- decodeFunctionResult(functionFragment: "flush", data: BytesLike): Result;
24
- decodeFunctionResult(functionFragment: "tokensReceived", data: BytesLike): Result;
25
- events: {
26
- "CustodianDeposit(address,address,uint256)": EventFragment;
27
- "CustodianWithdrawal(address,address,uint256)": EventFragment;
28
- };
29
- getEvent(nameOrSignatureOrTopic: "CustodianDeposit"): EventFragment;
30
- getEvent(nameOrSignatureOrTopic: "CustodianWithdrawal"): EventFragment;
31
- }
32
- export interface CustodianDepositEventObject {
33
- token: string;
34
- recipient: string;
35
- amount: BigNumber;
36
- }
37
- export declare type CustodianDepositEvent = TypedEvent<[
38
- string,
39
- string,
40
- BigNumber
41
- ], CustodianDepositEventObject>;
42
- export declare type CustodianDepositEventFilter = TypedEventFilter<CustodianDepositEvent>;
43
- export interface CustodianWithdrawalEventObject {
44
- token: string;
45
- recipient: string;
46
- amount: BigNumber;
47
- }
48
- export declare type CustodianWithdrawalEvent = TypedEvent<[
49
- string,
50
- string,
51
- BigNumber
52
- ], CustodianWithdrawalEventObject>;
53
- export declare type CustodianWithdrawalEventFilter = TypedEventFilter<CustodianWithdrawalEvent>;
54
- export interface TokenCustodian extends BaseContract {
55
- connect(signerOrProvider: Signer | Provider | string): this;
56
- attach(addressOrName: string): this;
57
- deployed(): Promise<this>;
58
- interface: TokenCustodianInterface;
59
- queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
60
- listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
61
- listeners(eventName?: string): Array<Listener>;
62
- removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
63
- removeAllListeners(eventName?: string): this;
64
- off: OnEvent<this>;
65
- on: OnEvent<this>;
66
- once: OnEvent<this>;
67
- removeListener: OnEvent<this>;
68
- functions: {
69
- balances(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
70
- flush(token: PromiseOrValue<string>, recipient: PromiseOrValue<string>, overrides?: Overrides & {
71
- from?: PromiseOrValue<string>;
72
- }): Promise<ContractTransaction>;
73
- tokensReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, userData: PromiseOrValue<BytesLike>, arg5: PromiseOrValue<BytesLike>, overrides?: Overrides & {
74
- from?: PromiseOrValue<string>;
75
- }): Promise<ContractTransaction>;
76
- };
77
- balances(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
78
- flush(token: PromiseOrValue<string>, recipient: PromiseOrValue<string>, overrides?: Overrides & {
79
- from?: PromiseOrValue<string>;
80
- }): Promise<ContractTransaction>;
81
- tokensReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, userData: PromiseOrValue<BytesLike>, arg5: PromiseOrValue<BytesLike>, overrides?: Overrides & {
82
- from?: PromiseOrValue<string>;
83
- }): Promise<ContractTransaction>;
84
- callStatic: {
85
- balances(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
86
- flush(token: PromiseOrValue<string>, recipient: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
87
- tokensReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, userData: PromiseOrValue<BytesLike>, arg5: PromiseOrValue<BytesLike>, overrides?: CallOverrides): Promise<void>;
88
- };
89
- filters: {
90
- "CustodianDeposit(address,address,uint256)"(token?: PromiseOrValue<string> | null, recipient?: null, amount?: null): CustodianDepositEventFilter;
91
- CustodianDeposit(token?: PromiseOrValue<string> | null, recipient?: null, amount?: null): CustodianDepositEventFilter;
92
- "CustodianWithdrawal(address,address,uint256)"(token?: PromiseOrValue<string> | null, recipient?: null, amount?: null): CustodianWithdrawalEventFilter;
93
- CustodianWithdrawal(token?: PromiseOrValue<string> | null, recipient?: null, amount?: null): CustodianWithdrawalEventFilter;
94
- };
95
- estimateGas: {
96
- balances(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
97
- flush(token: PromiseOrValue<string>, recipient: PromiseOrValue<string>, overrides?: Overrides & {
98
- from?: PromiseOrValue<string>;
99
- }): Promise<BigNumber>;
100
- tokensReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, userData: PromiseOrValue<BytesLike>, arg5: PromiseOrValue<BytesLike>, overrides?: Overrides & {
101
- from?: PromiseOrValue<string>;
102
- }): Promise<BigNumber>;
103
- };
104
- populateTransaction: {
105
- balances(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
106
- flush(token: PromiseOrValue<string>, recipient: PromiseOrValue<string>, overrides?: Overrides & {
107
- from?: PromiseOrValue<string>;
108
- }): Promise<PopulatedTransaction>;
109
- tokensReceived(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, userData: PromiseOrValue<BytesLike>, arg5: PromiseOrValue<BytesLike>, overrides?: Overrides & {
110
- from?: PromiseOrValue<string>;
111
- }): Promise<PopulatedTransaction>;
112
- };
113
- }
114
- //# sourceMappingURL=TokenCustodian.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TokenCustodian.d.ts","sourceRoot":"","sources":["../../../../typechain-types/contracts/utils/TokenCustodian.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TokenCustodian.js","sourceRoot":"","sources":["../../../../typechain-types/contracts/utils/TokenCustodian.ts"],"names":[],"mappings":""}
@@ -1,56 +0,0 @@
1
- import { Signer, ContractFactory, Overrides } from "ethers";
2
- import type { Provider, TransactionRequest } from "@ethersproject/providers";
3
- import type { PromiseOrValue } from "../../../common";
4
- import type { TokenCustodian, TokenCustodianInterface } from "../../../contracts/utils/TokenCustodian";
5
- declare type TokenCustodianConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
6
- export declare class TokenCustodian__factory extends ContractFactory {
7
- constructor(...args: TokenCustodianConstructorParams);
8
- deploy(overrides?: Overrides & {
9
- from?: PromiseOrValue<string>;
10
- }): Promise<TokenCustodian>;
11
- getDeployTransaction(overrides?: Overrides & {
12
- from?: PromiseOrValue<string>;
13
- }): TransactionRequest;
14
- attach(address: string): TokenCustodian;
15
- connect(signer: Signer): TokenCustodian__factory;
16
- static readonly bytecode = "0x608060405234801561001057600080fd5b506040516329965a1d60e01b815230600482018190527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b15801561008a57600080fd5b505af115801561009e573d6000803e3d6000fd5b50505050610424806100b16000396000f3fe608060405234801561001057600080fd5b50600436106100405760003560e01c806223de29146100455780639cfddc361461005a578063c23f001f1461006d575b600080fd5b6100586100533660046102b9565b6100a7565b005b61005861006836600461036a565b610147565b61009561007b36600461036a565b600060208181529281526040808220909352908152205481565b60405190815260200160405180910390f35b3360006100b6858701876103a3565b6001600160a01b038084166000908152602081815260408083209385168352929052908120805492935089929091906100f09084906103c7565b9091555050604080516001600160a01b038381168252602082018a90528416917f9318b8aa904a44e8e096d937e3ff0488521fd9ce8db68cb8b120e2a08cbc02a1910160405180910390a250505050505050505050565b6001600160a01b03808316600090815260208181526040808320938516835292905220548015610253576001600160a01b03838116600081815260208181526040808320948716808452949091528082209190915551634decdde360e11b815260048101929092526024820183905260606044830152600360648301526203078360ec1b608483015290639bd9bbc69060a401600060405180830381600087803b1580156101f457600080fd5b505af1158015610208573d6000803e3d6000fd5b5050604080516001600160a01b03868116825260208201869052871693507f6ee58811e1c06f9971bf4c156175fabb19413d8a51841c2231beee4f3c04e73f92500160405180910390a25b505050565b6001600160a01b038116811461026d57600080fd5b50565b60008083601f84011261028257600080fd5b50813567ffffffffffffffff81111561029a57600080fd5b6020830191508360208285010111156102b257600080fd5b9250929050565b60008060008060008060008060c0898b0312156102d557600080fd5b88356102e081610258565b975060208901356102f081610258565b9650604089013561030081610258565b955060608901359450608089013567ffffffffffffffff8082111561032457600080fd5b6103308c838d01610270565b909650945060a08b013591508082111561034957600080fd5b506103568b828c01610270565b999c989b5096995094979396929594505050565b6000806040838503121561037d57600080fd5b823561038881610258565b9150602083013561039881610258565b809150509250929050565b6000602082840312156103b557600080fd5b81356103c081610258565b9392505050565b808201808211156103e857634e487b7160e01b600052601160045260246000fd5b9291505056fea26469706673582212209aedc8c1f5d403ac9f2e609026b1f0d149e2f1471cbc37d81ab7b3d81c84fac064736f6c63430008100033";
17
- static readonly abi: ({
18
- inputs: never[];
19
- stateMutability: string;
20
- type: string;
21
- anonymous?: undefined;
22
- name?: undefined;
23
- outputs?: undefined;
24
- } | {
25
- anonymous: boolean;
26
- inputs: {
27
- indexed: boolean;
28
- internalType: string;
29
- name: string;
30
- type: string;
31
- }[];
32
- name: string;
33
- type: string;
34
- stateMutability?: undefined;
35
- outputs?: undefined;
36
- } | {
37
- inputs: {
38
- internalType: string;
39
- name: string;
40
- type: string;
41
- }[];
42
- name: string;
43
- outputs: {
44
- internalType: string;
45
- name: string;
46
- type: string;
47
- }[];
48
- stateMutability: string;
49
- type: string;
50
- anonymous?: undefined;
51
- })[];
52
- static createInterface(): TokenCustodianInterface;
53
- static connect(address: string, signerOrProvider: Signer | Provider): TokenCustodian;
54
- }
55
- export {};
56
- //# sourceMappingURL=TokenCustodian__factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TokenCustodian__factory.d.ts","sourceRoot":"","sources":["../../../../../typechain-types/factories/contracts/utils/TokenCustodian__factory.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAmB,eAAe,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EACV,cAAc,EACd,uBAAuB,EACxB,MAAM,yCAAyC,CAAC;AA+IjD,aAAK,+BAA+B,GAChC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GACjB,qBAAqB,CAAC,OAAO,eAAe,CAAC,CAAC;AAMlD,qBAAa,uBAAwB,SAAQ,eAAe;gBAC9C,GAAG,IAAI,EAAE,+BAA+B;IAQ3C,MAAM,CACb,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;KAAE,GACxD,OAAO,CAAC,cAAc,CAAC;IAGjB,oBAAoB,CAC3B,SAAS,CAAC,EAAE,SAAS,GAAG;QAAE,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAA;KAAE,GACxD,kBAAkB;IAGZ,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc;IAGvC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,uBAAuB;IAIzD,MAAM,CAAC,QAAQ,CAAC,QAAQ,k7EAAa;IACrC,MAAM,CAAC,QAAQ,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAAQ;IAC3B,MAAM,CAAC,eAAe,IAAI,uBAAuB;IAGjD,MAAM,CAAC,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,GAAG,QAAQ,GAClC,cAAc;CAGlB"}
@@ -1,178 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TokenCustodian__factory = void 0;
4
- /* Autogenerated file. Do not edit manually. */
5
- /* tslint:disable */
6
- /* eslint-disable */
7
- const ethers_1 = require("ethers");
8
- const _abi = [
9
- {
10
- inputs: [],
11
- stateMutability: "nonpayable",
12
- type: "constructor",
13
- },
14
- {
15
- anonymous: false,
16
- inputs: [
17
- {
18
- indexed: true,
19
- internalType: "contract IERC777",
20
- name: "token",
21
- type: "address",
22
- },
23
- {
24
- indexed: false,
25
- internalType: "address",
26
- name: "recipient",
27
- type: "address",
28
- },
29
- {
30
- indexed: false,
31
- internalType: "uint256",
32
- name: "amount",
33
- type: "uint256",
34
- },
35
- ],
36
- name: "CustodianDeposit",
37
- type: "event",
38
- },
39
- {
40
- anonymous: false,
41
- inputs: [
42
- {
43
- indexed: true,
44
- internalType: "contract IERC777",
45
- name: "token",
46
- type: "address",
47
- },
48
- {
49
- indexed: false,
50
- internalType: "address",
51
- name: "recipient",
52
- type: "address",
53
- },
54
- {
55
- indexed: false,
56
- internalType: "uint256",
57
- name: "amount",
58
- type: "uint256",
59
- },
60
- ],
61
- name: "CustodianWithdrawal",
62
- type: "event",
63
- },
64
- {
65
- inputs: [
66
- {
67
- internalType: "contract IERC777",
68
- name: "",
69
- type: "address",
70
- },
71
- {
72
- internalType: "address",
73
- name: "",
74
- type: "address",
75
- },
76
- ],
77
- name: "balances",
78
- outputs: [
79
- {
80
- internalType: "uint256",
81
- name: "",
82
- type: "uint256",
83
- },
84
- ],
85
- stateMutability: "view",
86
- type: "function",
87
- },
88
- {
89
- inputs: [
90
- {
91
- internalType: "contract IERC777",
92
- name: "token",
93
- type: "address",
94
- },
95
- {
96
- internalType: "address",
97
- name: "recipient",
98
- type: "address",
99
- },
100
- ],
101
- name: "flush",
102
- outputs: [],
103
- stateMutability: "nonpayable",
104
- type: "function",
105
- },
106
- {
107
- inputs: [
108
- {
109
- internalType: "address",
110
- name: "",
111
- type: "address",
112
- },
113
- {
114
- internalType: "address",
115
- name: "",
116
- type: "address",
117
- },
118
- {
119
- internalType: "address",
120
- name: "",
121
- type: "address",
122
- },
123
- {
124
- internalType: "uint256",
125
- name: "amount",
126
- type: "uint256",
127
- },
128
- {
129
- internalType: "bytes",
130
- name: "userData",
131
- type: "bytes",
132
- },
133
- {
134
- internalType: "bytes",
135
- name: "",
136
- type: "bytes",
137
- },
138
- ],
139
- name: "tokensReceived",
140
- outputs: [],
141
- stateMutability: "nonpayable",
142
- type: "function",
143
- },
144
- ];
145
- const _bytecode = "0x608060405234801561001057600080fd5b506040516329965a1d60e01b815230600482018190527fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b60248301526044820152731820a4b7618bde71dce8cdc73aab6c95905fad24906329965a1d90606401600060405180830381600087803b15801561008a57600080fd5b505af115801561009e573d6000803e3d6000fd5b50505050610424806100b16000396000f3fe608060405234801561001057600080fd5b50600436106100405760003560e01c806223de29146100455780639cfddc361461005a578063c23f001f1461006d575b600080fd5b6100586100533660046102b9565b6100a7565b005b61005861006836600461036a565b610147565b61009561007b36600461036a565b600060208181529281526040808220909352908152205481565b60405190815260200160405180910390f35b3360006100b6858701876103a3565b6001600160a01b038084166000908152602081815260408083209385168352929052908120805492935089929091906100f09084906103c7565b9091555050604080516001600160a01b038381168252602082018a90528416917f9318b8aa904a44e8e096d937e3ff0488521fd9ce8db68cb8b120e2a08cbc02a1910160405180910390a250505050505050505050565b6001600160a01b03808316600090815260208181526040808320938516835292905220548015610253576001600160a01b03838116600081815260208181526040808320948716808452949091528082209190915551634decdde360e11b815260048101929092526024820183905260606044830152600360648301526203078360ec1b608483015290639bd9bbc69060a401600060405180830381600087803b1580156101f457600080fd5b505af1158015610208573d6000803e3d6000fd5b5050604080516001600160a01b03868116825260208201869052871693507f6ee58811e1c06f9971bf4c156175fabb19413d8a51841c2231beee4f3c04e73f92500160405180910390a25b505050565b6001600160a01b038116811461026d57600080fd5b50565b60008083601f84011261028257600080fd5b50813567ffffffffffffffff81111561029a57600080fd5b6020830191508360208285010111156102b257600080fd5b9250929050565b60008060008060008060008060c0898b0312156102d557600080fd5b88356102e081610258565b975060208901356102f081610258565b9650604089013561030081610258565b955060608901359450608089013567ffffffffffffffff8082111561032457600080fd5b6103308c838d01610270565b909650945060a08b013591508082111561034957600080fd5b506103568b828c01610270565b999c989b5096995094979396929594505050565b6000806040838503121561037d57600080fd5b823561038881610258565b9150602083013561039881610258565b809150509250929050565b6000602082840312156103b557600080fd5b81356103c081610258565b9392505050565b808201808211156103e857634e487b7160e01b600052601160045260246000fd5b9291505056fea26469706673582212209aedc8c1f5d403ac9f2e609026b1f0d149e2f1471cbc37d81ab7b3d81c84fac064736f6c63430008100033";
146
- const isSuperArgs = (xs) => xs.length > 1;
147
- class TokenCustodian__factory extends ethers_1.ContractFactory {
148
- constructor(...args) {
149
- if (isSuperArgs(args)) {
150
- super(...args);
151
- }
152
- else {
153
- super(_abi, _bytecode, args[0]);
154
- }
155
- }
156
- deploy(overrides) {
157
- return super.deploy(overrides || {});
158
- }
159
- getDeployTransaction(overrides) {
160
- return super.getDeployTransaction(overrides || {});
161
- }
162
- attach(address) {
163
- return super.attach(address);
164
- }
165
- connect(signer) {
166
- return super.connect(signer);
167
- }
168
- static createInterface() {
169
- return new ethers_1.utils.Interface(_abi);
170
- }
171
- static connect(address, signerOrProvider) {
172
- return new ethers_1.Contract(address, _abi, signerOrProvider);
173
- }
174
- }
175
- exports.TokenCustodian__factory = TokenCustodian__factory;
176
- TokenCustodian__factory.bytecode = _bytecode;
177
- TokenCustodian__factory.abi = _abi;
178
- //# sourceMappingURL=TokenCustodian__factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TokenCustodian__factory.js","sourceRoot":"","sources":["../../../../../typechain-types/factories/contracts/utils/TokenCustodian__factory.ts"],"names":[],"mappings":"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"}
@@ -1,55 +0,0 @@
1
- // SPDX-License-Identifier: AGPLv3
2
- pragma solidity 0.8.16;
3
-
4
- import { IERC777 } from "@openzeppelin/contracts/token/ERC777/IERC777.sol";
5
- import { IERC1820Registry } from "@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol";
6
- import { IERC777Recipient } from "@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol";
7
-
8
- /**
9
- * @title Token custodian contract
10
- * @author Superfluid
11
- * @dev Contract which takes custody of funds which couldn't be sent to the designated recipient
12
- */
13
- contract TokenCustodian is IERC777Recipient {
14
- IERC1820Registry constant internal _ERC1820_REGISTRY =
15
- IERC1820Registry(0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24);
16
- mapping(IERC777 => mapping(address => uint256)) public balances;
17
-
18
- constructor() {
19
- _ERC1820_REGISTRY.setInterfaceImplementer(address(this), keccak256("ERC777TokensRecipient"), address(this));
20
- }
21
-
22
- event CustodianDeposit(IERC777 indexed token, address recipient, uint256 amount);
23
- event CustodianWithdrawal(IERC777 indexed token, address recipient, uint256 amount);
24
-
25
- // transfers tokens it has in custody for the given recipient to it
26
- function flush(IERC777 token, address recipient) public {
27
- uint256 amount = balances[token][recipient];
28
- if (amount > 0) {
29
- balances[token][recipient] = 0;
30
- // solhint-disable-next-line check-send-result
31
- token.send(recipient, amount, "0x0");
32
- emit CustodianWithdrawal(token, recipient, amount);
33
- }
34
- }
35
-
36
- // ============ IERC777Recipient ============
37
-
38
- // interface through which ERC777 tokens are deposited to this contract.
39
- // requires userData to contain an abi-encoded address which designates the recipient for which the deposit is made.
40
- function tokensReceived(
41
- address /*operator*/,
42
- address /*from*/,
43
- address /*to*/,
44
- uint256 amount,
45
- bytes calldata userData,
46
- bytes calldata /*operatorData*/
47
- ) override external {
48
- IERC777 token = IERC777(msg.sender);
49
- // note: if userData is not set or not decodable as address, this will revert
50
- address recipient = abi.decode(userData, (address));
51
- balances[token][recipient] += amount;
52
- emit CustodianDeposit(token, recipient, amount);
53
- // note: anybody could call this function and store balance entries. We can just ignore that, does no harm.
54
- }
55
- }